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

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    Хочу сделать чтобы этот плагин работал с третьего раунда , но сам не могу . Помогите пожалуйста .
    #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.572
    Симпатии:
    4.147
    Пол:
    Мужской
    добавь event HLTV и там считай раунды
     
  3. Phenom5555 Пользователь

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

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

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

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    Нечего не понимаю , просто туплю по жести . Это всё сложно для меня , помогите ...
    #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.069
    Симпатии:
    210
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    А так?
    Код (Unknown Language):
    1. public cpt(id)
    2. {
    3.     if(g_Round>= get_cvar_num("amx_round"))
    4.         {
    5.             if(cs_get_user_money(id)>10000)
    6.                 {
    7.                     bank[id]+= cs_get_user_money(id) - 10000
    8.                     cs_set_user_money(id,10000)
    9.                 }
    10.             if(cs_get_user_money(id)<10000)
    11.                 {
    12.                     if(bank[id] < 10000 - cs_get_user_money(id))
    13.                         {
    14.                             cs_set_user_money(id,cs_get_user_money(id)+bank[id])
    15.                             bank[id]=0
    16.                         }
    17.                 }
    18.             else
    19.                 {
    20.                     bank[id]-= 10000 - cs_get_user_money(id)
    21.                     cs_set_user_money(id,10000)
    22.                 }
    23.         }
    24.     set_hudmessage(0, 255, 0, 0.7, 0.87, 0, 6.0, 0.1, 0.1, 0.2, next_hudchannel(id))
    25.     show_hudmessage(id,"%L",id,"MSG_BANK",bank[id])
    26. }
     
  8. Phenom5555 Пользователь

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