Kann man das Rescourcen-Sparender Scripten ? Oder geht das so ?

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, das SpielerSpeicherSystem, kann man sich damit sehen lassen oder geht das auch Rescourcenfreundlicher ?
    Wenn ja wie ?


    Gehen tut es Einwandfrei, aber vllt kann man es ja verbessern.
    public SpielerSpeichern(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;
    if(Spieler[playerid][pEingeloggt]==0)return 1;
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Admin`='%i',`Level`='%i',`Geld`='%i',`Skin`='%i' WHERE `AccountID`='%i'",Spieler[playerid][pAdmin],Spieler[playerid][pLevel],Spieler[playerid][pGeld],Spieler[playerid][pSkin],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Hanfsamen`='%i',`Kokssamen`='%i',`LSDsamen`='%i',`Fraktion`='%i',`Leader`='%i' WHERE `AccountID`='%i'",Spieler[playerid][pHanfsamen],Spieler[playerid][pKokssamen],Spieler[playerid][pLSDsamen],Spieler[playerid][pFraktion],Spieler[playerid][pLeader],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Rank`='%i',`MuteTime`='%i',`Muted`='%i',`Banned`='%i' WHERE `AccountID`='%i'",Spieler[playerid][pRank],Spieler[playerid][pMuteTime],Spieler[playerid][pMuted],Spieler[playerid][pBanned],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Death`='%i',`Totx`='%f',`Toty`='%f',`Totz`='%f',`Totint`='%i',`Totvirtual`='%i',`Deathtime`='%i' WHERE `AccountID`='%i'",Spieler[playerid][pDeath],Spieler[playerid][tot_x],Spieler[playerid][tot_y],Spieler[playerid][tot_z],Spieler[playerid][tot_int],Spieler[playerid][tot_world],Spieler[playerid][pDeathTime],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Prison`='%i',`PrisonTime`='%i',`Geschlecht`='%i',`Age`='%i',`Letzte_X`='%f',`Letzte_Y`='%f',`Letzte_Z`='%f' WHERE `AccountID`='%i'",Spieler[playerid][pPrison],Spieler[playerid][pPrisonTime],Spieler[playerid][pSex],Spieler[playerid][pAge],Spieler[playerid][LastInGamePos_x],Spieler[playerid][LastInGamePos_y],Spieler[playerid][LastInGamePos_z],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Letzte_Interior`='%i',`Letzte_VirtualWorld`='%i' WHERE `AccountID`='%i'",Spieler[playerid][LastInGamePos_int],Spieler[playerid][LastInGamePos_world],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    return 1;
    }

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Joa, schreib es so:


    public SpielerSpeichern(playerid)
    {
    if(IsPlayerNPC(playerid) || !Spieler[playerid][pEingeloggt])return 1;
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Admin`='%i',`Level`='%i',`Geld`='%i',`Skin`='%i',`Hanfsamen`='%i',`Kokssamen`='%i',`LSDsamen`='%i',`Fraktion`='%i',`Leader`='%i',",Spieler[playerid][pAdmin],Spieler[playerid][pLevel],Spieler[playerid][pGeld],Spieler[playerid][pSkin],Spieler[playerid][pHanfsamen],Spieler[playerid][pKokssamen],Spieler[playerid][pLSDsamen],Spieler[playerid][pFraktion],Spieler[playerid][pLeader],Spieler[playerid][pAccountID]);
    format(longquery,sizeof(longquery),"%s`Rank`='%i',`MuteTime`='%i',`Muted`='%i',`Banned`='%i',",longquery,Spieler[playerid][pRank],Spieler[playerid][pMuteTime],Spieler[playerid][pMuted],Spieler[playerid][pBanned]);
    format(longquery,sizeof(longquery),"%s`Death`='%i',`Totx`='%f',`Toty`='%f',`Totz`='%f',`Totint`='%i',`Totvirtual`='%i',`Deathtime`='%i',",longquery,Spieler[playerid][pDeath],Spieler[playerid][tot_x],Spieler[playerid][tot_y],Spieler[playerid][tot_z],Spieler[playerid][tot_int],Spieler[playerid][tot_world],Spieler[playerid][pDeathTime]);
    format(longquery,sizeof(longquery),"%s`Prison`='%i',`PrisonTime`='%i',`Geschlecht`='%i',`Age`='%i',`Letzte_X`='%f',`Letzte_Y`='%f',`Letzte_Z`='%f',",longquery,Spieler[playerid][pPrison],Spieler[playerid][pPrisonTime],Spieler[playerid][pSex],Spieler[playerid][pAge],Spieler[playerid][LastInGamePos_x],Spieler[playerid][LastInGamePos_y],Spieler[playerid][LastInGamePos_z]);
    format(longquery,sizeof(longquery),"%s`Letzte_Interior`='%i',`Letzte_VirtualWorld`='%i' WHERE `AccountID`='%i'",longquery,Spieler[playerid][LastInGamePos_int],Spieler[playerid][LastInGamePos_world],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    return 1;
    }


    Dann sendet der nur 1nen Query an die Datenbank anstatt 5 ^^


    PS: longquery, sollte einen Array von so ca. 600 haben... :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


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