Komische Fehler wenn viele Online sind [HILFE]

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...
    Momentan habe ich einige Probleme mit meinem Server.
    Sobald auf meinem Server viele Spieler drauf sind (Ab 70 Spieler +) fangen an Pickups so wie 3dTextlabel's usw. einfach zu verschwinden.
    Die Ressourcen ist ebenfalls dann auch sehr hoch, über 48%... Zudem laggt der Server auch ein wenig


    Angaben zum Server:

    Ein 3DTextLabel sieht beispielsweise bei uns so aus:
    Create3DTextLabel(COLOR_HEX_YELLOW"Fahrzeug Zulassungsstelle\n"COLOR_HEX_WHITE"Schalter 1\nTippe /Zulassungsstelle", COLOR_WHITE, 358.7051,164.0893,1008.3828, 11.0, 0, 0);


    Ein Pickup sieht bei uns beispielsweise so aus:
    CreatePickup(1276, 0, 1522.9415,-1029.1410,23.8006, 0);//Geld laden



    Ich bitte um Hilfe!!!




    Liebe Grüße,
    SA:MP

  • Wenn du schon sagst 48% Resourcen , wurde einfach Unsauber Gescriptet da kann dir jetzt so keiner Helfen such dir ein Scripter Zahl ihm das er die es Resourcendsparrender Umscriptet.

  • Wenn du schon sagst 48% Resourcen , wurde einfach Unsauber Gescriptet da kann dir jetzt so keiner Helfen such dir ein Scripter Zahl ihm das er die es Resourcendsparrender Umscriptet.


    Durch welchen Funktionen oder Anwendungen kann die Ressourcen zu hoch werden?


    Welche globale Timer gibt es?
    bzw. wie viele?

    Es gibt drei globale Timer:


    SetTimer("HauptTimer", 1000, 1);
    SetTimer("MinuteTimer", 60000, 1);
    SetTimer("FiveMinuteTimer", 60000*5, 1);

    Einmal editiert, zuletzt von SA:MP () aus folgendem Grund: Etwas hinzugefügt

  • es kann auch daran liegen das dein script unsauber gescriptet ist zb
    klammern einfach net richtig eingerückt sinlose timer usw ich würde mich anbieten eimal drüber zu schauen und dir eventuel dir den bug zu beheben sollte es größer sein dann nicht

  • Was wird im "Haupttimer" alles erledigt?


    public HauptTimer()
    {
    TextDrawSetString(Fight, "Gangfight:~n~_~n~_~n~_~n~_~n~_");
    UhrzeitZeiger();
    for(new i=1;i<MAX_BIZES;i++)
    {
    UpdateBizText(i);
    }
    for(new i=0;i<MAX_HOUSES;i++)
    {
    UpdateHouseText(i);
    }
    for(new i=0;i<MAX_TANKEN;i++)
    {
    UpdateTankeText(i);
    }
    for(new i=0;i<MAX_APLATZ;i++)
    {
    UpdateAngelText(i);
    }
    automsg ++;
    if(automsg == 600)
    {
    SendClientMessageToAll(COLOR_YELLOW, "|______________ Live your Dream ______________|");
    SendClientMessageToAll(COLOR_WHITE, "Du möchtest dem Server behilflich sein?");
    SendClientMessageToAll(COLOR_WHITE, "Dann kaufe dir ein Clubstatus!");
    SendClientMessageToAll(COLOR_WHITE, "Dieser ermöglicht dir einige Bonusse!");
    SendClientMessageToAll(COLOR_WHITE, "Weitere Informationen im Forum www.LyD-Roleplay.de");
    }
    else if(automsg == 1200)
    {
    SendClientMessageToAll(COLOR_YELLOW, "|______________ Live your Dream ______________|");
    SendClientMessageToAll(COLOR_WHITE, "Mit /Help sieht du alle Befehle, mit /Navi");
    SendClientMessageToAll(COLOR_WHITE, "findest du alle wichtigen Orte!");
    SendClientMessageToAll(COLOR_WHITE, "Hast du Fragen oder Probleme? Dann stelle ein");
    SendClientMessageToAll(COLOR_WHITE, "Support Ticket mit /Sup. Weitere Daten die zum");
    SendClientMessageToAll(COLOR_WHITE, "Projekt gehören, findest du unter /Serverinfo");


    }
    else if(automsg == 1800)
    {
    SendClientMessageToAll(COLOR_YELLOW, "|______________ Live your Dream ______________|");
    SendClientMessageToAll(COLOR_WHITE, "Wir besitzen auch ein Forum, dieses findest");
    SendClientMessageToAll(COLOR_WHITE, "Du unter folgender URL: www.LyD-Roleplay.de!");
    SendClientMessageToAll(COLOR_WHITE, "Dort kannst du dich dann für Fraktionen o.ä bewerben.");
    SendClientMessageToAll(COLOR_WHITE, "Unsere Teamspeak IP lautet: Teamspeak.LyD-Roleplay.de");
    automsg = 0;
    }
    UpdateInfos();
    IntAndVwWFix();
    OnPlayerTachoShowHide();
    OnUpdateUhr();
    OnPlayerUpdateTacho();
    new Float:x, Float:y, Float:z;
    for(new i = 0 ; i < g_iMaxPlayers ; i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i])
    {
    GetPlayerPos(i, x, y, z);
    if(Spieler[i][pWanteds] < 1)
    {
    // Update3DTextLabelText(Spieler[i][pWantedLabel], COLOR_RED, " ");
    UpdateDynamic3DTextLabelText(Spieler[i][pWantedLabel], COLOR_RED, " ");
    Spieler[i][pWanteds] = 0;
    PlayerTextDrawHide(i, Gesucht[i]);
    }
    if(IsAFK[i] == 1)
    {
    Update3DTextLabelText(Spieler[i][pAFKLabel], COLOR_PURPLE, "Im AFK-Modus");
    }
    else if(IsAFK[i] == 0)
    {
    Update3DTextLabelText(Spieler[i][pAFKLabel], COLOR_PURPLE, " ");
    }


    OnPlayerTot(i);
    OnPlayerJail(i);
    OnPlayerMute(i);
    if(!IsAFightFaction(GetPlayerFaction(i)))
    {
    for(new fs;fs<sizeof(FightSystem);fs++)
    {
    TextDrawHideForPlayer(i, Fight);
    TextDrawHideForPlayer(i, FightUnderline);
    TextDrawHideForPlayer(i, FightUnderline2);
    TextDrawHideForPlayer(i, FightSystem[fs][fsWinFaction]);
    TextDrawHideForPlayer(i, FightSystem[fs][fsLoseFaction]);
    TextDrawHideForPlayer(i, FightSystem[fs][fsWinKills]);
    TextDrawHideForPlayer(i, FightSystem[fs][fsLoseKills]);
    TextDrawHideForPlayer(i, FightSystem[fs][fsTime]);
    }
    }
    new str[30];
    new wantedstr[16];
    format(str, sizeof(str), "Status: ~y~%s", GetPlayerWantedRang(i) );
    if(Spieler[i][pWanteds] > 0)
    {
    // Update3DTextLabelText(Spieler[i][pWantedLabel], COLOR_RED, "Gesucht");
    // Update3DTextLabelText(Spieler[i][pWantedLabel], COLOR_RED, "Gesucht");
    format(wantedstr, sizeof(wantedstr), "] %i", Spieler[i][pWanteds]);
    //SetPlayerWantedLevel(i,Spieler[i][pWanteds]);
    }
    else {
    format(wantedstr, sizeof(wantedstr), "] 0");
    //SetPlayerWantedLevel(i,0);
    }
    PlayerTextDrawSetString(i, Gesucht[i], str);
    PlayerTextDrawSetString(i, WantedBar[i], wantedstr);
    PlayerTextDrawShow(i, Gesucht[i]);
    PlayerTextDrawShow(i, WantedBar[i]);
    if(IsPlayerSpectating[i] == 1)
    {
    SetPlayerInterior(i, GetPlayerInterior(SpectatedPlayer[i]));
    SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(SpectatedPlayer[i]));
    new SpecStr[155];
    new weaponStr[32];
    GetWeaponName(GetPlayerWeapon(SpectatedPlayer[i]), weaponStr, 32);
    new Float:pHealth, Float:pArmor;
    GetPlayerHealth(SpectatedPlayer[i], pHealth);
    GetPlayerArmour(SpectatedPlayer[i], pArmor);
    format(SpecStr, sizeof(SpecStr), "~y~Name: ~w~%s~n~~y~Leben:~w~ %.f~n~~y~Ruestung:~w~ %.f~n~~y~Level:~w~ %d~n~~y~Waffe: ~w~%s", GetName(SpectatedPlayer[i]), pHealth, pArmor, Spieler[SpectatedPlayer[i]][pLevel], weaponStr);
    PlayerTextDrawSetString(i, Spectate[1][i], SpecStr);
    PlayerTextDrawShow(i, Spectate[0][i]);
    PlayerTextDrawShow(i, Spectate[1][i]);
    PlayerTextDrawShow(i, Spectate[2][i]);
    PlayerTextDrawShow(i, Spectate[3][i]);
    }
    else
    {
    PlayerTextDrawHide(i, Spectate[0][i]);
    PlayerTextDrawHide(i, Spectate[1][i]);
    PlayerTextDrawHide(i, Spectate[2][i]);
    PlayerTextDrawHide(i, Spectate[3][i]);
    }
    }
    }
    for(new vehicleid=0;vehicleid<MAX_VEHICLES;vehicleid++)
    {
    for(new i=0;i<sizeof(drogen);i++){
    if(vehicleid == drogen[i]) {
    gGas[drogen[i]] = GetMaxTank(vehicleid);
    gMaxGas[drogen[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(drogen[i]))
    {
    UnLockCar(drogen[i]);
    }
    }
    }
    for(new i=0;i<sizeof(wdealer);i++){
    if(vehicleid == wdealer[i]) {
    gGas[wdealer[i]] = GetMaxTank(vehicleid);
    gMaxGas[wdealer[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(wdealer[i]))
    {
    UnLockCar(wdealer[i]);
    }
    }
    }
    for(new i=0;i<sizeof(combines);i++){
    if(vehicleid == combines[i]) {
    gGas[combines[i]] = GetMaxTank(vehicleid);
    gMaxGas[combines[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(combines[i]))
    {
    UnLockCar(combines[i]);
    }
    }
    }
    for(new i=0;i<sizeof(bus);i++){
    if(vehicleid == bus[i]) {
    gGas[bus[i]] = GetMaxTank(vehicleid);
    gMaxGas[bus[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(bus[i]))
    {
    UnLockCar(bus[i]);
    }
    }
    }
    for(new i=0;i<sizeof(flug);i++){
    if(vehicleid == flug[i]) {
    gGas[flug[i]] = GetMaxTank(vehicleid);
    gMaxGas[flug[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(flug[i]))
    {
    UnLockCar(flug[i]);
    }
    }
    }
    for(new i=0;i<sizeof(truck);i++){
    if(vehicleid == truck[i]) {
    gGas[truck[i]] = GetMaxTank(vehicleid);
    gMaxGas[truck[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(truck[i]))
    {
    UnLockCar(truck[i]);
    }
    }
    }
    for(new i=0;i<sizeof(schiff);i++){
    if(vehicleid == schiff[i]) {
    gGas[schiff[i]] = GetMaxTank(vehicleid);
    gMaxGas[schiff[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(schiff[i]))
    {
    UnLockCar(schiff[i]);
    }
    }
    }
    for(new i=0;i<sizeof(bauarb);i++){
    if(vehicleid == truck[i]) {
    gGas[bauarb[i]] = GetMaxTank(vehicleid);
    gMaxGas[bauarb[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(bauarb[i]))
    {
    UnLockCar(bauarb[i]);
    }
    }
    }
    for(new i=0;i<sizeof(garten);i++){
    if(vehicleid == garten[i]) {
    gGas[garten[i]] = GetMaxTank(vehicleid);
    gMaxGas[garten[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(garten[i]))
    {
    UnLockCar(garten[i]);
    }
    }
    }
    for(new i=0;i<sizeof(reinigung);i++){
    if(vehicleid == reinigung[i]) {
    gGas[reinigung[i]] = GetMaxTank(vehicleid);
    gMaxGas[reinigung[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(reinigung[i]))
    {
    UnLockCar(reinigung[i]);
    }
    }
    }
    for(new i=0;i<sizeof(geldt);i++){
    if(vehicleid == geldt[i]) {
    gGas[geldt[i]] = GetMaxTank(vehicleid);
    gMaxGas[geldt[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(geldt[i]))
    {
    UnLockCar(geldt[i]);
    }
    }
    }
    for(new i=0;i<sizeof(muell);i++){
    if(vehicleid == muell[i]) {
    gGas[muell[i]] = GetMaxTank(vehicleid);
    gMaxGas[muell[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(muell[i]))
    {
    UnLockCar(muell[i]);
    }
    }
    }
    for(new i=0;i<sizeof(eismann);i++){
    if(vehicleid == eismann[i]) {
    gGas[eismann[i]] = GetMaxTank(vehicleid);
    gMaxGas[eismann[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(eismann[i]))
    {
    UnLockCar(eismann[i]);
    }
    }
    }
    for(new i=0;i<sizeof(pizzacar);i++){
    if(vehicleid == pizzacar[i]) {
    gGas[pizzacar[i]] = GetMaxTank(vehicleid);
    gMaxGas[pizzacar[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(pizzacar[i]))
    {
    UnLockCar(pizzacar[i]);
    }
    }
    }
    for(new i=0;i<sizeof(taxicar);i++){
    if(vehicleid == taxicar[i]) {
    gGas[taxicar[i]] = GetMaxTank(vehicleid);
    gMaxGas[taxicar[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(taxicar[i]))
    {
    UnLockCar(taxicar[i]);
    }
    }
    }
    for(new i=0;i<sizeof(kfzcars);i++){
    if(vehicleid == kfzcars[i]) {
    gGas[kfzcars[i]] = GetMaxTank(vehicleid);
    gMaxGas[kfzcars[i]] = GetMaxTank(vehicleid);
    if(!IsVehicleOccupied(kfzcars[i]))
    {
    UnLockCar(kfzcars[i]);
    }
    }
    }
    }
    return 1;
    }

  • Ist schon ziemlich viel, besonders wenn die Funktion jede Sekunde aufgerufen wird. Kannst dir ja mal die Zeit, die benötigt wird um den Code auszuführen, ausgeben lassen:

    public HauptTimer()
    {
    new tCount = GetTickCount();
    //code
    printf("HauptTimer: %dms",GetTickCount() - tCount);
    return 1;
    }



  • Ich habe es mal probiert.
    Liegt das noch im normalen Bereich:


    [00:45:50] HauptTimer: 53ms
    [00:45:51] HauptTimer: 23ms
    [00:45:52] HauptTimer: 31ms
    [00:45:54] HauptTimer: 24ms
    [00:45:55] HauptTimer: 19ms
    [00:45:56] HauptTimer: 23ms
    [00:45:57] HauptTimer: 19ms
    [00:45:58] HauptTimer: 34ms
    [00:45:59] HauptTimer: 25ms
    [00:46:00] HauptTimer: 22ms
    [00:46:01] HauptTimer: 21ms
    [00:46:02] HauptTimer: 21ms
    [00:46:03] HauptTimer: 20ms
    [00:46:05] HauptTimer: 23ms
    [00:46:06] HauptTimer: 27ms
    [00:46:08] HauptTimer: 19ms
    [00:46:09] HauptTimer: 17ms
    [00:46:10] HauptTimer: 18ms
    [00:46:11] HauptTimer: 22ms
    [00:46:12] HauptTimer: 22ms
    [00:46:13] HauptTimer: 20ms
    [00:46:14] HauptTimer: 39ms
    [00:46:16] HauptTimer: 19ms
    [00:46:17] HauptTimer: 20ms
    [00:46:18] HauptTimer: 30ms
    [00:46:19] HauptTimer: 23ms
    [00:46:20] HauptTimer: 19ms
    [00:46:21] HauptTimer: 21ms
    [00:46:22] HauptTimer: 24ms
    [00:46:23] HauptTimer: 20ms
    [00:46:24] HauptTimer: 37ms
    [00:46:25] HauptTimer: 21ms
    [00:46:27] HauptTimer: 24ms
    [00:46:29] HauptTimer: 18ms
    [00:46:30] HauptTimer: 19ms
    [00:46:31] HauptTimer: 20ms
    [00:46:32] HauptTimer: 21ms
    [00:46:33] HauptTimer: 18ms
    [00:46:34] HauptTimer: 50ms
    [00:46:35] HauptTimer: 20ms
    [00:46:36] HauptTimer: 24ms
    [00:46:38] HauptTimer: 28ms
    [00:46:39] HauptTimer: 23ms
    [00:46:40] HauptTimer: 19ms
    [00:46:41] HauptTimer: 22ms
    [00:46:42] HauptTimer: 21ms
    [00:46:43] HauptTimer: 24ms
    [00:46:44] HauptTimer: 19ms
    [00:46:45] HauptTimer: 19ms
    [00:46:46] HauptTimer: 25ms
    [00:46:47] HauptTimer: 25ms
    [00:46:49] HauptTimer: 25ms
    [00:46:50] HauptTimer: 26ms
    [00:46:51] HauptTimer: 20ms
    [00:46:52] HauptTimer: 36ms
    [00:46:53] HauptTimer: 24ms
    [00:46:54] HauptTimer: 28ms
    [00:46:55] HauptTimer: 23ms

    Einmal editiert, zuletzt von SA:MP () aus folgendem Grund: PWN Text hinzugefügt

  • Das mit den Jobs, die Timer können auf 3 Sekunde gestellt werden in einem eigenem Public.
    Das mit den Wanted kann auf 5 Sekunden oder höher gestellt werde auch in einem eigenen Public.
    Das in einer Sekunde ist viel zu viel.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen