Page 1 of 1

Cerere plugin /donate [rezolvat!]

Posted: 24 Mar 2018, 21:07
by Astaroth
Salut. Doresc si eu un plugin de transferare credite catre alt jucator pentru sistemul lui Aragon.

Re: Cerere plugin /donate

Posted: 29 Mar 2018, 18:27
by Laurentiu P.
Lasă nativele de la pluginul de credite si te rezolv.

Re: Cerere plugin /donate

Posted: 30 Mar 2018, 10:09
by Astaroth
Do[N]e ;3 wrote:Lasă nativele de la pluginul de credite si te rezolv.
native get_user_credits(id);
native set_user_credits(id, cantitate);

Re: Cerere plugin /donate

Posted: 02 Apr 2018, 22:44
by Laurentiu P.
NETESTAT | Afiseaza codul
#include <amxmodx>
#include <amxmisc>

native get_user_credits (id)
native set_user_credits (id , cantitate)

public plugin_init()
{
	register_plugin("Donate Credits", "1.0", "cyby")
	
	register_clcmd("say", "donare_say")
	register_clcmd("say_team", "donare_say")
}

public donare_say(id)
{
	new citim_mesaj[64]
	
	read_args(citim_mesaj, charsmax(citim_mesaj))
	remove_quotes(citim_mesaj)
	
	new comanda[16]
	new nume[32]
	
	strbreak(citim_mesaj, comanda, charsmax(comanda), nume, charsmax(nume))
	if(equal(comanda, "/donate", 7))
		donate(id, nume)
}

public donate(id, arg[])
{
	new cui[32], count[10]
	strbreak(arg, cui, 31, count, 9)
	
	if (!cui[0] || !count[0])
	{
		color(id, "!g* !nPentru a dona credite foloseste !g/donate nume credite")
		return
	}
	new credite_trimise = get_user_credits(id)
	new credite
	if (equal(count, "all"))
		credite = credite_trimise
	else
		credite = str_to_num(count)
	
	if (credite <= 0)
	{
		color(id, "!g* !n Valoarea introdusa de tine este invalida.")
		return
	}
	credite_trimise -= credite
	if (credite_trimise < 0)
	{
		credite+=credite_trimise
		credite_trimise = 0
		
	}
	new primitor = cmd_target(id, cui, (CMDTARGET_ALLOW_SELF))
	if (!primitor || primitor == id)
	{
		color(id, "!g* !n %s.g nu exista pe server.", cui)
		return
	}
	
	set_user_credits(primitor, get_user_credits(primitor) + credite)
	set_user_credits(id, credite_trimise)
	
	new tNume[32], pNume[32]
	
	get_user_name(id, tNume, 31)
	get_user_name(primitor, pNume, 31)
	
	color(0, "!g* Jucatorul !g%s !nii trimite lui !g%s o cantitate de !g%d !ncredite", tNume, pNume, credite)
}

