Jump to content

Meric

Uživatel
  • Příspěvků

    90
  • Registrován

  • Aktivní

Everything posted by Meric

  1. Meric

    pomoc Animace

    Jo, díky. To se určitě hodí. Jen mám ještě problémy s nastavením souřadnicí, kam to spawnout, když tu bednu vytvářím. Dal jsem to na svojí pozici po getnutí mých souřadnic. Ale když vyplním osu Z, tak místo aby se měnila výška kam se má krabice spawnout, tak se otáčí, jako kdybych měnil rotaci, nebo se ani nehne. Ty krabice jsou prostě dělaný tak, že když se objeví ve vzduchu a když se do nich strčí, spadnou.
  2. Meric

    pomoc Animace

    Aha nevěděl jsem, že na to je i SPECIAL_ACTION, díky. A ještě bych se chtěl zeptat. Je nějaký jednoduchý způsob jak mu přes CreateDynamicOBject nacpat tu krabici při té animaci do rukou nebo to musím odhadovat přes například x+0.25 nebo z+0.5?
  3. Meric

    pomoc Animace

    Popis problému: Ahojte, chtěl bych se vás zeptat, jak docílím toho, abych se mohl při animaci pohybovat? Například když chci vytvořit objekt bedny do rukou při animaci. Nikdy jsem nepochopil jak to funguje i když jsem různě měnil hodnoty u funkce ApplyAnimation. Chyby/varování kompilátoru a při běhu: -- Kód: Dodatečné poznámky: Dále nevím proč se nepřehrává tato animace: ApplyAnimation(playerid, "GYMNASIUM", "gym_shadowbox", 4.1, 1, 0, 0, 0, 0); Používám jí v dialogu při výběru bojového stylu. Podle Wiki je název animace správně. I knihovny, protože knihovna "GYM" mi shazuje hru.
  4. Díky všem, co mi zde pomáhali, zvláštní díky také uživateli xhunterx s nimž jsem problém řešil. Zjistil, že problém je jen v samotné nepřesnosti timerů a "lagy" byly jen zdánlivé. Všem ostatním samozřejmě také díky, stejně byl pravý čas mód i tak optimalizovat, na škodu to vůbec není. :-) Můžete taktéž lock, díky.
  5. Meric

    pomoc Include chyba

    K .inc ano, ale k .pwn bohužel ne. Tady ale kód vidím. Jenom uznávám, že tohle co tu vidím je fakt už pawno nad mojí úroveň znalostí. Jelikož věci z fixes.inc přímo nepoužívám (možná jen nepřímo), tak opravdu nevím kde může ta chyba být. Tento kód je sakramentsky dlouhý a pro mě skoro nesrozumitelný. https://github.com/Open-GTO/sa-mp-fixes/blob/master/fixes.inc#L3 EDIT: Ne, vážně ta chyba pocházela z timerfix.inc, který jsem ukazoval výše, proto netuším. Problém vyřešen, stáhnul jsem odjinud timerfix. Celý problém spočíval v tom, že mi k tomu inc. nepřibalili .dll abych to použil jako plugin v server.cfg, můžete lock. A díky za aktivní pomoc. :-)
  6. Meric

    pomoc Include chyba

    Bohužel nemám přístup k .pwn souboru toho includu, ale mám tady kód, který byl v pastebinu. Popravdě ani nevím jak vytvořit .inc soubor, takže jsem se v tom ani nechtěl vrtat. Každopádně buď jsem slepý a nebo ten #error tam není. A KillPlayerTimers jsem tam taky nezaregistroval. Jsem rád, že vůbec ty písmenka vidím. https://pastebin.com/9EHvTMi3
  7. Meric

    pomoc Include chyba

    Tady je serverlog, co to vypisuje. S tím shadow preceding level si to vydealuju později. Souvisí to s tím includem timerfix.inc [21:16:25] AMX (35831256) loaded [21:16:25] Error: Function not registered: 'KillPlayerTimers' [21:16:25] [debug] Run time error 19: "File or function is not found" [21:16:25] [debug] KillPlayerTimers [21:16:25] [debug] Run time error 19: "File or function is not found" [21:16:25] [debug] KillPlayerTimers [21:16:25] Script[gamemodes/LS-RP.amx]: Run time error 19: "File or function is not found" [21:16:25] Number of vehicle models: 0
  8. Meric

    pomoc Include chyba

    To můžu udělat, napadlo mě to. Ale víc mi vrtá hlavou to KillPlayerTimer, který je v tom includu, možná v includu timerfix spíš. Píše mi to, že je to not registered a nevím jak to opravit, kvůli tomu mi to háže error 19 a samotný mód se zkrátka nenačte. Proto já nevím už co s tím dál udělat.
  9. Meric

    pomoc Include chyba

    Už jsem to vyřešil tím, že jsem ten includ posadil přímo pod includ a_samp, ale stejně, teď mi to pokazilo mod, protože prej KillPlayerTimer not registered a hlavně v tom includu se objevují chyby, přímo v něm. Je tam, že hour, minute se překrývají. (variable shadows at preceding level), což nevím jak ovlivnit. Celkově mi to mód nepustí.
  10. Popis problému: Dal jsem si do pawno kompilátoru dva nové includy, fixes.inc a timerfix.inc. Bohužel fixes.inc dělá scény a vůbec nevím co po mně chce. Chyby/varování kompilátoru a při běhu: F:\Windows servery\Windows server\pawno\include\fixes.inc(3558) : fatal error 111: user error: _ALS_ShowPlayerDialog defined Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error. Kód: Dodatečné poznámky: --
  11. No já se díval na všechno. Jedno usje nechal server zapnutý asi 4 hodiny a podíval se na výsledek. Někdy u někteých funkcí jako OnPlayerConnect/Disconnect bylo worst time u total time aj 4 nebo 8 sekund. Potom jsem upravil includy tak, aby se nesetkal zcmd s izcmd (nevím proč jsem to tam měl ani) a ještě jsem zapnul case sensitive mod pro izcmd, vše za účelem zrychlení kódu a už to není takové s těmi rozdíly. Teďka mívám worst time u čehokoliv v self time i total time tak něco přes 2 sekundy, někdy 3. Ale jelikož se mi to zasekává během každých 8 sekund, tak mě napadlo, že se během těch osmi sekund sešlo několik náročnějších timerů a laglo server na několik milisekund. Tak jsem experimentálně zakomentoval všechny opakující se timery a žádný efekt. Po tom, co jsem přidal systém zón, tak to na těch 8 sekund padlo z těch cca 9 - 10 sekund. Je tedy možné, že je to spíš čtením nekvalitního kódu? Je pravda, že na tomto módu jsem i s pawnem začínal, takže začátečnické chyby tam být mohou, jen jsem si jich nevšiml a doteď je nevidím. Do users používám INSERT jenom jednou v celým ódu, ale UPDATE je tam faaakt hodněkrát a je fakt, že podle jména ukládám hodně, to jo. Zkusím ty indexy. Každopádn tyhle lagy mě docela vytáčej, když nemůžu za boha zjistit, co je příčinou. Timery to očividně nejsou i když to je to jediný, co mi dává smysl.
  12. A kam přesně bych ty indexy měl psát? Nejvíc zapisuji do table users, kde mám asi 120 polí pro hodnoty. A opravdu hodně používám INSERT/UPDATE, o indexování ani transakci jsem v životě neslyšel. Co se týče polí v users, nepočítám ještě asi patnáct tablů, kde se ukládají také různé hodnoty. EDIT: Právě jsem zjistil, že místo každých 9 - 13 sekund se ten server lagne na několik ms už každých 8, v podstatě přesně. Tak jsem si řekl, že to musí být nějaký timer, ale za boha nevím který timer nebo které timery to mohou dělat. Protože kromě těch, které zkrátka musí být na 1000 ms přesně, tak se žádné nepotkávají.
  13. Jak takový index vypadá? Já už se v těch pojmech dost ztrácím. Bylo mi zde navrhnuto printfování, abych zjistil, který script mi vyhazuje takové hodnoty nebo které scripty. Ale jestli mám printovat formáty typu UPDATE users SET a INSERT INTO, rozhodně by to trvalo dlouho + bych se v konzoli (cmd řádku) pořádně nedozvěděl asi, co s tím bude. Je i nějaká jednodušší cesta? Klidně můžu poslat celou server.db, jestli byste našli chybu tam, nebo tak. Každopádně ty indexy to je pro mě neznámá, prakticky jsem jen vytvářel table a do něj vložil a pojmenoval pole a tím jsem končil.
  14. Aha, dobře. No, nejvíce podle profileru u Self Time procent bere db_query, tudíž databáze jako taková. 54 a něco %. Bude stačit takhle v pastebinu? Ten graf se mi za boha nedaří zobrazit. A mohu se prosím zeptat na postup při printfování u toho SQLite? Vím, že se tím asi bude myslet printf(query) například, Musí to být u každé akce, kde se ta databáze nebo ten špatný script vyskytuje, nebo je i jednodušší cesta? Mimochodem ty lagy u 1 a 2 hráčů jsou minimální, jedna za cca 20 sekund to vidím na ukazateli času, že přeskočí o 2 vteřiny. Je to nepatrný, ale i tak vím, že je to problém a čím víc by tam bylo hráčů, tím horší by to bylo. https://pastebin.com/Q1Jcnqjg Nevím jak s tím printf pracovat co nejjednodušeji, abych to nemusel rozepsat po celým módu. Pokud je to cíl, tak asi dobrá. Ale tady vám ukážu, co mi nejvíc žere nějaký % a celkově. https://pastebin.com/xzr215d6
  15. Hodně věcí ukládám do databáze, informace o hráčích (a hodně, včetně zbraní a timer na drogy a zbraně, nějaké pokuty, timer na vězení etc.), vozidlech, cmdlog, nábytek, pak do jinýho souboru db doplňky (attachnuté objekty na postavu). Ukládám staty tak každých zhruba 10 minut, to je i se zbraněma, včera jsem to propojil kvůli změně z dini na SQLite. Zkusím vyvolat z profileru i graf tedy. Není to asi úplně přesně 20 sekund, to jen přibližně a stačí už když jsem tam sám nebo s jedním člověkem. Ale když jsme tam byli dva, tak to bylo stejný jako bych tam byl sám. Ale nedokážu si představit, že bych tam měl hráčů 20+. Chtěl bych se zeptat, bylo by lepší to předělat na SQLite Web Browser? Chci se těch lagů zbavit a když jsem četl tvůj topic o SQLite, tak jsi psal, že SQLite je nedokonalý a způsobuje lagy serveru, takže tuším, že je to to, o čem jsi psal. A psát tak velký mód jako je RP, to je jak vidím dost o hubu dávat tam základní SQLite. Už mám i ten graf, ale mám ho v textový verzi, v nějaké šabloně. Zkouším to přes Graphviz, ale tomu vůbec nerozumím. Je tam XY .exe souborů a v tom by se nevyznám.
  16. Jo, díky. Funguje to. Jen se chci zeptat, ten CallLocalFunction patří k iZCMD? Znamená to tedy, že mám příliš náročné nebo příliš pomalé kódy na příkazy? Jestli to správně chápu, tak je dini pomalejší, než SQLite, nebo ne? A navíc křížení dini a SQLite mi už tak říká, že to nebude dělat dobrotu, tak jsem to smazal a předělávám to do SQLite verze. Každopádně samotný db_query jak je vidno tam, tak mi vyhazuje taktéž docela velké čísla. A předělávat celý mód z db na něco jiného .. nevím. Problém musí být někde jinde ohledně těch malých lagů serveru.
  17. Dobrý, už mi to funguje, díky moc. :-) Bylo to tím, že jsem to vypínal na tvrdo. No teď bych jen chtěl vysvětlit, co v tom znamená Total Time, Self-Time a pak ty Ovverall, Average a Worst. Average jako průměrná doba v sekundách a nejdelší doba načítání v sekundách? A hlavně ty procenta mě zajímaj co jsou. btw mám tam docela dost takových položek: unknown@0004fbf4 a asi nejvíc ze všeho zatěžují server. Znamená to, že se to nestihlo detekovat, nebo to je nějaký cajk, kterej tam jen tak nenajd a tolik žere? Akorát je zvláštní, že se mi tam ukazuje například aj Itter_OnPlayerDisconnect a ty unknowny. Jak to můžu srazit? https://pastebin.com/34b7cqLM
  18. Ten profiler mám, ale nepochopil jsem moc jak ho používat. Nikde pořádný vysvětlivky. Podařilo se mi ho zandat do módu, dal jsem věci do server.cfg, ale žádná z funkcí, co jsem tam viděl zkrátka nefungovala a tak nevím jak to do pawna zapsat. Dělal jsem to zrovna včera asi od 4 do 6 do rána. Vysvětlíš mi prosím, jak se to po pořádku používá?
  19. Úplně šílené to není ale tak jednou za 20 sekund se server lagne cca na 3 - 5 sekund. Hlavně při odpojování. Ukládání mám přes SQLite. Je tam toho docela hodně, protože v tomto módu ukládám docela hodně informací. Snížil jsem přebytečně velká pole u stringů, přebytečná u query, opakující se timery omezit nelze, protože například vězení a aktualizace reálného času musí oboje počítat na sekundy. Kámoš má asi o 10 000 řádků víc a to má méně mappingu, než já a ani zásek a to má hostovaný na slabším PC (VPS). Já to mám na Windows serveru. Nevím co to může tak zatěžovat. Zjistil jsem, že ukládání zbraní tam mám přes dini, to možná tomu přispívá. Ale rozhodně to nebude celý problém. Každopádně díky. Jestli ještě někdo má nějakej nápad, co by to mohlo dělat, ať napíše. Je to RP server, takže se počítá s tím ,že tam bude hafo věcí.
  20. Popis problému: Ahojte, potřeboval bych radu od zkušených. Co všechno způsobuje zásadní zátěž na CPU a RAM v kódu? Kromě timerů. Samotný server dost laguje, má něco přes 30 000 řádků. Chyby/varování kompilátoru a při běhu: Timery jsem srovnal tak, aby se nepotkávaly. Zlepšilo se to, ale není to dostačující. Kód: Dodatečné poznámky: --
  21. Meric

    pomoc SQL registrace

    Co myslíš tím kódem na "připojení databáze"? Máš namysli toto? Database = db_open("server.db"); Error při spouštění samp-server mi to nevyhodilo. Jinak už mi to jde. Popravdě ani nevím kde byl problém, jen jsem zkopíroval úplně stejnej kód a přepsal jsem ho vložením. Jelikož se tam nezměnila ani čárka, tak nevím. Každopádně jestli víte jak to sepsat tenhle register tak, aby to už takto zbytečně nechybovalo, byl bych rád, snažím se svůj mód trochu optimalizovat snížením počtu opakujících se timerů. Dobře, díky za vysvětlení a hlavně za schválení, příště to bude lepší. :-)
  22. Popis problému: Ahoj. nevím si rady s jedním problémem ohledně registrace. Používám SQL databázi na zápis všeho a akorát z nějakého důvodu po registraci na serveru se tam table se jménem, heslem a podobně vůbec nezapíše a po relognutí to chce opět registraci. Je tu někdo, kdo SQL lépe rozumí? Já už s tím docela dlouho nedělal, server jsem zanechal a nepamatuji si toho moc k tomu. Pomůžete mi, prosím? Kód: https://pastebin.com/YBSsnvne PS: Promiňte, že jsem nepoužil kolonku kódu. Je toho docela hodně a částečně jsem pozapomněl i něco z BB Code. Chyby/varování kompilátoru a při běhu: -- Kód: Dodatečné poznámky: --
  23. Jak bylo řečeno výše. Buď použij SetVehicleVelocity a nebo je taky možnost zastavit ho na určitou dobu a pomocí SetTimerEx ho pustit. Záleží jak to chceš.
  24. Ou, nikoliv. Já tam vůbec nemám možnost kliknutí na "spawn", mám to pouze přes registraci a login přes dialogy. // EDIT: Už mě taky napadlo, že to může být právě tím, protože já nepoužívám funkci AddPlayerClass. A jestli je to tím, pak nevím jak jinak to obejít. BUMP. Je to stále aktuální, ta kamera prostě vůbec nereaguje. Textdraw se ukáže, pak se normálně zruší jak má, všecko se vykoná jak má, ale kamera ani ťuk. Nevíte někdo proč? http://pastebin.com/GmCKvchC
  25. Ahojte. Tento problém už jsem měl, a řešil jsem ho timerem po určité době, avšak hráči si stěžovali, že po loginu přirozeně uplynul timer a tak jim to nastavilo kameru a "buglo" je to. Tak jsem se rozhodl to udělat zase klasickým způsobem, nicméně, z nějakého důvodu to nefunguje. Nevím jestli je to počítačem, nebo jestli to mám blbě. Každopádně ta kamera vůbec nic nedělá. Mám to podle vás dobře? Jestli jo, akorát je problém někde jinde, nevíte kde? Já už vyčerpal snad všechny možnosti a proto se obracím na vás. Chtěl bych, aby se nastavila kamera podle funkce InterpolateCameraPos před lognutím se na server. Na všech jiných serverech, kde jsem byl jim to funguje i s tím mým křápem, takže asi problém bude v kódu, tak jestli to mám dobře, ale nevíte o něčem, co by s tím mohlo souviset a vyrušovat tuto funkci. public OnPlayerRequestClass(playerid, classid) { checkPlayerKill(playerid); TogglePlayerSpectating(playerid, true); InterpolateCameraPos(playerid, 1839.9794, -1744.4183, 54.4687, 1961.7229, -1765.1817, 27.6688, 30000, CAMERA_MOVE); InterpolateCameraLookAt(playerid, 1849.9246, -1745.4636, 50.8850, 1951.8748, -1766.9182, 19.6823, 30000, CAMERA_MOVE); if(Mrtvej[playerid] == 1) { SpawnPlayer(playerid); SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); TogglePlayerSpectating(playerid, true); } return 1; }
×
×
  • Create New...