Jump to content
  • 0

pomoc /Say & /HP


Mikoo

Dotaz

Zdravím,

 

Zkušal som robiť prikaz /say a /hp a vyskytol sa menši problem vždy keď napišem /say test tak mi tam nič nenapiše.. A keď napišem príkaz /hp id 100 tak mi tam da všeliake čisla... Tu je kod a foto..

 

 

 

dcmd_say(playerid, params[])

{

#pragma unused params

if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_RED,"[ ! ] Nemáš Admin Level 1 [ ! ]");

new string[300],text[148];

if(sscanf(params,"u",text)) return SendClientMessage(playerid, COLOR_RED," [ ! ] /say [TEXT] [ ! ]");

format(string,sizeof(string),"[ Admin: %s ] %s ",Jmeno(playerid),text);

SendClientMessageToAll(COLOR_RED,string);

return true;

}

//-----

dcmd_hp(playerid, params[])

{

#pragma unused params

if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_RED,"[ ! ] Nemáš Admin Level 2 [ ! ]");

new id = strval(params),Float:health,string[128];

if(sscanf(params,"uf",id,health)) return SendClientMessage(playerid,COLOR_RED,"[ ! ] /hp [iD] [0-100] [ ! ]");

if(health > 100 || health < 0) return SendClientMessage(playerid,COLOR_RED,"[ ! ] [0-100] [ ! ]");

if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"[ ! ] Hráè není pripojený [ ! ]");

SetPlayerHealth(id,health);

format(string,sizeof(string),"Administrátor %s nastavil hráèovy %s %d HP",Jmeno(playerid),Jmeno(id),health);

SendClientMessageToAll(COLOR_RED,string);

return true;

}

 

post-16158-0-52235600-1456226727_thumb.jpg

post-16158-0-63386400-1456226739_thumb.jpg

Link to comment
Share on other sites

10 odpovědí na tuto otázku

Recommended Posts

  • 0

HP sa udáva vo floate....preto ti to dáva tie čísla :)

 

a čo sa týka toho textu tak vo sscnaf namiesto "u" použi "s" ;)

 

http://forum.sa-mp.com/showthread.php?t=570927

jenže on to U má dobře.. sscanf má i vlastní parametry U můžeš zadat ID nebo jméno hráče. ;)

Link to comment
Share on other sites

  • 0

Veď presne, Meno alebo id hráča a nie vlastný text :d aspoň tak som to ja pochopil zo stránky na ktorú som dal link :)

new id = strval(params)

jenže ono mu to ten sscanf stejně upraví.. :d

Link to comment
Share on other sites

  • 0

 

new id = strval(params)
jenže ono mu to ten sscanf stejně upraví.. :d

 

ty experte....v prvom príkaze má #pragma unused params to čo si vytiahol ty je z druhého príkazu :d

 

ja sa bavím celý čas o príkaze /say :d

Edited by Mattsy
Link to comment
Share on other sites

  • 0

Ten /say mas napsany nejdebilneji jak to jen jde a /hp totez. V sscanf 'u' slouzi pro ziskani hrace, ne textu (na to je 's') a i tak.. chces z params vytahnout string do text. Cele params jsou string, takze v text budes mit params a cely sscanf je pak zbytecny. Proste pouzij misto text params a uprav si velikosti pole, protoze zprava fakt nemuze mit 300 znaku.

 

U /hp mas spatne vypis, nastaveni by fungovat melo. Nicmene cely prikaz je taky smutnej.

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

ty experte....v prvom príkaze má #pragma unused params to čo si vytiahol ty je z druhého príkazu :d

 

ja sa bavím celý čas o príkaze /say :d

tak do řitě.. u obou má U kdo se vtom má vyznat... :d

Link to comment
Share on other sites

  • 0

Ten /say mas napsany nejdebilneji jak to jen jde a /hp totez. V sscanf 'u' slouzi pro ziskani hrace, ne textu (na to je 's') a i tak.. chces z params vytahnout string do text. Cele params jsou string, takze v text budes mit params a cely sscanf je pak zbytecny. Proste pouzij misto text params a uprav si velikosti pole, protoze zprava fakt nemuze mit 300 znaku.

 

U /hp mas spatne vypis, nastaveni by fungovat melo. Nicmene cely prikaz je taky smutnej.

~> Kdyby přidal ještě protest na dcmd :d, tak lépe bych to nenapsal...

 

Autore: Když už kopíruješ, tak neříkej, že jsi to vytvářel ty. Je to pomalu trapnější, než se alespoň přiznat, že jsi to stáhnul...

~> Trochu jsem se nudil, tak jsem si řekl, že ti to udělám od znova, na nějaké alespoň přijatelnější úrovni:

 

 

 

CMD:say(playerid, params[]) {

	if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, 0xFF000000,"[ ! ] Nemáš Admin Level 1 [ ! ]");
	new 
		sString[144 + 1];
	if(isnull(params)) return SendClientMessage(playerid, 0xFF000000," [ ! ] /say [TEXT] [ ! ]");
	format(sString,sizeof(sString),"[ Admin: %s ] %s ", Jmeno(playerid), params);
	SendClientMessageToAll(0xFF000000, string);
	return (1);
}

CMD:hp(playerid, params[]) {

	if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, 0xFF000000,"[ ! ] Nemáš Admin Level 2 [ ! ]");
	new 
		id,
		Float: fHealth;
	if(sscanf(params,"uf", id, fHealth)) return SendClientMessage(playerid, 0xFF000000, "[ ! ] /hp [ID/Jméno hráče] [0-100] [ ! ]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF000000, "[ ! ] Hráè není pripojený [ ! ]");
	if(fHealth > 100.0 || fHealth < 0.0) return SendClientMessage(playerid, 0xFF000000, "[ ! ] [0-100] [ ! ]");
	SetPlayerHealth(id, fHealth);
	new 
		sString[144 + 1];
	format(sString, sizeof(sString),"Administrátor %s nastavil hráčovi %s %2.f HP", Jmeno(playerid), Jmeno(id), fHealth);
	SendClientMessageToAll(0xFF000000, sString);
	return (1);
}

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...