Tanga 131 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 Úvod: • Toto je návod, ako vytvárať príkazy tým najjednoduchším spôsobom. • Je dobré nepoužívať ten pôvodný systém pre zabránenie výskytu lagov, sprehľadnenie kódu. • Ak sa chceš vyhnúť sscanf, jednoducho len skoč na príklad 2, tam je to jednoducho ukázané. • Ak nevieš čo je sscanf, buď rád. Netreba ti to. Na začiatok:ak ešte nemáš includ zcmd • Najprv si stiahni includ zcmd a dajte ho do priečinka \pawno\include. • Zo svojho kódu musíš zmazať (ak tam máš) túto časť: public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0; } • Na začiatok tvojho skriptu napíš: #include <zcmd> • Čo je to includ: Includ je nejaký súbor, ktorý môžeš použiť vo svojom kóde. V skutočnosti sa používa len na sprehladnenie kódu. Ty si totiž môžeš celý includ prepísať do svojho kódu, ale to by bolo príliš chaotické a tak sa vymysleli includy . Tvar bežného príkazu: command(prikaz,playerid,params[]) { // Tu je nejaký kód return 1; } • Príkaz vždy nahradíš tvojim príkazom, napríklad ban, ale píše sa bez lomítka vpredu a nepíše sa do úvodzoviek. • Je mnoho spôsobov zápisu, ale tento je rozhodne najlepší a netreba ti vedieť iný. Príklady použitia ZCMD:1. Doplnenie života hráčovi: command(vyliecit,playerid,params[]) { SetPlayerHealth(playerid,100.00); SendClientMessage(playerid,0xFFFFFFAA,"Bol si vyliečený zadarmo!"); return 1; } 2. Odkaz adminovi: #define DIALOG_ODKAZADMINOVI 9999 // vytvorím si dialóg command(odkazadminovi,playerid,params[]) { ShowPlayerDialog(playerid,DIALOG_ODKAZADMINOVI,DIALOG_STYLE_INPUT,"Ohlásenie adminom","Prosím zadaj správu:","OK",""); // zobrazím ho return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_ODKAZADMINOVI) { if(!response || !strelen(inputtext)) return 1;// Ak si nevyplnil správu, tak sa nič nestane new MenoOdosielatela[MAX_PLAYER_NAME]; GetPlayerName(playerid,MenoOdosielatela,sizeof(MenoOdosielatela)); new string[256]; format(string,sizeof(string), "%s odoslal odkaz: %s", MenoOdosielatela, inputtext); // ak nevieš čo je format kukni návod dole for( new i = 0; i < MAX_PLAYERS, i++ ) // skontroluje každého hráča { if(IsPlayerAdmin(i)) // AK je admin RCON (prípadne váš vlastný lvl systém) { SendClientMessage(i,0xFFFFFFAA, string); // pošle mu tvoju správu bielej farby } } } return 1; } Návod označen jako platný Ten to návod byl označen jako platný.Návod může být kdykoli označen jako nevhodný či neplatný Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 tak todle "Slyším" poprvé command(vyliecit,playerid,params[]) já používam CMD:prikaz (playerid, params[])ale neřekl jsi hodne vecí . . . naco je např params proč je tam return 1; a proč se má používat toto a toto Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 3. Listopad, 2013 Author Share Odesláno: 3. Listopad, 2013 Myslel som, že to niekto napíše... command je prehladnejší a dá ti lepší zvyk do budúcich jazykov. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 Myslel som, že to niekto napíše... command je prehladnejší a dá ti lepší zvyk do budúcich jazykov. ale vážne fakt to vidím po prvé a nevím jestli je to steje že kdyby jsi nahradil vylecit na Vylecit tak příkaz je hned nefunkční Link to comment Share on other sites More sharing options...
Lax. 28 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 2. Odkaz adminovi: to si tam fakt dal super príklad. Keby si aspoň tam dal príkaz kde využiješ aj "params" tak by bolo dobre. Aha, veď ty ani nikde nevysvetľuješ čo to je A teraz mi zase hovor že je to dobrý návod Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 3. Listopad, 2013 Author Share Odesláno: 3. Listopad, 2013 Presne tak LAX.Nováčik nemá šancu pochopiť params, dokonca ani sscanf.Preto som ponúkol alternatívu s dialogom - okrem toho, že je to pohodlnejšie než písať príkaz. Link to comment Share on other sites More sharing options...
DooM 93 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 Tento tutoriál už je lepší než ten předchozí na format a souhlasím, že vysvětlovat úplnýmu začátečníkovi params je trošku předčasné, když ještě ani pomalu neví co jsou to parametry. Ještě jsem měl k tomu jednu výtku, ale tu se mi teď povedlo zapomenout, tak případně později dopíšu. Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 Jen jedna věc nesouhlasím s zápisem command(prikatz,playerid,params) nebo jak to je, je to zastaralé použití ZCMD ... Nové CMD: COMMNAD: Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 3. Listopad, 2013 Share Odesláno: 3. Listopad, 2013 Jen jedna věc nesouhlasím s zápisem command(prikatz,playerid,params) nebo jak to je, je to zastaralé použití ZCMD ... Nové CMD: COMMNAD: HURÁ ! Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 3. Listopad, 2013 Author Share Odesláno: 3. Listopad, 2013 Isigar, zápis, ktorý som ja použil je lepší syntakticky. Ty ho používaš určite len preto, že to tak robia ostatní. Môj spôsob je aj prehľadnejší. Link to comment Share on other sites More sharing options...
DooM 93 Odesláno: 4. Listopad, 2013 Share Odesláno: 4. Listopad, 2013 Isigare, Já jsem teda zcmd použil asi jednou v životě a jeho zdroják jsem neotevřel nikdy, ale myslím si, že CMD:XXX je pouze zkratka pro Command(..,..,..), takže si nemyslím, že by to byl nějaký zastaralý zápis zcmd. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 4. Listopad, 2013 Share Odesláno: 4. Listopad, 2013 Isigare, Já jsem teda zcmd použil asi jednou v životě a jeho zdroják jsem neotevřel nikdy, ale myslím si, že CMD:XXX je pouze zkratka pro Command(..,..,..), takže si nemyslím, že by to byl nějaký zastaralý zápis zcmd. když si nikdy neotevřel ZCMD jak sakra můžeš vedet co je dobre a co ne ?!? Link to comment Share on other sites More sharing options...
11xam11 0 Odesláno: 4. Listopad, 2013 Share Odesláno: 4. Listopad, 2013 Dobrý návod Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 4. Listopad, 2013 Author Share Odesláno: 4. Listopad, 2013 Tak pre tých čo opovrhujú mojou ZCMD metódou - ja som si dal tú námahu a pozrel sa, že čo je v zcmd.inc.Zistil som, že pôvodný príkaz je COMMAND.CMD je len odkazom na COMMAND a command je tiež len odkazom na COMMAND.Avšak command je prehľadnejšie, modernejšie. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 4. Listopad, 2013 Share Odesláno: 4. Listopad, 2013 Tak pre tých čo opovrhujú mojou ZCMD metódou - ja som si dal tú námahu a pozrel sa, že čo je v zcmd.inc. Zistil som, že pôvodný príkaz je COMMAND. CMD je len odkazom na COMMAND a command je tiež len odkazom na COMMAND. Avšak command je prehľadnejšie, modernejšie. i tak se mi víc libi CMD:tango (playerid,params[]) Link to comment Share on other sites More sharing options...
rhsCZ 19 Odesláno: 4. Listopad, 2013 Share Odesláno: 4. Listopad, 2013 nesouhlasim s tvojí definicí inlcudu Includ je nejaký súbor, ktorý môžeš použiť vo svojom kóde. V skutočnosti sa používa len na sprehladnenie kódu. Ty si totiž môžeš celý includ prepísať do svojho kódu, ale to by bolo príliš chaotické a tak sa vymysleli includy . neuvedl si ty věci např params apod.neuvedl si další metody k vytvoření příkazu s parametry např. myslim použití jiného cmd systému třeba QCMD nebo dcmd apod.uvedl jsi přímo co jsi mají stahnout ale nikde neni ani hláska že můžou použít jiný cmd systémnávod založený čistě na tvem preferovaném cmd systému je na nic Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 5. Listopad, 2013 Author Share Odesláno: 5. Listopad, 2013 RHS - to, že som neuviedol params sa riešilo pár komentov nad tebou...Ďalšie metódy tam nie sú, lebo y_cmd je najrýchlejší, ale zložitejší pre nováčika a dcmd je už pomalší.Ak to nikdy nepoužije netreba to vedieť.Návod ualožený na mojom štýle - to je subjektívne jak hovado - blbosť. Ak nepoznám iný štýl, rozdiel to nie je. Prečo by mal byť nanič?Ak sú logaritmy efektívnejšie tak ich mohol preferovať aj Hitler a používal by som ich. Link to comment Share on other sites More sharing options...
rhsCZ 19 Odesláno: 5. Listopad, 2013 Share Odesláno: 5. Listopad, 2013 RHS - to, že som neuviedol params sa riešilo pár komentov nad tebou... Ďalšie metódy tam nie sú, lebo y_cmd je najrýchlejší, ale zložitejší pre nováčika a dcmd je už pomalší. Ak to nikdy nepoužije netreba to vedieť. Návod ualožený na mojom štýle - to je subjektívne jak hovado - blbosť. Ak nepoznám iný štýl, rozdiel to nie je. Prečo by mal byť nanič? Ak sú logaritmy efektívnejšie tak ich mohol preferovať aj Hitler a používal by som ich. pro nováčka asi hned zprvu neni důležitá rychlost někomu může vyhovovat něco jiného ikdyž moc rozdílu v použití neni jen malinko jinačí zápis Link to comment Share on other sites More sharing options...
PiratesOfSamp 1 Odesláno: 1. Únor, 2014 Share Odesláno: 1. Únor, 2014 Da sa to hodnoťit jen dvoma čislami a to sou 10/10 Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 1. Únor, 2014 Share Odesláno: 1. Únor, 2014 Nováčik nemá šancu pochopiť params To je otazka schopnosti ucitele ucit respektive vysvetlovat Tady jsi ukazal jak delat prikazy, ale pro novacka by bylo dobre mu i rict jak to vlastne funguje... 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