Русское сообщество по скриптингу

Помощь или заказ zp_respawn  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Помощь или заказ zp_respawn

Сообщение 330812 » 28 май 2021, 06:04

Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <zombieplague>
#define PLUGIN "[ZP: Respawn Menu]"
#define VERSION         "0.1"
#define AUTHOR "3BEPb"

new cvar_respawn_humans_cost, cvar_respawn_zombies_cost 

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

    register_clcmd("res", "respawn", ADMIN_ALL, "respawn")
    register_clcmd("say /zs", "respawn", ADMIN_ALL, "respawn")

    cvar_respawn_humans_cost = register_cvar("zp_respawn_humans_cost", "15")
    cvar_respawn_zombies_cost = register_cvar("zp_respawn_zombies_cost", "3")

    register_dictionary("zp_wpn_menu.txt")    
}

public respawn(id)
{
    new menu = menu_create("\yЗа кого воскресить:", "menu_handler");

    menu_additem(menu, "\wЗа людей \y[Стоит: 15 евро]", "1", 0);
    menu_additem(menu, "\rЗа зомби \y[Стоит: 3 евро]", "2", 0);
    
        menu_setprop
(menu, MPROP_EXITNAME, "Выход")
    
    menu_display
(id, menu, 0); 
        
    return PLUGIN_HANDLED
}

public menu_handler(id, menu, item)
{
        if( item == MENU_EXIT )
       {
            menu_destroy(menu);
            return PLUGIN_HANDLED;    
        
}
    
        new data
[6], iName[64];
        new access, callback;
    
        menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback);
    
        new key 
= str_to_num(data);
    
        switch
(key)
    {
            case 1:
               {    
            
//if(cs_get_user_money(id) < get_pcvar_num(cvar_respawn_humans_cost))
            if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_humans_cost))
            {
                client_print(id, print_center,"[ZP] Тебе не хватает евро.")
                return PLUGIN_HANDLED            
            
}

             if(is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
                return PLUGIN_HANDLED
            
}

            if(zp_is_survivor_round() && !is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только зомби может перерождаться.")
                return PLUGIN_HANDLED
            
}
    
            if
(!is_user_alive(id))
            {
                zp_respawn_user(id, ZP_TEAM_HUMAN)
                     //cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_respawn_humans_cost)) 
                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_humans_cost))
            }


                    menu_destroy(menu);
                    return PLUGIN_HANDLED
            
}

            case 2:
            {
            //if(cs_get_user_money(id) < get_pcvar_num(cvar_respawn_zombies_cost))
            if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_zombies_cost))
            {
                client_print(id, print_center,"%L", LANG_PLAYER, "NO_MONEY")
                return PLUGIN_HANDLED            
            
}

             if(is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
                return PLUGIN_HANDLED
            
}

            if(zp_is_nemesis_round() && !is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только люди могут перерождаться.")
                return PLUGIN_HANDLED
            
}
    
            if
(!is_user_alive(id))
            {
                zp_respawn_user(id, ZP_TEAM_ZOMBIE)
                     //cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_respawn_zombies_cost)) 
                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_zombies_cost))
            }
                

            menu_destroy
(menu);
            return PLUGIN_HANDLED
        
}

    }
        menu_destroy(menu);
        return PLUGIN_HANDLED


Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <zombieplague>

#define PLUGIN         "[ZP: Respapawn Ammo]"
#define VERSION         "0.1"
#define AUTHOR         "4e/l"

new cvar_respawn_humans_cost, cvar_respawn_zombies_cost 

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

    register_clcmd("res", "respawn", ADMIN_ALL, "respawn")
    register_clcmd("say /res", "respawn", ADMIN_ALL, "respawn")

    cvar_respawn_humans_cost = register_cvar("zp_respawn_humans_cost", "5")
    cvar_respawn_zombies_cost = register_cvar("zp_respawn_zombies_cost", "3")

    register_dictionary("zp_wpn_menu.txt")    
}

/*================================================================================================================
|                        [ZP: RESPAWN]                                                                              |
==================================================================================================================*/

public respawn(id)
{
    new menu = menu_create("\rChoose Team", "menu_handler");

    menu_additem(menu, "\wHumans [Cost: 5 Ammo]", "1", 0);
    menu_additem(menu, "\wZombies [Cost: 3 Ammo]", "2", 0);
    
    menu_setprop
(menu, MPROP_EXIT, MEXIT_ALL);
    
    menu_display
(id, menu, 0); 
        
    return PLUGIN_HANDLED
}

