Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

исправить admins online

Статус пользователя starter
сообщение 5.4.2015, 14:30
Сообщение #1
Стаж: 11 лет

Сообщений: 43
Благодарностей: 6
Полезность: 7

Привет. Исправьте, пожалуйста, show admins online.
Там было hud сообщение, я сделал dHud и теперь сообщение обновляется..Т.е пишется снова и снова, потом пишется только концовка..например Admins online: 1, line: 1, line: 1, online: 1

Код:
#include <amxmodx> 
#include <engine>
#include <dhudmessage>

#define PLUGIN "Show Admins Online"

new bool:g_bAdminNick
new bool:is_admin_connected[33]
new g_msg[512]

new g_admin_enable
new g_online_color
new g_offline_color
new g_msg_xypos

//new g_SyncAdmin
//new g_iAdminCount
new admin
//new g_iMaxPlayers

new g_ClassName[] = "admin_msg"

public plugin_init()
{
register_plugin( PLUGIN )

register_think(g_ClassName,"ForwardThink")

g_admin_enable = register_cvar("plugin_on","1")
g_online_color = register_cvar("online_color","0 206 209")
g_offline_color = register_cvar("ffline_color","255 0 0")
g_msg_xypos = register_cvar("msg_xypos","-1.0 0.06")

//g_SyncAdmin = CreateHudSyncObj()

new iEnt = create_entity("info_target")
entity_set_string(iEnt, EV_SZ_classname, g_ClassName)
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}

public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_KICK)
{
is_admin_connected[id] = true
admin++
set_admin_msg()
}
if(admin == 0)
set_admin_msg()
}

public client_disconnect(id)
{
if(is_admin_connected[id])
{
is_admin_connected[id] = false
admin--
set_admin_msg()
}
}

public set_admin_msg()
{
static pos
pos = 0
pos += formatex(g_msg[pos], 511-pos, "Admins Online: %d", admin)
}

public admins_online()
{
if(get_pcvar_num(g_admin_enable))
{
static r, g, b, Float:x,Float:y
HudMsgPos(x,y)

if (admin > 0)
{
HudMsgColor(g_online_color, r, g, b)
set_dhudmessage(r, g, b, x, y, _, _, 4.0, _, _, 4)
show_dhudmessage(0, "%s", g_msg)
}
else
{
HudMsgColor(g_offline_color, r, g, b)
set_hudmessage(r, g, b, x, y, _, _, 4.0, _, _, 4)
show_dhudmessage(0, "%s", g_msg)
}
}
return PLUGIN_HANDLED
}

public ForwardThink(iEnt)
{
admins_online()

if(g_bAdminNick)
{
set_admin_msg()
g_bAdminNick = false
}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}

public client_infochanged(id)
{
if(is_admin_connected[id])
{
static NewName[32], OldName[32]
get_user_info(id, "name", NewName, 31)
get_user_name(id, OldName, 31)

if(!equal(OldName, NewName))
{
g_bAdminNick = true
}
}
}

public HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)

strbreak( color, piece, 4, color, 15)
r = str_to_num(piece)

strbreak( color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_msg_xypos, coords, 15)

strbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 5.4.2015, 14:58
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Код:
#include <amxmodx> 
#include <engine>
#include <dhudmessage>

#define PLUGIN "Show Admins Online"

new bool:g_bAdminNick
new bool:is_admin_connected[33]
new g_msg[512]

new g_admin_enable
new g_online_color
new g_offline_color
new g_msg_xypos

//new g_SyncAdmin
//new g_iAdminCount
new admin
//new g_iMaxPlayers

new g_ClassName[] = "admin_msg"

public plugin_init()
{
register_plugin( PLUGIN )

register_think(g_ClassName,"ForwardThink")

g_admin_enable = register_cvar("plugin_on","1")
g_online_color = register_cvar("online_color","0 206 209")
g_offline_color = register_cvar("ffline_color","255 0 0")
g_msg_xypos = register_cvar("msg_xypos","-1.0 0.06")

//g_SyncAdmin = CreateHudSyncObj()

new iEnt = create_entity("info_target")
entity_set_string(iEnt, EV_SZ_classname, g_ClassName)
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}

public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_KICK)
{
is_admin_connected[id] = true
admin++
set_admin_msg()
}
if(admin == 0)
set_admin_msg()
}

public client_disconnect(id)
{
if(is_admin_connected[id])
{
is_admin_connected[id] = false
admin--
set_admin_msg()
}
}

public set_admin_msg()
{
static pos
pos = 0
pos += formatex(g_msg[pos], 511-pos, "Admins Online: %d", admin)
}

