CS-bg.info - форумът на CS-bg :: Counter-Strike фен сайт

Get Ammo Pack - Zombie Plague

Тук е мястото да представите плъгин(и), написани от вас!

Модератори: Екип C-Strike, Помощник-модератори

Get Ammo Pack - Zombie Plague

Мнениеот ASSASSINN » 02 Май 2017, 08:55

Име на плъгина: Get Ammo Pack
Автор: Imp-cs.com


Описание:
На всеки 12 часа играч може да получи по 200 "ammo pack" чрез команда /get

Command: say /get дава 200 аммо

Cvars:
get_ammo_save_type "1" // Как да се запази аммото по подразбиране "1"
get_ammo_minutes "720" // Интервал от време по подразбиране "720"= 12часа
get_ammo_packs "200" // Колко аммо да дава команда /get по подразбиране "200"


SMA
Код: Избери целия код
 #include <amxmodx>
#include <zombieplague>
#include <nvault>

#define NV_NAME "GET_AMMO"
#define TAG "[ZP]"

enum player_struct {
    mtime,bool:ftime,key[64]
}
new g_player[33][player_struct];

new cvar_save_type,cvar_time,cvar_ap;

public plugin_init() {

    register_plugin("Get Ammo Packs", "1.0", "Clauu");
   
    cvar_save_type = register_cvar("get_ammo_save_type","1"); // how to save data 1 by authid, 2 by ip or 3 by name
    cvar_time = register_cvar("get_ammo_minutes","720"); // time in minutes, 720minutes=12hours it will be auto calculated
    cvar_ap = register_cvar("get_ammo_packs","200"); // how many ammo packs to give
   
    register_clcmd("say /get", "cmd_ap");
    register_clcmd("say_team /get", "cmd_ap");
}
       
public cmd_ap(id) {

    new nv = nvault_open(NV_NAME);
   
    if(nv == INVALID_HANDLE) {
        client_print(id,print_chat,"%s For the moment getting ammo packs system is inactive..",TAG);
        return;
    }
   
    new txt_min[32],txt_ap[10];
    new ap = get_pcvar_num(cvar_ap),pminutes = get_pcvar_num(cvar_time);
    copy(txt_ap,charsmax(txt_ap),(ap==1)?"pack":"packs");
    build_time(pminutes,txt_min,charsmax(txt_min));
   
    if(g_player[id][ftime]) {
        client_print(id,print_chat,"%s You have just received %d ammo %s, get another in %s !",TAG,ap,txt_ap,txt_min);
        zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ap);
        g_player[id][ftime]=false;
        nvault_touch(nv,g_player[id][key],g_player[id][mtime]=get_systime());
        return;
    }
   
    new user_time=get_systime()-g_player[id][mtime];
    new diff_min=(user_time<(pminutes*60))?pminutes-(user_time/60):pminutes;
    build_time(diff_min,txt_min,charsmax(txt_min));
   
    if(user_time>=(pminutes*60)) {
        client_print(id,print_chat,"%s You have just received %d ammo %s since %s passed !",TAG,ap,txt_ap,txt_min);
        zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ap);
        nvault_touch(nv,g_player[id][key],g_player[id][mtime]=get_systime());
    }
    else
        client_print(id,print_chat,"%s Retry again in %s for getting %d more ammo %s !",TAG,txt_min,ap,txt_ap);
       
    nvault_close(nv);
}

public client_putinserver(id) {
       
    new nv,data[32];
    get_auth(id,g_player[id][key],charsmax(g_player[][key]));
    g_player[id][mtime]=get_systime();
    g_player[id][ftime]=false;
    formatex(data,charsmax(data),"%d",g_player[id][mtime]);
   
    if((nv=nvault_open(NV_NAME))==INVALID_HANDLE)
        return;
   
    if(!nvault_lookup(nv,g_player[id][key],data,charsmax(data),g_player[id][mtime])) {
        nvault_set(nv,g_player[id][key],data);
        g_player[id][ftime]=true;
    }
   
    nvault_close(nv);
}   