public menu_handler(id, menu, item)
{
        if( item == MENU_EXIT )
       {
            menu_destroy(menu);
            return PLUGIN_HANDLED;    
        
}
    
        new data
[6], iName[64];
        new access, callback;
    
        menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback);
    
        new key 
= str_to_num(data);
    
        switch
(key)
    {
            case 1:
               {    
            
//if(cs_get_user_money(id) < get_pcvar_num(cvar_respawn_humans_cost))
            if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_humans_cost))
            {
                client_print(id, print_center,"[ZP] You dont have enough ammo packs.")
                return PLUGIN_HANDLED            
            
}

             if(is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Only Dead people can purchase respawn ability")
                return PLUGIN_HANDLED
            
}

            if(zp_is_survivor_round() && !is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Only zombie can respawn")
                return PLUGIN_HANDLED
            
}
    
            if
(!is_user_alive(id))
            {
                zp_respawn_user(id, ZP_TEAM_HUMAN)
                     //cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_respawn_humans_cost)) 
                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_humans_cost))
            }


                    menu_destroy(menu);
                    return PLUGIN_HANDLED
            
}

            case 2:
            {
            //if(cs_get_user_money(id) < get_pcvar_num(cvar_respawn_zombies_cost))
            if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_zombies_cost))
            {
                client_print(id, print_center,"%L", LANG_PLAYER, "NO_MONEY")
                return PLUGIN_HANDLED            
            
}

             if(is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Only Dead people can purchase respawn ability")
                return PLUGIN_HANDLED
            
}

            if(zp_is_nemesis_round() && !is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Only humans can respawn")
                return PLUGIN_HANDLED
            
}
    
            if
(!is_user_alive(id))
            {
                zp_respawn_user(id, ZP_TEAM_ZOMBIE)
                     //cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_respawn_zombies_cost)) 
                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_zombies_cost))
            }
                

            menu_destroy
(menu);
            return PLUGIN_HANDLED
        
}

    }
        menu_destroy(menu);
        return PLUGIN_HANDLED
}

Вот два исходника по сути одного и тогоже плагина кто у кого стырил код не знаю, но мне нужно что бы этот плагин не добавлялся в меню, а сразу вылазило меню когда "игрок мертв" возродиться за зомби или людей (если кто может исправить тут если нет напишите на заказ заново заплачу
Аватара пользователя
330812
 
Сообщения: 8
Зарегистрирован: 21 дек 2013, 08:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Помощь или заказ zp_respawn

Сообщение RSO_ » 28 май 2021, 06:23

#include <hamsandwich>

public plugin_init()
{
RegisterHam(Ham_Killed,"player","respawn")
}
слава великой сонтаранской империи !
Аватара пользователя
RSO_
 
Сообщения: 280
Зарегистрирован: 20 окт 2019, 21:40
Откуда: от верблюда
Благодарил (а): 45 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: . . . 100 ISQ

Re: Помощь или заказ zp_respawn

Сообщение 330812 » 28 май 2021, 08:13

Да действительно круто работает особенно если тебя убили меню сразу открывает после смерти!!!!!!!! спасибо...
Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <zombieplague>
#define PLUGIN "[ZP: Respawn Menu]"
#define VERSION         "0.1"
#define AUTHOR "3BEPb"

new cvar_respawn_humans_cost, cvar_respawn_zombies_cost 

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

    register_clcmd("res", "respawn", ADMIN_ALL, "respawn")
    register_clcmd("say /zs", "respawn", ADMIN_ALL, "respawn")
        RegisterHam(Ham_Killed,"player","respawn")

    cvar_respawn_humans_cost = register_cvar("zp_respawn_humans_cost", "15")
    cvar_respawn_zombies_cost = register_cvar("zp_respawn_zombies_cost", "3")

    register_dictionary("zp_wpn_menu.txt")    
}

public respawn(id)
{
    new menu = menu_create("\yЗа кого воскресить:", "menu_handler");

    menu_additem(menu, "\wЗа людей \y[Стоит: 15 евро]", "1", 0);
    menu_additem(menu, "\rЗа зомби \y[Стоит: 3 евро]", "2", 0);
    
        menu_setprop
(menu, MPROP_EXITNAME, "Выход")
    
    menu_display
(id, menu, 0); 
        
    return PLUGIN_HANDLED
}

