@Music4You:
Das ist falsch.
Les bitte nocheinmal meinen Beitrag.
Wenn nach der if anweisung if ( .. )
keine Klammern sind und die Anweisung sofort ausgeführt wird, wird alles danach unabhängig von der if Abfrage durchgeführt.
Bedeutet:
if ( xyz == 1 ) return 1;
{
print("Hallo");
return 1;
}
returnt 1 und printet nicht hallo.
Genausowenig wie so
if ( xyz == 1 ) print("hallo");
{
print("Hallo2");
return 1;
}
Hier würde er hallo printen und nicht Hallo2 wenn xyz = 1 ist.
das bedeutet das script fragt ab ist es so?
Wenn ja mach das
und danach mach einfach weiter.
Ein return beendet natürlich das ganze.
Bisschen viel aber hoffe es ist verständlich
derpr0:
Versuch es mal so
ocmd:pn(playerid,params[])
{
new string[80],pID,pText[128];
if(sscanf(params,"us[128]",pID,pText)) return SendClientMessage(playerid,ROT,"Benutze /pn [Spieler] [Text]");
if(pID == INVALID_PLAYER_ID ) return SendClientMessage(playerid,ROT, "Ungültige ID.");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT, "Der Spieler ist nicht Online.");
if(pID == playerid) return SendClientMessage(playerid,ROT," Du kannst dir nicht selbst eine PN schreiben.");
{
new pName[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"Nachricht von %s: %s",pName,pText);
SendClientMessage(pID,GELB,string);
SendClientMessage(playerid,GELB,"Pn erfolgreich versendet.");
}
return 1;
}