Mysql Installierung auf GM LARP

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
  • Guten Abend Liebe Scripter/inen


    Ich und mein Team wollten unseren Script auf Mysql umschreiben wir haben alles wie bei Moderntopia gemacht, Moderntopia läuft bei uns!


    Zum problem: wir nutzen die gm Larp können wir die Database.sql von Moderntopia übernehmen? oder muss man da noch was reinschreiben?


    Der Server Startet Korrekt, aber sobald man connect vor dem Login bekommt man ein Crash


    Bitte um Hilfe :)


    mfg MGN TEam


    was bedeutet das?


    Error in mysql qeuquery: unknown colwm name in wehre clause
    Eorr in mysql_store_result:unknow colwm name in whre clause


    Scheint was mit MySQLCheckAccount zutun zu haben, muss ich irgentwie eine Neue Field öffnen im Mysql? mit irgentwie einer Datei name?


    Wenn ja welche?

    Ich baue euch eine Website und das Kostenlos !


    Grund:
    Durch aufgaben lernt man und ich will noch ne Menge lernen =)


    Referenzen:
    http://tobiasmarion.square7.de/

    2 Mal editiert, zuletzt von Mcbeat18 ()

  • Wenn euer Script die gleichen Variablen (die in der Datenbank gespeichert werden sollen) wie Moderntopia benutzt, könnt ihr es theoretisch kopieren. Da ich das allerdings beweifle müsst ihr die Variablen natürlich umändern ensprechend zu euren und ggf. auch die Reihenfolge, je nachdem wie ihr es anstellt. Das sowohl im Script beim Laden der Variablen (ich schätze mal bei /login) und natürlich beim Abspreichern der Variablen und nicht zu vergessen in der Tabelle eurer Datenbank.

  • Error in mysql qeuquery: unknown colwm name in wehre clause
    Eorr in mysql_store_result:unknow colwm name in whre clause


    Die fehler sind nun weg habe name im Datenbank vergessen -.-



    Nun das gleiche von vorne.... beim Connecten Crasht das Spiel
    Was kann ich nun machen ?


    Edit: Möglich das ich in der Datenbank unter der abteilung Logins was vergessen habe?


    habe dort :
    ID
    Time
    IP
    userid


    drin, muss da noch was rein? bei Players ist eigentlich alles richtig...

    Ich baue euch eine Website und das Kostenlos !


    Grund:
    Durch aufgaben lernt man und ich will noch ne Menge lernen =)


    Referenzen:
    http://tobiasmarion.square7.de/

    Einmal editiert, zuletzt von Mcbeat18 ()

  • Es kann viele Gründe haben, wieso man beim Connecten crashed. Ein Grund wäre z.B, dass keine Verbindung beim Connecten des jeweilgen Spieler besteht. Bzw irgendwas vergessen wurde. Was zeigt die log. an ?

  • Neue FragE:


    Wie stell ich es ein das Tutorial nicht nochmal durchläuft beim nächsten Login?


    ich habe es derzeit auf


    int stehen


    Scheint aber falsch zu sein da bei Tutorial immer noch 0 steht (kein Tutorial gemacht)


    Eigentlich müsste da doch 1 stehen -.-

    Ich baue euch eine Website und das Kostenlos !


    Grund:
    Durch aufgaben lernt man und ich will noch ne Menge lernen =)


    Referenzen:
    http://tobiasmarion.square7.de/

    5 Mal editiert, zuletzt von Mcbeat18 ()

  • PlayerInfo[playerid][pTut] = 0;


    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
    if(PlayerInfo[playerid][pTut] == 0)
    {
    gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
    SetPlayerInterior(playerid, 3);
    PlayerInfo[playerid][pInt] = 3;
    SetPlayerPos(playerid, 330.6825,163.6688,1014.1875);
    SetPlayerFacingAngle(playerid, 280);
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "Wilkommen auf MyGamesNetwork Reallife City...");
    SendClientMessage(playerid, COLOR_LIGHTRED, " Sind Sie Männlich oder Weiblich?.");
    return 1;
    }


    if(TutTime[playerid] == 0 && PlayerInfo[playerid][pTut] == 1 && RegistrationStep[playerid] == 0 && AfterTutorial[playerid] == 0 && FirstSpawn[playerid] == 1)
    {
    SetPlayerVirtualWorld(playerid,PlayerInfo[playerid][pVirWorld]);
    SetPlayerInterior(playerid,PlayerInfo[playerid][pInt]);
    SetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z] + 1);
    //SendClientMessage(playerid, COLOR_WHITE, "Crashed, Sie sind wieder hier.");
    //GameTextForPlayer(playerid, "~p~Crashed~n~~w~Sie sind wieder Hier", 5000, 1);
    return 1;
    }
    }


    ClearChatbox(i, 10);
    SendClientMessage(i, COLOR_YELLOW2, "Wilkommen in unsere Stadt.");
    SendClientMessage(i, COLOR_GRAD1, "Sie können nun ein Taxi / Busfahrer anrufen mit /call 444 oder /call 222");
    SendClientMessage(i, COLOR_GRAD1, "Sie können nun im Kleider Shop, Ihren Charakter auswählen.");
    SendClientMessage(i, COLOR_GRAD1, " ");
    TutTime[i] = 0; PlayerInfo[i][pTut] = 1;
    gOoc[i] = 0; gNews[i] = 0; gFam[i] = 0;
    TogglePlayerControllable(i, 1);
    MedicBill[i] = 0;
    AfterTutorial[i] = 1;
    SetTimerEx("UnsetAfterTutorial", 2500, false, "i", i);
    SetTimerEx("UnsetFirstSpawn", 5000, false, "i", i);
    SetPlayerSpawn(i);
    }
    }


    MySQLUpdatePlayerInt(query, PlayerInfo[playerid][pSQLID], "Tutorial", PlayerInfo[playerid][pTut]);


    if (rcnt == 88) PlayerInfo[playerid][pTut] = strval(Field);


    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s Lernt %s (%d-%d-%d)", sendername,giveplayer,day,month,year);
    KickLog(string);
    PlayerInfo[giveplayerid][pTut] = 0;
    format(string, sizeof(string), "Du wurdest Gekickt, Damit du das Tut. Nochmal in ruhe lesen kannst.");
    SendClientMessage(giveplayerid,COLOR_LIGHTRED,string);
    Kick(giveplayerid);
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, 256, "AdmCmd: %s Hat Gekickt %s Damit er das Tut. nochmal lernen kann.", sendername,giveplayer);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    return 1;

  • public OnPlayerRegister(playerid, password[]) // v1.0 by Luk0r
    {
    if(IsPlayerConnected(playerid))
    {
    MySQLCheckConnection();
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    new newaccountsqlid = MySQLCreateAccount(playername3, password);
    if (newaccountsqlid != 0)
    {
    PlayerInfo[playerid][pSQLID] = newaccountsqlid;
    //PlayerInfo[playerid][pKey] = password;
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    OnPlayerUpdate(playerid);
    SendClientMessage(playerid, COLOR_YELLOW, "Account registered, you can now log in (/login [password]).");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_DARKNICERED, "There was an error creating your account. You will be disconnected now.");
    Kick(playerid);
    return 0;
    }
    }
    return 0;
    }


    //-----------Register---------------
    if (strcmp(cmd, "/register", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du Bist schon Angemeldet.");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "users/%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Dieser Nickname ist bereits vergeben, wählen sie ein anderen.");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "SAGE: /register [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    //Encrypt(tmppass);
    OnPlayerRegister(playerid,tmppass);
    }
    return 1;
    }

  • public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
    if(PlayerInfo[playerid][pTut] == 0)
    {
    gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
    SetPlayerInterior(playerid, 3);
    PlayerInfo[playerid][pInt] = 3;
    SetPlayerPos(playerid, 330.6825,163.6688,1014.1875);
    SetPlayerFacingAngle(playerid, 280);
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "Wilkommen auf MyGamesNetwork Reallife City...");
    SendClientMessage(playerid, COLOR_LIGHTRED, " Sind Sie Männlich oder Weiblich?.");
    return 1;
    }
    if(AdminSpec[playerid] == 1)
    {
    return 1;

    if (strcmp(cmd, "/login", true) ==0 || strcmp(cmd, "/l", true) ==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "SERVER: Du Bist Bereits eingelogt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "SAGE: (/l)ogin [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    //Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }


    public OnPlayerLogin(playerid,password[]) // by Luk0r v1.0
    {
    MySQLCheckConnection();
    new tmp2[256];
    new string2[64];
    new playername2[MAX_PLAYER_NAME];
    new playernamesplit[3][MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    split(playername2, playernamesplit, '_');
    MySQLFetchAcctSingle(PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pKey]);
    if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
    {
    new Data[1024];
    new Field[64];
    new rcnt = 1;
    MySQLFetchAcctRecord(PlayerInfo[playerid][pSQLID], Data);
    samp_mysql_strtok(Field, "|", Data);
    while (samp_mysql_strtok(Field, "|", "")==1)
    {
    // The rcnt values here represent the order of the columns in the characters table, so don't mess with them
    // If you add a column to the table, just add a new line with a +1 rcnt to the block below
    // Start it at 3 to skip the first few records we don't need (id, player name, password)
    if (rcnt == 3) PlayerInfo[playerid][pLevel] = strval(Field);
    if (rcnt == 4) PlayerInfo[playerid][pAdmin] = strval(Field);
    if (rcnt == 5) PlayerInfo[playerid][pDonateRank] = strval(Field);
    if (rcnt == 6) PlayerInfo[playerid][gPupgrade] = strval(Field);
    if (rcnt == 7) PlayerInfo[playerid][pConnectTime] = strval(Field);
    if (rcnt == 8) PlayerInfo[playerid][pReg] = strval(Field);
    if (rcnt == 9) PlayerInfo[playerid][pSex] = strval(Field);
    if (rcnt == 10) PlayerInfo[playerid][pAge] = strval(Field);
    if (rcnt == 11) PlayerInfo[playerid][pOrigin] = strval(Field);
    if (rcnt == 12) PlayerInfo[playerid][pCK] = strval(Field);
    if (rcnt == 13) PlayerInfo[playerid][pMuted] = strval(Field);


    mehr kann ich nicht posten überschreitet das maximal Text in breadfish


    edit: Gehe jetz ins bett....
    Wenn du magst add mich per icq 249688741 dann könnten wir es morgen nochmal in ruhe machen

    Ich baue euch eine Website und das Kostenlos !


    Grund:
    Durch aufgaben lernt man und ich will noch ne Menge lernen =)


    Referenzen:
    http://tobiasmarion.square7.de/

    Einmal editiert, zuletzt von Mcbeat18 ()

  • Klappt nun fast alles.....


    ein problem habe ich noch


    man kann sich ohne /register einlogen mit /login irgentein passwort....


    Der account wird auch nicht erstellt in der Datenbank oder sonstiges.


    Wie entferne ich das?


    Wäre euch dankbar wenn ihr mir helfen könntet, hoffe das ist der Letzte Fehler :>


    Wenn ihr irgentwas braucht ne zeile oder so, sagt welche ^^


    mfg mcbeat


    Edit: brauch immer noch hilfe^^


    Hat jemand eine Idee? verzweifel schon ?(

    Ich baue euch eine Website und das Kostenlos !


    Grund:
    Durch aufgaben lernt man und ich will noch ne Menge lernen =)


    Referenzen:
    http://tobiasmarion.square7.de/

    4 Mal editiert, zuletzt von Mcbeat18 ()

  • Dazu müsstest du überprüfen (beim Connect) ob ein Eintragt in der Datenbank existiert. Am besten suchst du nach dem Namen in der Datenbank und gibts dann die Mysql ID aus.
    Das kannst du mit Hilfe von

    SQL
    SELECT [...]  FROM [...] WHERE [...] LIMIT 1

    herausfinden. Oder da du den Mysql Teil von Moderntopia hast, kannst auch da schaun wies die gemacht haben.


    EDIT: Such im Moderntopiascipt nach "gPlayerAccount" und "MySQLCheckAccount" und füge das bei dir hinzu. Die Überprüng von "gPlayerAccount" bei /login nicht vergessen, dann sollte alles gehen

  • Hayho ich hab auch ein kleines Problem mit Login / Register .. ich hab auch das Moderntopia mit datenbank und allem und wollte es mal leer laufen lassen also ohne veränderung starten, nur beim /login crasht der server immer, woran könnte das liegen? ist nur geloadet und gestartet nichts verändert worden


    MfG HEiTZER