public menu_handler(id, menu, item)
{
        if( item == MENU_EXIT )
       {
            menu_destroy(menu);
            return PLUGIN_HANDLED;    
        
}
    
        new data
[6], iName[64];
        new access, callback;
    
        menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback);
    
        new key 
= str_to_num(data);
    
        switch
(key)
    {
            case 1:
               {    
            
//if(cs_get_user_money(id) < get_pcvar_num(cvar_respawn_humans_cost))
            if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_humans_cost))
            {
                client_print(id, print_center,"[ZP] Тебе не хватает евро.")
                return PLUGIN_HANDLED            
            
}

             if(is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
                return PLUGIN_HANDLED
            
}

            if(zp_is_survivor_round() && !is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только зомби может перерождаться.")
                return PLUGIN_HANDLED
            
}
    
            if
(!is_user_alive(id))
            {
                zp_respawn_user(id, ZP_TEAM_HUMAN)
                     //cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_respawn_humans_cost)) 
                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_humans_cost))
            }


                    menu_destroy(menu);
                    return PLUGIN_HANDLED
            
}

            case 2:
            {
            //if(cs_get_user_money(id) < get_pcvar_num(cvar_respawn_zombies_cost))
            if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_zombies_cost))
            {
                client_print(id, print_center,"%L", LANG_PLAYER, "NO_MONEY")
                return PLUGIN_HANDLED            
            
}

             if(is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
                return PLUGIN_HANDLED
            
}

            if(zp_is_nemesis_round() && !is_user_alive(id))
            {
                client_print(id, print_chat, "[ZP] Только люди могут перерождаться.")
                return PLUGIN_HANDLED
            
}
    
            if
(!is_user_alive(id))
            {
                zp_respawn_user(id, ZP_TEAM_ZOMBIE)
                     //cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_respawn_zombies_cost)) 
                zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_zombies_cost))
            }
                

            menu_destroy
(menu);
            return PLUGIN_HANDLED
        
}

    }
        menu_destroy(menu);
        return PLUGIN_HANDLED
}
 

Остался вопросик есть кодик что бы он открывал это меню когда ты/dead/spectator это нужно для тех кто заходит на сервер ну когда присоеденяешься к серверу тебе это меню всплывало сразу
Аватара пользователя
330812
 
Сообщения: 8
Зарегистрирован: 21 дек 2013, 08:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Помощь или заказ zp_respawn

Сообщение MayroN » 28 май 2021, 15:10

330812,
Насчет того,что "кто у кого стырил" - можете спросить у Зверя - он тут есть )))
Вы должны зарегистрироваться, чтобы видеть ссылки. ... le&u=15419
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Помощь или заказ zp_respawn  [Решено]

Сообщение RSO_ » 29 май 2021, 04:28

#include <cstrike>

public client_putinserver(id)
{
if(!is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
respawn(id)
}
}
слава великой сонтаранской империи !
Аватара пользователя
RSO_
 
Сообщения: 280
Зарегистрирован: 20 окт 2019, 21:40
Откуда: от верблюда
Благодарил (а): 45 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: . . . 100 ISQ

Re: Помощь или заказ zp_respawn

Сообщение 330812 » 29 май 2021, 07:56

RSO_ большое спасибо за коды :thumbs_up
MayroN и тебе спасибо надеюсь зверь не будет против потому что этот плагин нужен для карт раннеров типа ZE_Parkour ZE_Egypt ZE_jurasic_Park где игроки умудряются сдохнуть в самом начале раунда и сидеть орать админ возроди каждому писать /zs уже надоело непомогает даже бинды и серверное меню на F3 :-!
Аватара пользователя
330812
 
Сообщения: 8
Зарегистрирован: 21 дек 2013, 08:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Помощь или заказ zp_respawn

Сообщение [N][E][M][E][C] » 29 май 2021, 10:59

RSO_, а зачем тут путинсервер вообще?
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: Помощь или заказ zp_respawn

Сообщение 330812 » 30 май 2021, 07:30

Этот параметр отвечает за выполнение при подключении либо выполнения команд на стороне клиента, а может проводит проверку team/spectator
Аватара пользователя
330812
 
