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

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

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

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

Скорость вип меню

, Я написал вип меню, и использовал отлов смены оружия.
Статус пользователя andreykys
сообщение 26.10.2017, 11:44
Сообщение #1
Стаж: 8 лет 10 месяцев

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

Я написал вип меню, и использовал отлов смены оружия. Но в следующим раунде если я сменю оружие опять скорость появится. хотя у меня стоит отсчёт раундов. надеюсь вы поняли я просто не знаю как ещё обьяснить.
Cкрытый текст
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <engine>
#include <amxmisc>
#include <colorchat>
#include <furien>
#define OFFSET_WEAPONSPEED 58

#define PLUGIN "MyPlugin"
#define VERSION "1.1"
#define AUTHOR "Podono4eK"
#define VIP_FLAG ADMIN_LEVEL_H
#define _furien

new vip_1[33], vip_2[33], vip_3[33], vip_4[33], vip_5[33], vip_6[33]
new cmd_name[32]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("vipmenu", "vipmenu")
register_logevent("round_end", 2, "1=Round_End")
register_event("CurWeapon", "CurWeapon", "be", "1=1")
}

public CurWeapon(id)
{
if(vip_2[id])
set_user_maxspeed(id, 450.0)
}

public vipmenu(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
new menu = menu_create("\y[GarenaVIP] \wМеню", "vip_menu")
menu_additem(menu, "\wВзять \r150 ХП и 150 АП", "1")
menu_additem(menu, "\wВзять \yскорость и \rгравитацию", "2")
menu_additem(menu, "\wВзять \yнабор гранат", "3")
menu_additem(menu, "\wВозродиться", "4")
menu_additem(menu, "\wВзять \y5000$", "5")
menu_additem(menu, "\wКикнуть игрока", "6")
menu_additem(menu, "\yВип нож", "7")
menu_setprop(menu, MPROP_NEXTNAME, "Вперед")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")

menu_display(id, menu, 0)
}
else
{
get_user_name(id, cmd_name, 31)
ColorChat(id, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01У вас нету доступа к^x04 VIP", cmd_name)
ColorChat(id, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01Купить вип по скайпу^x04 youtubehc", cmd_name)

}
}

public vip_menu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}

new data[6], iName[64], access, callback

menu_item_getinfo(menu, item, access, data, 5, iName, 64, callback)

new key = str_to_num(data)
new name[32]
get_user_name(id, name, charsmax(name))

