Errors im Gutschein System

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
  • case DIALOG_GUTSCHEIN2:
    {
    if(response)
    {
    format(query,sizeof(query),"SELECT * FROM `gutscheine` WHERE code = '%s'",inputtext);
    mysql_function_query(Handle,query,true,"CheckGutschein","is",playerid,inputtext);//ERROR ZEILE (61313)
    }
    }
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(61313) : error 017: undefined symbol "query"
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(61313) : error 017: undefined symbol "query"
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(61313) : error 029: invalid expression, assumed zero
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(61313) : fatal error 107: too many error messages on one line


    mysql_function_query(Handle,query,false,"","");//ERROR ZEILE(4917)


    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(4917) : error 017: undefined symbol "Handle"


    mysql_function_query(Handle, string, false, "SendQuery", "");//ERROR ZEILE (4741)
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(4741) : error 017: undefined symbol "Handle"


    Ich benutze das Script (pRP) was ist da Falsch bzw wie wende ich es bei der Mysql Version r33 bzw die vom Pure Roleplay Script an?

  • Willkommen auf Breadfish!


    format(query,sizeof(query),"SELECT * FROM `gutscheine` WHERE code = '%s'",inputtext);
    zu:
    new query[128];
    format(query,sizeof(query),"SELECT * FROM `gutscheine` WHERE code = '%s'",inputtext);


    Zwecks den Handle-Errors:
    Du musst oben unter den Includes
    new Handle;
    eintragen, oder anstatt Handle das eintragen, was du bei mysql_connect stehen hast.

  • Habe das jetzt so gemacht wie du mir geschrieben hast
    aber muss ich hier was anderes als Handle verwenden den ich kriege mysql_string errors oder sowas aufeinmal^^?



    //mysql_debug(0);
    print(" ... GamemodeInit");
    /*GetServerVarAsString("bind",GlobalString,sizeof(GlobalString));
    if(!GlobalString[0] || strcmp(GlobalString,BINDIP,false))
    {
    printf("SERVER: Der Server ist nicht auf der IP '%s' gebinded!",BINDIP);
    print(" Server wird heruntergefahren ...");
    SendRconCommand("exit");
    return 1;
    }*/
    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS,3306,true);
    if(/*mysql_ping() == 1*/mysql_errno(MySqlConnection) == 0)
    {
    print("SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt.");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    }
    else
    {
    print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print(" Es wird erneut versucht eine Verbindung zur Datenbank herzustellen.");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    if(/*mysql_ping() == 1*/mysql_errno(MySqlConnection) == 0)
    {
    print("SERVER: Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    }
    else
    {
    print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print(" Server wird heruntergefahren ...");
    SendRconCommand("exit");
    return 1;
    }
    }

  • MySqlConnection


    hab ich gemacht jetzt kommt


    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(5476) : warning 202: number of arguments does not match definition
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(80889) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(80890) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(80910) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(80911) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(83212) : error 017: undefined symbol "mysql_escape_string"
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(83213) : error 017: undefined symbol "mysql_escape_string"
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(83214) : error 017: undefined symbol "mysql_escape_string"
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(83215) : error 017: undefined symbol "mysql_escape_string"
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(88737) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(88738) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(88760) : warning 213: tag mismatch
    C:\Users\w4465d456d6464w6w6w\Desktop\GTA\SAMP\Pure-Roleplay-relased-von-Samet\Script by alex\gamemodes\GeTmyselfmade.pwn(88761) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    also das was auch mit Handle kam^^


    die errors werden hier angezeigt


    stock mysql_SetInt(Table[],Field[],To,Where[],Where2[])
    {
    new query[128];
    new sTable[64],sField[64],sWhere[64],sWhere2[64];
    mysql_escape_string(Table, sTable);//12 ZEILE
    mysql_escape_string(Field, sField);//13 ZEILE
    mysql_escape_string(Where, sWhere);//14 ZEILE
    mysql_escape_string(Where2, sWhere2);//15 ZEILE
    format(query,sizeof(query),"UPDATE %s SET %s='%d' WHERE %s='%s'",sTable,sField,To,sWhere,sWhere2);
    mysql_function_query(MySqlConnection,query,false,"","");
    return 1;
    }

  • Nein, anstatt
    mysql_escape_string

    Habe ich gemacht jetzt bekomme ich viele Warnings und wenn ich auf den server connecte kann ich nur auf spawn klicken und lande auf der farm^^


    z.B.
    hier


    for(new t=0;t<MAX_TEXT_DRAWS;t++){ if(t != INVALID_TEXT_DRAW) TextDrawHideForPlayer(playerid,Text:t); }
    for(new t=0;t<MAX_PLAYER_TEXT_DRAWS;t++){ if(t != INVALID_TEXT_DRAW) PlayerTextDrawHide(playerid,PlayerText:t); }
    format(query,sizeof(query),"INSERT INTO `"#DATENBANKTAG"_bans` (`IP`,`Grund`,`Name`,`Admin`,`Zeit`,`Uhrzeit`,`Datum`) VALUES ('%s','%s','%s','%s','%d','d:d:d','d-d-d')",SpielerIP(playerid),reason,Spieler[playerid][pName],admin,zeit,stunde,minute,sekunde,jahr,monat,tag);
    mysql_function_query(MySqlConnection,query,false,"","");


    Hier mal der ganze Pawn Code vom System (will es das es für pRP Funktioniert Mysql R33)


    //Gutschein System
    stock CreateCode(playerid,gutschein)
    {
    new Code[10],string[128];
    format(Code, 10, GenerateCode());
    format(string, sizeof(string), "INSERT INTO `gutscheine` (`code`,`gutschein`) VALUES ('%s',%d)",Code,gutschein);
    mysql_function_query(MySqlConnection, query, false, "SendQuery", "");
    format(string, sizeof(string), "Der Gutscheincode %s wurde erfolgreich erstellt!", Code);
    SendClientMessage(playerid,0x0069FFFF,query);
    return 1;
    }


    stock CreateCode2(playerid,gutschein)
    {
    new Code[10],string[128];
    format(Code, 10, GenerateCode());
    format(string, sizeof(string), "INSERT INTO `gutscheine` (`code`,`gutschein`) VALUES ('%s',%d)",Code,gutschein);
    mysql_function_query(MySqlConnection, query, false, "SendQuery", "");
    format(string, sizeof(string), "Dein Aktivitätsbonus Gutschein %s!", Code);
    SendClientMessage(playerid,0x0069FFFF,query);
    return 1;
    }


    //Gutschein
    forward CheckGutschein(playerid,code[]);
    public CheckGutschein(playerid,code[])
    {
    new query[135],rows,fields,temp[10],gutschein;
    cache_get_data(rows,fields);
    cache_get_row(0, 2, temp), gutschein = strval(temp);
    if(!rows)
    {
    SendClientMessage(playerid,0x0069FFFF,"Ungültiger Gutscheincode.");
    return 1;
    }
    if(gutschein == 0)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast 1 Erfahrungspunkt durch den Gutschein bekommen!");
    Spieler[playerid][pLevel] += 1;
    }
    if(gutschein == 1)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast 2 Erfahrungspunkte durch den Gutschein bekommen!");
    Spieler[playerid][pLevel] += 2;
    }
    if(gutschein == 2)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast 5 Erfahrungspunkte durch den Gutschein bekommen!");
    Spieler[playerid][pLevel] += 5;
    }
    if(gutschein == 3)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +1 Level durch den Gutschein bekommen!");
    Spieler[playerid][pLevel] += 1;
    }
    if(gutschein == 4)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +2500€ durch den Gutschein bekommen!");
    ACMoney(playerid,2500);
    }
    if(gutschein == 5)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +5000€ durch den Gutschein bekommen!");
    ACMoney(playerid,5000);
    }
    if(gutschein == 6)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +7500€ durch den Gutschein bekommen!");
    ACMoney(playerid,7500);
    }
    if(gutschein == 7)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +10000€ durch den Gutschein bekommen!");
    ACMoney(playerid,10000);
    }
    if(gutschein == 8)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +1 Woche Premium Bronze durch den Gutschein bekommen!");
    /* new zeit = 1*31;
    SpielerInfo[playerid][pPremiumZeit] = gettime()+(60*60*24*zeit);
    if(SpielerInfo[playerid][pPremium] < 1)
    {
    SpielerInfo[playerid][pPremium] = 1;
    }*/
    }
    if(gutschein == 9)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +1 Woche Premium Silber durch den Gutschein bekommen!");
    /*new zeit = 1*31;
    SpielerInfo[playerid][pPremiumZeit] = gettime()+(60*60*24*zeit);
    if(SpielerInfo[playerid][pPremium] < 2)
    {
    SpielerInfo[playerid][pPremium] = 2;
    }*/
    }
    if(gutschein == 10)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast +1 Woche Premium Gold durch den Gutschein bekommen!");
    /*new zeit = 1*31;
    SpielerInfo[playerid][pPremiumZeit] = gettime()+(60*60*24*zeit);
    if(SpielerInfo[playerid][pPremium] < 3)
    {
    SpielerInfo[playerid][pPremium] = 3;
    }*/
    }
    if(gutschein == 11)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,0x0069FFFF,"Du hast 1 Fahrzeug Gutschein durch den Gutschein bekommen!");
    SendClientMessage(playerid,0x0069FFFF,"Benutze /gfahrzeug um das neue Fahrzeug zu aktivieren!");
    //SpielerInfo[playerid][pGFahrzeug] = 1;
    }
    if(gutschein == 12)
    {
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    //SendClientMessage(playerid,0x0069FFFF,"Du hast 1 weiteren Namechange durch den Gutschein bekommen!");
    //SpielerInfo[playerid][pNameChanges] += 1;
    }
    SetPVarInt(playerid,"Geldcooldown",gettime()+60*10);
    format(query,sizeof(query),"DELETE FROM `gutscheine` WHERE code = '%s'",code);
    mysql_function_query(MySqlConnection,query,false,"","");
    mysql_free_result();
    return 1;
    }


    case DIALOG_GUTSCHEIN1:
    {
    if(response)
    {
    if(listitem == 0)
    {
    CreateCode(playerid,1);
    }
    if(listitem == 1)
    {
    CreateCode(playerid,2);
    }
    if(listitem == 2)
    {
    CreateCode(playerid,3);
    }
    if(listitem == 3)
    {
    CreateCode(playerid,4);
    }
    if(listitem == 4)
    {
    CreateCode(playerid,5);
    }
    if(listitem == 5)
    {
    CreateCode(playerid,6);
    }
    if(listitem == 6)
    {
    CreateCode(playerid,7);
    }
    if(listitem == 7)
    {
    CreateCode(playerid,8);
    }
    if(listitem == 8)
    {
    CreateCode(playerid,9);
    }
    if(listitem == 9)
    {
    CreateCode(playerid,10);
    }
    if(listitem == 10)
    {
    CreateCode(playerid,11);
    }
    if(listitem == 11)
    {
    CreateCode(playerid,12);
    }
    }
    }
    case DIALOG_GUTSCHEIN2:
    {
    if(response)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM `gutscheine` WHERE code = '%s'",inputtext);
    mysql_function_query(MySqlConnection,query,true,"CheckGutschein","is",playerid,inputtext);
    }
    }


    DIALOG_GUTSCHEIN1,
    DIALOG_GUTSCHEIN2,


    COMMAND:creategutschein(playerid, params[])
    {
    #pragma unused params
    if(Spieler[playerid][pAdmin] >= 3)
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN1,DIALOG_STYLE_LIST,"Gutschein erstellen","{FFFFFF}+2 Erfahrungspunkte\n+5 Erfahrungspunkte\n+1 Level\n+2500€\n+5000€\n+7500€\n+10000€\n+1 Woche Bronze\n+1 Woche Silber\n+1 Woche Gold\nFahrzeug\n+1 Namechange","Erstellen","Abbrechen");
    }
    return 1;
    }
    COMMAND:gutschein2(playerid, params[])
    {
    #pragma unused params
    if(gettime()>GetPVarInt(playerid, "Geldcooldown") && GetPVarInt(playerid, "Geldcooldown") > 0)
    {
    SendClientMessage(playerid,0x0069FFFF,"Du kannst nur jede Stunde einen Gutschein benutzen!");
    return 1;
    }
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN2,DIALOG_STYLE_INPUT,"Gutscheincode einlösen","{FFFFFF}Bitte gebe unten in das freie Feld deinen Gutscheincode ein!","Einlösen","Abbrechen");
    return 1;
    }

  • Kenne die Syntax von PAWN jetzt nicht wirklich aber ist das nicht hier der Fehler
    format(query,sizeof(query),"INSERT INTO `"#DATENBANKTAG"_bans` (`IP`,`Grund`,`Name`,`Admin`,`Zeit`,`Uhrzeit`,`Datum`) VALUES ('%s','%s','%s','%s','%d','d:d:d','d-d-d')",SpielerIP(playerid),reason,Spieler[playerid][pName],admin,zeit,stunde,minute,sekunde,jahr,monat,tag);
    INTO `"#DATENBANKTAG"_bans`
    Ich glaube das wäre dann so
    format(query,sizeof(query),"INSERT INTO `%s_bans` (`IP`,`Grund`,`Name`,`Admin`,`Zeit`,`Uhrzeit`,`Datum`) VALUES ('%s','%s','%s','%s','%d','d:d:d','d-d-d')",DATENBANKTAG,SpielerIP(playerid),reason,Spieler[playerid][pName],admin,zeit,stunde,minute,sekunde,jahr,monat,tag);