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

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

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

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

Проблема с set_user_maxspeed

, Не суммируется скорость [РЕШЕНО]
Статус пользователя KPOCT
сообщение 19.8.2016, 18:27
Сообщение #1
Стаж: 11 лет

Сообщений: 14
Благодарностей: 2
Полезность: 0

Здравствуйте.
Решил поставить Gifts v0.8 by Psycrow, однако, решил переписать его по полной (под себя, без лишних переменных, бла-бла-бла, не суть). Во время этого процесса я столкнулся с довольно интересным моментом, который никак не даёт мне продолжить редактирование плагина: переменная, которая передаётся во второй параметр функции set_user_maxspeed, определяется корректно (изменяется так: 250 + 200 = 450; 450 + 200 = 650, etc, т.е. с шагом в get_user_maxspeed(id) + 200), однако, непосредственно скорость игрока (на практике, в действительности) меняется лишь 1 раз, а затем "стоит на месте". И, нет, сам игрок себя не ограничивает в скорости: с сервера на клиент отправляются 3 команды:
Цитата
cl_forwardspeed 9999
cl_backspeed 9999
cl_sidespeed 9999
В общем, описание - это, конечно, хорошо, но код есть код :)

Участки кода, которые касаются скорости
Код:

#define ADD_SPEED 200.0 // Сколько скорости добавить игроку

new bool: g_have_speed[33] //Имеет ли игрок добавленную скорость

public client_putinserver(id)
{
set_task(5.0, "send_maxspeed", id);
}

public send_maxspeed(id)
{
new pCmd[50];

pCmd = "cl_forwardspeed 9999";
STUFFTEXT_CMD(id, pCmd);

pCmd = "cl_backspeed 9999";
STUFFTEXT_CMD(id, pCmd);

pCmd = "cl_sidespeed 9999";
STUFFTEXT_CMD(id, pCmd);
}

public fw_PlayerSpawn(id)
{
if(g_have_speed[id])
{
fUserSpeed[id] = 250.0;
set_user_maxspeed(id);
g_have_speed[id] = false;
}
}

public CurWeapon(id)
{
if(g_have_speed[id])
set_user_maxspeed(id, fUserSpeed[id])
}

give_gift(id)
{
switch(random_num(0, 99))
{
case 41..50:
{
g_have_speed[id] = true
fUserSpeed[id] = get_user_maxspeed(id) + ADD_SPEED;
set_user_maxspeed(id, fUserSpeed[id])
ChatColor(id, "%s ^3Ваша скорость: ^4%.1f ups^3.", PREFIX, fUserSpeed[id])
}
}
}


Собственно, весь код
Код:

/*=======================================ИНКЛЮДЫ================================*/
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>
/*=====================================КОНЕЦ: ИНКЛЮДЫ=============================*/
/*========================================ДЕФАЙНЫ================================
*/
#define PLUGIN "Gifts"
#define VERSION "0.9"
#define AUTHOR "Psycrow"
#define PREFIX "^1[^4Подарки^1]"
#define is_entity_player(%1) (1<=%1<=get_maxplayers())
#define PRESENT_CLASSNAME "next21_gift"
#define pev_lifes pev_euser1
#define MODEL_PRESENT "models/Divine-Games/Polet_v_kosmos/Gifts/gifts.mdl"
#define MODEL_SKINS 3
#define MODEL_SUBMODELS 5
#define SVC_DIRECTOR_ID 51
#define SVC_DIRECTOR_STUFFTEXT_ID 10

///Настройка выдачи брони (рандомные числа)
#define ADD_ARMOR_MIN 20 // Начальное число
#define ADD_ARMOR_MAX 100 // Финишное число

///Настройка выдачи жизней (рандомные числа)
#define ADD_HEALTH_MIN 1 // Начальное число
#define ADD_HEALTH_MAX 60 // Финишное число

///Деньги
#define MAX_MONEY 16000 // Максимальное кол-во денег у игрока
#define ADD_MONEY_MIN 1000
#define ADD_MONEY_MAX 5000

///Поинты
#define ADD_POINTS_MIN 1
#define ADD_POINTS_MAX 30

///Скорость
#define ADD_SPEED 200.0 // Сколько скорости добавить игроку

