JardaHrajeCZ 12 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 (upraveno) ÚVODPo poměrně delší době od prvního tématu jsem se rozhodl, že zkusím druhý díl, se kterým si chci dát více práce. Dnes bych vám chtěl říct něco, o prvních jednoduchých příkazech, ukázat, jak se pojmenovává gamemode a napsat pár vysvětlivek, které i právě chyběly u prvního tématu. První příkazy [*]Ve složce se serverem ve složce pawno si otevřeme soubor pawno.exe, doporučuji spouštět jako správce. Po otevření nalezneme několik funkcí, které nás zatím zajímat nebudou, ale pokusím se je ve vysvětlivkách popsat. Nalezneme tuto funkci: public OnPlayerCommandText(playerid, cmdtext[]) //Toto je funkce, kde se píši veškeré příkazy (warpy, hráčské příkazy..). { if (strcmp("/mycommand", cmdtext, true, 10) == 0) //Zde se udává, co chcete, aby se muselo napsat do chatu). { // Do something here //Zde se udává přímo ta funkce, pod těmito řádky vám ukážu vzor. return 1; //Ukončení příkazu hodnotou 1, ta hodnota 0 se píše až po posledním napsaném příkazu. } return 0; } // } = tímto se taktéž ukončuje každá funkce. VZOR PŘÍKAZU [Pouze vzor] { if (strcmp("/lv", cmdtext, true, 10) == 0) //lv = text, který jsem v mém případě napsal, co se musí do chatu zadat. { SetPlayerPos(playerid, x, y, z); //SetPlayerPos = Funkce pro změny pozice hráče (souřadnice si ukážeme příště). SendClientMessage(playerid, color, "Byl jsi odwarpován do LV !"); //SendClientMessage = příkaz, kde si můžete vytvořit zprávu pro hráče po napsání příkazu. return 1; //Ukončení příkazu hodnotou 1, ta hodnota 0 se píše až po posledním napsaném příkazu. } return 0; } Pojmenování gamemodu [*] Najdeme funkci: public OnGameModeInit(). //Funke, kde se pojmenovává mod, zapisují souřadnice s vozidly, ... Máme tam: SetGameModeText("Blank Script"); //Místo toho Blank Script si gamemode pojmenujeme. To samé zde: main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); //do závorky místo toho Blank gamemode... napíšeme název gamemodu. print("----------------------------------\n"); } Vysvětlivky na závěr [*] V confingu: gamemode0 //V confingu se za gamemode0 vždy napíše název gamemodu před spuštěním serveru. rcon_password //Heslo,díky kterému se můžete na serveru přihlásit jako rcon administrátor. maxplayers //Počet slotů, kolik chcete na serveru mít, to znamená, že kolik max. hráčů může být online najednou. hostname //Za hostname se píše jak chcete, aby se váš server v server listu jmenoval. filterscripts //Za filterscripts se píši názvy filterscriptů, které chcete na serveru mít, např: House systém, Job systém, ... weburl //Za weburl se píše název vašeho webu serveru, pokud tedy nějaký máte. language //Za language se píše jazyk vašeho serveru. Zobrazí se v server listu. V pawnu: include //Includy jsou vlastně takové věcičky, které musíte mít ve složce pawno/include, jinak by vám některé systémy nemusely fungovat. public OnFilterScriptInit() //Funkce, kde se pojmenovává váš filterscript. print("\n----------------------------------"); print(" Blank Gamemode by your name here"); //Zde se pojmenovává váš gamemode. print("----------------------------------\n"); public OnGameModeInit() //Funkce, kde se zapisují souřadnice aut, ikony na mapě, objekty, ... public OnPlayerCommandText(playerid, cmdtext[]) //Funkce, kde se vytváří příkazy, warpy, ... Toto už by mohlo být vše, funkcí je hodně, ale z toho, co jsme zatím dělali, tak je to dostačující. Tak snad někdy příště pokračování. S těma barvama, nevěděl jsem, jestli to nechat tak, počkám na ohlasy. Edited 18. Březen, 2017 by JardaHrajeCZ Link to comment Share on other sites More sharing options...
Fakerko_ 190 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 Proč jsi ty komenty rovnou nenapsal bílou barvou? 3 Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 U toho configu to co tam máš není všechno co tam je.. lanmode plugins port announce query onfoot_rate incar_rate weapon_rate stream_distance stream_rate maxnpc logtimeformat _________________ Tohle jsou ty, který jsou normálně v CFG (snad kromě plugins) a potom jsou x dalších, které si mohl vysvětlit taky, ať je to kompletní.. (napíšu jich tu pár, neznám všechny) ackslimit gamemodetext mapname chatlogging ______________- Mám potom ještě nějaké připomínky, ale upřímně... Asi víš jak to máš používat atp., umíš s tím pracovat, ale neumíš to potom vysvětlit, co se má z tohoto nováček naučit? Právě se naučil jak poslat zprávu a jak ho portnout na pozici x y z (pravděpodobně o nějakým např. /save k zjištění pozice nebude vůbec vědět), s tím, že i kdyby uměl dát save, tak kdyby chtěl portnout přesně tak jak stojí, nemá tam nastavený FacingAngle... Mohl si tam dát toho o hodně víc, například jak používat SetPlayerHealth, SetPlayerArmour, GivePlayerMoney, potom si mohl zjistit health, armour, money a klidně i tu pozici a aby mu to do chatu napsalo, kolik má životů, peněz atp. aby se nováček naučil pracovat se základníma funkcema... Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 Hochu, nepiš návody na pawno když je sakra neumíš.. vsadím se že ani nevíš co ve FUNKCI OnPlayerCommandText dělá return 1 a return 0... Link to comment Share on other sites More sharing options...
Hlavní moderátor vEnd 279 Odesláno: 18. Březen, 2017 Hlavní moderátor Share Odesláno: 18. Březen, 2017 Šablona pro psaní návodů (klik) "Své návody můžete zakládat v podsekci 'Nové návody'." Přesunuto do správné sekce. Teď k návodu. Je to víceméně totéž, co minule – částečné správná struktura návodu, otřesná stylizace, nedostačující vysvětlení. Fakt si cením snahy vytvářet návody (jsi jeden z mála, kdo neskončil po prvním návodu), ale když chceš předávat zkušenosti, měl by ses nejdříve sám doučit základy. Ověřování faktů také není od věci. U toho configu to co tam máš není všechno co tam je.. Je to návod pro nováčky, myslím, že ty, co uvedl, jsou nejpoužívanější, a proto je to dostačující. Link to comment Share on other sites More sharing options...
Scydo 397 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 (upraveno) public OnPlayerCommandText(playerid, cmdtext[]) //Toto je funkce,Pojmenuj to raději callback. Vzhledem k tomu, že většinu věcí, nevíš jak vysvětlit, nekomplikuj si to. Taky chybí nějaký popis: Zavolá po té, co hráč zadá příkaz(přesněji, po té, co zadá prakticky jakýkoliv text do chatu, co začíná /). if (strcmp("/mycommand", cmdtext, true, 10) == 0) //Zde se udává, co chcete, aby se muselo napsat do chatu). Nep. To je podmínka, a jejím obsahem je fce, která porovnává řetězec. Pokud porovná správně, pokračuje tím, co je v jejím bloku (aka ve { }). // } = tímto se taktéž ukončuje každá funkce.Bloky. A určitě není na škodu se o nich trošku zmínit, protože stačí jen jednu přehlédnout a může dojit až k hromadným chybám ve zdrojovém kódě. VZOR PŘÍKAZU [Pouze vzor]To nejsou příkazy, ale podmínky a fce pro porovnání řetězců. if (strcmp("/lv", cmdtext, true, 10) == 0) //lv = text, který jsem v mém případě napsal, co se musí do chatu zadat.Dobře, text jde ale nemusí se zadávat. To je jen podmínka, zda ho zadá. To je rozdíl. SendClientMessage(playerid, color, "Byl jsi odwarpován do LV !"); //SendClientMessage = příkaz, kde si můžete vytvořit zprávu pro hráče po napsání příkazu.Opět... Funkce, která odešle hráči danou zprávu do chatu. Žádný příkaz. return 1; //Ukončení příkazu hodnotou 1, ta hodnota 0 se píše až po posledním napsaném příkazu. Přečíst->http://wiki.sa-mp.com/wiki/OnPlayerCommandText Edited 18. Březen, 2017 by Ernst Remer Link to comment Share on other sites More sharing options...
Woody 114 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 Návod na pojmenování gamemodu . Link to comment Share on other sites More sharing options...
JardaHrajeCZ 12 Odesláno: 18. Březen, 2017 Author Share Odesláno: 18. Březen, 2017 U toho configu to co tam máš není všechno co tam je.. lanmode plugins port announce query onfoot_rate incar_rate weapon_rate stream_distance stream_rate maxnpc logtimeformat _________________ Tohle jsou ty, který jsou normálně v CFG (snad kromě plugins) a potom jsou x dalších, které si mohl vysvětlit taky, ať je to kompletní.. (napíšu jich tu pár, neznám všechny) ackslimit gamemodetext mapname chatlogging ______________- Mám potom ještě nějaké připomínky, ale upřímně... Asi víš jak to máš používat atp., umíš s tím pracovat, ale neumíš to potom vysvětlit, co se má z tohoto nováček naučit? Právě se naučil jak poslat zprávu a jak ho portnout na pozici x y z (pravděpodobně o nějakým např. /save k zjištění pozice nebude vůbec vědět), s tím, že i kdyby uměl dát save, tak kdyby chtěl portnout přesně tak jak stojí, nemá tam nastavený FacingAngle... Mohl si tam dát toho o hodně víc, například jak používat SetPlayerHealth, SetPlayerArmour, GivePlayerMoney, potom si mohl zjistit health, armour, money a klidně i tu pozici a aby mu to do chatu napsalo, kolik má životů, peněz atp. aby se nováček naučil pracovat se základníma funkcema... Ano, několik nedostatků tu je. Vím, že v konfingu je toho více, ale pro úplného nováčka a z toho co jsem zatím tak nějak popsal, tak je to dostačující. Ty další funkce jako SetPlayerHealth, SetPlayerArmour, GivePlayerMoney bych zavedl do nějakého z příštích témat, pokud má tedy cenu pokračovat. Co se týče pozic, tak pokud nějaké příště bude, tak mám v plánu tam ty pozice použít. Ale samozdřejmě každé kritiky beru. Návod na pojmenování gamemodu . Pojmenování bylo část tématu, ne celý. Myslím si, že ten co by pawno otevřel poprvé, tak by ani toto nevěděl a musel by si to najít. Link to comment Share on other sites More sharing options...
Fakerko_ 190 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 Ano, několik nedostatků tu je. Vím, že v konfingu je toho více, ale pro úplného nováčka a z toho co jsem zatím tak nějak popsal, tak je to dostačující. Ty další funkce jako SetPlayerHealth, SetPlayerArmour, GivePlayerMoney bych zavedl do nějakého z příštích témat, pokud má tedy cenu pokračovat. Co se týče pozic, tak pokud nějaké příště bude, tak mám v plánu tam ty pozice použít. Ale samozdřejmě každé kritiky beru. Pojmenování bylo část tématu, ne celý. Myslím si, že ten co by pawno otevřel poprvé, tak by ani toto nevěděl a musel by si to najít. Pokud nějaké příště bude? Ty jsi začal dělat tutoriál s tím, že další díl už možná ani nebude? Dobrý přístup, jen tak dál Link to comment Share on other sites More sharing options...
JardaHrajeCZ 12 Odesláno: 18. Březen, 2017 Author Share Odesláno: 18. Březen, 2017 Změněná barva ze zelené na modrou. Odstraněna jedna věc, kterou už jsem nejspíše vyřešil. Link to comment Share on other sites More sharing options...
TeoCZE 4 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 public OnFilterScriptInit() //Funkce, kde se pojmenovává váš filterscript. Jsem v pawnu nováček a myslel jsem si že do OnFilterScriptInit nebo OnGameModeInit se zapisujou věci co se stanou po zapnutí gamemodu nebo filterscriptu ... ale ty mi tvrdíš něco jiného 1 Link to comment Share on other sites More sharing options...
JardaHrajeCZ 12 Odesláno: 18. Březen, 2017 Author Share Odesláno: 18. Březen, 2017 Pokud nějaké příště bude? Ty jsi začal dělat tutoriál s tím, že další díl už možná ani nebude? Dobrý přístup, jen tak dál Myšleno tak, že jestli o to vůbec bude zájem. Ale ano, bude se tedy pokračovat Jsem v pawnu nováček a myslel jsem si že do OnFilterScriptInit nebo OnGameModeInit se zapisujou věci co se stanou po zapnutí gamemodu nebo filterscriptu ... ale ty mi tvrdíš něco jiného Do OnGameModeInit se zapisujou věci co se stavou po zapnutí gamemodu, nebo filterscriptu, ano. Já to možná vysvětlil trochu jinak, ale myšleno stejně. Zapisuješ tam například souřadnice vozidel. Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 18. Březen, 2017 Share Odesláno: 18. Březen, 2017 Myšleno tak, že jestli o to vůbec bude zájem. Ale ano, bude se tedy pokračovat Do OnGameModeInit se zapisujou věci co se stavou po zapnutí gamemodu, nebo filterscriptu, ano. Já to možná vysvětlil trochu jinak, ale myšleno stejně. Zapisuješ tam například souřadnice vozidel. To je jako napsat "Dneska sem šel do Tesca" s tím, že by si potom napsal, že si nemyslel Tesco ale Albert.. 1 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