stock color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)

        replace_all(msg, 190, "!g", "^4");
	replace_all(msg, 190, "!n", "^1");
	replace_all(msg, 190, "!t", "^3");

	if(id) players[0] = id; else get_players(players, count, "ch")
	{
		for(new i = 0; i < count; i++)
		{
			if(is_user_connected(players))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}

Re: Cerere plugin /donate

Posted: 03 Apr 2018, 18:42
by Astaroth
Functioneaza. Mersi frumos !

Re: Cerere plugin /donate [rezolvat!]

Posted: 16 Sep 2018, 00:02
by ALEXVL
salut acest plugin de ce nu functioneaza si daca il pui la liber fara sa ai acel sistem de credite , am incercat sa il modific pentru un alt sistem de puncte merge perfect la compilare dar cand il urc pe server la amx_plugincvarmenu apare unknown

Acest este cel dupa ce l-am modificat
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>

native get_user_credits (id)
native set_user_credits (id , cantitate)

public plugin_init()
{
	register_plugin("Donate Credits", "1.0", "cyby")
	
	register_clcmd("say", "donare_say")
	register_clcmd("say_team", "donare_say")
}

public donare_say(id)
{
	new citim_mesaj[64]
	
	read_args(citim_mesaj, charsmax(citim_mesaj))
	remove_quotes(citim_mesaj)
	
	new comanda[16]
	new nume[32]
	
	strbreak(citim_mesaj, comanda, charsmax(comanda), nume, charsmax(nume))
	if(equal(comanda, "/donate", 7))
		donate(id, nume)
}

public donate(id, arg[])
{
	new cui[32], count[10]
	strbreak(arg, cui, 31, count, 9)
	
	if (!cui[0] || !count[0])
	{
		color(id, "!g* !nPentru a dona credite foloseste !g/donate nume credite")
		return
	}
	new credite_trimise = get_user_credits(id)
	new credite
	if (equal(count, "all"))
		credite = credite_trimise
	else
		credite = str_to_num(count)
	
	if (credite <= 0)
	{
		color(id, "!g* !n Valoarea introdusa de tine este invalida.")
		return
	}
	credite_trimise -= credite
	if (credite_trimise < 0)
	{
		credite+=credite_trimise
		credite_trimise = 0
		
	}
	new primitor = cmd_target(id, cui, (CMDTARGET_ALLOW_SELF))
	if (!primitor || primitor == id)
	{
		color(id, "!g* !n %s.g nu exista pe server.", cui)
		return
	}
	
	set_user_credits(primitor, get_user_credits(primitor) + credite)
	set_user_credits(id, credite_trimise)
	
	new tNume[32], pNume[32]
	
	get_user_name(id, tNume, 31)
	get_user_name(primitor, pNume, 31)
	
	color(0, "!g* Jucatorul !g%s !nii trimite lui !g%s o cantitate de !g%d !ncredite", tNume, pNume, credite)
}

stock color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)

        replace_all(msg, 190, "!g", "^4");
	replace_all(msg, 190, "!n", "^1");
	replace_all(msg, 190, "!t", "^3");

	if(id) players[0] = id; else get_players(players, count, "ch")
	{
		for(new i = 0; i < count; i++)
		{
			if(is_user_connected(players))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}

Re: Cerere plugin /donate [rezolvat!]

Posted: 16 Sep 2018, 07:00
by Laurentiu P.
ALEXVL wrote:salut acest plugin de ce nu functioneaza si daca il pui la liber fara sa ai acel sistem de credite , am incercat sa il modific pentru un alt sistem de puncte merge perfect la compilare dar cand il urc pe server la amx_plugincvarmenu apare unknown

Acest este cel dupa ce l-am modificat
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>

native get_user_credits (id)
native set_user_credits (id , cantitate)

public plugin_init()
{
	register_plugin("Donate Credits", "1.0", "cyby")
	
	register_clcmd("say", "donare_say")
	register_clcmd("say_team", "donare_say")
}

public donare_say(id)
{
	new citim_mesaj[64]
	
	read_args(citim_mesaj, charsmax(citim_mesaj))
	remove_quotes(citim_mesaj)
	
	new comanda[16]
	new nume[32]
	
	strbreak(citim_mesaj, comanda, charsmax(comanda), nume, charsmax(nume))
	if(equal(comanda, "/donate", 7))
		donate(id, nume)
}

public donate(id, arg[])
{
	new cui[32], count[10]
	strbreak(arg, cui, 31, count, 9)
	
	if (!cui[0] || !count[0])
	{
		color(id, "!g* !nPentru a dona credite foloseste !g/donate nume credite")
		return
	}
	new credite_trimise = get_user_credits(id)
	new credite
	if (equal(count, "all"))
		credite = credite_trimise
	else
		credite = str_to_num(count)
	
	if (credite <= 0)
	{
		color(id, "!g* !n Valoarea introdusa de tine este invalida.")
		return
	}
	credite_trimise -= credite
	if (credite_trimise < 0)
	{
		credite+=credite_trimise
		credite_trimise = 0
		
	}
	new primitor = cmd_target(id, cui, (CMDTARGET_ALLOW_SELF))
	if (!primitor || primitor == id)
	{
		color(id, "!g* !n %s.g nu exista pe server.", cui)
		return
	}
	
	set_user_credits(primitor, get_user_credits(primitor) + credite)
	set_user_credits(id, credite_trimise)
	
	new tNume[32], pNume[32]
	
	get_user_name(id, tNume, 31)
	get_user_name(primitor, pNume, 31)
	
	color(0, "!g* Jucatorul !g%s !nii trimite lui !g%s o cantitate de !g%d !ncredite", tNume, pNume, credite)
}

stock color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)

        replace_all(msg, 190, "!g", "^4");
	replace_all(msg, 190, "!n", "^1");
	replace_all(msg, 190, "!t", "^3");

	if(id) players[0] = id; else get_players(players, count, "ch")
	{
		for(new i = 0; i < count; i++)
		{
			if(is_user_connected(players))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}


Lasa nativele acelui plugin. Din cate vad prin sursa nu ai modificat mai nimic ...