///Гравитация
#define TAKE_GRAVITY (300.0/800.0) // Насколько уменьшить гравитацию игроку (<< первое значение, перед слэшем)
#define GRAVITY_MIN (200.0/800.0) // Минимальное значение гравитации игрока

/// Гранаты
#define OFFSET_FLASH_AMMO 387
#define OFFSET_HE_AMMO 388
#define HE_AMMO 1 // Сколько взрывных гранат выдаст игроку
#define FLASH_AMMO 2 // Сколько слеповых гранат выдаст игроку

#if cellbits == 32
#define OFFSET_CSMONEY 115
#else
#define OFFSET_CSMONEY 140
#endif
/*===================================КОНЕЦ: ДЕФАЙНЫ==========================*/
new
Float:fUserSpeed[33],
g_msgMoney,
g_infoTarget,
g_menuId = -1,
bool: g_registration,
g_totalGifts, //Кол-во загруженных подарков на карте
bool: g_have_speed[33], //Имеет ли игрок добавленную скорость
bool: g_have_gravity[33], //Имеет ли игрок добавленную гравитацию
bool: g_save_cpl, //Изменения в расположении подарков

Array:g_gift_id, //Индексы подарков
Array:g_gift_x,
Array:g_gift_y,
Array:g_gift_z;

public plugin_precache()
{
precache_model(MODEL_PRESENT)
}

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

register_cvar("cv_gift_access","a") // Флаг доступа к меню
register_cvar("cv_gift_health","50") // Сколько HP можно получить в подарках. 0 - убрать такой вид подарка
register_cvar("cv_gift_timerate","3.0") // Сколько секунд до появление подарка
register_cvar("cv_gift_get_times_round","3") // Сколько максимум можно собрать подарков за раундов. 0 - снимает ограничение
register_cvar("cv_gift_get_times_game","0") // Сколько максимум можно собрать подарков за игру (карту). 0 - снимает ограничение
register_cvar("cv_gift_lifes","0") // Сколько раз может появиться подарок в одном и том же месте (0 - неограниченно, 1 - после сбора больше не появляеться...)

register_clcmd("gifts", "gift_menu")

g_infoTarget = engfunc(EngFunc_AllocString, "info_target")
}

public plugin_cfg()
{
new map[32]
get_mapname(map, charsmax(map))
formatex(map, charsmax(map),"%s.ini",map)

new cfgDir[64], iDir, iFile[128]
get_configsdir(cfgDir, charsmax(cfgDir))
formatex(cfgDir, charsmax(cfgDir), "%s/Gifts", cfgDir)

iDir = open_dir(cfgDir, iFile, charsmax(iFile))

if(iDir)
{
while(next_file(iDir, iFile, charsmax(iFile)))
{
if (iFile[0] == '.')
continue

if(equal(map, iFile))
{
format(iFile, 128, "%s/%s", cfgDir, iFile)
get_gifts(iFile)
break
}
}
}
else server_print("[%s] Gifts was not loaded", PLUGIN)
}

public client_putinserver(id)
{
set_task(5.0, "send_maxspeed", id);
}

public send_maxspeed(id)
{
new pCmd[50];

pCmd = "cl_forwardspeed 9999";
STUFFTEXT_CMD(id, pCmd);

pCmd = "cl_backspeed 9999";
STUFFTEXT_CMD(id, pCmd);

pCmd = "cl_sidespeed 9999";
STUFFTEXT_CMD(id, pCmd);
}

public fw_PlayerSpawn(id)
{
if(g_have_gravity[id])
{
set_user_gravity(id)
g_have_gravity[id] = false
}
if(g_have_speed[id])
{
fUserSpeed[id] = 250.0;
set_user_maxspeed(id);
g_have_speed[id] = false
}
}

public CurWeapon(id)
{
if(g_have_speed[id])
set_user_maxspeed(id, fUserSpeed[id])
}

public fw_RoundStart()
{
new lifes = get_cvar_num("cv_gift_lifes")
if(lifes)
{
new ent
while((ent = fm_find_ent_by_class(ent, PRESENT_CLASSNAME)))
set_pev(ent, pev_lifes, lifes)
}
}

public fw_TouchGift(ent, id)
{
if(!is_entity_player(id))
return

if(!is_user_alive(id) || !pev_valid(ent))
return

static className[32]
pev(ent, pev_classname, className, 31)
if(!equal(className, PRESENT_CLASSNAME))
return

engfunc(EngFunc_SetModel, ent, MODEL_PRESENT)
set_pev(ent, pev_skin, random_num(0, MODEL_SKINS - 1))
set_pev(ent, pev_body, random_num(0, MODEL_SUBMODELS - 1))

hide_gift(ent)
give_gift(id)

if(get_cvar_num("cv_gift_lifes")) set_pev(ent, pev_lifes, pev(ent, pev_lifes) - 1)
}

public set_gift()
{
if(!g_totalGifts) return

new valid_gifts_count = 0
new ent, lifes_active = get_cvar_num("cv_gift_lifes")
while((ent = fm_find_ent_by_class(ent, PRESENT_CLASSNAME)))
{
if(pev(ent, pev_solid) != SOLID_NOT || (lifes_active && !pev(ent, pev_lifes)))
valid_gifts_count++
}

if(valid_gifts_count == g_totalGifts) return

new bool: check = false, id
while(check == false)
{
id = random_num(0, g_totalGifts - 1)
ent = ArrayGetCell(g_gift_id ,id)
if(pev(ent, pev_solid) == SOLID_NOT && (!lifes_active || pev(ent, pev_lifes)))
{
set_pev(ent, pev_solid, SOLID_TRIGGER)
unhide_gift(ent)
check = true
}
}
}

public gift_menu(id)
{
if(!is_user_access(id))
{
ChatColor(id, "!g[%s] !tНедостаточно прав!", PLUGIN)
return
}

new menu_name[90]
format(menu_name, 89, "\rРасстановка подарков^n\dТекущий подарок: %d", g_totalGifts + 1)

g_menuId = menu_create(menu_name, "menu_handler")

menu_additem(g_menuId, "\wУстановить Подарок", "1", 0)

if(!g_totalGifts)
{
menu_additem(g_menuId, "\dУдалить предыдущий Подарок", "2", 0)
menu_additem(g_menuId, "\dУдалить все Подарки", "3", 0)
}
else
{
menu_additem(g_menuId, "\wУдалить предыдущий Подарок", "2", 0)
menu_additem(g_menuId, "\wУдалить все Подарки", "3", 0)
}

if(!g_save_cpl)
menu_additem(g_menuId, "\dСохранить изменения", "4", 0)
else menu_additem(g_menuId, "\wСохранить изменения", "4", 0)

menu_setprop(g_menuId, MPROP_EXIT, MEXIT_ALL)
menu_setprop(g_menuId, MPROP_EXITNAME, "\yВыход")
menu_display(id, g_menuId, 0)

new keys
get_user_menu(id, g_menuId, keys)

for(new i = 0; i < g_totalGifts; i++)
unhide_gift(ArrayGetCell(g_gift_id, i))
}

public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
new ent
for(new i = 0; i < g_totalGifts; i++)
{
ent = ArrayGetCell(g_gift_id, i)
if(pev(ent, pev_solid) == SOLID_NOT) hide_gift(ent)
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

switch(item)
{
case 0:
{
new Float:fOrigin[3]
fm_get_aim_origin(id, fOrigin)

if(create_gift(fOrigin))
g_save_cpl = true

menu_destroy(menu)
gift_menu(id)
}
case 1:
{
if(!g_totalGifts)
{
ChatColor(id, "!g[%s] !tНа карте нет Подарков", PLUGIN)
menu_destroy(menu)
gift_menu(id)
return PLUGIN_HANDLED
}

g_save_cpl = true
ChatColor(id, "!g[%s] !tПодарок удален", PLUGIN)


g_totalGifts--
engfunc(EngFunc_RemoveEntity, ArrayGetCell(g_gift_id, g_totalGifts))
ArrayDeleteItem(g_gift_id, g_totalGifts)
ArrayDeleteItem(g_gift_x, g_totalGifts)
ArrayDeleteItem(g_gift_y, g_totalGifts)
ArrayDeleteItem(g_gift_z, g_totalGifts)

menu_destroy(menu)
gift_menu(id)
}
case 2:
{
if(!g_totalGifts)
{
ChatColor(id, "!g[%s] !tНа карте нет Подарков", PLUGIN)
menu_destroy(menu)
gift_menu(id)
return PLUGIN_HANDLED
}

g_save_cpl = true
ChatColor(id, "!g[%s] !tБыло удалено !g%d !tПодарков", PLUGIN, g_totalGifts)

new ent
while((ent = fm_find_ent_by_class(ent, PRESENT_CLASSNAME)))
engfunc(EngFunc_RemoveEntity, ent)

g_totalGifts = 0

ArrayClear(g_gift_id)
ArrayClear(g_gift_x)
ArrayClear(g_gift_y)
ArrayClear(g_gift_z)

menu_destroy(menu)
gift_menu(id)

}
case 3:
{
if(!g_save_cpl)
{
menu_destroy(menu)
gift_menu(id)
return PLUGIN_HANDLED
}

g_save_cpl = false

ChatColor(id, "!g[%s] !t%s", PLUGIN, save_gifts() ? "Сохранено" : "Не сохранено")

menu_destroy(menu)
gift_menu(id)
}
}
return PLUGIN_HANDLED
}

bool: save_gifts()
{
new map[32]
get_mapname(map, charsmax(map))
formatex(map, charsmax(map), "%s.ini", map)

new cfgDir[64], iFile[128]
get_configsdir(cfgDir, charsmax(cfgDir))
formatex(cfgDir, charsmax(cfgDir), "%s/Gifts", cfgDir)
formatex(iFile, charsmax(iFile), "%s/%s", cfgDir, map)

if(!dir_exists(cfgDir))
if(!mkdir(cfgDir))
return false

delete_file(iFile)

if(!g_totalGifts)
return true

for(new i = 0; i < g_totalGifts; i++)
{
new text[128], Float:fOrigin[3], ent = ArrayGetCell(g_gift_id, i)
pev(ent, pev_origin, fOrigin)
format(text, charsmax(text),"^"%f^" ^"%f^" ^"%f^"",fOrigin[0], fOrigin[1], fOrigin[2])
write_file(iFile, text, i)
}

return true
}

get_gifts(const iFile[128])
{
new file = fopen(iFile, "rt")

if(!file)
{
server_print("[%s] Gifts was not loaded", PLUGIN)
return
}

while(file && !feof(file))
{
new sfLineData[512]
fgets(file, sfLineData, charsmax(sfLineData))

if(sfLineData[0] == ';')
continue

if(equal(sfLineData, ""))
continue

new origins[3][32], Float: fOrigin[3]
parse(sfLineData, origins[0], 31, origins[1], 31, origins[2], 31)

fOrigin[0] = str_to_float(origins[0])
fOrigin[1] = str_to_float(origins[1])
fOrigin[2] = str_to_float(origins[2])

create_gift(fOrigin)
}

fclose(file)

if(!g_totalGifts)
server_print("[%s] Gifts was not loaded", PLUGIN)
else if(g_totalGifts == 1)
server_print("[%s] Loaded one gift", PLUGIN)
else
server_print("[%s] Loaded %d gifts", PLUGIN, g_totalGifts)
}

bool: create_gift(const Float: fOrigin[3])
{
new ent = engfunc(EngFunc_CreateNamedEntity, g_infoTarget)
if(!pev_valid(ent)) return false

if(!g_registration)
{
register_event("CurWeapon", "CurWeapon", "be","1=0")
register_event("HLTV", "fw_RoundStart", "a", "1=0", "2=0")

RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn", 1)
RegisterHamFromEntity(Ham_Touch, ent, "fw_TouchGift")

set_task(get_cvar_float("cv_gift_timerate"), "set_gift", _, _, _, "b")

g_gift_id = ArrayCreate()
g_gift_x = ArrayCreate()
g_gift_y = ArrayCreate()
g_gift_z = ArrayCreate()

g_msgMoney = get_user_msgid("Money")

g_registration = true

fw_RoundStart()
}

ArrayPushCell(g_gift_id, ent)

ArrayPushCell(g_gift_x, fOrigin[0])
ArrayPushCell(g_gift_y, fOrigin[1])
ArrayPushCell(g_gift_z, fOrigin[2])

engfunc(EngFunc_SetModel, ent, MODEL_PRESENT)
set_pev(ent, pev_origin, fOrigin)
set_pev(ent, pev_solid, SOLID_NOT)
set_pev(ent, pev_movetype, MOVETYPE_FLY)
set_pev(ent, pev_gravity, 1.0)
set_pev(ent, pev_classname, PRESENT_CLASSNAME)
set_pev(ent, pev_skin, random_num(0, MODEL_SKINS - 1))
set_pev(ent, pev_body, random_num(0, MODEL_SUBMODELS - 1))
engfunc(EngFunc_SetSize, ent, Float:{-15.0, -15.0, 0.0}, Float:{15.0, 15.0, 30.0})

hide_gift(ent)

g_totalGifts++

return true
}