public admins_online()
{
if(get_pcvar_num(g_admin_enable))
{
static r, g, b, Float:x,Float:y
HudMsgPos(x,y)

if (admin > 0)
{
HudMsgColor(g_online_color, r, g, b)
set_dhudmessage(r, g, b, x, y, _, _, 4.0, _, _, 0)
show_dhudmessage(0, "%s", g_msg)
}
else
{
HudMsgColor(g_offline_color, r, g, b)
set_dhudmessage(r, g, b, x, y, _, _, 4.0, _, _, 0)
show_dhudmessage(0, "%s", g_msg)
}
}
return PLUGIN_HANDLED
}

public ForwardThink(iEnt)
{
admins_online()

if(g_bAdminNick)
{
set_admin_msg()
g_bAdminNick = false
}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}

public client_infochanged(id)
{
if(is_admin_connected[id])
{
static NewName[32], OldName[32]
get_user_info(id, "name", NewName, 31)
get_user_name(id, OldName, 31)

if(!equal(OldName, NewName))
{
g_bAdminNick = true
}
}
}

public HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)

strbreak( color, piece, 4, color, 15)
r = str_to_num(piece)

strbreak( color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_msg_xypos, coords, 15)

strbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя starter
сообщение 5.4.2015, 17:12
Сообщение #3
Стаж: 11 лет

Сообщений: 43
Благодарностей: 6
Полезность: 7

Bloo, спасибо большое! А можно сделать, чтобы буквы не по очереди печатались, а сразу все сообщение появлялось?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 5.4.2015, 17:26
Сообщение #4


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

starter, он и так должен сразу появляться
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя starter
сообщение 5.4.2015, 18:08
Сообщение #5
Стаж: 11 лет

Сообщений: 43
Благодарностей: 6
Полезность: 7

Цитата(Bloo @ 5.4.2015, 18:26) *
starter, он и так должен сразу появляться

Там печатается по буквам..:(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 5.4.2015, 18:29
Сообщение #6


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

попробуй так
Код:
#include <amxmodx> 
#include <engine>
#include <dhudmessage>

#define PLUGIN "Show Admins Online"
#define AUTHOR "Author"
#define VERSION "1.0"

new bool:g_bAdminNick
new bool:is_admin_connected[33]
new g_msg[512]

new g_admin_enable
new g_online_color
new g_offline_color
new g_msg_xypos

//new g_SyncAdmin
//new g_iAdminCount
new admin
//new g_iMaxPlayers

new g_ClassName[] = "admin_msg"

public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )

register_think(g_ClassName,"ForwardThink")

g_admin_enable = register_cvar("plugin_on","1")
g_online_color = register_cvar("online_color","0 206 209")
g_offline_color = register_cvar("ffline_color","255 0 0")
g_msg_xypos = register_cvar("msg_xypos","-1.0 0.06")

//g_SyncAdmin = CreateHudSyncObj()

new iEnt = create_entity("info_target")
entity_set_string(iEnt, EV_SZ_classname, g_ClassName)
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}

public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_KICK)
{
is_admin_connected[id] = true
admin++
set_admin_msg()
}
if(admin == 0)
set_admin_msg()
}

public client_disconnect(id)
{
if(is_admin_connected[id])
{
is_admin_connected[id] = false
admin--
set_admin_msg()
}
}

public set_admin_msg()
{
static pos
pos = 0
pos += formatex(g_msg[pos], 511-pos, "Admins Online: %d", admin)
}

public admins_online()
{
if(get_pcvar_num(g_admin_enable))
{
static r, g, b, Float:x,Float:y
HudMsgPos(x,y)

if (admin > 0)
{
HudMsgColor(g_online_color, r, g, b)
set_dhudmessage(r, g, b, x, y, 0, _, _, _, _, _)
show_dhudmessage(0, "%s", g_msg)
}
else
{
HudMsgColor(g_offline_color, r, g, b)
set_dhudmessage(r, g, b, x, y, 0, _, _, _, _, _)
show_dhudmessage(0, "%s", g_msg)
}
}
return PLUGIN_HANDLED
}

public ForwardThink(iEnt)
{
admins_online()

if(g_bAdminNick)
{
set_admin_msg()
g_bAdminNick = false
}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0)
}

public client_infochanged(id)
{
if(is_admin_connected[id])
{
static NewName[32], OldName[32]
get_user_info(id, "name", NewName, 31)
get_user_name(id, OldName, 31)

if(!equal(OldName, NewName))
{
g_bAdminNick = true
}
}
}

public HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)

strbreak( color, piece, 4, color, 15)
r = str_to_num(piece)

strbreak( color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_msg_xypos, coords, 15)

strbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя starter
сообщение 5.4.2015, 19:17
Сообщение #7
Стаж: 11 лет

Сообщений: 43
Благодарностей: 6
Полезность: 7

Bloo, Спасибо! Вроде работает.
(Почему я не могу поставить "спасибо"?)
Теперь могу оО

Отредактировал: starter, - 5.4.2015, 19:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: