Moin, ich habe mehrere Fragen zum Ressourcen sparen bzw freundlicher Scripten.
[pwn]new AnfangerRoller[MAX_PLAYERS];
new Teamauto[MAX_PLAYERS];
new Waffen[MAX_PLAYERS][waffen];[/pwn]
Habe zwar schon #define MAX_PLAYERS 100 gestellt, aber es ist ja unnötig wenn man es 100 mal ausführt, wenn es nur 3-10 Spieler online sind, gibt es eine alternative ?.
[pwn]public SaveMysqlPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
new query[2048];
SpielerInfo[playerid][pCash] = PlayerMoney[playerid];
format(query, sizeof(query), "UPDATE `accounts` SET banned = '%d',admin = '%d',donater = '%d',upgradepoints = '%d',reg = '%d',sex = '%d',exp = '%d',level = '%d',hand = '%d',konto = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pGebannt],SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pDonateRank],SpielerInfo[playerid][gPupgrade],SpielerInfo[playerid][pReg],
SpielerInfo[playerid][pSex],SpielerInfo[playerid][pExp],SpielerInfo[playerid][pAge],SpielerInfo[playerid][pCash],SpielerInfo[playerid][pAccount], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET crimes = '%d',arrested = '%d',wanteddeaths = '%d',phonebook = '%d',lottonr = '%d',fishes = '%d',biggestfish = '%d',job = '%d',kills = '%d',deaths = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pCrimes],SpielerInfo[playerid][pArrested],SpielerInfo[playerid][pWantedDeaths],SpielerInfo[playerid][pPhoneBook],SpielerInfo[playerid][pLottoNr],
SpielerInfo[playerid][pFishes],SpielerInfo[playerid][pBiggestFish],SpielerInfo[playerid][sJob],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pDeaths], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET jobgehalt = '%d',headvalue = '%d',jailed = '%d',jailtime = '%d',mats = '%d',gras = '%d',lsd = '%d',kokain = '%d',helmid = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pJobGehalt],SpielerInfo[playerid][pHeadValue],SpielerInfo[playerid][pJailed],SpielerInfo[playerid][pJailTime],
SpielerInfo[playerid][pMats],SpielerInfo[playerid][pGras],SpielerInfo[playerid][pLSD],SpielerInfo[playerid][pKokain],SpielerInfo[playerid][pHelmID], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET kmedizin = '%d',gmedizin = '%d',member = '%d',rank = '%d',charakter = '%d',contracttime = '%d',health = '%d',interior = '%d',local = '%d',team = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pKMedizin],SpielerInfo[playerid][pGMedizin],SpielerInfo[playerid][sMember],SpielerInfo[playerid][pRank],SpielerInfo[playerid][pChar],
SpielerInfo[playerid][pContractTime],SpielerInfo[playerid][pHealth],SpielerInfo[playerid][pInt],SpielerInfo[playerid][pLocal],SpielerInfo[playerid][pTeam], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET pnumber = '%d',housekey = '%d',bizzkey = '%d',carlic = '%d',flylic = '%d',motolic = '%d',lkwlic = '%d',ALG = '%d',carinsurance = '%d',lifeinsurance = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pPnumber],SpielerInfo[playerid][pPhousekey],SpielerInfo[playerid][pPbiskey],SpielerInfo[playerid][pCarLic],SpielerInfo[playerid][pFlyLic],
SpielerInfo[playerid][pMotoLic],SpielerInfo[playerid][pLKWLic],SpielerInfo[playerid][pARG],SpielerInfo[playerid][pCarInsurance],SpielerInfo[playerid][pLifeInsurance], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET boxmats = '%d',boxgras = '%d', boxlsd = '%d',boxkokain = '%d',boatlic = '%d',fishlic = '%d',gunlic = '%d',gun1 = '%d',gun2 = '%d',gun3 = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pBoxMats],SpielerInfo[playerid][pBoxGras],SpielerInfo[playerid][pBoxLSD],SpielerInfo[playerid][pBoxKokain],SpielerInfo[playerid][pBoatLic],
SpielerInfo[playerid][pFishLic],SpielerInfo[playerid][pGunLic],SpielerInfo[playerid][pGun1],SpielerInfo[playerid][pGun2],SpielerInfo[playerid][pGun3], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET gun4 = '%d',gun5 = '%d',ammo1 = '%d',ammo2 = '%d',ammo3 = '%d',ammo4 = '%d',ammo5 = '%d',cartime = '%d',payday = '%d',paydayhad = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pGun4],SpielerInfo[playerid][pGun5],SpielerInfo[playerid][pAmmo1],SpielerInfo[playerid][pAmmo2],SpielerInfo[playerid][pAmmo3],
SpielerInfo[playerid][pAmmo4],SpielerInfo[playerid][pAmmo5],SpielerInfo[playerid][pCarTime],SpielerInfo[playerid][pPayDay],SpielerInfo[playerid][pPayDayHad], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET cdplayer = '%d',wins = '%d',loses = '%d',alcoholperk = '%d',drugperk = '%d',miserperk = '%d',painperk = '%d',traderperk = '%d',detskill = '%d',sexskill = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pCDPlayer],SpielerInfo[playerid][pWins],SpielerInfo[playerid][pLoses],SpielerInfo[playerid][pAlcoholPerk],SpielerInfo[playerid][pDrugPerk],
SpielerInfo[playerid][pMiserPerk],SpielerInfo[playerid][pPainPerk],SpielerInfo[playerid][pTraderPerk],SpielerInfo[playerid][pDetSkill],SpielerInfo[playerid][pSexSkill], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET boxskill = '%d',lawskill = '%d',mechskill = '%d',jackskill = '%d',carskill = '%d',newsskill = '%d',cockskill = '%d',fishskill = '%d',farmerskill = '%d',tut = '%d',warns = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pBoxSkill],SpielerInfo[playerid][pLawSkill],SpielerInfo[playerid][pMechSkill],SpielerInfo[playerid][pJackSkill],SpielerInfo[playerid][pCarSkill],SpielerInfo[playerid][pNewsSkill],
SpielerInfo[playerid][pCookSkill],SpielerInfo[playerid][pFishSkill],SpielerInfo[playerid][pFarmerSkill],SpielerInfo[playerid][pTut],SpielerInfo[playerid][pWarns], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET fuel = '%d',married = '%d',marriedto = '%s',kampfstil = '%d',spawnchange = '%d',wanteds = '%d',sflic = '%d',lvlic = '%d',uhrid = '%d',ownperso = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pFuel],SpielerInfo[playerid][pMarried],SpielerInfo[playerid][pMarriedTo],SpielerInfo[playerid][pKampfstil],
SpielerInfo[playerid][pSpawnChange],GetPlayerWantedLevel(playerid),SpielerInfo[playerid][pSFLic],SpielerInfo[playerid][pLVLic],SpielerInfo[playerid][pUhrID],SpielerInfo[playerid][pOwnPerso],SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET pinb = '%d',handyid = '%d',handyton = '%d',handyakku = '%d',zigid = '%d',zig = '%d',zigsucht = '%d',handygeld = '%d',handyver = '%d',GWD = '%.3f',playminutes = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pPinB],SpielerInfo[playerid][pHandyID],SpielerInfo[playerid][pHandyTon],SpielerInfo[playerid][pHandyAkku],SpielerInfo[playerid][pZigID],SpielerInfo[playerid][pZig],
SpielerInfo[playerid][pZigSucht],SpielerInfo[playerid][pHandyGeld],SpielerInfo[playerid][pHandyVer],SpielerInfo[playerid][pGWD],SpielerInfo[playerid][pPlayMinutes], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET gesamtminutes = '%d',pfandflaschen = '%d',coins = '%d', lastonline = '%d', frakinvited = '%d', online = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pGesamtMinutes],SpielerInfo[playerid][sPfandflaschen],SpielerInfo[playerid][pCoins],SpielerInfo[playerid][pLastOnline],SpielerInfo[playerid][pFrakInvited],SpielerInfo[playerid][pOnline], SpielerInfo[playerid][Name]);
mysql_query(query);
return 1;
}
}
return 1;
}[/pwn]
Könnte man das auch irgendwie Freundlicher lösen ?.
Gibt es noch andere Sachen ressourcen zusparen, auf Timer achten, nicht MAX_Player zuhoch.
Einen Thread würde ganz gut sein, für ressourcen sparen, für jede andere Antwort dankbar, die hilft ressourcen bzw laggs zuvermeiden.
mfg
[pwn]new AnfangerRoller[MAX_PLAYERS];
new Teamauto[MAX_PLAYERS];
new Waffen[MAX_PLAYERS][waffen];[/pwn]
Habe zwar schon #define MAX_PLAYERS 100 gestellt, aber es ist ja unnötig wenn man es 100 mal ausführt, wenn es nur 3-10 Spieler online sind, gibt es eine alternative ?.
[pwn]public SaveMysqlPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
new query[2048];
SpielerInfo[playerid][pCash] = PlayerMoney[playerid];
format(query, sizeof(query), "UPDATE `accounts` SET banned = '%d',admin = '%d',donater = '%d',upgradepoints = '%d',reg = '%d',sex = '%d',exp = '%d',level = '%d',hand = '%d',konto = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pGebannt],SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pDonateRank],SpielerInfo[playerid][gPupgrade],SpielerInfo[playerid][pReg],
SpielerInfo[playerid][pSex],SpielerInfo[playerid][pExp],SpielerInfo[playerid][pAge],SpielerInfo[playerid][pCash],SpielerInfo[playerid][pAccount], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET crimes = '%d',arrested = '%d',wanteddeaths = '%d',phonebook = '%d',lottonr = '%d',fishes = '%d',biggestfish = '%d',job = '%d',kills = '%d',deaths = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pCrimes],SpielerInfo[playerid][pArrested],SpielerInfo[playerid][pWantedDeaths],SpielerInfo[playerid][pPhoneBook],SpielerInfo[playerid][pLottoNr],
SpielerInfo[playerid][pFishes],SpielerInfo[playerid][pBiggestFish],SpielerInfo[playerid][sJob],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pDeaths], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET jobgehalt = '%d',headvalue = '%d',jailed = '%d',jailtime = '%d',mats = '%d',gras = '%d',lsd = '%d',kokain = '%d',helmid = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pJobGehalt],SpielerInfo[playerid][pHeadValue],SpielerInfo[playerid][pJailed],SpielerInfo[playerid][pJailTime],
SpielerInfo[playerid][pMats],SpielerInfo[playerid][pGras],SpielerInfo[playerid][pLSD],SpielerInfo[playerid][pKokain],SpielerInfo[playerid][pHelmID], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET kmedizin = '%d',gmedizin = '%d',member = '%d',rank = '%d',charakter = '%d',contracttime = '%d',health = '%d',interior = '%d',local = '%d',team = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pKMedizin],SpielerInfo[playerid][pGMedizin],SpielerInfo[playerid][sMember],SpielerInfo[playerid][pRank],SpielerInfo[playerid][pChar],
SpielerInfo[playerid][pContractTime],SpielerInfo[playerid][pHealth],SpielerInfo[playerid][pInt],SpielerInfo[playerid][pLocal],SpielerInfo[playerid][pTeam], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET pnumber = '%d',housekey = '%d',bizzkey = '%d',carlic = '%d',flylic = '%d',motolic = '%d',lkwlic = '%d',ALG = '%d',carinsurance = '%d',lifeinsurance = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pPnumber],SpielerInfo[playerid][pPhousekey],SpielerInfo[playerid][pPbiskey],SpielerInfo[playerid][pCarLic],SpielerInfo[playerid][pFlyLic],
SpielerInfo[playerid][pMotoLic],SpielerInfo[playerid][pLKWLic],SpielerInfo[playerid][pARG],SpielerInfo[playerid][pCarInsurance],SpielerInfo[playerid][pLifeInsurance], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET boxmats = '%d',boxgras = '%d', boxlsd = '%d',boxkokain = '%d',boatlic = '%d',fishlic = '%d',gunlic = '%d',gun1 = '%d',gun2 = '%d',gun3 = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pBoxMats],SpielerInfo[playerid][pBoxGras],SpielerInfo[playerid][pBoxLSD],SpielerInfo[playerid][pBoxKokain],SpielerInfo[playerid][pBoatLic],
SpielerInfo[playerid][pFishLic],SpielerInfo[playerid][pGunLic],SpielerInfo[playerid][pGun1],SpielerInfo[playerid][pGun2],SpielerInfo[playerid][pGun3], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET gun4 = '%d',gun5 = '%d',ammo1 = '%d',ammo2 = '%d',ammo3 = '%d',ammo4 = '%d',ammo5 = '%d',cartime = '%d',payday = '%d',paydayhad = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pGun4],SpielerInfo[playerid][pGun5],SpielerInfo[playerid][pAmmo1],SpielerInfo[playerid][pAmmo2],SpielerInfo[playerid][pAmmo3],
SpielerInfo[playerid][pAmmo4],SpielerInfo[playerid][pAmmo5],SpielerInfo[playerid][pCarTime],SpielerInfo[playerid][pPayDay],SpielerInfo[playerid][pPayDayHad], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET cdplayer = '%d',wins = '%d',loses = '%d',alcoholperk = '%d',drugperk = '%d',miserperk = '%d',painperk = '%d',traderperk = '%d',detskill = '%d',sexskill = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pCDPlayer],SpielerInfo[playerid][pWins],SpielerInfo[playerid][pLoses],SpielerInfo[playerid][pAlcoholPerk],SpielerInfo[playerid][pDrugPerk],
SpielerInfo[playerid][pMiserPerk],SpielerInfo[playerid][pPainPerk],SpielerInfo[playerid][pTraderPerk],SpielerInfo[playerid][pDetSkill],SpielerInfo[playerid][pSexSkill], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET boxskill = '%d',lawskill = '%d',mechskill = '%d',jackskill = '%d',carskill = '%d',newsskill = '%d',cockskill = '%d',fishskill = '%d',farmerskill = '%d',tut = '%d',warns = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pBoxSkill],SpielerInfo[playerid][pLawSkill],SpielerInfo[playerid][pMechSkill],SpielerInfo[playerid][pJackSkill],SpielerInfo[playerid][pCarSkill],SpielerInfo[playerid][pNewsSkill],
SpielerInfo[playerid][pCookSkill],SpielerInfo[playerid][pFishSkill],SpielerInfo[playerid][pFarmerSkill],SpielerInfo[playerid][pTut],SpielerInfo[playerid][pWarns], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET fuel = '%d',married = '%d',marriedto = '%s',kampfstil = '%d',spawnchange = '%d',wanteds = '%d',sflic = '%d',lvlic = '%d',uhrid = '%d',ownperso = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pFuel],SpielerInfo[playerid][pMarried],SpielerInfo[playerid][pMarriedTo],SpielerInfo[playerid][pKampfstil],
SpielerInfo[playerid][pSpawnChange],GetPlayerWantedLevel(playerid),SpielerInfo[playerid][pSFLic],SpielerInfo[playerid][pLVLic],SpielerInfo[playerid][pUhrID],SpielerInfo[playerid][pOwnPerso],SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET pinb = '%d',handyid = '%d',handyton = '%d',handyakku = '%d',zigid = '%d',zig = '%d',zigsucht = '%d',handygeld = '%d',handyver = '%d',GWD = '%.3f',playminutes = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pPinB],SpielerInfo[playerid][pHandyID],SpielerInfo[playerid][pHandyTon],SpielerInfo[playerid][pHandyAkku],SpielerInfo[playerid][pZigID],SpielerInfo[playerid][pZig],
SpielerInfo[playerid][pZigSucht],SpielerInfo[playerid][pHandyGeld],SpielerInfo[playerid][pHandyVer],SpielerInfo[playerid][pGWD],SpielerInfo[playerid][pPlayMinutes], SpielerInfo[playerid][Name]);
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET gesamtminutes = '%d',pfandflaschen = '%d',coins = '%d', lastonline = '%d', frakinvited = '%d', online = '%d' WHERE `name` = '%s'",
SpielerInfo[playerid][pGesamtMinutes],SpielerInfo[playerid][sPfandflaschen],SpielerInfo[playerid][pCoins],SpielerInfo[playerid][pLastOnline],SpielerInfo[playerid][pFrakInvited],SpielerInfo[playerid][pOnline], SpielerInfo[playerid][Name]);
mysql_query(query);
return 1;
}
}
return 1;
}[/pwn]
Könnte man das auch irgendwie Freundlicher lösen ?.
Gibt es noch andere Sachen ressourcen zusparen, auf Timer achten, nicht MAX_Player zuhoch.
Einen Thread würde ganz gut sein, für ressourcen sparen, für jede andere Antwort dankbar, die hilft ressourcen bzw laggs zuvermeiden.
mfg