Beiträge von HolyJoh


    Die MySql_log.txd John_McClain:
    Nun hab ich es aber geschafft, dass der Score zwar richtig ausgelesen wird, jedoch nicht gespeichert wird...

    Manche Sachen lassen sich speichern, manche nicht.
    Passwörter und Namen, Adminlevel wird gespeichert, der Rest nicht. Kann das an phpMyadmin liegen, dass ich da falsche Spalten gemacht hab? Hab bei Score, money, alevel, pbanned, premium immer auf INT verändert beim erstellen, mehr nicht. John_McClain:


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    new query[256];
    format(query,sizeof(query),"UPDATE user SET scorelevel='%i',alevel='%i',pBanned='%i',premium='%i',money='%i', WHERE ID='%i'",sInfo[playerid][scorelevel],sInfo[playerid][alevel],sInfo[playerid
    [pBanned],sInfo[playerid][premium],GetPlayerMoney(playerid),sInfo[playerid][id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }

    Das Speichern des Spielers?
    Oder wenn es beim einloggen ausgelesen wird?
    sInfo[playerid][eingeloggt] = 1;
    SetPlayerScore(playerid,cache_get_field_content_int(0,"scorelevel",dbhandle));
    sInfo[playerid][id] = cache_get_field_content_int(0,"ID",dbhandle);
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    if(sInfo[playerid][alevel] == 1) return SendClientMessage(playerid, achat_color,"Du bist Supporter!");
    if(sInfo[playerid][alevel] == 2) return SendClientMessage(playerid, achat_color,"Du bist Administrator!");
    if(sInfo[playerid][alevel] == 3) return SendClientMessage(playerid, achat_color,"Du bist Head-Administrator!");
    if(sInfo[playerid][alevel] == 4) return SendClientMessage(playerid, achat_color,"Willkommen Holy!");
    sInfo[playerid][pBanned] = cache_get_field_content_int(0,"pBanned",dbhandle);
    if(sInfo[playerid][pBanned] == 1){ SendClientMessage(playerid,hinweis_color,"Dieser Account ist gesperrt, mit ihm kann nicht gespielt werden!"); return Kick(playerid);}
    sInfo[playerid][premium] = cache_get_field_content_int(0,"premium",dbhandle);
    if(sInfo[playerid][premium] == 1) return SendClientMessage(playerid, achat_color,"Du hast Premium!");
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    Slash™:

    ok, hab ich jetzt hinbekommen.
    Nun hab ich noch das Problem, dass zwar einige Sachen aus der Datenbank ausgelesen werden können, jedoch nicht alles.
    Ich habe in der DatenBank: ID, Name, Passwort, score, admin, ban, premium, geld
    ID, Name und Passwort werden ganz normal ausgelesen und funktionieren.
    Den Score, das Admin Level und den Ban kann ich über phpMyAdmin zwar einsetzen und es bleibt dann gespeichert, aber wenn ich ingame jemanden Bann, das Adminlevel verändere oder den Score ändere, dann wird es nicht gespeichert in der Datenbank. Warum?
    Premium und Geld kann ich nichtmal über phpMyAdmin vergeben...
    Hier die Fehlercodes von der MySQL Log Datei:

    SQL
    [15:30:03] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID='3'' at line 1
    [15:45:25] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID='1'' at line 1
    [15:46:12] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID='2'' at line 1
    [16:14:01] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID='8'' at line 1
    [17:07:24] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID=''' at line 1
    [17:07:24] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID='8'' at line 1
    [17:10:08] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID=''' at line 1


    Slash™:
    Bitte um Hilfe,
    Mir freundlichen Grüßen,
    HolyJoh

    Hey,
    ich habe bis jetzt immer den Server mit XAMPP und phpMyAdmin laufen lassen. Alles über Windows.
    Nun wollte ich den Server online stellen (Linux), jedoch habe ich folgende Fehler:

    SQL
    [14:52:04]    Error: Function not registered: 'cache_get_data'
    [14:52:04]    Error: Function not registered: 'mysql_tquery'
    [14:52:04]    Error: Function not registered: 'cache_get_field_content_int' 
    [14:52:04]    Error: Function not registered: 'mysql_escape_string'


    Könnte mir evtl. jemand helfen?
    Mit freundlichen Grüßen,
    HolyJoh

    Guten Abend,
    ich wollte mal ein 1 gegen 1 System scripten, habe dafür einen Dialog erstellt. Das Problem dabei ist jedoch, dass alle Spieler rein können.
    Hier der Code:
    #define DIALOG_1O1 7
    new EinsGegenEinseins = 0;
    new EinsGegenEinszwei = 0;
    Befehl:
    if(strcmp("/1o1", cmdtext, true) == 0) // 1o1 Arenen
    {
    ShowPlayerDialog(playerid, DIALOG_1O1, DIALOG_STYLE_LIST,"Eins gegen Eins Räume","1o1 Arena 1\n1o1 Arena 2", "Auswählen", "Beenden");
    return 1;
    }
    OnDialogResponse
    if(dialogid == DIALOG_1O1)
    {
    if(response==0)
    {
    SendClientMessage(playerid,hinweis_color,"Du hast das /1o1 Menü verlassen.");
    return 1;
    }
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    if(EinsGegenEinseins >= 2) return SendClientMessage(playerid, hinweis_color,"Diese Arena ist voll!");
    EinsGegenEinseins++;
    ResetPlayerWeapons(playerid);
    SetPlayerVirtualWorld(playerid, 5);
    SetPlayerPos(-1948.3076,132.3837,26.5189);
    SendClientMessage(playerid, 0xFFFFFFFF, "Du bist nun in der 1o1 Arena 1!");
    GivePlayerWeapon(playerid,24,1000);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    }
    case 1:
    {
    if(EinsGegenEinszwei >= 2) return SendClientMessage(playerid,hinweis_color,"Diese Arena ist voll!");
    EinsGegenEinszwei++;
    ResetPlayerWeapons(playerid);
    SetPlayerVirtualWorld(playerid, 6);
    SetPlayerPos(-1948.3076,132.3837,26.5189);
    SendClientMessage(playerid, 0xFFFFFFFF, "Du bist nun in der 1o1 Arena 2!");
    GivePlayerWeapon(playerid,24,1000);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    }
    }
    }
    Wäre euch dankbar, wenn ihr mir helfen könntet.


    Mit freundlichen Grüßen,
    HolyJoh