SMS bzw. Spielernummer Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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 ^^