1. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    306
    Симпатии:
    35
    Пол:
    Мужской
    Хочу сделать чтобы этот плагин работал с третьего раунда , но сам не могу . Помогите пожалуйста .
    #define VERSION "2.0"

    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>

    new bank[33]
    new configfile[200]
    new authid[33][32]
    new pcvar

    public plugin_init()
    {
    register_plugin("Simple CS Bank",VERSION,"GHW_Chronic")
    pcvar = register_cvar("bank_save","1")

    new configsdir[200]
    get_configsdir(configsdir,199)
    format(configfile,199,"%s/cs_bank.ini",configsdir)

    register_dictionary("GHW_CS_Bank.txt")
    }

    public client_putinserver(id)
    {
    if(!is_user_bot(id)) set_task(5.0,"client_authorized2",id)
    }

    public client_authorized2(id)
    {
    bank[id] = 0
    if(get_pcvar_num(pcvar))
    set_task(10.0,"read_file2",id)
    set_task(0.1,"cpt",id,"",0,"b")
    }

    public client_disconnect(id)
    {
    if(!is_user_bot(id) && get_pcvar_num(pcvar))
    save_money(id)
    }

    public cpt(id)
    {
    if(is_user_alive(id))
    {
    if(cs_get_user_money(id)>10000)
    {
    bank[id]+= cs_get_user_money(id) - 10000
    cs_set_user_money(id,10000)
    }
    if(cs_get_user_money(id)<10000)
    {
    if(bank[id] < 10000 - cs_get_user_money(id))
    {
    cs_set_user_money(id,cs_get_user_money(id)+bank[id])
    bank[id]=0
    }
    else
    {
    bank[id]-= 10000 - cs_get_user_money(id)
    cs_set_user_money(id,10000)
    }
    }
    set_hudmessage(0, 255, 0, 0.7, 0.87, 0, 6.0, 0.1, 0.1, 0.2, next_hudchannel(id) )
    show_hudmessage(id,"%L",id,"MSG_BANK",bank[id])
    }
    }

    public read_file2(id)
    {
    if(is_user_connected(id) && file_exists(configfile))
    {
    get_user_authid(id,authid[id],31)
    new read[32]
    new filepointer = fopen(configfile,"r")
    while(fgets(filepointer,read,31))
    {
    replace(read,31,"^n","")
    if(equali(read,authid[id]))
    {
    fgets(filepointer,read,31)
    if(cs_get_user_money(id)<10000)
    {
    if(cs_get_user_money(id) + str_to_num(read)<=10000)
    {
    cs_set_user_money(id,cs_get_user_money(id) + str_to_num(read))
    }
    if(cs_get_user_money(id) + str_to_num(read)>10000)
    {
    bank[id] += (str_to_num(read) + cs_get_user_money(id)) - 10000
    cs_set_user_money(id,10000)
    }
    }
    else
    {
    bank[id] += str_to_num(read)
    }
    break;

    }
    }
    fclose(filepointer)
    }
    }

    public save_money(id)
    {
    new string[32]
    format(string,31,"%d",bank[id])
    new i, line
    new filepointer = fopen(configfile,"r")
    if(filepointer)
    {
    new read[32]
    while(fgets(filepointer,read,31))
    {
    replace(read,31,"^n","")
    server_print("%d. %s",i,read)
    if(equali(read,authid[id]))
    {
    line=1
    break;
    }
    i++
    }
    }
    fclose(filepointer)
    if(!line) write_file(configfile,authid[id],i)
    write_file(configfile,string,i+1)
    }
     
  2. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.933
    Симпатии:
    4.330
    Пол:
    Мужской
    добавь event HLTV и там считай раунды
     
  3. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    306
    Симпатии:
    35
    Пол:
    Мужской
    Если бы умел ...
     
  4. xopoIIIuu Пользователь

    Регистрация:
    22.04.15
    Сообщения:
    235
    Симпатии:
    52
    Пол:
    Мужской
    Код:
    Добавляем глобальную перемённую
    new g_Round
    В plugin_unit
    register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
    register_cvar("amx_round","3")
    g_Round = get_cvar_num("amx_round")
    Потом
    public RoundStart(){
    g_Round++
    }
    и это добавить туда, где вы хотите сделать ограничение
    if(g_Round>= get_cvar_num("amx_round")){
    //Тра ля ля
    client_print(id,print_chat,"Exec you function")
    g_Round = 0
    }else{
    client_print(id,print_chat,"Ждите %d раундов",get_cvar_num("amx_round")-g_Round)
    Инфа взята с amxxmodx. Умейте пользоваться глобальным поиском в поисковиках (Google и Яндекс) там всё предельно и ясно описано. Если что-то не получилось - экспериментируйте и вы чему-то научитесь, как это делал я раньше. Если не чего не получилось - отпишите сюда, вам обязательно помогут.
     
    Phenom5555 нравится это.
  5. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    306
    Симпатии:
    35
    Пол:
    Мужской
    xopoIIIuu, Спасибо , я попробую .
     
  6. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    306
    Симпатии:
    35
    Пол:
    Мужской
    Нечего не понимаю , просто туплю по жести . Это всё сложно для меня , помогите ...
    #define VERSION "2.0"

    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>

    new bank[33]
    new configfile[200]
    new authid[33][32]
    new pcvar
    new g_Round

    public plugin_init()
    {
    register_plugin("Simple CS Bank",VERSION,"GHW_Chronic")
    pcvar = register_cvar("bank_save","1")
    register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
    register_cvar("amx_round","2")
    g_Round = get_cvar_num("amx_round")

    new configsdir[200]
    get_configsdir(configsdir,199)
    format(configfile,199,"%s/cs_bank.ini",configsdir)

    register_dictionary("GHW_CS_Bank.txt")
    }

    public client_putinserver(id)
    {
    if(!is_user_bot(id)) set_task(5.0,"client_authorized2",id)
    }

    public client_authorized2(id)
    {
    bank[id] = 0
    if(get_pcvar_num(pcvar))
    set_task(10.0,"read_file2",id)
    set_task(0.1,"cpt",id,"",0,"b")
    }

    public client_disconnect(id)
    {
    if(!is_user_bot(id) && get_pcvar_num(pcvar))
    save_money(id)
    }

    public RoundStart()
    {
    g_Round++
    }
    public cpt(id)
    {
    if(g_Round>= get_cvar_num("amx_round"))

    if(cs_get_user_money(id)>10000)
    {
    bank[id]+= cs_get_user_money(id) - 10000
    cs_set_user_money(id,10000)
    }
    if(cs_get_user_money(id)<10000
    {
    if(bank[id] < 10000 - cs_get_user_money(id))
    {
    cs_set_user_money(id,cs_get_user_money(id)+bank[id])
    bank[id]=0
    }
    else
    {
    bank[id]-= 10000 - cs_get_user_money(id)
    cs_set_user_money(id,10000)
    }
    }
    set_hudmessage(0, 255, 0, 0.7, 0.87, 0, 6.0, 0.1, 0.1, 0.2, next_hudchannel(id) )
    show_hudmessage(id,"%L",id,"MSG_BANK",bank[id])
    }

    public read_file2(id)
    {
    if(is_user_connected(id) && file_exists(configfile))
    {
    get_user_authid(id,authid[id],31)
    new read[32]
    new filepointer = fopen(configfile,"r")
    while(fgets(filepointer,read,31))
    {
    replace(read,31,"^n","")
    if(equali(read,authid[id]))
    {
    fgets(filepointer,read,31)
    if(cs_get_user_money(id)<10000)
    {
    if(cs_get_user_money(id) + str_to_num(read)<=10000)
    {
    cs_set_user_money(id,cs_get_user_money(id) + str_to_num(read))
    }
    if(cs_get_user_money(id) + str_to_num(read)>10000)
    {
    bank[id] += (str_to_num(read) + cs_get_user_money(id)) - 10000
    cs_set_user_money(id,10000)
    }
    }
    else
    {
    bank[id] += str_to_num(read)
    }
    break;

    }
    }
    fclose(filepointer)
    }
    }

    public save_money(id)
    {
    new string[32]
    format(string,31,"%d",bank[id])
    new i, line
    new filepointer = fopen(configfile,"r")
    if(filepointer)
    {
    new read[32]
    while(fgets(filepointer,read,31))
    {
    replace(read,31,"^n","")
    server_print("%d. %s",i,read)
    if(equali(read,authid[id]))
    {
    line=1
    break;
    }
    i++
    }
    }
    fclose(filepointer)
    if(!line) write_file(configfile,authid[id],i)
    write_file(configfile,string,i+1)
    }
    Чего делать дальше не понимаю , этот исходник компилиться . Только нечего не изменилось , как давал деньги в первом раунде - так и даёт . Плюс ошибки в консоле сыпятся .
     
  7. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.090
    Симпатии:
    215
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    А так?
    Код:
    public cpt(id)
    {
        if(g_Round>= get_cvar_num("amx_round"))
            {
                if(cs_get_user_money(id)>10000)
                    {
                        bank[id]+= cs_get_user_money(id) - 10000
                        cs_set_user_money(id,10000)
                    }
                if(cs_get_user_money(id)<10000)
                    {
                        if(bank[id] < 10000 - cs_get_user_money(id))
                            {
                                cs_set_user_money(id,cs_get_user_money(id)+bank[id])
                                bank[id]=0
                            }
                    }
                else
                    {
                        bank[id]-= 10000 - cs_get_user_money(id)
                        cs_set_user_money(id,10000)
                    }
            }
        set_hudmessage(0, 255, 0, 0.7, 0.87, 0, 6.0, 0.1, 0.1, 0.2, next_hudchannel(id))
        show_hudmessage(id,"%L",id,"MSG_BANK",bank[id])
    }
     
  8. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    306
    Симпатии:
    35
    Пол:
    Мужской
    Всё равно дает накопленные деньги в первом раунде .