BG-HALF-LIFE
BG-HALF-LIFE

BG-HALF-LIFE

Българският Half Life портал
 
PortalPortal  ИндексИндекс  Последни снимкиПоследни снимки  Регистрирайте сеРегистрирайте се  ВходВход  
Присъединете се към нас в Discord или в групата ни във ФБ HL-BG Community
BG-SMURFA-VRATSA-Bat-Man Vs Iron-Man
Визита от други Държави
Flag Counter
Вече може да ни откриете и във социалните мрежи.

Share

ZP plugin free ammo packs с команда!

Предишната тема Следващата тема Go down
АвторСъобщение
Beware!
VIP
VIP
Beware!


Брой мнения : 661
Дата на регистрация : 18.03.2016
Години : 27
Местожителство : България

ZP plugin free ammo packs с команда! Empty
ПисанеЗаглавие: ZP plugin free ammo packs с команда! ZP plugin free ammo packs с команда! EmptyСъб 28 Яну 2017, 20:35

Описание: Това е плъгин за играта CS 1.6 , и по-точно за Zombie Plague.
С командата /free получавате ЕДНОКРАТНО зададени oт Cvar аммо пакс.
+На определено време (зададено от Cvar пак) можете отново да взимате безплатно аммо.
В момента е настроено да ти дава 1500 , а може да бъде променено от кода даден по-долу !

Цитат :
Cvars:
free_ammo_save_type "1" ; // как да се запазват безплатните амота 1 по authid, 2 по ИП или 3 по НИК

free_ammo_packs "1500" ; // Колко амо да дава !

free_ammo_minutes "600" ; //Време в минути, 2800минути=48часа

Допълнително инфо:
Слагате този код в .SMA файл от папката ви Scripting и компилирате ЛОКАЛНО !

Изисква модули:
Цитат :
#include <amxmodx>

#include <zombieplague>

#include <nvault>

Доп.инфо:
Код:

#define TAG "[ZP]"

от кода променяте този префикс с какъвто вие искате icon_smile
==================================================


.SMA

Код:
#include <amxmodx>

#include <zombieplague>

#include <nvault>

#define NV_NAME "FREE_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("Free Ammo Packs", "1.0", "|RrebEliii|");
   
    cvar_save_type = register_cvar("free_ammo_save_type","1"); // how to save data 1 by authid, 2 by ip or 3 by name
   
    cvar_time = register_cvar("free_ammo_minutes","600"); // Time In Minute, 2800minutes=48hours it will be auto calculated
   
    cvar_ap = register_cvar("free_ammo_packs","1500"); // How Much Ammo To Grive
   
    register_clcmd("say /free", "cmd_ap");
   
    register_clcmd("say_team /free", "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");
        }
    }
Върнете се в началото Go down
https://smurfa.bulgarianforum.net
ZP plugin free ammo packs с команда!
Предишната тема Следващата тема Върнете се в началото
Страница 1 от 1
 Similar topics
-
» Subnet Ban Plugin
» RPG ammo
» AMX команди - или коя команда какво прави
» Half-Life Deathmatch Weapons, Items, Ammo Spawn Time And Eff
» Crossfire EuroHL Plugin - noob lamp filter

Права за този форум:Не Можете да отговаряте на темите
BG-HALF-LIFE :: Half Life :: Плъгин/Мод-