Meric 1 Odesláno: 5. Září, 2017 Share Odesláno: 5. Září, 2017 (upraveno) 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. Edited 5. Září, 2017 by Meric Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 5. Září, 2017 Globální moderátor Share Odesláno: 5. Září, 2017 Zrovna v SAMPu je special action primo na noseni veci: http://wiki.sa-mp.com/wiki/SetPlayerSpecialAction http://wiki.sa-mp.com/wiki/SpecialActions 25 - SPECIAL_ACTION_CARRY *** - Will apply a 'carrying' animation to the player and make them unable to sprint, jump or punch Jinak by to mel byt ten freeze parametr Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 5. Září, 2017 Author Share Odesláno: 5. Září, 2017 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? Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 5. Září, 2017 Globální moderátor Share Odesláno: 5. Září, 2017 No nejlepsi zpusob je vyuzit http://wiki.sa-mp.com/wiki/SetPlayerAttachedObject. Na ofiko foru najdes nejake tooly na manipulovani daneho objektu (napr. http://forum.sa-mp.com/showthread.php?t=209234) a ulozit jejich pozice. Jako bone pak jen zvolit ruku EDIT: tenhle editor je mozna lepsi: http://forum.sa-mp.com/showthread.php?t=501924 Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 5. Září, 2017 Author Share Odesláno: 5. Září, 2017 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. Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 5. Září, 2017 Globální moderátor Share Odesláno: 5. Září, 2017 Budes muset vybrat jinej objekt... a proc bys vytvarel bednu na tvoji pozici? Staci v te funkci vyplnit ID bedny, nic to s createobjectem nema ani playerobjectem Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 5. Září, 2017 Author Share Odesláno: 5. Září, 2017 (upraveno) No, já už to udělal a nějak jsem to ošéfoval. Nevím v jaké funkci máš nyní namysli a jak přesně to myslíš, kdyžtak mi to podrobně popiš, když budeš tak hodný. Akorát nevím, proč při spawnutí té bedny se nepřidává IDčko. Vždy se spawne bedna s ID 0. To zapřičiní, že když vytvořím dvě bedny, tak se smaže jen jedna při příkazu smazatbednu. Kód mám tady. Úplně stejně to mám i s ostatními systémy a tam se IDčka počítají. Nevím kde jsem co vynechal. Kód zde: https://pastebin.com/feA8t61j Nevíte, co jsem tam udělal za chybu? Případně jak to zjednodušit. PS: Důvod, proč tam mám SetDynamicObjectPos je, abych ten objekt donutil nebýt ve vzduchu, ale na souřadnicích, kde chci. Edited 5. Září, 2017 by Meric Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 5. Září, 2017 Globální moderátor Share Odesláno: 5. Září, 2017 se koukni na to poradi inicializovani beID a formatovani 3D textu. K tomu predeslemu memu postu... blbe jsem te pochopil, ten zcela muzes ignorovat Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 5. Září, 2017 Author Share Odesláno: 5. Září, 2017 (upraveno) Jo už to vidím, pravda. Posunul jsem formátování ID textu s tím beID pod db result, kde vybírám ID přímo z databáze, která to automaticky incrementuje. Zatím to vypadá bez problému, díky. :-) Jen nevím jestli je to pravé ořechové použít u hráče SetPlayerAttachedObject nebo něco jiného. Tam není argumentace pro objectid. Chtěl bych to udělat tak, že dám /sebrat a vyloženě tu bednu sebere, bez DestroyDynamicObject. A jestli se to bez toho neobejde tak něco, abych pak mohl uchovat předměty v té bedně při přesunu. Ať už vkladu do přívěsu nebo jen čistě přesunu. Celkově jde jen o to, aby se s tím dalo manipulovat i s obsahem uvnitř, ale u této fáze jsem to jaksi nedomyslel. Je možné tohle nějak přes SQL obejít? Napadlo mě totiž akorát, že bych mohl informace o obsahu bedny nahrát do vytvořených PlayerInfo a ukládat ty informace přímo k hráči a jak bych zničil objekt bedny a všechno s ní spojený, tak při pokládání by se to naopak z hráče zase nahrálo do té bedny. Ale nevím jestli je tohle efektivní. Edited 5. Září, 2017 by Meric Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 6. Září, 2017 Globální moderátor Share Odesláno: 6. Září, 2017 Napr zapisem do souboru, prijde mi tohle zbytecne zapisovat do SQLka, navic to predpokladam nebude tak casty, ze nekdo sebere krabici. Attachovat dynamic object na playera jde, ale zaplatis za to strasne timerem (nemluve o tom, ze se jedna o dynamic object, takze jeste zjistuje okolnim hracum pozici na vykreslovani), cisty zpusob je SetPlayerAttachedObject, kde se to snad ani nechova jako objekt, pak si ulozit ID krabice u hrace a nasledne podle toho ID cist ze souboru (soubor bude napr v SF "./tmp_boxes/{id}.txt") objectid u attachedobject je modelid (viz ten link na tu funkci a odkaz u toho parametru) EDIT: K te animaci s gymnasium, az ted jsem si vsiml, ze se jedna o druhej dotaz... je potreba zrejme ty knihovny pre-loadnout pri spawnu PreloadAnimLib(playerid, animlib[]) { ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0); } Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 6. Září, 2017 Author Share Odesláno: 6. Září, 2017 Používám na DynamicObject ten SetPlayerAttachedObject, no. Ošéfil sjem to tak, že se to chová jako doplněk, když si přes attachments nasadíš klobouk nebo tak. Teď mi spíše jde o to vymyslet, jak udělat to, že se budou ukládat předměty, které jsou v bedně, kterou hodíš například do přívěsu náklaďáku. Protože to má fungovat tak, že dáš /prives a tam vložíš do slotu pro bednu tu bednu a pak jí můžeš vytáhnout. Ta aby v té bedně se neanulovaly informace, že v ní je určitý počet předmětů, například M4, nebo Desert Eagle, nebo Cocaine a takové. Tahle otázka ukládání mě napadla až teď, že to bude velmi komplikované, že nevím čeho se chytit. Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 6. Září, 2017 Globální moderátor Share Odesláno: 6. Září, 2017 Tak pres ty soubory jak jsem rikal Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 6. Září, 2017 Author Share Odesláno: 6. Září, 2017 (upraveno) No, míchání systémů ukládání mýmu serveru nikdy nedělalo dobrotu. Mám vytvořený tak, že když sebereš bednu, tak se ta bedna z databáze smaže a když položíš, tak zase se tam vytvoří, jelikož UPDATE SET nefungovalo, tak jsem to musel udělat přes smazání a znovuvytvoření. Každopádně i kdybych ukládal informace o obsahu separativně od db do texťáku, stejně nevím jak bych to tam nahrál. Ce se IDček týče: Vždycky se generuje o číslo vyšší. Aspoň podle toho kolik beden existuje. Při UPDATE SET testu mi to hodilo ID 308 místo 7, nebo 8. A když jsem vypnul a zapnul server, tak bedna byla a staré pozici co byla původně a s tím prvním IDčkem, tedy 7 nebo 8. Jak úplně upravit IDčkování nevím, jsem rád, že to vůbec funguje. Ukládání informací podle ID je tedy pro mě asi méně přijatelné, snadno by došlo k chybě ohledně ztrát předmětů. Buď bych poslal kód, s tím že by se ta věc i IDčkama upravila tak, aby to podle toho nějak šlo, nebo to ukládat podle jinýho parametru. Bohužel mě žádný jiný parametr nenapadá. Každopádně díky za to k těm animacím, pomohlo to. Už to funguje. :-) Edited 6. Září, 2017 by Meric Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 7. Září, 2017 Globální moderátor Share Odesláno: 7. Září, 2017 No to je uz zalezitost implementace, ja jsem kdysi treba ukladal drop kontejnery mrtvych tel do souboru. Jinak abych byl v obraze, pouzivas SQLite, ze? (z predeslych topicu napr. optimalizace) Ukazal bys starej kod k tomu UPDATE SET? Link to comment Share on other sites More sharing options...
0 Meric 1 Odesláno: 7. Září, 2017 Author Share Odesláno: 7. Září, 2017 (upraveno) Ano, používám SQLite, no. Já ti asi radši hodím úplně kompletní kód. Protože já teďka řeším to, že když seberu bedn a někde jí položím, má pak místo ID 2 třeba ID 560 a obsah se v té krabici pak vůbec nenachází, prostě se ztratí. Předem upozorňuju, že je to docela dost dlouhý kód. Dávám tam vše, aby jsem nemusel dodávat postupně věci a zbytečně se to neprotahovalo Kód je dost dlouhý, hlavně co se týče dialogů. UPDATE SET tam je. Hlavně mi jde o ukládání, protože potřebuju aby se ukládalo aspoň i při přesunu a později tadyta uložená data s bednou pak i do přívěsu, kterej bude na stejným principu co dialog u té bedny. https://pastebin.com/sH6kNchY EDIT: Právě jsem tam hodil nově kód, protože jsem vynechal příkaz na sebrání a pokládání, dost důležitá část. Edited 7. Září, 2017 by Meric Link to comment Share on other sites More sharing options...
Dotaz
Meric 1
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:
Edited by MericApplyAnimation(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.
Link to comment
Share on other sites
14 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now