Beiträge von Artus

    Habe folgende Errors, obwohl beides definiert ist und auch ohne Klammerfehler und vor dem 1. Error ist KEIN Klammerfehler. Heißt Zeile 1-150 ohne Klammerfehler und trotzdem Error.
    grr.pwn(150) : error 017: undefined symbol "Connect_To_Database"
    grr.pwn(171) : error 017: undefined symbol "AutosLaden"
    Wie beseitige ich die nun? 8|


    Funktioniert nicht. Bin immer noch "offline" 8|


    Vielleicht sollte ich doch eine Spielervariable erstellen, ob der Spieler eingeloggt ist. :whistling:

    ocmd:pGeld(playerid,params[])
    {
    if(SpielerDaten[playerid][pAdmin] >= 3)
    {
    new pID, nGeld;
    if(sscanf(params,"ui",pID, nGeld)) return SendClientMessage(playerid, Orange, "Benutzung: /pGeld [ID] [Anzahl]");
    if(IsPlayerConnected(pID))
    {
    SpielerDaten[pID][pGeld] = nGeld;
    }
    else ShowPlayerDialog(playerid, DIALOG_FALSCHE_ID, DIALOG_STYLE_MSGBOX, "{00BFFF}Falsche ID", "{FFFFFF}Die eingegebene ID ist ungültig.\n\nBitte versuche es erneut mit einer gültigen ID.", "Okay", "");
    }
    return 1;
    }


    Bei diesem Befehl kann ich mein Geld nicht setzen. Ich weiß nicht woran das liegt.


    Kann mir jemand helfen?

    Ich habe im Script Fahrzeuge, welche aus MySQL-Daten erstellt werden, wenn der Server startet.


    Wenn der Server herunterfährt werden diese wieder gespeichert. Problem ist, dass alle Fahrzeuge plötzlich einen anderen Besitzer haben, nachdem der Server heruntergefahren wurde.


    Vor dem Serverstart: 2 Fahrzeuge, Besitzer1: Artus, Besitzer2: Artus2 (Account existiert nicht)
    --> Serverstart = MySQL-Daten bleiben so & Fahrzeuge werden erstellt
    --> Spieler Artus joint, fährt kurz herum
    --> Spieler Artus leavt
    --> Server wird manuell von mir heruntergefahren
    --> Autos werden in die MySQL-Datenbank gespeichert
    --> Alle Fahrzeuge des Servers gehören nun "Artus2"


    Hier ist der Code, welcher die Autos speichert.


    stock AutoSpeichern(playerid)
    {
    for(new i=0; i!=MAX_VEHICLES; i++)
    {
    if(GetVehicleModel(AutoDaten[i][aID]))
    {
    if(SpielerDaten[playerid][pName] == AutoDaten[i][aBesitzer] && strlen(AutoDaten[i][aBesitzer]))
    {
    mysql_SetString("grra", "Besitzer", AutoDaten[i][aBesitzer], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Model", AutoDaten[i][aModel], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Farbe_1", AutoDaten[i][aFarbe1], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Farbe_2", AutoDaten[i][aFarbe2], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Tueren", AutoDaten[i][aTueren], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosX", AutoDaten[i][aPosX], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosY", AutoDaten[i][aPosY], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosZ", AutoDaten[i][aPosZ], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetFloat("grra", "PosA", AutoDaten[i][aPosA], "Besitzer", SpielerDaten[playerid][pName]);
    mysql_SetInt("grra", "Respawn", AutoDaten[i][aRespawn], "Besitzer", SpielerDaten[playerid][pName]);
    }
    }
    }
    return 1;
    }


    Wo liegt der Fehler? ?(


    Edit1: Bei OnPlayerDisconnect wird das nur für den Spieler, welcher leavt durchgeführt und bei OnGameModeExit wird es für jeden Spieler durchgeführt.


    Ich weiß, dass das komplett falsch ist. Hatte das nur so reingeschrieben, um den Aufbau zu zeigen ;)


    Edit: Problem gelöst.


    stock AutosLaden()
    {
    for(new i=0; i!=MAX_VEHICLES; i++)
    {
    new str[16];
    valstr(str, i);
    format(AutoDaten[i][aBesitzer],64,mysql_GetString("grra", "Besitzer", "id", str));
    AutoDaten[i][aModel] = mysql_GetInt("grra", "Model", "ID", str);
    AutoDaten[i][aFarbe1] = mysql_GetInt("grra", "Farbe_1", "ID", str);
    AutoDaten[i][aFarbe2] = mysql_GetInt("grra", "Farbe_2", "ID", str);
    AutoDaten[i][aTueren] = mysql_GetInt("grra", "Tueren", "ID", str);
    AutoDaten[i][aPosX] = mysql_GetFloat("grra", "PosX", "ID", str);
    AutoDaten[i][aPosY] = mysql_GetFloat("grra", "PosY", "ID", str);
    AutoDaten[i][aPosZ] = mysql_GetFloat("grra", "PosZ", "ID", str);
    AutoDaten[i][aPosA] = mysql_GetFloat("grra", "PosA", "ID", str);
    AutoDaten[i][aRespawn] = mysql_GetInt("grra", "Respawn", "ID", str);
    AutoDaten[i][aID] = AddStaticVehicleEx(AutoDaten[i][aModel], AutoDaten[i][aPosX], AutoDaten[i][aPosY], AutoDaten[i][aPosZ], AutoDaten[i][aPosA], AutoDaten[i][aFarbe1], AutoDaten[i][aFarbe2], AutoDaten[i][aRespawn]);
    }
    return 1;
    }


    Das muss aber mit format gemacht werden, da es ein string ist. Und außerdem ist dann noch der Fehler des EInrückens

    Wie in der Überschrift gesagt, möchte ich alle Fahrzeuge, welche in einer Datenbank gespeichert sind beim OngameModeInit erstellen.


    Ich weiß, dass es so falsch ist, aber bin gerade etwas durcheinander und weiß nicht wie ich was ändern soll.
    Denke mal es liegt an dem hinteren

    Code
    AutoDaten[i][aBesitzer]


    stock AutosLaden()
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    format(AutoDaten[i][aBesitzer],64,mysql_GetString("grra", "Besitzer", "Besitzer", AutoDaten[i][aBesitzer]));
    AutoDaten[i][aModel] = mysql_GetInt("grra", "Model", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aFarbe1] = mysql_GetInt("grra", "Farbe_1", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aFarbe2] = mysql_GetInt("grra", "Farbe_2", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aTueren] = mysql_GetInt("grra", "Tueren", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aPosX] = mysql_GetFloat("grra", "PosX", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aPosY] = mysql_GetFloat("grra", "PosY", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aPosZ] = mysql_GetFloat("grra", "PosZ", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aPosA] = mysql_GetFloat("grra", "PosA", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aRespawn] = mysql_GetInt("grra", "Respawn", "Besitzer", AutoDaten[i][aBesitzer]);
    AutoDaten[i][aID] = AddStaticVehicleEx(AutoDaten[i][aModel], AutoDaten[i][aPosX], AutoDaten[i][aPosY], AutoDaten[i][aPosZ], AutoDaten[i][aPosA], AutoDaten[i][aFarbe1], AutoDaten[i][aFarbe2], AutoDaten[i][aRespawn]);
    }
    return 1;
    }

    Wenn das Fahrzeug erstellt wird, "returnt" es mit seiner ID.


    Ich speichere diese nun in eine Variable und kann sie dem Spieler zuordnen.


    Muss mal gucken, ob das funktioniert. :D


    Mist. Das Auto wird beim connecten nicht erstellt. Woran könnte es liegen?

    Ich würde gerne herausfinden, wie die ID eines Fahrzeuges ist, OHNE, dass ein Spieler in diesem ist.


    Wie geht das?


    Suchen im Internet brachte immer nur GetPlayerVehicleID. :S


    Hoffe auf schnelle und gute Hilfe. :)


    Mit freundlichen Grüßen


    Artus


    Es bannt jeden, welcher kein Administrator ist und versucht sich einzuloggen oder sich erfolgreich einloggt.
    Dies soll bewirken, dass sich nur Administratoren einloggen können und Spieler immer gebannt werden, egal, ob das passwort richtig oder falsch ist.

    Ist schon ausgeklammert.


    Ich weiß nur, dass bei YSI noch eine Datei das verändert.


    ------------
    !! Habe jetzt in der YSI\y_hooks\impl.inc Das komplette OnPlayerCommandText auisgeklammert. :)


    Jetzt erscheinen keine Warnings und Errors mehr. :)


    Werde es Zuhause testen, ob dann etwas nicht funktioniert.

    Mit pragma hatte ich noch nie was am Hut ^^


    Aber jetzt weiß ich es ja :)


    Jetzt fehlt mir nur noch:


    \pawno\include\ocmd.inc(36) : warning 201: redefinition of constant/macro (symbol "OnPlayerCommandText")