Wieso kriegt der Server Timebug?

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
  • if(strcmp("/sellcars0",cmd,true) == 0)
    {
    new WERT[4];
    for(new i=1; i<726; i++)
    {
    format(string, sizeof(string), "cars/%dAutoNR0.ini", i);
    if(fexist(string))
    {
    new data[256];
    data = dini_Get(string,"AH_Typ"); WERT[0] = strval( data );
    for(new e = 1; e<72; e++)
    {
    if(WERT[0] == Autoverkauf[e][ModelID])
    {
    new istring[200];
    format(istring,200,"%d",i);
    WERT[1] = mysql_GetInt("users", "Bank", "SQLid", istring);
    WERT[2] = Autoverkauf[e][CarPreis]+WERT[1];
    mysql_SetInt("users","Bank",WERT[2],"SQLid",istring);
    }
    }
    }
    }
    SendClientMessage(playerid,COLOR_WHITE,"Fertig!");
    return 1;
    }
    Wenn ich diesen Befehl eingebe, soll er eigentlich die alten Cars verkaufen, aber der Server kriegt nh Timebug.
    Zur Info: Das alte Carsystem ist auf Dini und das neue auf MySQL.
    MFG JADEN

  • Vielleicht weil du 52.272x eine Variable mit 200 Cells und dann noch 726x eine Variable mit 256 Celles erstellst...und das den Server einfach überlastet?! :huh:


    Wenn du mit MySQL arbeitest, wieso nutzt du dann .ini Dateien?! :huh:


    Mach doch keine halbe Sachen, sondern benutze in dieser Hinsicht ruhig MySQL oder SQLite.


    Probiere es mal so, da ist die Auslastung wesentlich geringer:


    if(!strcmp("/sellcars0",cmd,true)) {
    new WERT[4],data[32],tmp[11];
    for(new i=1; i<726; i++) {
    format(string, sizeof(string), "cars/%dAutoNR0.ini", i);
    if(!fexist(string)) continue;
    format(data,32,dini_Get(string,"AH_Typ")),WERT[0] = strval( data );
    for(new e = 1; e<72; e++){
    if(WERT[0] != Autoverkauf[e][ModelID]) continue;
    valstr(tmp,i);
    WERT[1] = mysql_GetInt("users", "Bank", "SQLid", tmp);
    WERT[2] = Autoverkauf[e][CarPreis]+WERT[1];
    mysql_SetInt("users","Bank",WERT[2],"SQLid",tmp);
    }
    }
    SendClientMessage(playerid,COLOR_WHITE,"Fertig!");
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • mysql_GetInt("users", "Bank", "SQLid", istring);


    Davon würde ich schonmal abraten. Außer Du willst evtl. irgendwann mal Deinen MySQL Server sprengen. Mach so etwas in einem kompletten Query (sofern Du mehrere Sachen hast, die Du auslesen willst).


  • Als erstes: Das alte Carsystem war auf .ini Basis. (Wegen GF-Script)
    Das neue wiederum aber auf MySQL. Ich möchte, dass das Geld für das Fahrzeug auf die Bank der Spieler kommt.
    Und wenn ich den Befehl jetzt so benutze, kommt im Spiel: SERVER: Unknown Command.

  • SERVER: Unknown Command.


    Dann sind die String Größen falsch...wie groß ist denn die Variable String...bzw AH_Typ ? ...schraubs halt mal hoch auf 64 die Variable data...auch im format dann...


    mfg. :rolleyes:

    ast2ufdyxkb1.png


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