public client_disconnect(id) {
   
    g_player[id][mtime]=0;
    g_player[id][ftime]=false;
}

stock get_auth(id,data[],len)
    switch(get_pcvar_num(cvar_save_type)) {
        case 1: get_user_authid(id,data,len);
        case 2: get_user_ip(id,data,len,1);
        case 3: get_user_name(id,data,len);
    }

stock build_time(pminutes,data[],len)
    if(pminutes==1)
        copy(data,len,"1 minute");
    else if(pminutes!=1&&pminutes<60)
        formatex(data,len,"%d minutes",pminutes);
    else if(pminutes==60)
        copy(data,len,"1 hour");
    else {
        new ptime=pminutes/60;
        if(ptime*60==pminutes)
            formatex(data,len,"%d %s",ptime,(ptime==1)?"hour":"hours");
        else {
            new diff=pminutes-ptime*60;
            formatex(data,len,"%d %s and %d %s",ptime,(ptime==1)?"hour":"hours",diff,(diff==1)?"minute":"minutes");
        }
    }


Download
Последна промяна ASSASSINN на 07 Май 2017, 11:11, променена общо 1 път
ASSASSINN

Аватар
Потребител
Потребител
 
Регистриран на: 29 Яну 2014, 16:38
Местоположение: София
Skype: juniormoraesbg
[ Профил в сайта ]

Re: Get Ammo Pack - Zombie Plague

Мнениеот Robo » 02 Май 2017, 12:45

Плъгина не е нито твой, за да го публикуваш тук, нито на този "MapuXyuA", плъгина е създаден от kgb-hosting, и е създаден специално за сървърите на KGB.

register_plugin("Get Ammo Packs", "1.0", "Clauu");
Robo

Аватар
(*knoxS*)
(*knoxS*)
 
Регистриран на: 02 Юни 2016, 17:52
Skype: Не те интересува.
[ Профил в сайта ]

Re: Get Ammo Pack - Zombie Plague

Мнениеот hristo9406 » 06 Май 2017, 16:23

Работи ПЕРФЕКТНО Благодаря !
10/10
hristo9406

Аватар
Потребител
Потребител
 
Регистриран на: 11 Мар 2015, 15:18
Местоположение: Гр. Тетевен
Skype: hristo9406
[ Профил в сайта ]

Re: Get Ammo Pack - Zombie Plague

Мнениеот Robo » 11 Май 2017, 12:26

hristo9406 написа:Работи ПЕРФЕКТНО Благодаря !
10/10

Какво 10/10, бе? Плъгина не е нито негов нито на този "MapuXyuA
Robo

Аватар
(*knoxS*)
(*knoxS*)
 
Регистриран на: 02 Юни 2016, 17:52
Skype: Не те интересува.
[ Профил в сайта ]



Ето че в края на този месец се навършват точно 10 години от официалното пускане на българския CS фен сайт.
ESEA имат удоволствието да обявят сезон 25 на своята лига, който ще включва повече дивизии за някои региони, както и редица подобрения базирани на обратната връзка от сезон 24.
DreamHack потвърдиха, че Ninjas in Pyjamas и Virtus.pro са получили покани за тяхното събитие Masters в Малмьо.

Назад към Ваши плъгини

Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани

Creative Commons License

Valve, Steam, поредицата Counter-Strike и логото на всяко от изброените са търговски марки и/или
регистрирани търговски марки на Valve Corporation. Всички други търговски марки са собственост на съответните им собственици.

Design: iVoka • Special thanks: VaRkOlAKA
За сайта | Екип | За реклама | Карта на сайта | За контакти

Powered by phpBB® Forum Software © phpBB Group | Theme by A1ex, edit by iVoka
Превод: Йоан Арнаудов | Корекции: Ивомир Петров
Условия за ползване | Политика на поверителност