Cerere plugin get

Cereri de pluginuri noi, skinuri in CS, etc.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
ALEXVL
Membru, skill +1
Membru, skill +1
Posts: 243
Joined: 22 Jul 2015, 00:01
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.LSEPLAY.COM
SteamID: Da
Fond eXtream: 0
Contact:

07 Aug 2017, 13:40

Salutare vreau si eu daca se poate un plugin e facut doar ca il vreau intr-un fel.

1 am 3 pluginrui care fac 99 % acelasi lucru doar nativele difera
Vreau sa imi faceti un meniu ca un fel de shop la aspect cu plug astea 3 integrate intr-unul ceva gen cand scrii /bonus sa apara

#Bonus Server.nume.ro

1 Collect ammo
2 Colect Tokens
3 Colect +1 Level

0 Exit

Meniul sa nu dispara dupa ce apasa pe una din ele sa dispara pe 0

Pluginurile in ordine:
1 | Afiseaza codul
#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","240"); // time in minutes, 720minutes=12hours it will be auto calculated 240=4H
    cvar_ap = register_cvar("get_ammo_packs","1000"); // 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");
        }
    }
2 | Afiseaza codul
#include <amxmodx>
#include <zombieplague>
#include <nvault>

native zp_set_user_tokens(id, num)
native zp_get_user_tokens(id)

#define NV_NAME "GET_TOKE"
#define TAG "[Zombie Crown]"

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 tokens", "1.0", "strik3");
    
    cvar_save_type = register_cvar("get_toke_save_type","1"); // how to save data 1 by authid, 2 by ip or 3 by name
    cvar_time = register_cvar("get_toke_minutes","240"); // time in minutes, 720minutes=12hours it will be auto calculated 240=4H
    cvar_ap = register_cvar("get_tokens_suma","1000"); // how many ammo packs to give
    
    register_clcmd("say /getok", "cmd_ap");
    register_clcmd("say_team /getok", "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 tokens 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)?"toke":"tokens");
    build_time(pminutes,txt_min,charsmax(txt_min));
    
    if(g_player[id][ftime]) {
        client_print(id,print_chat,"%s You have just received %d Tokens %s, get another in %s !",TAG,ap,txt_ap,txt_min);
        zp_set_user_tokens(id, zp_get_user_tokens(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 tokens %s since %s passed !",TAG,ap,txt_ap,txt_min);
        zp_set_user_tokens(id,	zp_get_user_tokens(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  %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");
        }
    }
3 | Afiseaza codul
#include <amxmodx>
#include <zombieplague>
#include <nvault>

native zp_set_user_level(id, num)
native zp_get_user_level(id)

#define NV_NAME "GET_LEVEL"
#define TAG "[Zombie Crown]"

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 level", "1.0", "strik3");
    
    cvar_save_type = register_cvar("get_level_save_type","1"); // how to save data 1 by authid, 2 by ip or 3 by name
    cvar_time = register_cvar("get_level_minutes","10080"); // time in minutes, 720minutes=12hours it will be auto calculated 240=4H
    cvar_ap = register_cvar("get_level_suma","1"); // how many level to give
    
    register_clcmd("say /getlv", "cmd_ap");
    register_clcmd("say_team /getlv", "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 level 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)?"level":"level");
    build_time(pminutes,txt_min,charsmax(txt_min));
    
    if(g_player[id][ftime]) {
        client_print(id,print_chat,"%s You have just received %d levle %s, get another in %s !",TAG,ap,txt_ap,txt_min);
        zp_set_user_level(id, zp_get_user_level(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 level %s since %s passed !",TAG,ap,txt_ap,txt_min);
        zp_set_user_level(id,	zp_get_user_level(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  %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");
        }
    }

Daca stie cineva ii multumesc mult o zi placuta.
ZOMBIE CROWN ROMANIA.
The NeW Wolrd Zombie
view server | Afiseaza codul
[ Mod:[/size] Image] [Statistici:[/size] Image ][IP:[/size] Image ]
RoyalServer
*Or!g!naL*
Fost moderator
Fost moderator
Posts: 1367
Joined: 16 Feb 2014, 16:28
Detinator Steam: Nu
CS Status: N-avem!
Detinator server CS: Zm.Darkcs.ro
Reputatie: Fost moderator ajutator
Has thanked: 3 times
Been thanked: 1 time

08 Aug 2017, 12:25

| Afiseaza codul
#include <amxmodx>

#define PLUGIN ""
#define VERSION "1.0"
#define AUTHOR "-"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /bonus", "ShowInfoMenu")
	// Add your code here...
}


public ShowInfoMenu(id)
{
	new Menu = menu_create("Bonus", "ShowInfo");
	
	menu_additem(Menu, "Collect Ammo", "1", 0);
	menu_additem(Menu, "Colect Tokens ", "2", 0);
	menu_additem(Menu, "Colect +1 Level", "3", 0);
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public ShowInfo(id, ShowInfoMenu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(ShowInfoMenu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	
	menu_item_getinfo(ShowInfoMenu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		
		case 1: client_cmd(id, "get")	
			
		case 2: client_cmd(id, "getok")
			
		case 3: client_cmd(id, "getlv")
	}
	return PLUGIN_HANDLED
}
Pui asta la fiecare plugin
la pluginul 1

Code: Select all

register_clcmd("get", "cmd_ap");
2

Code: Select all

register_clcmd("getok", "cmd_ap");
3

Code: Select all

register_clcmd("getlv", "cmd_ap");
Vei evita spamul in chat
Image
User avatar
ALEXVL
Membru, skill +1
Membru, skill +1
Posts: 243
Joined: 22 Jul 2015, 00:01
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.LSEPLAY.COM
SteamID: Da
Fond eXtream: 0
Contact:

08 Aug 2017, 13:44

da dar.. eu voiam sa fie un meniu ca actual am 3 plugine si mai reduceam din ele daca se facea asta ca diferenta e , la meniu e altfel ca le vezi acolo asa trebuie sa scri pe rand 3 comenzi pentru 3 bonusuri
ZOMBIE CROWN ROMANIA.
The NeW Wolrd Zombie
view server | Afiseaza codul
[ Mod:[/size] Image] [Statistici:[/size] Image ][IP:[/size] Image ]
*Or!g!naL*
Fost moderator
Fost moderator
Posts: 1367
Joined: 16 Feb 2014, 16:28
Detinator Steam: Nu
CS Status: N-avem!
Detinator server CS: Zm.Darkcs.ro
Reputatie: Fost moderator ajutator
Has thanked: 3 times
Been thanked: 1 time

08 Aug 2017, 14:50

ALEXVL wrote:da dar.. eu voiam sa fie un meniu ca actual am 3 plugine si mai reduceam din ele daca se facea asta ca diferenta e , la meniu e altfel ca le vezi acolo asa trebuie sa scri pe rand 3 comenzi pentru 3 bonusuri
nu prea inteleg ce vrei sa spui...ai 3 plugine si fac acelasi lucru si trebuie sa scrii 3 comenzi..
Image
User avatar
ALEXVL
Membru, skill +1
Membru, skill +1
Posts: 243
Joined: 22 Jul 2015, 00:01
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.LSEPLAY.COM
SteamID: Da
Fond eXtream: 0
Contact:

08 Aug 2017, 18:00

Of of da in esenta sunt toate la fel , doar ca nu da toate acelasi lucru unu da tokens unu da ammo si unu da +1 level asa cum le-am setat , eu vreau exact cum am scris in primul post un meniu cand scrii /bonus sa iti apara colect etce etc in primu post e descris complet

Daca ai alta idee sunt dispus sa vad


EDIT : Mda ma ajutat original intr-un fel dar meniul nu ramane dispare dupa fiecare apasare la un bonus , eu tot optez pentru ce am zis in primul post .. intr-un plugin
ZOMBIE CROWN ROMANIA.
The NeW Wolrd Zombie
view server | Afiseaza codul
[ Mod:[/size] Image] [Statistici:[/size] Image ][IP:[/size] Image ]
User avatar
MzQ*
Membru eXtream
Membru eXtream
Posts: 3473
Joined: 07 Jul 2014, 18:30
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 10 times
Been thanked: 8 times
Contact:

09 Aug 2017, 10:20

Intelege ca e complicat sa pui toate alea 3 intr unu singur se vor bate in cap orele vad ca sunt diferite..
Ca toate armele ce le vrei intr un meniu va trebui sa pui arma in plugin aparte sa ii faci nativ si dupa sa faci alt plugin cu meniu si sa bagi acolo
Oricum ce conteaza daca ai multe pluginuri (adica hai sa fim seriosi mai mult de 200 nu iti trebuie la un server de zm calumea)
Vezi PM...ti am facut o alta versiune
Image
User avatar
ALEXVL
Membru, skill +1
Membru, skill +1
Posts: 243
Joined: 22 Jul 2015, 00:01
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.LSEPLAY.COM
SteamID: Da
Fond eXtream: 0
Contact:

09 Aug 2017, 23:28

Mzq , mersi de incercare imi place ca nu dispare meniul dupa utilizarea unui colect , trebuie sa scot mesajele si e bun cat decat.. dar era mai bine 1 plug cu tot decat 4

Referitor la ce ai zis nu se bat cap in cap deoarece orele le citeste fiecare plug din fisierul lui nu are trb unu cu altu dar nu am atatea cunostinte sa creez unul deaia am apelat la voi

Daca mai incearca cineva cand are timp s-au orice sunt dispus sa astept
ZOMBIE CROWN ROMANIA.
The NeW Wolrd Zombie
view server | Afiseaza codul
[ Mod:[/size] Image] [Statistici:[/size] Image ][IP:[/size] Image ]
User avatar
sDs!?
Membru, skill +1
Membru, skill +1
Posts: 474
Joined: 12 Jul 2015, 14:09
Detinator Steam: Nu
CS Status: On-Line 24/24 H
Detinator server CS: Cs.N-avem.Ro
SteamID: Nici dasta
Fond eXtream: 0
Location: In your pc
Contact:

10 Aug 2017, 12:18

ALEXVL wrote:Mzq , mersi de incercare imi place ca nu dispare meniul dupa utilizarea unui colect , trebuie sa scot mesajele si e bun cat decat.. dar era mai bine 1 plug cu tot decat 4

Referitor la ce ai zis nu se bat cap in cap deoarece orele le citeste fiecare plug din fisierul lui nu are trb unu cu altu dar nu am atatea cunostinte sa creez unul deaia am apelat la voi

Daca mai incearca cineva cand are timp s-au orice sunt dispus sa astept
Te contrazic la "vaza" :)) "...dar era mai bine 1 plug cu tot decat 4 ". Nu este chiar recomandat sa unesti atatea pluginuri, pot aparea "n" erori din cauza asta si nu orice plugin merge imbinat cu altul.

Două din ele au tasku setat la 240 minute pentru bonus ( ammo si token ), iar cel de lvl. la vreo 44 de ore parca
User avatar
ALEXVL
Membru, skill +1
Membru, skill +1
Posts: 243
Joined: 22 Jul 2015, 00:01
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.LSEPLAY.COM
SteamID: Da
Fond eXtream: 0
Contact:

10 Aug 2017, 13:30

nu e niciunul la fel primu e la 60 minute token e la 1440 (24ore) si level e la 1 saptamana (10080 minute) modificat in cvar amx.cfg ca sa nu stau sa modific mereu sursa (deci intr-un fel ar trebuie sa nu se bata cap in cap , da no asta e stau si cu 4 plug daca nu mere
ZOMBIE CROWN ROMANIA.
The NeW Wolrd Zombie
view server | Afiseaza codul
[ Mod:[/size] Image] [Statistici:[/size] Image ][IP:[/size] Image ]
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest