Cerere plugin /get

Categoria cu cereri de pluginuri si nu numai.

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 .
User avatar
Sokar
Membru, skill +2
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

30 Oct 2019, 15:01

o rezolvare?..
RoyalServer 2
User avatar
EnTeR_
Membru, skill +2
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

30 Oct 2019, 15:13

Pune in sma #include <nume fisier>
Discord: eyekon13
User avatar
Sokar
Membru, skill +2
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

30 Oct 2019, 15:16

EnTeR_ wrote:
30 Oct 2019, 15:13
Pune in sma #include <nume fisier>
#include zp_colored_print ?
User avatar
EnTeR_
Membru, skill +2
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

30 Oct 2019, 15:20

Numele inc-ului tau, daca asa se numeste, da.
Discord: eyekon13
User avatar
Sokar
Membru, skill +2
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

30 Oct 2019, 15:30

am zp50_colorchat.inc si zp50_colorchat_const.inc, ce adaug ? :))
User avatar
EnTeR_
Membru, skill +2
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

30 Oct 2019, 15:34

Lasa plugin-ul aici
Discord: eyekon13
User avatar
Sokar
Membru, skill +2
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

30 Oct 2019, 15:42

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");
        }
    } 
User avatar
EnTeR_
Membru, skill +2
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

30 Oct 2019, 15:49

| Afiseaza codul
#include <amxmodx>
#include <zombieplague>
#include <nvault>

#define NV_NAME "GET_AMMO"
#define TAG "[Zombie OutStanding]"

enum _:Colors
{
        	print_team_default,
        	print_team_red,
        	print_team_blue,
        	print_team_grey
};

stock const TeamName [Colors] [ ] =
{
        	"UNASSIGNED",
        	"TERRORIST",
        	"CT",
        	"SPECTATOR"
};

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) {
		client_print_color (id, print_team_default,"^4%s^1 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_color (id, print_team_default,"^4%s^1 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)) {
		client_print_color (id, print_team_default, "^4%s^1 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_color (id, print_team_default, "^4%s^1 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");
	}
} 

stock client_print_color ( id, iColor = print_team_default, const Msg [ ], any:... )
{
	if ( id && !is_user_connected ( id ) ) return 0;
	
	if ( iColor > print_team_grey ) iColor = print_team_default;
	
	new Message [192];
	
	if ( iColor == print_team_default )
		
	Message [0] = 0x04;
	else
		Message [0] = 0x03;
	
	
	new iParams = numargs (  )
	
	if ( id )
	{
		if ( iParams == 3 )
			
		copy ( Message [1], charsmax ( Message ) -1, Msg );
		else
			vformat ( Message [1], charsmax ( Message ) -1, Msg, 4 );
		
		if ( iColor )
		{
			new GetTeam [11]; get_user_team ( id, GetTeam, charsmax ( GetTeam ) );
			
			SendTeamInfo ( id, id, TeamName [iColor] );
			
			SendSayText ( id, id, Message );
			
			SendTeamInfo ( id, id, GetTeam );
		}
		else
			SendSayText ( id, id, Message );
	} 
	else
	{
		new iPlayers [32], iNum; get_players ( iPlayers, iNum, "ch" );
		
		if ( !iNum ) return 0;
		
		new iFool = iPlayers [0];
		
		if ( iParams == 3 )
			
		copy ( Message [1], charsmax ( Message ) -1, Msg );
		else
			vformat ( Message [1], charsmax ( Message ) -1, Msg, 4 );
		
		if ( iColor )
		{
			new GetTeam [11]; get_user_team ( iFool, GetTeam, charsmax ( GetTeam ) );
			
			SendTeamInfo ( 0, iFool, TeamName [iColor] );
			
			SendSayText ( 0, iFool, Message);
			
			SendTeamInfo ( 0, iFool, GetTeam );
		}
		else
			SendSayText ( 0, iFool, Message );
	}
	
	return 1;
}

stock SendTeamInfo ( iReceiver, iPlayerId, GetTeam [] )
{
	static iTeamInfo = 0;
	
	if ( !iTeamInfo )
		
	iTeamInfo = get_user_msgid ( "TeamInfo" );
	
	message_begin ( iReceiver ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iTeamInfo, .player = iReceiver );
	
	write_byte ( iPlayerId );
	
	write_string ( GetTeam );
	
	message_end (  );
}

stock SendSayText ( iReceiver, iPlayerId, Message [ ] )
{
	static iSayText = 0;
	
	if ( !iSayText )
		
	iSayText = get_user_msgid ( "SayText" );
	
	message_begin ( iReceiver ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iSayText, .player = iReceiver );
	
	write_byte ( iPlayerId );
	
	write_string ( Message );
	
	message_end (  );
}
Discord: eyekon13
User avatar
Sokar
Membru, skill +2
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

30 Oct 2019, 15:51

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"
User avatar
EnTeR_
Membru, skill +2
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

30 Oct 2019, 15:59

Ai versiunea amx 1.8.3, de asta.
| Afiseaza codul
#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) {
		client_print_color (id, print_team_default,"^4%s^1 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_color (id, print_team_default,"^4%s^1 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)) {
		client_print_color (id, print_team_default, "^4%s^1 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_color (id, print_team_default, "^4%s^1 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");
	}
} 
Discord: eyekon13
User avatar
Sokar
Membru, skill +2
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

30 Oct 2019, 16:03

acum nu mai merge deloc /get
User avatar
EnTeR_
Membru, skill +2
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

30 Oct 2019, 16:11

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
Post Reply

Return to “Cereri”

  • Information