Сообщения: 8
Зарегистрирован: 21 дек 2013, 08:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Помощь или заказ zp_respawn

Сообщение [N][E][M][E][C] » 30 май 2021, 11:38

Какой параметр?
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: Помощь или заказ zp_respawn

Сообщение 330812 » 31 май 2021, 15:17

Несмог я вам правильно объяснить что мне нужно)) пришлось искать на просторах интернета
Код: Выделить всё

 
#include <amxmodx>

#define autobindMenuKeys (1<<0)|(1<<1)|(1<<2)
#define PLUGIN "Autobinds"
#define VERSION "1.0"
#define AUTHOR "CLLlAgOB"
#define MAX_STRING_LEN 256
#define MAX_LINES 64
new key_set[MAX_LINES][MAX_STRING_LEN]
new key_command[MAX_LINES][MAX_STRING_LEN]

public plugin_init(){
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_menucmd(register_menuid("Auto Bind Menu"), autobindMenuKeys, "autobindmenu")
    register_event("TeamInfo", "task_premenu", "b")
    register_cvar("auto_bind","") 
    register_cvar
("auto_helpdir","http://ya.ru")
    load_settings("addons/amxmodx/configs/keys.ini")
    register_cvar("auto_ver","v1.0")
}

public task_premenu(id)
    set_task(10.0,"task_autibondmenu",id)

public task_autibondmenu(id) {
    new crate[33],ver[33]  
    get_user_info
(id,"autobind",crate,32)
    get_cvar_string("auto_ver",ver,31)
    if(!equali(crate, ver)){
        show_menu(id, autobindMenuKeys, "\rAuto Bind Menu^n\w^n1. Auto bind me!^n2. Help (About Keys)  ^n3. No auto bind^n", -1, "");
        return PLUGIN_HANDLED;
    }
    return PLUGIN_HANDLED;
}
load_settings(szFilename[]) {
    if (!file_exists(szFilename))
        return 0
    new num 
= 0
    new szText
[MAX_STRING_LEN], setbuttn[MAX_STRING_LEN], setcommand[MAX_STRING_LEN]
    new a, pos = 0
    while 
(num < MAX_LINES && read_file(szFilename, pos++, szText, sizeof(szText), a)) {         
        if 
(szText[0] == ';')
            continue
        if 
(szText[0] == '#')
            continue
        if 
(parse(szText,setbuttn,sizeof(setbuttn),setcommand,sizeof(setcommand)) < 2)
            continue

        copy
(key_set[num], MAX_STRING_LEN - 1, setbuttn) 
        copy
(key_command[num], MAX_STRING_LEN - 1, setcommand)
        server_cmd("say %s %s",key_set[num],key_command[num])
        num++
    }
    return 1
}
public autobindmenu(id, key) {
    switch (key) {
        case 0: func_autobind(id);
        case 1: {
            autobind_help(id);
            task_autibondmenu(id);
            }
        case 2: return PLUGIN_HANDLED;
    }
    return PLUGIN_HANDLED;
}
///---------------[Help]
public autobind_help(id)
{
    new dir[129]
    get_cvar_string("auto_helpdir",dir,128)
    show_motd(id, dir,"Help keys")
}

//---------------[AUTO BIND SYSTEM]---------------

public func_autobind(id)
{
    for (new i = 0; i <= (MAX_LINES-1); i++) {
        if(key_set[i][0]){
            client_cmd(id,"bind  %s ^"%s^"",key_set[i],key_command[i])
            }
    }
    new ver[129]
    get_cvar_string("auto_ver",ver,128)
    client_cmd(id," setinfo autobind %s",ver)
    console_print(id,"Key Defaults are bound. ENJOY!")
    return PLUGIN_HANDLED
}

Эта менюшка выводится при заходе на сервер независимо мертвы вы или спетры всеровно выводится и выводится она всего один раз осталось переделать ее в respawn_menu от зверя=)) ну и добавить код
RSO_
Код: Выделить всё
#include <hamsandwich>

public plugin_init()
{
RegisterHam(Ham_Killed,"player","respawn")
}
Последний раз редактировалось 330812 31 май 2021, 17:30, всего редактировалось 4 раз(а).
Аватара пользователя
330812
 
Сообщения: 8
Зарегистрирован: 21 дек 2013, 08:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 6

cron