Hey ihr lieben
Ich hab grad ein Problem mit meinem /sms Befehl.. ich kann ingame die richtige oder falsche Nummer eingeben,
/sms 5819 Hallo = Ist richtig,aber returnt: Diese Nummer existiert nicht.
/sms 62256 Hallo = Ist falsch,returnt: Diese Nummer existiert nicht.
Ich hab eig. nach meinen Augen alles richtig,vielleicht könnt ihr ja aber helfen:
ocmd:sms(playerid..)
ocmd:sms(playerid,params[])
{
if(GetPVarInt(playerid,"NHandy")==1)
{
new hnum,string[128];
if(sscanf(params,"is",hnum,string))return SendClientMessage(playerid,gelb,"Verwendung: /sms (Handynummer) (Nachricht)");
if(GetNumPlayerId(hnum) == -1)return SendClientMessage(playerid,grau,"Die Nummer existiert nicht.");
format(string,sizeof(string),"** SMS: %s,von %s (%i) **",string,PlayerName(playerid),Handynummer[playerid]);
SendClientMessage(GetNumPlayerId(hnum),gelb,string);
SendClientMessage(playerid,gruen,"Nachricht wurde versendet.");
new hgeld[129];
new hgeldmin;
hgeldmin=strlen(string) * handy_sms_preis_pro_char;
format(hgeld,sizeof(hgeld),"- %i$",hgeldmin);
GameTextForPlayer(playerid,hgeld,5000,3);
GivePlayerMoney(playerid,-hgeldmin);
}
return 1;
}
Hier die Abfrage ob die bei /sms angegebene Nummer auch existiert:
stock GetNumPlayerId(num)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(Handynummer[i] == num) // anpassen
{
return i;
}
}
return -1;
}
Desweiteren bekommt der Spieler eine Nummer,die wird auch richtig verteilt..Schließlich steht sie ja auch in meinen Stats.
Oben im Script ist bereits:
new Handynummer[MAX_PLAYERS];
angegeben wurden..
WAS ist dort falsch?