Jump to content
  • 0

pomoc zatěžování serveru


weedenek

Dotaz

Zdravím jelikož dělám na server každý den update tak jsem se rozhodl že přidám kulečník tak jsem si našel jak to tak nějak udělat a tak jsem to napawnil ale když to dám dám na server tak rázem zatížení 38-43%(normálně mám 1-5) nedalo by se to nějak fixnout nebo je to normální ? mohl by mi někdo pomoct prosím ?

kulecnik.pwn

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

Ja som nepochopil ten for cyklus cez všetkých hráčov (v PHY_OnObjectUpdate). Pozerám to síce na mobile o 3 ráno a je veľmi možné, že mi niečo uniká, ale jediný výskyt premennej i vidím v SendClientMessage, čo by si mohol nahradiť SendClientMessageToAll a vonkajší for cyklus by sa dal odstrániť.

Edited by DuFF
Link to comment
Share on other sites

  • 0
  • Globální moderátor

cyklus na řádku 70 je uplná hovadina. To klidně celej smaž. 

Voláš někde metodu PHY_OnObjectUpdate? Nikde nevidím, to máš přes CallRemoteFunction pak?

všeobecně je to dělaný chaoticky a vůbec nechápu jak to má fungovat. Hlavně příkaz /shot. To je jako kulečník s koulema o velikosti lidí nebo jak? 

Link to comment
Share on other sites

  • 0
před 2minutami, Hip said:

cyklus na řádku 70 je uplná hovadina. To klidně celej smaž. 

Voláš někde metodu PHY_OnObjectUpdate? Nikde nevidím, to máš přes CallRemoteFunction pak?

všeobecně je to dělaný chaoticky a vůbec nechápu jak to má fungovat. Hlavně příkaz /shot. To je jako kulečník s koulema o velikosti lidí nebo jak? 

No ja jsem to hledal protože jsem nevěděl jak to udělat ten kulečník a nasel jsem tohle funguje to tak že /pool spawne to kulečník a na tom kulečníku koule a ty se stoupnes někam u toho stolu a das /shot a bílá koule vystřelí a ja pak z toho chtěl udělat jak je to v singlu 

Link to comment
Share on other sites

  • 0

odstranil jsem ten to ale ty koule se pak nespawnou 

On 22. 1. 2022 at 17:30, Hip said:

cyklus na řádku 70 je uplná hovadina. To klidně celej smaž. 

Voláš někde metodu PHY_OnObjectUpdate? Nikde nevidím, to máš přes CallRemoteFunction pak?

všeobecně je to dělaný chaoticky a vůbec nechápu jak to má fungovat. Hlavně příkaz /shot. To je jako kulečník s koulema o velikosti lidí nebo jak? 

 

Link to comment
Share on other sites

  • 0

Chcelo sa po tebe, aby si odstránil ten cyklus, ale jeho telo tam nechal (aby sa vykonalo iba raz). V tom tele potom musíš ešte prepísať SCM na SCMTA ako som písal vyššie

Link to comment
Share on other sites

  • 0

Ahoj vzpomněl jsem si na to že mám rozdělaný ten kulečník a jak Hip říkal že je ten řádek 70 úplná hovadina tak ten řádek dělá to že když se daná koule dostane do jamky tak jí to smaže

public PHY_OnObjectUpdate(objectid)
{
    new poolid = 0; // setup pool table
    for(new i = 0; i < GetMaxPlayers(); i++){
        if( IsInBall(objectid , POOL[poolid][POS][0] + 0.955, POOL[poolid][POS][1] + 0.510, POOL[poolid][POS][2] -0.045,0.10) ||
            IsInBall(objectid , POOL[poolid][POS][0] + 0.955, POOL[poolid][POS][1] - 0.510, POOL[poolid][POS][2] -0.045,0.10) ||
            IsInBall(objectid , POOL[poolid][POS][0] + 0.000, POOL[poolid][POS][1] + 0.550, POOL[poolid][POS][2] -0.045,0.10) ||
            IsInBall(objectid , POOL[poolid][POS][0] + 0.000, POOL[poolid][POS][1] - 0.550, POOL[poolid][POS][2] -0.045,0.10) ||
            IsInBall(objectid , POOL[poolid][POS][0] - 0.955, POOL[poolid][POS][1] + 0.510, POOL[poolid][POS][2] -0.045,0.10) ||
            IsInBall(objectid , POOL[poolid][POS][0] - 0.955, POOL[poolid][POS][1] - 0.510, POOL[poolid][POS][2] -0.045,0.10))
        {
            new str[50];

            for(new j = 0; j < 16; j++){

                if(objectid == POOL[poolid][BALLS][j])
                {

                    new type[6];

                    if(POOL[poolid][BALLS][j] > 8) format(type ,sizeof(type), "stripe");
                    else format(type ,sizeof(type), "solid");
                    
                    format(str ,sizeof(str), "Koule spadla do jamky : číslo koule %d %s", POOL[poolid][BALLS][j], type);
                    SendClientMessage(i, -1, str);

                    DestroyObject(POOL[poolid][BALLS][j]);
                    PHY_DeleteObject(POOL[poolid][BALLS][j]);
                }
                
            }

        }
        
    }

    return 1;
}

Ale je to ono co zatěžuje server ale nwm jak to fixnout aby to fungovalo jak má a nezatěžovalo

Edited by weedenek
Link to comment
Share on other sites

  • 0

Nepouzivej callback update ale posli kouli jen o malicky kousek a vyhodnocuj ji v Moved. kde ji zase posles dal. Cim delsi vzalenost kouli posles tim mensi zatez serveru budes mit, ale tim vetsi nepresnost pri vyhodnoceni odrazu

Link to comment
Share on other sites

  • 0
před 2minutami, ATomas said:

Nepouzivej callback update ale posli kouli jen o malicky kousek a vyhodnocuj ji v Moved. kde ji zase posles dal. Cim delsi vzalenost kouli posles tim mensi zatez serveru budes mit, ale tim vetsi nepresnost pri vyhodnoceni odrazu

Jzš tak teď jsem stracenej úplně

Link to comment
Share on other sites

  • 0
před 23hodinami, weedenek said:

Jzš tak teď jsem stracenej úplně

public OnObjectMoved(objectid)

Edited by ATomas
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...