Habe das ganze mal neugeschrieben und funktioniert nun.Ich habe ein Problem und bin sehr stark am verzweifeln.
Ich will, dass Spieler sich gegenseitig SMS's schicken können, also überprüfe Ich erst, ob die Nummer die eingeben wurde, in
der MySQL Datenbank existiert/Ob Spieler eingeloggt ist/ und ob das Guthaben ausreicht.
Erstmal will Ich die Spielernamen herrausfinden, von der Nummer die eingegeben wurde, damit Ich später
auch die ID herrausfinden kann und dem Spieler der die SMS bekommen soll, eine Nachricht schicken kann.
stock PlayerNumbersName(xNumber)
{
new Query[128], count, pName[MAX_PLAYER_NAME+1]; // Zeile 3617
format(Query, sizeof(Query), "SELECT Name FROM `srv_accounts` WHERE `Nummer` = '%d'", xNumber); // Zeile 3618
mysql_query(Query); // Zeile 3619
mysql_store_result(); // Zeile 3620
count = mysql_num_rows(); // Zeile 3621
mysql_fetch_string(pName); // Zeile 3622
mysql_free_result(); // Zeile 3623
if(count == 0) // Zeile 3624
{
return 0;
}
else
{
return pName;
}
return 1;
}
Davor will Ich jedoch auch überprüfen, ob die Nummer überhaupt in der Datenbank irgendeinem Spieler zugewiesen wurde bzw. ob die Nummer überhaupt existiert.
stock PlayerNumber(xNumber)
{
new Query[128], count, PNumber;
format(Query, sizeof(Query), "SELECT Nummer FROM `srv_accounts` WHERE `Nummer` = '%d'", xNumber);
mysql_query(Query);
mysql_store_result();
count = mysql_num_rows();
mysql_fetch_int(PNumber); // Zeile 3642
mysql_free_result();
if(count == 0)
{
return 0;
}
else
{
return PNumber;
}
return 1; // Zeile 3652
}
Und als guter letzt das Befehl.
dcmd_sms(playerid, params[])
{
new pNumber, Message[128], gName[MAX_PLAYER_NAME+1];
if(sscanf(params, "us", pNumber, Message)) { return SendClientMessage(playerid, HELLROT, "{FF1400}=> {FFFFFF}Benutzung: {FF1400}/sms [Nummer] [Nachricht]"); }
if(PlayerNumber(pNumber) == 0) { return SendClientMessage(playerid, GRAU, "Tut... Tut... Tut..."); }
if(GetPlayerMoney(playerid) < 12) { return SendClientMessage(playerid, GRAU, "Eine SMS (Nachricht) kostet $12. Dein Guthaben reicht nicht aus."); }
format(gName, sizeof(gName), "%s", PlayerNumbersName(pNumber));
new pID = GetPlayerID(gName);
if(!IsPlayerConnected(pID)) { SendClientMessage(playerid, GRAU, "Tut... Tut... Tut... *Spieler ist offline*"); }
new String[128];
format(String, sizeof(String), "SMS: %s, Kontakt: %s Nr. %d", Message, PlayerName(pID), pNumber);
SendClientMessage(pID, GELB, String);
SendClientMessage(playerid, GELB, String);
return 1;
}
Ich bin echt am verzweifeln, bedanke mich im Vorraus für alle Helfer und Leser.
/e2
Habe den Compiler Output vergessen
ZitatAlles anzeigen\Selfmade.pwn(3617) : warning 219: local variable "pName" shadows a variable at a preceding level
\Selfmade.pwn(3622) : error 035: argument type mismatch (argument 1)
\Selfmade.pwn(3632) : warning 225: unreachable code
\Selfmade.pwn(3617) : warning 204: symbol is assigned a value that is never used: "pName"
\Selfmade.pwn(3642) : warning 213: tag mismatch
\Selfmade.pwn(3652) : warning 225: unreachable code
1 Error.