Přejít na obsah

I-ZCMD [*]

i-zcmd zcmd dcmd příkazy pawno návod

  • Pokud chcete odpovědět, přihlaste se
5 odpovědí

#1
Lukasz

Lukasz

    Sassenach

  • Uživatel
  • Příspěvků: 763
  • Je tu celkem: 39d 17h 13m 41s

I-ZCMD

:1:

Obsah:
Úvod
I-ZCMD
Vytváření příkazů
Funkce includu
Tipy a triky

Příklady
Závěr
 
1. Úvod:
V tomto návodu se podíváme na práci s příkazovým systémem I-ZCMD. Konkrétně tedy probereme vytváření příkazů, používání funkcí includu a nějaké tipy.
 
2. I-ZCMD
Příkazový systém I-ZCMD vytvořil

Please Login or Register to see this Hidden Content

, jako reakci na neaktuálnost ZCMD, z kterého také vychází. Jedná se o aktuálnější, optimalizovanější a rychlejší ZCMD. Stáhnout jej můžete na tomto

Please Login or Register to see this Hidden Content

.
Návod se bude držet aktuálního I-ZCMD, ale většina informací platí i k

Please Login or Register to see this Hidden Content

.
 
3. Vytváření příkazů
Příkazy můžeme vytvářet hned několika způsoby a to 


Please Login or Register to see this Hidden Content

Please Login or Register to see this Hidden Content

 
pozn. V příkazech při vrácení 0 (CMD_FAILURE) a nepoužití OnPlayerCommandPerformed se vypíše hláška "UNKNOWN COMMAND". Doporučuji tedy vracet 1 (CMD_SUCCESS).
 
V samotném scriptu nepoužíváme OnPlayerCommandText (I-ZCMD ho již zahrnuje), protože se stejně nezavolá. Místo této funkce zde máme dvě funkce, na které se nyní podíváme.
 
4. Funkce includu

V I-ZCMD se narozdíl od ZCMD tyto funkce volají přímo. To je jednou z optimalizací, kterou tento systém prošel (ZCMD využívá funkci CallLocalFunction, která je více časově náročná).

.
●   OnPlayerCommandReceived(playerid, cmdtext[]) je plnou náhražkou za OnPlayerCommandText a má stejné parametry. Funkce se volá před samotným procesem zpracování a volání zadaného příkazu.
Vrácením 0 můžeme ukončit zpracování příkazu, ale nebude vypsána hláška "UNKNOWN COMMAND".
 
●   OnPlayerCommandPerformed(playerid, cmdtext[], success) je další ze zmiňovaných dvou funkcí. Narozdíl od předešle, se tato funkce volá až po zavolání našeho příkazu. Funkce má stejné parametry, ale jeden zde přibyl. Hodnota success odpovídá vrácené hodnotě funkce CallLocalFunction (pokud příkaz existuje, odpovídá vrácené hodnotě v daném příkazu). Díky tomuto parametru si tedy můžeme kontrolovat, zda příkaz existuje, proběhl v pořádku a podobně.
Vrácení 0 v této funkci vypíše hlášku "UNKNOWN COMMAND".
 
5. Tipy a triky
●   I-ZCMD není defaultně case-sensitive. Znamená to tedy, že příkaz "/prikaz" a "/PRIKAZ" vyvolá stejnou funkci, avšak tuto vlastnost můžeme změnit následující definicí (nelze u ZCMD).

Please Login or Register to see this Hidden Content

.

●   Narozdíl od ZCMD, se nehookuje OnFilterScriptInit/OnGameModeInit, a proto nijak neřešíme definici FILTERSCRIPT.
.

●   Pokud chceme zjistit, zda hráč nezadal parametry, využijeme k tomu isnull (součástí includu). Viz spoiler.

Spoiler

.

●   Příkaz můžeme vyvolat odkudkoliv následujícím způsob (za playerid a params si dosadíme příslušné hodnoty)

Please Login or Register to see this Hidden Content

Tímto způsobem můžeme jednoduše vytvořit mnoho příkazů, které provádějí stejné akce.

 

6. Příklady

●   Jednoduchý příkaz na zabití hráče (bez parametrů).

Please Login or Register to see this Hidden Content

.

●   Jednoduchý příkaz (s parametrem), ukázka použití isnull a chybová hláška.

Please Login or Register to see this Hidden Content

.

●   Vlastní text místo "UNKNOWN COMMAND".

Please Login or Register to see this Hidden Content

.

●   Zakázání příkazů danému hráči.

Please Login or Register to see this Hidden Content

.

7. Závěr

To by bylo k tomuto návodu o jednom z nejrychlejších příkazových systémů vše. Pokud máte nějaké otázky, připomínky, nebo máte cokoliv jiného na srdíčku, můžete dát vědět do komentářů.

 

[success='Ověřený návod']Tento návod prošel validací, a lze ho proto považovat za ověřený.[/success]


  • 4
hsmpodpis.png

#2
Paulee

Paulee

    Learning pawn ...

  • Uživatel
  • Příspěvků: 576

Steam Profile

  • Paulee - Offline
    Since: led 18 2017 21:46:05
    17,1 hrs last 2 weeks.
    Add Friend

   
  • Je tu celkem: 7d 19h 4m 19s

Zdravím,

Máš to tu pěkně popsané, ale nemáš nějaký graf o kolik je I-ZCMD rychlejší než ZCMD? Mě se zdá, že v tom až takový rozdíl nebude. Jinak pěkný tut pro začátečníky.


  • 0

Gamenice.sk - My Game My Life


#3
Lukasz

Lukasz

    Sassenach

  • Uživatel
  • Příspěvků: 763
  • Je tu celkem: 39d 17h 13m 41s

y_commands - 1231ms (MEH YSI)

ZCMD - 1201ms
I-ZCMD - 547ms
I-ZCMD (case-sensitive) - 353ms

 

to znamená

 

I-ZCMD (case-sensitive) - 3.40x rychlejší než ZCMD

I-ZCMD - 2.20x rychlejší než ZCMD

 

Uváděny jsou průměrné hodnoty a zdrojem je tento topic: 

Please Login or Register to see this Hidden Content

Při měření podle tohoto kódu: 

Please Login or Register to see this Hidden Content


Upraveno uživatelem Lukasz: 31 červenec 2016 - 21:11:31

  • 0
hsmpodpis.png

#4
vEnd

vEnd

    Programátor apod.

  • Globální moderátor
  • Příspěvků: 421
  • Je tu celkem: 33d 20h 30m 23s

Co kdyby se to přesunulo do hlavní sekce? Byla by škoda, kdyby to zapadlo do historie v téhle sekci.


  • 0

96b259ac47244701b5097887d9439120.png

I always enjoy meeting people more chemically imbalanced than myself. -Trevor Philips
Roses are gay, violets are gayer, fuck the poem and listen to Slayer.

Roses are red. Violets are blue. When I Listen to Metallica My neighbors do too!

Unix is user friendly. It just happens to be very selective about who it decides to make friends with.

What's the object-oriented way to become wealthy? Inheritance.


#5
Paulee

Paulee

    Learning pawn ...

  • Uživatel
  • Příspěvků: 576

Steam Profile

  • Paulee - Offline
    Since: led 18 2017 21:46:05
    17,1 hrs last 2 weeks.
    Add Friend

   
  • Je tu celkem: 7d 19h 4m 19s

y_commands - 1231ms (MEH YSI)

ZCMD - 1201ms
I-ZCMD - 547ms
I-ZCMD (case-sensitive) - 353ms

 

to znamená

 

I-ZCMD (case-sensitive) - 3.40x rychlejší než ZCMD

I-ZCMD - 2.20x rychlejší než ZCMD

 

Uváděny jsou průměrné hodnoty a zdrojem je tento topic: 

Please Login or Register to see this Hidden Content

Při měření podle tohoto kódu: 

Please Login or Register to see this Hidden Content

 

Wow. Jsem nečekal, že až o tolik to bude rychlejší. GJ


  • 0

Gamenice.sk - My Game My Life


#6
UareBugged

UareBugged

    Your nightmare

  • Globální moderátor
  • Příspěvků: 1 113

Steam Profile

  • Je tu celkem: 21d 1h 3m

Téme presunutá

Téma presunutá do hlavnej sekcie návodov


  • 0





Také označeno jedním nebo více klíčovými slovy: Návod, i-zcmd, zcmd, dcmd, příkazy, pawno, návod

0 uživatelů si prohlíží toto fórum

0 uživatelů, 0 návštěvníků 0 anonymních uživatelů

© 2015 IPS, Inc.

TOPlist

Zajímat Vás mohou ještě aktuální zprávy. sleviště, slevy dnes Herbalife je skvělou cestou pro dobré zdraví. Je libo dětský web?