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 .
- levin
- Scripter eXtreamCS
- Posts: 3844
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: riseofevo
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 594 times
- Contact:
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;
#pragma tabsize 0
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) {
print_cc(id, ".g%s.n 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]) {
print_cc(id, ".g%s.n 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)) {
print_cc(id, ".g%s.n 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
print_cc(id, ".g%s.n 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");
}
}
print_cc(id, fmt[], any:...)
{
static saytext = 0, fake_user;
if (!saytext)
{
saytext = get_user_msgid("SayText");
fake_user = get_maxplayers() + 1;
}
new msg[192];
vformat(msg, charsmax(msg), fmt, 3)
replace_all(msg, sizeof(msg) - 1, ".g", ".g");
replace_all(msg, sizeof(msg) - 1, ".n", ".n");
replace_all(msg, sizeof(msg) - 1, ".t", "^x03");
message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, saytext, _, id);
write_byte(id ? id : fake_user);
write_string(msg);
message_end();
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- levin
- Scripter eXtreamCS
- Posts: 3844
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: riseofevo
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 594 times
- Contact:
am dat eu replace all pentru culori și s-a modificat și codu
Code: Select all
print_cc(id, fmt[], any:...)
{
static saytext = 0, fake_user;
if (!saytext)
{
saytext = get_user_msgid("SayText");
fake_user = get_maxplayers() + 1;
}
new msg[192];
vformat(msg, charsmax(msg), fmt, 3)
replace_all(msg, sizeof(msg) - 1, ".g", "^x04");
replace_all(msg, sizeof(msg) - 1, ".n", "^x01");
replace_all(msg, sizeof(msg) - 1, ".t", "^x03");
message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, saytext, _, id);
write_byte(id ? id : fake_user);
write_string(msg);
message_end();
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)