Globální moderátor Popular Post HighPrint 177 Odesláno: 3. Únor, 2016 Globální moderátor Popular Post Share Odesláno: 3. Únor, 2016 (upraveno) NPC inGame Maker v.10000000 Zdravím, Chtěl bych vám představit svůj jeden FS a to na vytváření ingame NPC. Primárně byl vytvořen pro movie makery za účelem natáčet videa bez pomocí herců, případně s jejich nedostatkem. Rozhodl jsem se, že se s vámi podělím. Je to poměrně jednoduchý script, všechno co potřebujete je plugin sscanf, 2 soubory – NPCFoot.amx, NPCVeh.amx do npcmodes aka primární soubory, které budou komunikovat s FS, a samotný soubor FS. Optimalizovaný je dost, chyby v něm snad žádné nejsou, ale kdyby měl někdo námitky, jak něco provést lépe, budu akorát rád. V čem se liší můj script od ostatních? Rozhodně je unikátní v tom, že nepoužívá žádný fileManager pluginy a relativní cestou si dokáže najít svoji nahrávku, kterou si nahrajete. Tzn. není potřeba žádná znalost pawna, pokud hodláte script jen využívat. Všechno co potřebujete vědět jsou tři základní příkazy – /ncreate /nstop /nload. Avšak jako všechny FS/pluginy je můj script omezený maximálním počtem NPC na serveru. Jak vlastně script funguje? Bot, který se připojí na serveru pošle serveru příkaz (Pozn.: žádná kolize s příkazy nedojde), script na ten příkaz zareaguje a pošle se zpátky relativní cesta nahrávky do NPC souboru. Koho to zajímá, může si to zkusit vyčíst z kódu. Updaty Tato verze je opravdu ta nejjednodušší, která obsahuje pouze základní příkazy pro tvorbu. Jelikož nedávno jsem dostal chuť si pohrát znovu s pawnem a Jizzy ho potřeboval optimalizovat pro 0.3.7, tak jsem souhlasil a budu ještě přidávat další features. Např. bude propojené s databází na vyvolání více NPC najednou, tzn. využití se rozšíří nejen pro movie makery. Videa Jak jsem říkal, můj script byl ze začátku vytvořený pro movie makery, proto obsahoval spoustu příkazů na natáčení jako třeba zavolání animace pro NPC a jejich časování apod. Script měl ovšem pouze Evro a Jizzy. Zde jsou ukázky filmů, ve kterém byly moje NPCs. https://www.youtube.com/watch?v=vuCq5WFXPBg – First Date by Jizzy https://www.youtube.com/watch?v=5rJcShsfOpw – Afterlife 2 by Jizzy https://www.youtube.com/watch?v=VKMYVQTuyew – This is War 2 by [boSA]Evro[EeP] Příkazy Po třetí, tato verze je nejjednodušší obsahujíc jen pouze pár základních příkazů: /ncreate name – začne nahrávka s názvem name, dle toho jestli jste ve vozidle se rozpozná o jakou nahrávku se bude jednat /nstop – zastaví nahrávku a uloží se do ScriptFiles /nload name <skin = userskin> <vehicleid = 0> – Velmi důležitý příkaz. Nahraje bota s názvem name a nepovinnými parametry jsou skin a vehicleid. V případě, že je nahrávka NPC ve vozidle, je potřeba určit vehicleid (nikoliv modelid), v opačném případě, se NPC crashne a vyhodí se. Pokud neurčíte skin, bot se nahraje se skinem, které máte na sobě. /ndl – zobrazí informace o NPC nad jejich hlavou, něco jako klient příkaz /dl. /nrep id true/false – Příkaz na opakování pro NPC. Pokud je false, nahrávka se zopakuje jen pouze jednou. /nkick id – vyhodí NPC. /ndel name – vymaže nahrávku name Ukázka mé práce v praxi Video je starší, obsahujíc nejstarší verzi (za video díky Jizzymu), proto můžete vidět anglický text (původně jsem měl na mysli, že ho posdílím s forum.sa-mp.com, rozhodl jsem se smazat svůj topic, když mi dennodenně psali 20 lidí, jak ten script zprovoznit) a také staré barvičky. Pozn.: Název videa je trochu zavádějící, UNLIMITED opravdu není. Download http://pawno.cz/files/file/23-npc-ingame-maker/ Obsahuje: filterscripts/npc_creator.pwn npcmodes/NPCfoot.pwn npcmodes/NPCveh.pwn plugins/sscanf.dll plugins/sscanf.so include/zcmd.inc include/sscanf2.inc Závěr Námitky, poznámky, chyby – budu rád, když je najdete. Pokud máte nějaké nápady jak vylepšit kód, neváhejte mi napsat. Jinak drobnost, kterou asi už nevím kam vecpat. Jedná se o funkci IsValidVehicle, z nějakého důvodu se autor SA:MP rozhodl tuto funkci nezahrnout do hlavní knihovny, avšak normálně existuje. Proto si do a_samp.inc přidejte native IsValidVehicle(vehicleid); A taky chci poděkovat Jizzymu za video, zčekněte jeho fb: http://facebook.com/JizzyVideos -------------------------------------------------- UPDATE v1.0000002 MINOR – Ošetřené proti natáčení v autě a vystupování. – small bugfixes – v /nrep jsem zapomněl vyvolání nahrávky v případě ukončení / optimalizace – zbytečné vyvolávání getNpcId. MAJOR – Nyní můžete vyvolat více nahrávek najednou, fungujou na bázi databáze. Přemýšlel jsem, že je předělám do dialogu ať je to víc "user-friendly", ale rozhodl jsem se pro příkazy. Zde je seznam: /ndatadd název DB:id skin vehicleid repeat – přidá nahrávku do databáze. - název – klasika, kterou známe. Jedná se o název nahrávky bez koncovky .rec - DB:id – ID databáze, není třeba předem nijak deklarovat ani definovat. - vehicleid – vehicleid, nikoliv modelid. Pokud bude někdo mít zájem, můžu předělat na modelid, stačí napsat. - repeat – true/false 0/1, jedná se o opakování. /ndatdel DB:id název – smaže nahrávku z databáze - DB:id – ID databáze, není třeba předem nijak deklarovat ani definovat. - název – název nahrávky. /ndatlist DB:id <limit> – vypíše databázi s limitem v range (limit-(limit+50)) - DB:id – ID databáze - <limit> – nepovinný parametr. Jedná se o limit kvůli přehlednosti v chatu. /ndatall DB:id – vyvolá všechny nahrávky z databáze - DB:id – ID databáze /ndatdelall DB:id – smaže celou databázi - DB:id – ID databáze Edited 5. Únor, 2016 by HighPrint 6 Link to comment Share on other sites More sharing options...
Scydo 397 Odesláno: 3. Únor, 2016 Share Odesláno: 3. Únor, 2016 Ach, ty verze... Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 3. Únor, 2016 Author Globální moderátor Share Odesláno: 3. Únor, 2016 Největší krása je v pojmenování verze Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 4. Únor, 2016 Share Odesláno: 4. Únor, 2016 Nevím jestli jsem to nepročítal pořádně. ale umí to nahravat animace vyvolané jiným fs? Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 4. Únor, 2016 Author Globální moderátor Share Odesláno: 4. Únor, 2016 To neumožňuje ani SA:MP, ale šlo by to zrealizovat. Nebo nechápu dotaz. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 4. Únor, 2016 Share Odesláno: 4. Únor, 2016 To neumožňuje ani SA:MP, ale šlo by to zrealizovat. Nebo nechápu dotaz. https://wiki.sa-mp.com/wiki/ApplyAnimation http://forum.sa-mp.com/showthread.php?t=296107 takto to myslím. Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 4. Únor, 2016 Author Globální moderátor Share Odesláno: 4. Únor, 2016 (upraveno) Jo tak to jde, akorát to v týhle verzi to nebude zahrnuté. LINK JE UP!! Edited 5. Únor, 2016 by HighPrint Link to comment Share on other sites More sharing options...
TheJizzy 34 Odesláno: 5. Únor, 2016 Share Odesláno: 5. Únor, 2016 (upraveno) Používám since 2012. I like it a lot, pane. Edited 5. Únor, 2016 by JizzyCZ Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 5. Únor, 2016 Author Globální moderátor Share Odesláno: 5. Únor, 2016 UPDATE v1.0000002 MINOR – Ošetřené proti natáčení v autě a vystupování. – small bugfixes – v /nrep jsem zapomněl vyvolání nahrávky v případě ukončení / optimalizace – zbytečné vyvolávání getNpcId. MAJOR – Nyní můžete vyvolat více nahrávek najednou, fungujou na bázi databáze. Přemýšlel jsem, že je předělám do dialogu ať je to víc "user-friendly", ale rozhodl jsem se pro příkazy. Zde je seznam: /ndatadd název DB:id skin vehicleid repeat – přidá nahrávku do databáze. - název – klasika, kterou známe. Jedná se o název nahrávky bez koncovky .rec - DB:id – ID databáze, není třeba předem nijak deklarovat ani definovat. - vehicleid – vehicleid, nikoliv modelid. Pokud bude někdo mít zájem, můžu předělat na modelid, stačí napsat. - repeat – true/false 0/1, jedná se o opakování. /ndatdel DB:id název – smaže nahrávku z databáze - DB:id – ID databáze, není třeba předem nijak deklarovat ani definovat. - název – název nahrávky. /ndatlist DB:id <limit> – vypíše databázi s limitem v range (limit-(limit+50)) - DB:id – ID databáze - <limit> – nepovinný parametr. Jedná se o limit kvůli přehlednosti v chatu. /ndatall DB:id – vyvolá všechny nahrávky z databáze - DB:id – ID databáze /ndatdelall DB:id – smaže celou databázi - DB:id – ID databáze Link to comment Share on other sites More sharing options...
PERROTEXD 0 Odesláno: 6. Červenec, 2016 Share Odesláno: 6. Červenec, 2016 (upraveno) Mám problém, Tato zpráva se zobrazí Při stahování (Omlouváme se, ale tento obsah nebyl nalezen!We could not find the file specified) Edited 7. Červenec, 2016 by PERROTEXD Link to comment Share on other sites More sharing options...
Globální moderátor Hip 191 Odesláno: 7. Červenec, 2016 Globální moderátor Share Odesláno: 7. Červenec, 2016 To je bohužel bez rychlého řešení. Zřejmě jsme přišli o velkou část souborů co zde byla. Zkus napsat přímo autorovi. Link to comment Share on other sites More sharing options...
TheJizzy 34 Odesláno: 8. Červenec, 2016 Share Odesláno: 8. Červenec, 2016 Je to cizinec, napsal mi na youtube a já ho odkázal sem. Já se domluvím s Printem a kdyžtak mu to pošlu. Link to comment Share on other sites More sharing options...
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