[Pomoc] BOT Run + Server FPS
Results 1 to 11 of 11
  1. #1
    Senior Member Array
    Join Date
    Aug 2010
    Location
    Nis, Cair, Jamajka
    Karma
    14

    Default BOT Run + Server FPS

    pozdrav..imam jedan reko bih zanimljiv problem

    plugin snima pokrete igraca i na svako postavljanje novog rekorda na mapi (kz mod) BOT se apdejtuje po tim upamcenim pokretima igraca

    sta je problem...pokreti se snimaju 0.01 (svaki frejm)..ali posto je prvobitni kod ovog plugina namenjen za LAN pa sam morao 300 cuda da menjam da radi za online server, doslo je do ovog problema
    set_task nema decimalu pa je upotrebljen nextthink od 0.01, pa u:

    Code:
    public FM_ServerFrame()
    {
    	if(g_bot_frame < ArraySize(g_DemoReplay[g_bot_type][0]))
    	{	
    		new id = g_bot_id;
    		if(!is_user_alive(id))
    		{
    			dllfunc(DLLFunc_Spawn, id);
    			set_pev(id, pev_health, 99999.0);
    			Start_Bot();
    		}		
    		new ArrayData[DemoData];
    		new i
    //ovo je vazno:
    			if( get_gametime() - g_testtime >= 0.01 )
    			{
    				g_testtime = get_gametime()
    				entity_set_float(ent, EV_FL_nextthink, get_gametime() + 0.01)
    			}	
    			if( !g_test )
    			{
    				g_testtime = get_gametime()
    				g_test = true
    			}
    		}
    	}
    }
    ovom metodom ako sam samo ja npr na serveru, ali u CT (igram) onda bot skoro da u tacno vreme zavrsava svoj run (ako je time 30sec on predje za 32sec...tu je negde..) ali ako odem u SPEC taj isti bot prelazi mapu za oko 38sec...znaci server FPS igra ulogu tj FM_ServerFrame()

    da li neko zna matematiku kako ovo srediti, da radi u realvremenu? mozda nekako da se uzme fps servera pa da se to deli s necim, nzm ni ja :S

    *mogu ovo i na alliedsu da pisem, ali ako moze ovde neko da pomogne, vrh bi bilo

    *probao sam sad i 0.01 -> 0.008 ali pretpostavljam da je ovo skroz random, da ce opet biti promene ako npr budu 10 igraca
    Last edited by JocA1; 16-03-2019 at 01:10.
    PUB + DM Rank Klase (click me) - 193.104.68.64:27019 - FREEDOM Community

    Deathrun Timer (click me)

  2. #2
    Super Moderator Array klipica's Avatar
    Join Date
    Apr 2010
    Karma
    30

    Default

    Logicno da server FPS utice na StartFrame kada je funkcija napravljena da se poziva svaki frejm.
    Moras i snimati i raditi replay koristeci isti vremenski interval. Za originalnu sliku bi verovatno trebalo 100 puta u sekundi, a ako hoces da se samo gleda iz treceg lica i detalji kao sto su strejfovi nisu skroz vazni onda je i 30 okej.
    Code:
    #YoMama {
        width: 200%;
        overflow: visible;
    }

  3. #3
    Senior Member Array
    Join Date
    Aug 2010
    Location
    Nis, Cair, Jamajka
    Karma
    14

    Default

    Ali ako imam neki usnimljen demo, taj isti demo kad se pusta na srv kad je 1 ili 5 igraca nije iste brzine..sto znaci da je replay veci problem?
    PUB + DM Rank Klase (click me) - 193.104.68.64:27019 - FREEDOM Community

    Deathrun Timer (click me)

  4. #4
    Senior Member Array
    Join Date
    Aug 2013
    Location
    Forbidden Forest
    Karma
    11

    Default

    Ako hoces da ti se vreme ne menja, onda ne smes ni interval da menjas. Ako prikazujes svaki frame, framerate apsolutno nikada nece biti fiksna vrednost. Ja mogu komotno da izvucem 500 FPS-a i opet imam 95-100 kad je fps_max 100.
    Pomoc oko plugina, TS3-a, discord-a mozete dobiti samo u vidu objasnjenja.
    P.S. Nemojte smarati/hejtovati obzirom da to niko ne voli a ja licno cu samo da vas kuliram.
    P.P.S. Nemojte pitati stvari na PM vec otvori temu.

  5. #5
    Senior Member Array
    Join Date
    Aug 2010
    Location
    Nis, Cair, Jamajka
    Karma
    14

    Default

    Govorim o istom frame rateu (pev_nextthink 0.01 naprimer, nadam se da se na to misli)...jasniji da budem: cudno mi je kako jedan vec usnimljeni demo se prikazuje razlicitom brziom ako je isti pev_nextthink...? deluje mi veoma konfuzno, ali 90% sam siguran da se tako desilo, tj da je demo snimljen dok je 1 igrac bio, i da se lepo prikazivalo, i cim su upali jos nekoliko igraca, BOT je usporio sa kretnjom
    Last edited by JocA1; 18-03-2019 at 20:33. Reason: detaljnije
    PUB + DM Rank Klase (click me) - 193.104.68.64:27019 - FREEDOM Community

    Deathrun Timer (click me)

  6. #6
    Senior Member Array
    Join Date
    Aug 2013
    Location
    Forbidden Forest
    Karma
    11

    Default

    Pazi, moguce je da sam server ne moze da isprati to, ti ako njemu kazes nextthink 0.0000001 on sigurno nece da radi toliko brzo. Probaj da stavis neki veci interval.
    Pomoc oko plugina, TS3-a, discord-a mozete dobiti samo u vidu objasnjenja.
    P.S. Nemojte smarati/hejtovati obzirom da to niko ne voli a ja licno cu samo da vas kuliram.
    P.P.S. Nemojte pitati stvari na PM vec otvori temu.

  7. #7
    Super Moderator Array klipica's Avatar
    Join Date
    Apr 2010
    Karma
    30

    Default

    http://gameprogrammingpatterns.com/game-loop.html
    Gugluj i "fixed timestep" i slicne pojmove.

    Potrebno je da odvojis "snimanje" (pamcenje lokacija) i "renderovanje" (apdejtovanje bota) od logike igre. Ako server ima mnogo veci FPS nego tvoj update interval, onda ces update tek svakih par frejmova; dok ako server ne moze da postigne zeljenu brzinu updatovanja, nekad ces uptadovati 2 ili vise puta tokom jednog game frejma.
    Code:
    #YoMama {
        width: 200%;
        overflow: visible;
    }

  8. #8
    Senior Member Array
    Join Date
    Aug 2010
    Location
    Nis, Cair, Jamajka
    Karma
    14

    Default

    @skazzy, pravi vidljivu razliku kad se radi nextthink sa 0.01 i sa 0.008 (manje od toga tesko da mi treba)...mislim da je samo bitna formula kako to napraviti

    @klipy, hvala na linku..da li resenje za ovaj problem moze biti: set_pev( bot, pev_nextthinkg, float( *server_fps* / 100 ) )
    s tim sto ovo 100 mozda ne treba bas taj broj da bude, ali kapiras poentu a server_fps daj boze da moze da se detektuje?
    PUB + DM Rank Klase (click me) - 193.104.68.64:27019 - FREEDOM Community

    Deathrun Timer (click me)

  9. #9
    Senior Member Array
    Join Date
    Aug 2013
    Location
    Forbidden Forest
    Karma
    11

    Default

    Ne treba tebi manje, tebi treba veca brojka. Ne smes da koristis server_fps niti bilo koji drugi fps. Trebaju ti staticne vrednosti.
    Pomoc oko plugina, TS3-a, discord-a mozete dobiti samo u vidu objasnjenja.
    P.S. Nemojte smarati/hejtovati obzirom da to niko ne voli a ja licno cu samo da vas kuliram.
    P.P.S. Nemojte pitati stvari na PM vec otvori temu.

  10. #10
    Super Moderator Array klipica's Avatar
    Join Date
    Apr 2010
    Karma
    30

    Default

    Imas jos jednu opciju, a to je da za svaki frejm snimanja sacuvas vreme od pocetka snimanja, tada ces lako znati na replayu kada treba da updatujes bota. Samo sto naravno za svaki frejm ce ti trebati jos 4 bajta podataka za vreme, mada je verovatno nevazno.
    Code:
    #YoMama {
        width: 200%;
        overflow: visible;
    }

  11. #11
    Senior Member Array
    Join Date
    Aug 2010
    Location
    Nis, Cair, Jamajka
    Karma
    14

    Default

    @skazzy kako da koristim staticne vrednosti kad fps servera varira? nije mi jasno

    @klipica, ako je onaj moj predlog moguc za uraditi, mislim da je prostiji od time-stampa u svakom frejmu
    PUB + DM Rank Klase (click me) - 193.104.68.64:27019 - FREEDOM Community

    Deathrun Timer (click me)

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •