Mehrere Formats/Querys

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
  • Hallo,


    also derzeit habe ich ein richtig großes Problem.
    Ich habe mir einen Format gemacht, um den Account eines Spielers zu speichern im MySQL-Format.


    [hide]
    format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i',Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE dbID='%i'",pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[player
    [/hide]


    Doch dieser Format ist zu lang, wie kann ich das über mehrere Formats/QUerys schreiben? Ich möchte das Speichern über MySQL also mysql_function_query(....) bitte hilft mir!

  • Ist eig ganz einfach: PAWN bricht nach einer gewissen zeilenlänge mit einer Fehlermeldung ab.


    um das zu umgehen macht man es halt so:




    new Query[2000], mehr[3] = "MEHR";
    // folgendes würde nicht gehen:
    format (Query, sizeof Query, "HIER STEHEN %s ALS 500 ZEICHEN IN DER ZEILE (vorstellen)", mehr); // würde einen fehler ausgeben weil die zeile zu lang ist.


    // folgendes würde gehen:
    new Query[2000], Temp[200], mehr[3] = "MEHR", hun = 500;
    format (Temp, sizeof Temp, "HIER STEHEN %s ALS ", mehr);
    strcat(Query, Temp);


    format(Temp, sizeof Temp, "%i ZEICHEN AUF 2 ZEILEN (vorstellen)", hun);
    strcat(Query, Temp);


    // Ausgabe: HIER STEHEN MEHR ALS 500 ZEICHEN AUF 2 ZEILEN (vorstellen.)


    kurz gesagt: strcat fügt einen string am ende eines Vorhanden strings an.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Kannst das über 2 Strings machen, kannst aber auch 2 Query's nehmen, ist halt aber nicht so effizient wie ein Query dann.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Der Query ist eigentlich noch nicht so lang, dass solltest du gut in eine Zeile bekommen ^^


    Mach einfach so:


    format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i',Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE dbID='%i'",//Hier ein Return hin...
    pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],//Hier auch nochmal
    pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[player
    Das return halt dahin, wo die pInfo Variablen anfangen ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kaliber:



    format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i',Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE dbID='%i'" return
    pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],//Hier auch nochmal
    pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[player


    Also meinste du das so?