Jump to content
  • 0

pomoc Help prosim


Pingvin

Dotaz

Popis problému:

help prosim

 

 

MAM TAKTO UDELANEJ KOD

A KDYZ zamestnat NAPR ID 2 TAK TO stale zamestnava JEN ID 0

MAM TAKTO UDELANEJ KOD

A KDYZ zamestnat NAPR ID 2 TAK TO stale zamestnava JEN ID 0

 

Chyby/varování kompilátoru a při běhu:

--

 

Kód:

 

CMD:jpcr(playerid, params[])
{
#pragma unused params

new id;
if(!IsPlayerAdmin(playerid)) return  SendClientMessage(playerid, 0xFFFFFFAA, "Nemáte administrátorská práva");
if(!strlen(params) || strlen(params)>3) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Použi: /jpcr [ ID ]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Hráč se zadaným ID není na serveru !");

Player[id][Team] =1;
SetPlayerSkin(id,280);
GivePlayerWeapon(id,22,999999);
GivePlayerWeapon(id,3,1);

new MSG[128];
format(MSG,128,"[ Novinka ] {000FFF}Hráč {FF0000}%s {000FFF}Byl přijat k Policii",Jmeno(id));
SendClientMessageToAll(COLOR_WHITE,MSG);
return 1;
}

MAM TAKTO UDELANEJ KOD
A KDYZ zamestnat NAPR ID 2 TAK TO stale zamestnava JEN ID 0

 

 

 

Dodatečné poznámky:

--

Link to comment
Share on other sites

5 odpovědí na tuto otázku

Recommended Posts

  • 0
CMD:jpcr(playerid, params[])
{
#pragma unused params

new id = params;
if(!IsPlayerAdmin(playerid)) return  SendClientMessage(playerid, 0xFFFFFFAA, "Nemáte administrátorská práva");
if(!IsNumeric(params))  return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Použi: /jpcr [ ID ]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_WARNING,"[  !  ] {FFFFFF}Hráč se zadaným ID není na serveru !");

Player[id][Team] =1;
SetPlayerSkin(id,280);
GivePlayerWeapon(id,22,999999);
GivePlayerWeapon(id,3,1);

new MSG[128];
format(MSG,128,"[ Novinka ] {000FFF}Hráč {FF0000}%s {000FFF}Byl přijat k Policii",Jmeno(id));
SendClientMessageToAll(COLOR_WHITE,MSG);
return 1;
}

stock IsNumeric(const string[])
{
	new length=strlen(string);
	if (length==0) return false;
	for (new i = 0; i < length; i++)
	{
		if ((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')|| (string[i]=='-' && i!=0)|| (string[i]=='+' && i!=0)) return false;
	}
	if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
	return true;
}

1. proměnné id jsi nikde nenastavil hodnotu params (toho id co zadas v prikazu) .. takze hodnota id byla porad 0..

2. Příjde mi lepší kontrolovat jestli zadal číslo než kontrolovat delku toho co zadal , proto jsem ti upravil jednu podminku a stock ...

 

Mělo by to fungovat , kdyžtak napiš.

Link to comment
Share on other sites

  • 0
  • Hlavní moderátor

#pragma unused params

new id = params;

Vysvětli mi, jak můžeš nejprve eliminovat identifikátor params a poté jej používat (a ještě špatně). Myšlenka je správná, ale zkus si to příště alespoň přeložit, zjistíš, že to nefunguje.

 

Správná verze je:

new id = strval(params);

Popř. zpracování přes utility jako sscanf, ale pro jeden parametr imho zbytečné.

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...