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

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

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

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

авто выдача deagle , гранаты и броня

, внутри плагина
Статус пользователя energydance
сообщение 31.7.2017, 19:15
Сообщение #1


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

Подкиньте пожалуйста код для автоматической выдачи гранат дигла и брони в начале раунда thank_you2.gif


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя $@NyA
сообщение 31.7.2017, 19:53
Сообщение #2


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

give_item(id,"weapon_ВАШЕ ОРУЖИЕ")


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 31.7.2017, 20:04
Сообщение #3


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

$@NyA, я имел в виду готовый код вместе с
public player_spawn(id)


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 31.7.2017, 20:33
Сообщение #4


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

del/

Отредактировал: $@NyA, - 31.7.2017, 20:36


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 1.8.2017, 13:25
Сообщение #5


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Код:
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1)

public Ham_PlayerSpawn_Post(id)
{
выдача чего нужно


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя energydance
сообщение 1.8.2017, 15:48
Сообщение #6


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

ssx, сделал так
Код:
Код
public ham_Spawn( id )
    if( is_user_connected( id ) && is_user_alive( id ))
{
     strip_user_weapons (id)
     give_item( id, "weapon_deagle")
     cs_set_user_bpammo( id, CSW_DEAGLE, 35),
     give_item( id, "weapon_hegrenade" ),
     give_item( id, "weapon_flashbang" ),
     cs_set_user_bpammo( id, CSW_FLASHBANG, 2),
     cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM),
     give_item(id,"weapon_knife")
}



Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 1.8.2017, 16:36
Сообщение #7


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

ssx, чуть не по теме , не подскажешь как сделать лимит на открытие меню , чтоб можно было 1 раз за раунд его открыть? пример ниже
Код
public cmd_vip_menu(id)
{
    if(get_user_flags(id) & ADMIN_LEVEL_F)
    {
        vip_weaponmenu(id)
    }
}

public vip_weaponmenu(id)
{
    if(round < 3)
    {
        client_print(id, print_chat, "С 3-ого раунда!")
        return PLUGIN_HANDLED;
    }
    
    new menu = menu_create("\yЗолотая \rОружейка", "handler_weaponmenu")
    
    menu_additem(menu, "\wM4A1",         "1")
    menu_additem(menu, "\wAK47",         "2")
    menu_additem(menu, "\wAWP",         "3")
    menu_additem(menu, "\wDEAGLE",         "4")

    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

    menu_display(id,menu,0)

    return PLUGIN_HANDLED;
}


Отредактировал: energydance, - 1.8.2017, 16:38


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 1.8.2017, 17:49
Сообщение #8


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Cкрытый текст
Ham_Spawn - "событие" спавна игрока, никак не начала раунда. Стоит учитывать, что она будет вызываться при каждом возрождении (даже, если игрок например возродится в средине раунда). Тем не менее это хорошее "место" для выдачи игроку чего-либо потому, что:
1. если ловить событие начала раунда, придется пробегаться циклом по всем игрокам, чтобы выдать им что-то. это "хорошим кодом" не назовешь)
2. игрок может зайти на несколько с. позже начала раунда, возродиться, и при этом он ничего не получит. Если же ловим спавн - все гуд. Логично?
3. ...

Код:
if( is_user_connected( id ) && is_user_alive( id ))
Проверка на коннект тут не к чему (is_user_alive в своих недрах ее носит), достаточно только проверить жив и игрок.Код:
if(is_user_alive(id))


Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
}

public Ham_PlayerSpawn_Post(id)
{
if (!is_user_alive(id)) // если игрок мертв не выполняем код ниже
return HAM_IGNORED;

strip_user_weapons(id);
give_item(id,"weapon_knife");

give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);

give_item(id, "weapon_hegrenade");

give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);

cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);

return HAM_IGNORED;
}


energydance, проверить было ли открыто меню, или пользовался ли игрок его пунктами? Второе: регистрируем глобальную булевую переменную для каждого игрока Код:
new bool:g_bMenuUsed[33];

Ловим событие нового раунда и присваиваем ей false (меню не было использовано игроком)Код:
public plugin_init()
{
register_event("HLTV", "NewRound", "a", "1=0", "2=0");
}
public NewRound() arrayset(g_bMenuUsed, false, 33);

В обработчике меню (там где обрабатываются нажатые пункты), необходимо присвоить переменной true (меню было использовано игроком):Код:
g_bMenuUsed[id] = true;


В форварде, где регистрируется меню необходимо проверить, было ли меню использовано игроком Код:
if (g_bMenuUsed[id])
{
client_print(id, print_chat, "Менюшкой можно воспользоваться только единажды.");
return PLUGIN_HANDLED;
}


Отредактировал: JIuXeP, - 1.8.2017, 17:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя energydance
сообщение 1.8.2017, 18:19
Сообщение #9


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

JIuXeP, спасибо все довольно таки просто расписал good.gif


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 2.8.2017, 0:06
Сообщение #10


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

JIuXeP,

Там вообще не нужна проверка на is_user_alive так как
Код:
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);

и есть доказательство того что игрок успешно возродился.
Лично я уже давно вырезал в плагинах эту проверку и никаких проблем и варнингов нет.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 2.8.2017, 1:44
Сообщение #11


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

ssx, если не ошибаюсь, ham_spawn вызывается еще и вместе с put in server (когда вошел в игру, и камера триггера показана игроку). Нужно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя erdli221
сообщение 12.7.2021, 23:35
Сообщение #12
Стаж: 4 года 10 месяцев

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

Цитата(energydance @ 1.8.2017, 15:48) *
ssx, сделал так
Код:
Код
public ham_Spawn( id )
    if( is_user_connected( id ) && is_user_alive( id ))
{
     strip_user_weapons (id)
     give_item( id, "weapon_deagle")
     cs_set_user_bpammo( id, CSW_DEAGLE, 35),
     give_item( id, "weapon_hegrenade" ),
     give_item( id, "weapon_flashbang" ),
     cs_set_user_bpammo( id, CSW_FLASHBANG, 2),
     cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM),
     give_item(id,"weapon_knife")
}


и куда его прописовать?

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