hide_gift(ent)
{
set_pev(ent, pev_solid, SOLID_NOT)
for(new i = 1; i <= get_maxplayers(); i++)
{
new mid, keys
get_user_menu(i, mid, keys)
if(mid == g_menuId)
{
fm_set_rendering(ent, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 150)
return
}
}
fm_set_rendering(ent, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
}

unhide_gift(ent)
{
if(pev(ent, pev_solid) == SOLID_NOT)
fm_set_rendering(ent, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 150)
else
fm_set_rendering(ent, kRenderFxGlowShell, random_num(0,255), random_num(0,255), random_num(0,255), kRenderNormal, 15)
}

give_gift(id) //Выдает случайный бонус с подарка. Добавьте case, если хотите доавить свой.
{
static loopDestroy
loopDestroy++

if(loopDestroy > 20)
{
ChatColor(id, "!g[%s] !tПодарок оказался пустым", PLUGIN)
loopDestroy = 0
return
}

switch(random_num(0, 99))
{
case 0..20:
{
new reward = random_num(get_cvar_num("cv_gift_money_min"), get_cvar_num("cv_gift_money_max"))
new curr_money = get_pdata_int(id, OFFSET_CSMONEY)
if(curr_money + reward > MAX_MONEY)
reward = MAX_MONEY - curr_money

if(reward)
{
set_pdata_int(id, OFFSET_CSMONEY, curr_money + reward)

message_begin(MSG_ONE, g_msgMoney, _, id)
write_long(curr_money + reward)
write_byte(1)
message_end()

ChatColor(id, "!g[%s] !tВы получаете !g%d$", PLUGIN, reward)
loopDestroy = 0
}
else give_gift(id)
}

/* case 21..30:
{

}
*/
case 31..40:
{
g_have_gravity[id] = true
set_user_gravity(id, ((get_user_gravity(id) - TAKE_GRAVITY) >= GRAVITY_MIN) ? (get_user_gravity(id) - TAKE_GRAVITY) : GRAVITY_MIN)
ChatColor(id, "!g[%s] !tВы получаете !gгравитацию", PLUGIN)
loopDestroy = 0
}

case 41..50:
{
g_have_speed[id] = true
fUserSpeed[id] = get_user_maxspeed(id) + ADD_SPEED;
set_user_maxspeed(id, fUserSpeed[id])
ChatColor(id, "%s ^3Ваша скорость: ^4%.1f ups^3.", PREFIX, fUserSpeed[id])
loopDestroy = 0
}

case 51..70:
{
if(get_pdata_int(id, OFFSET_FLASH_AMMO) >= 1)
{
set_pdata_int(id, OFFSET_FLASH_AMMO, get_pdata_int(id, OFFSET_FLASH_AMMO) + FLASH_AMMO);
}
else
{
give_item(id, "weapon_flashbang");
set_pdata_int(id, OFFSET_FLASH_AMMO, get_pdata_int(id, OFFSET_FLASH_AMMO) + FLASH_AMMO - 1);
}
if(get_pdata_int(id, OFFSET_HE_AMMO) >= 1)
{
set_pdata_int(id, OFFSET_HE_AMMO, get_pdata_int(id, OFFSET_HE_AMMO) + HE_AMMO);
}
else
{
give_item(id, "weapon_hegrenade");
set_pdata_int(id, OFFSET_HE_AMMO, get_pdata_int(id, OFFSET_HE_AMMO) + HE_AMMO - 1);
}
for(new ID = 1; ID <= get_maxplayers(); ID++)
{
if(ID == id)
{
ChatColor(ID, "%s Вы нашли ^3%d FB ^1и ^3%d HE ^1гранаты. ", PREFIX, FLASH_AMMO, HE_AMMO)
}
else
{
ChatColor(ID, "%s Игрок ^4<Ник игрока> ^1подобрал подарок и получил ^3%d FB ^1и ^3%d HE ^1гранаты!", PREFIX, FLASH_AMMO, HE_AMMO)
}
}
}

case 71..90:
{
new hp = get_cvar_num("cv_gift_health")
if(hp)
{
fm_set_user_health(id, pev(id, pev_health) + hp)
ChatColor(id, "!g[%s] !tВы получаете !gздоровье (%d hp)", PLUGIN, hp)
loopDestroy = 0
}
else give_gift(id)
}
default:
{
ChatColor(id, "%s Подарок оказался пустым.", PREFIX);
}
//case 7: тут по примерам выше
}
}

bool: is_user_access(id)
{
new flag_access[24]
get_cvar_string("cv_gift_access", flag_access, charsmax(flag_access))

new flags = get_user_flags(id)

if(contain(flag_access, "a") > -1 && (flags & ADMIN_IMMUNITY))
return true

if(contain(flag_access, "b") > -1 && (flags & ADMIN_RESERVATION))
return true

if(contain(flag_access, "c") > -1 && (flags & ADMIN_KICK))
return true

if(contain(flag_access, "d") > -1 && (flags & ADMIN_BAN))
return true

if(contain(flag_access, "e") > -1 && (flags & ADMIN_SLAY))
return true

if(contain(flag_access, "f") > -1 && (flags & ADMIN_MAP))
return true

if(contain(flag_access, "g") > -1 && (flags & ADMIN_CVAR))
return true

if(contain(flag_access, "h") > -1 && (flags & ADMIN_CFG))
return true

if(contain(flag_access, "i") > -1 && (flags & ADMIN_CHAT))
return true

if(contain(flag_access, "j") > -1 && (flags & ADMIN_VOTE))
return true

if(contain(flag_access, "k") > -1 && (flags & ADMIN_PASSWORD))
return true

if(contain(flag_access, "l") > -1 && (flags & ADMIN_RCON))
return true

if(contain(flag_access, "m") > -1 && (flags & ADMIN_LEVEL_A))
return true

if(contain(flag_access, "n") > -1 && (flags & ADMIN_LEVEL_B))
return true

if(contain(flag_access, "o") > -1 && (flags & ADMIN_LEVEL_C))
return true

if(contain(flag_access, "p") > -1 && (flags & ADMIN_LEVEL_D))
return true

if(contain(flag_access, "q") > -1 && (flags & ADMIN_LEVEL_E))
return true

if(contain(flag_access, "r") > -1 && (flags & ADMIN_LEVEL_F))
return true

if(contain(flag_access, "s") > -1 && (flags & ADMIN_LEVEL_G))
return true

if(contain(flag_access, "t") > -1 && (flags & ADMIN_LEVEL_H))
return true

if(contain(flag_access, "u") > -1 && (flags & ADMIN_MENU))
return true

if(contain(flag_access, "y") > -1 && (flags & ADMIN_ADMIN))
return true

if(contain(flag_access, "z") > -1 && (flags & ADMIN_USER))
return true

return false
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Зеленый цвет
replace_all(msg, 190, "!y", "^1") // По умолчанию
replace_all(msg, 190, "!t", "^3") // Цвет команды
replace_all(msg, 190, "!team2", "^0") // Цвет команды2

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


stock STUFFTEXT_CMD(id = 0, text[])
{
if ( ( id == 0 ) || ( is_user_connected(id) ) )
{
message_begin( MSG_ONE, SVC_DIRECTOR_ID, _, id )
write_byte( strlen(text) + 2 )
write_byte( SVC_DIRECTOR_STUFFTEXT_ID )
write_string( text )
message_end()
}
}


Код в .sma
Прикрепленный файл  Gifts.sma ( 21,88 килобайт ) Кол-во скачиваний: 8

Прошу ткнуть носом в то, что я "натворил". Буду очень благодарен.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя KPOCT
сообщение 19.8.2016, 22:22
Сообщение #2
Стаж: 11 лет

Сообщений: 14
Благодарностей: 2
Полезность: 0

-_-
Извините за глупую тему, никаких ошибок..
sv_maxspeed забыл увеличить..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: