Cerere plugin /get
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
Forum rules
Accesează link-ul pentru a putea vedea regulile forumului
Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Accesează link-ul pentru a putea vedea regulile forumului
Daca doriti sa vi se modifice un plugin, va rugam postati aici .
- Sokar
- Membru, skill +2
- Posts: 602
- Joined: 13 Jan 2018, 21:18
- Detinator Steam: Da
- Fond eXtream: 0
- Location: Constanța
- Has thanked: 9 times
- Been thanked: 5 times
Code: Select all
#include <amxmodx>
#include <zombieplague>
#include <nvault>
#define NV_NAME "GET_AMMO"
#define TAG "[Zombie OutStanding]"
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","60"); // time in minutes, 720minutes=12hours it will be auto calculated
cvar_ap = register_cvar("get_ammo_packs","100"); // 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) {
zp_colored_print(id, "^x04%s^x01 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]) {
zp_colored_print(id, "^x04%s^x01 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());
nvault_close(nv);
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)) {
zp_colored_print(id, "^x04%s^x01 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
zp_colored_print(id, "^x04%s^x01 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");
}
}
- Sokar
- Membru, skill +2
- Posts: 602
- Joined: 13 Jan 2018, 21:18
- Detinator Steam: Da
- Fond eXtream: 0
- Location: Constanța
- Has thanked: 9 times
- Been thanked: 5 times
Code: Select all
getammo.sma(11) : warning 201: redefinition of constant/macro (symbol "print_team_red")
getammo.sma(12) : warning 201: redefinition of constant/macro (symbol "print_team_blue")
getammo.sma(14) : warning 201: redefinition of constant/macro (symbol "print_team_grey")
getammo.sma(116) : warning 217: loose indentation
getammo.sma(130) : error 021: symbol already defined: "client_print_color"
getammo.sma(132) : error 010: invalid function or declaration
getammo.sma(134) : error 010: invalid function or declaration
getammo.sma(138) : error 010: invalid function or declaration
getammo.sma(140) : error 010: invalid function or declaration
getammo.sma(141) : error 010: invalid function or declaration
getammo.sma(147) : error 010: invalid function or declaration
getammo.sma(149) : error 010: invalid function or declaration
getammo.sma(151) : error 021: symbol already defined: "copy"
getammo.sma(152) : error 010: invalid function or declaration
getammo.sma(155) : error 010: invalid function or declaration
getammo.sma(157) : error 021: symbol already defined: "get_user_team"
getammo.sma(159) : error 021: symbol already defined: "id"
getammo.sma(159) : warning 218: old style prototypes used with optional semicolumns
getammo.sma(161) : error 021: symbol already defined: "id"
getammo.sma(161) : warning 218: old style prototypes used with optional semicolumns
getammo.sma(163) : error 021: symbol already defined: "id"
getammo.sma(163) : warning 218: old style prototypes used with optional semicolumns
getammo.sma(164) : error 054: unmatched closing brace
getammo.sma(165) : error 010: invalid function or declaration
getammo.sma(166) : warning 218: old style prototypes used with optional semicolumns
getammo.sma(167) : error 054: unmatched closing brace
getammo.sma(168) : error 010: invalid function or declaration
getammo.sma(170) : error 021: symbol already defined: "get_players"
getammo.sma(172) : error 010: invalid function or declaration
getammo.sma(176) : error 010: invalid function or declaration
getammo.sma(178) : error 021: symbol already defined: "copy"
getammo.sma(179) : error 010: invalid function or declaration
getammo.sma(182) : error 010: invalid function or declaration
getammo.sma(184) : error 021: symbol already defined: "GetTeam"
- EnTeR_
- Membru, skill +2
- Posts: 577
- Joined: 13 Sep 2014, 16:36
- Detinator Steam: Da
- Fond eXtream: 0
- Has thanked: 3 times
- Been thanked: 29 times
Pai normal ca nu merge. Daca nu ai versiunea amx 1.8.3, nu folosi compilator pentru acea versiune pentru ca e evident ca nu o sa-ti mearga. Foloseste ce ti-am dat in primul post cu un compilator compatibil cu versiunea ta.
Discord: eyekon13