StarsCream_Cze 1 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 Jak vytvořit NPC - překlad ze SA-MP fóra Obtížnost: Překlad a úprava: StarsCreamPůvodní autor: kcLink na původni topic: http://forum.sa-mp.c...?topic=119947.0Na tuto věc se bude ptát hodně lidí, takže kc udělal TUT, jak pracovat s NPC, tedy neehratelnými postavami, nebo-li také "boti".Obsah Nahrávka pohybu NPC Trovba scriptu Import do módu Nahrávka pohybu NPCNejdříve potřebujeme zapsat pohyb a všechno okolo toho pro NPC. K tomu slouží nahrávka, která se pak přehrává v postavě NPC.Spusťte SA-MP 0.3 server s jakýmkoli módem.Přihlašte se pod rcon. (Napište "/rcon login " ) a nahrajte filterscript npc_record (Napište "/rcon loadfs npc_record" )Po úspěšném nahrání npc_record nás zajímají 3 základní příkazy./vrecord - Začíná nahrávat vaše pohyby a akce vozidla, ve kterém sedíte do souboru jmeno_souboru./ofrecord - Začíná nahrávat vaše pohyby postavy pěšky do souboru jmeno_souboru./stoprecord - Ukončuje jakékoli nahráváníV tomto tutorialu programujeme bota, který řídí auto, takže jděte do vozidla a napište /vrecord mujbot (Pzn: musíte být pod RCONem) pro začátek nahrávání.Ujedte trasu, kterou má bot vykonávat a pak napiště /stoprecord.Ukončete hru a jděte do složky ScriptFiles ve vašem SA-MP 0.3 serveru, tam by měl být soubor mujbot.rec. Přesuňte jej do /npcmodes/recordings/Hotovo? Super, máte nahrané pohyby NPC a umístěné je v požadované složce. Tvorba scriptuPokračujeme ve scriptuVe složce npcmodes máte spoustu příkladů jak na boty, tyto "mini" scripty určují chování NPC.takže pojďme si vytvořit další.Zapněte pawno, dejte nový soubor a přepiště všechen obsah tímto#define RECORDING "mujbot" //Název souboru, který jsme nahrávali bez přípony .rec #define RECORDING_TYPE 1 //1 pokud je v autě, pěšky je to 2 #include main(){} public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING); #if RECORDING_TYPE == 1 public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING); public OnNPCExitVehicle() StopRecordingPlayback(); #else public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING); #endifToto může vaypadat nesrozumitelně, proto to vezmu po řádcích: #define RECORDING "mujbot" //Název souboru, který jsme nahrávali bez přípony .recKomentář již napovídá, že se jedná o jméno souboru, který má přehrávat, akorát bez přípony .rec. takže pokud se váš soubor mujbot jmenuje alfonz, musíte mít v /npcmodes/recordings/ soubor alfonz.recPak by to vypadalo takto:#define RECORDING "alfonz" //Název souboru, který jsme nahrávali bez přípony .rec #define RECORDING_TYPE 1 //1 pokud je v autě, pěšky je to 2Jak opět naznačuje komentář, jde o typ přehrávání. Pokud je tvůj NPC ve vozidle, je tam 1, pokud je pěšky 2. #include <a_npc>Základní include pro boty. public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);OnRecordingPlaybackEnd je callback forwardovaný v NPC includu. Tento řádek říká, že jakmile nahrávka končí, začíná opět odznova, takže jee to nekonečná smyčka. public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);Toto je zase callback, také z includu NPC. Způsobuje, že se začne přehrávat, když bot sedne do auta. public OnNPCExitVehicle() StopRecordingPlayback();A zase další callback opět z includu NPC. Tento zastavuje přehrávání, kdyykoli je jakkoli bot vyndán z auta. public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);A zase další callback opět z includu NPC. Tento spustí nahrávku NPC pokud se spawne a NPC má byt pěšího typu a ne v autě.Jak vidíte, jee to velmi jednoduché. Nyní uložte vás NPC "mini" script jako "mujbot.pwn" do /npcmodes/ a zkompilujte jej.Pokud máte hotovo, přesuneme se k dalšímu, poslednímu kroku tohoto tutorialu, pokud vám to vyhodilo errror, ujistěte se, že máte aktualizované includy u pawna na ty u SA-MP 0.3 Import do móduPoslední krok...Takže, vytvořili jsme "mini" script pro kontrolu NPC postavy, ale teď potřebujeme bota nahrát na server. Použijeme k mód/filterscipt.zavřete "mini" script, a a otevřete váš mód, nebo filterscript v pawnu.Je čas, zasvětit vás do funkce ConnectNPC.Jak už název napovídá, jde o připojení NPC na server.Podívejme se na parametry funkce a co znamenají...ConnectNPC("Michal","mujbot"); "Michal" - První parametr je jméno bota. Takto rozeznáte různé boty navzájem od sebe."mujbot" - Toto je jméno souboru (bez přípony) našeho dříve vytvořeného "mini" scriptu.Nyní známe parametry funkce ConnectNPC. Připojme vašeho prvního bota!S vaší novou znalostí funkce ConnectNPC, zkusíme vytvořit NPC připojení při loadu módu/filterscriptu.Vyzkoušeli? OK, dal jsem to do OnGameModeInit...public OnGameModeInit() { print("my gamemode"); ConnectNPC("Michal","mujbot"); return 1; }Nyní, pokud sme vytvářeli bota, co řídí vozidlo, tak mu ho taky musíme dát.Takže script upravíme takto:new AutoBota; //Global variable! public OnGameModeInit() { print("my gamemode"); ConnectNPC("Michal","mujbot"); AutoBota = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); return 1; }Pzn: je jedno, kde auto vytvoříte, při začátku přehrávání bota se auto přesune na požadovanou pozici.ještě poslední věc, než začnete testovat svého bota. Musíme ho nějak dát do auta.Já používám OnPlayerSpawn...public OnPlayerSpawn(playerid) { if(IsPlayerNPC(playerid)) //Kontrola, pokud je spawnutý NPC. { new npcname[MAX_PLAYER_NAME]; GetPlayerName(playerid, npcname, sizeof(npcname)); //Zjišťuje jméno NPC. if(!strcmp(npcname, "Michal", true)) //Zjišťuje, jestli je jméno bota Michal { PutPlayerInVehicle(playerid, AutoBota, 0); //Strčí NPC do auta, které sme vytvořili } } return 1; }Nyní zkompilujte mód/filterscript a hurá na server.S trochou štěstí uvidíte bota jezdit v autě přesně tak, jak jste nastavili.Gratuluju! Vytvořili jste svého 1. robotaNefunguje něco? Napište sem, a společně to opravíme Návod upraven tak, aby odpovídal šabloně pro "Nové návody" 1 Link to comment Share on other sites More sharing options...
Mischino19 2 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 hmm jak som nato pozrel tak to hned bolo pekne xD neprecital som to cele xD ae myslym ze to je bomba xDD Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 hezke vyuziju na osfada a proc si tam misto alfonz nedal Osfald :D Link to comment Share on other sites More sharing options...
7.Host 3 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 super tut akorát by mě zajímalo jak přidat víc botů? Ještě jsem teda nezkoušel ani jednoho no ale tak do budoucna Link to comment Share on other sites More sharing options...
StarsCream_Cze 1 Odesláno: 3. Září, 2009 Author Share Odesláno: 3. Září, 2009 pojmenuješ je jinak a uděláš novou nahrácku, nebo prostě timer a jiné jméno na jednu nahrávku Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 dobre napsany este sem to neskousel ale mam dotaz s tim spawnem GetPlayerName(playerid to zjistuje jmeno hrace a ne boti co kdyz na serveru bude hrac jmenem Michal a bot se taky bude jmenoval michal? este dotaz ja se na sa-mpforum moc nevyznam kde sezenu sa-mp 0.3 a pawno 0.3 nebo aspon beta proste neco aby sem ty "boti" mohl vyskouset docela mne to zajima XD potom este dotaz kdyz nahrajes jizdu toho bota a treba do nej narazis tak ho projedes nebo ti spadne server neco co se stane? Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 ATomasi už sem to skoušel nějáký LVDM nebo jak to je já se moc v těch zahraničních modech neviznam ale vim že jeden NPC kdyš sem do něj narazil jel rychlejc a pak odjetěl jako by ten NPC měl S0Beit . Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 aha diky a kdyz uz si to skousel kde sezenu pawno+ windows ci linux server 0.3(beta) klienta uz mam mimochodem ty NPC vypadaji jako hraci zejo to az do nic hnekdo narazi tak budou povazovani za cheatery Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 Je to možný že je budou považovat za cheatery xD Server seženeš na SA-MP Forku nebo jestli chceš pošlu ti ho xD... // - Edit: Jako cheateři mno skoušel si někdy dát v normal GTA SA cheat rypazha (nebo jak...) tak tak něják že jen odletí prostě něco jako letadlo ale jinak to jezdilo jako vozembouch..... Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 Avest podivej se jestli nekdo nahraje bota a bude cheatovat tak bude teoreticky i bot cheatovat --> takhle sem to pochopil Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 Nehrál byl to jen Hamachi server..... byl sem tam z kámošem ten on nebyl xD Link to comment Share on other sites More sharing options...
StarsCream_Cze 1 Odesláno: 3. Září, 2009 Author Share Odesláno: 3. Září, 2009 Michal byl jen příkaldový název bota, klidně se může jmenovat T1000_Arnie. A je sranda, když si nahrajete let letadla a pak bota posadíte do auta....pak je to cheater. Jinak když jsem chtěl mou policejní hlídku zastavit, tak v klidu proejl 10 erampami a tank mi rozbil Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 3. Září, 2009 Share Odesláno: 3. Září, 2009 Je to možný že je budou považovat za cheatery xDServer seženeš na SA-MP Forku nebo jestli chceš pošlu ti ho xD... // - Edit: Jako cheateři mno skoušel si někdy dát v normal GTA SA cheat rypazha (nebo jak...) tak tak něják že jen odletí prostě něco jako letadlo ale jinak to jezdilo jako vozembouch..... cau no na sa-mp forum mam nejaky ucet neznam heslo a nejde se mi regnou tak jestli by si mi to pls mohl poslat? ICQ 416455073 nejsem tam moc online protoze kdyz mam zaply icq tak mam co delat abych si zahral gta sa njn vista vsak vis kdyz tak napis ze mne cekas nebo tak neco rad by sem si s tim botem dal zavod Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 6. Září, 2009 Share Odesláno: 6. Září, 2009 Lidi skousel sem to asi 30x ale nepodarilo se mi rozjet chodícího Bota spawne se a stojí na místě a kdyz do neho naburam motorkou tak se posune ale za par sekund o5 vrati. muzete mi helpnut Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 6. Září, 2009 Share Odesláno: 6. Září, 2009 njn a ja sem porad nesehnal pawno0.3 (beta) a server linux nebo windows ale aspon klienta mam Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 6. Září, 2009 Share Odesláno: 6. Září, 2009 njn a ja sem porad nesehnal pawno0.3 (beta) a server linux nebo windows ale aspon klienta mam search.php --> Includes a ono ti to najde Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 6. Září, 2009 Share Odesláno: 6. Září, 2009 njn sem hledal vsude a nic ani seznam ani google ani yaho ani ty japonci to nemaj a to uz je co rict Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 6. Září, 2009 Share Odesláno: 6. Září, 2009 možte mi helpnut ci tocit film Link to comment Share on other sites More sharing options...
Jean 0 Odesláno: 7. Září, 2009 Share Odesláno: 7. Září, 2009 Velmi užitečný TuT, rozhodně vyzkouším a doufám že nakonec uvidím svého prvního bota dělat první krůčky xD Zajímalo by mne, kdyz nahravam toho bota tak: 1. Jestly k tomu potrebuju ten filterscript nekde stahnout 2. Kdyz uz nahravam bota, tak kdyz se nekam portnu jestly on pak udela to same x) Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 7. Září, 2009 Share Odesláno: 7. Září, 2009 Lidi skousel sem to asi 30x ale nepodarilo se mi rozjet chodícího Bota spawne se a stojí na místě a kdyz do neho naburam motorkou tak se posune ale za par sekund o5 vrati.muzete mi helpnut a ma chodit nebo jezdit?? ... zkus to znova ... kdyžtak to doma zkusim a dam ti vedet.. zatim sem delal jen bus a s cheatem :DD on jel tak funny rychle Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 7. Září, 2009 Share Odesláno: 7. Září, 2009 meli by chodit ale furt stoji a jeden z nich se trepe na miste jak posahany Link to comment Share on other sites More sharing options...
FreeWall 3 Odesláno: 7. Září, 2009 Share Odesláno: 7. Září, 2009 kokoti ze sa-mp, hůř ty boty ani udělat nemohli, nedá se s nima skoro nic dělat, zlatá beta verza 0.2.5 ( a zlaté funkce ActorMoveTo a ActorDriveVehicleTo ) Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 8. Září, 2009 Share Odesláno: 8. Září, 2009 FreeWall":2r2c4uh2]kokoti ze sa-mp, hůř ty boty ani udělat nemohli, nedá se s nima skoro nic dělat, zlatá beta verza 0.2.5 ( a zlaté funkce ActorMoveTo a ActorDriveVehicleTo ) Tohjle jak sem si taky myslel .... tak se mi to začina libit, i když je to trochu složitejší ... tak ja je chapu podle mě v 0.2.5 beta leaked nebyla zmapovana cela mapa nebo aspon ne tak dobře .. takhle mužeš udělat bota co uděla přesně to co nahraješ ... a navic umi i troubit ale lol je když nahrajete andromadu a pak to změnite třeba na auto Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 8. Září, 2009 Share Odesláno: 8. Září, 2009 lol to nasere uz se mi povedlo zprovoznit ucet na sa-mp forku stahl sem si vsechno 0.3 beta pawno windows server a klienta ale mam dotaz? to pawno 0.3beta vypada jako pawno01b ?? proste jako yt velke pismena jako to bylo na 01b a nacic to je nejaky divny on oto pawno nezna ty funkce s botama je to nejaky divny to pawno0.3 je k sehnani jenom na sa-mp forku? Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 8. Září, 2009 Share Odesláno: 8. Září, 2009 lol to nasere uz se mi povedlo zprovoznit ucet na sa-mp forku stahl sem si vsechno 0.3 beta pawno windows server a klienta ale mam dotaz?to pawno 0.3beta vypada jako pawno01b ?? proste jako yt velke pismena jako to bylo na 01b a nacic to je nejaky divny on oto pawno nezna ty funkce s botama je to nejaky divny to pawno0.3 je k sehnani jenom na sa-mp forku? omg PAWNO je furt to samy ... akorat je tohle jinak nastaveny .... nastav si to v menu pawna to pismo ... verze je myslim furt 1.0 ... nikdo ji neměni jen se přidavaj includy ... a ty funkce s botama divny nejsou ... ty jsou prostě NPC ne jako v leaked...prostě playback 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