switch(key)
{
case 1:
{
if(is_user_alive(id))
if(vip_1[id] == 0)
{
vip_1[id] = 4
client_cmd(id, "spk events/tutor_msg.wav")
set_user_health(id, 150)
set_user_armor(id, 150)
ColorChat(0, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01взял^x04 взял здоровье и броню", name)
}
else
{
ColorChat(id, RED, "^x01[^x04Garena VIP^x01] ^x03Осталось %d раунд^x04(а/ов)^x03 для использования снова", vip_1[id])
client_cmd(id, "spk events/enemy_died.wav")
}
}
case 2:
{
if(is_user_alive(id))
if(!furien_get_user_team(id))
{
get_user_name(id, cmd_name, 31)
ColorChat(id, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01Нельзя использовать это за ^x04фурий", cmd_name)
client_cmd(id, "spk events/enemy_died.wav")
}
if(is_user_alive(id))
if(furien_get_user_team(id))
if(vip_2[id] == 0)
{
vip_2[id] = 3
client_cmd(id, "spk events/tutor_msg.wav")
set_user_maxspeed(id, 450.0)
set_user_gravity(id, 0.5)
ColorChat(0, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01взял^x04 гравитацию и скорость", name)
}
else
{
ColorChat(id, RED, "^x01[^x04Garena VIP^x01] ^x03Осталось %d раунд^x04(а/ов)^x03 для использования снова", vip_2[id])
client_cmd(id, "spk events/enemy_died.wav")
}
}
case 3:
{
if(is_user_alive(id))
if(vip_3[id] == 0)
{
vip_3[id] = 3
client_cmd(id, "spk events/tutor_msg.wav")
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_smokegrenade" )
ColorChat(0, GREEN, "^x01[^x04Garena VIP] ^x03%s ^x01взял^x04 набор гранат", name)
}
else
{
ColorChat(id, RED, "^x01[^x04Garena VIP^x01] ^x03Осталось %d раунд^x04(а/ов)^x03 для использования снова", vip_3[id])
client_cmd(id, "spk events/enemy_died.wav")
}
}
case 4:
{
if(!is_user_alive(id))
if(vip_4[id] == 0)
{
vip_4[id] = 5
client_cmd(id, "spk events/tutor_msg.wav")
ExecuteHamB(Ham_CS_RoundRespawn, id);
client_cmd(id, "spk pick.wav")
ColorChat(0, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x04возродился", name)
}
else
{
ColorChat(id, RED, "^x01[^x04Garena VIP^x01] ^x03Осталось %d раунд^x04(а/ов)^x03 для использования снова", vip_4[id])
client_cmd(id, "spk events/enemy_died.wav")
}
}
case 5:
{
if(is_user_alive(id))
if(vip_5[id] == 0)
{
vip_5[id] = 4
client_cmd(id, "spk events/tutor_msg.wav")
cs_set_user_money(id, cs_get_user_money(id) + 5000);
ColorChat(0, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01взял^x04 5000$", name)
}
else
{
ColorChat(id, RED, "^x01[^x04Garena VIP^x01] ^x03Осталось %d раунд^x04(а/ов)^x03 для использования снова", vip_5[id])
client_cmd(id, "spk events/enemy_died.wav")
}
}
case 6: client_cmd(id, "amx_kickmenu")
case 7:
{
if(is_user_alive(id))
if(vip_6[id] == 0)
{
vip_6[id] = 6
client_cmd(id, "spk events/tutor_msg.wav")
client_cmd(id, "vipreversknife")
ColorChat(0, GREEN, "^x01[^x04Garena VIP^x01] ^x03%s ^x01взял^x04 вип нож", name)
}
else
{
ColorChat(id, RED, "^x01[^x04Garena VIP^x01] ^x03Осталось %d раунд^x04(а/ов)^x03 для использования снова", vip_6[id])
client_cmd(id, "spk events/enemy_died.wav")
}
}
}
return PLUGIN_HANDLED;
}

public round_end(id)
{
for(new id = 0; id <= get_maxplayers(); id++)
{
if(vip_1[id] > 0) vip_1[id] -= 1
if(vip_2[id] > 0) vip_2[id] -= 1
if(vip_3[id] > 0) vip_3[id] -= 1
if(vip_4[id] > 0) vip_4[id] -= 1
if(vip_5[id] > 0) vip_5[id] -= 1
if(vip_6[id] > 0) vip_6[id] -= 1
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя steelzzz
сообщение 26.10.2017, 12:00
Сообщение #2


Стаж: 12 лет

Сообщений: 609
Благодарностей: 187
Полезность: 167

Ham_Player_ResetMaxSpeed почитай об этом


Нужна помощь в настройке сервера или плагина? (Платно) -> Тык
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя andreykys
сообщение 26.10.2017, 12:25
Сообщение #3
Стаж: 8 лет 10 месяцев

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

Цитата(steelzzz @ 26.10.2017, 12:00) *
Ham_Player_ResetMaxSpeed почитай об этом

ничего толкового не нашёл
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Droads
сообщение 26.10.2017, 14:34
Сообщение #4
Стаж: 8 лет 7 месяцев

Сообщений: 26
Благодарностей: 24
Полезность: 384

Можешь попробовать выставлять игрокам, которые покупали скорость, в раунденде дефолтную через эту же функцию как при покупке.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sorokin
сообщение 26.10.2017, 16:31
Сообщение #5
Стаж: 9 лет 5 месяцев

Сообщений: 427
Благодарности: выкл.

andreykys, что это?
Код:
public round_end(id)
{
for(new id = 0; id <= get_maxplayers(); id++)
{
if(vip_1[id] > 0) vip_1[id] -= 1
if(vip_2[id] > 0) vip_2[id] -= 1
if(vip_3[id] > 0) vip_3[id] -= 1
if(vip_4[id] > 0) vip_4[id] -= 1
if(vip_5[id] > 0) vip_5[id] -= 1
if(vip_6[id] > 0) vip_6[id] -= 1
}
}


почитай про arrayset

Код:
public round_end(id)

=>
Код:
public round_end()


CurWeapon такое себе. Используй это
Код:
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;



RegisterHam(Ham_Player_ResetMaxSpeed, "player", "fw_ResetMaxSpeed");



public fw_ResetMaxSpeed(id)

{

// проверка + и т.д. т.п.

}


Отредактировал: Sorokin, - 26.10.2017, 16:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя steelzzz
сообщение 26.10.2017, 18:57
Сообщение #6


Стаж: 12 лет

Сообщений: 609
Благодарностей: 187
Полезность: 167

Держи)))
На работоспособность не проверял)

Внимание, говнокод


Нужна помощь в настройке сервера или плагина? (Платно) -> Тык
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sorokin
сообщение 26.10.2017, 19:12
Сообщение #7
Стаж: 9 лет 5 месяцев

Сообщений: 427
Благодарности: выкл.

Цитата(steelzzz @ 26.10.2017, 19:57) *
Держи)))
На работоспособность не проверял)

Внимание, говнокод

Ну для .wav можно было использовать Emit Sounds. Чтобы уже точно везде воспроизводилось
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя steelzzz
сообщение 26.10.2017, 19:37
Сообщение #8


Стаж: 12 лет

Сообщений: 609
Благодарностей: 187
Полезность: 167

Sorokin, я особо не заморачивался над этим, просто скопировал его функции


Нужна помощь в настройке сервера или плагина? (Платно) -> Тык
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Droads
сообщение 26.10.2017, 19:55
Сообщение #9
Стаж: 8 лет 7 месяцев

Сообщений: 26
Благодарностей: 24
Полезность: 384

Sorokin,
Если ему необходимо проиграть только в клиенте игры для одного человека, то сделано все правильно, эмит тут не нужен.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: