Právě je stř 23. kvě 2012 11:18:05
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[INC]Turbo Enter-Exit System od SURANY_MORE
[INC]AddAmmo od Riso135_
[Stránka] Hostingu SA-MP od Ewwe
[HELP] Skrytie TextDrawu od Om3n
[HELP] realne zatykani od KillBill61

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 12 ] 
Autor Zpráva
 Předmět příspěvku: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 21:49:03 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

Čaute, predstavujem vám QCMD v2 ! Rýchlosť je rovnaká ako QCMD v1 ale má nové možnosti.

Novinky

- Ako prvé pribudol parameter "bool:help" ktorý sa má jednu vynikajúcu vlastnosť. Ak hráč napríklad nevie, čo ten príkaz robí (dajme tomu že ten príkaz je "/reconnect") tak hráč napíšeš "/reconnect help" a vypíše mu, čo ten príkaz robí.

- Ako ďalšie pribudol public "OnPlayerCommandTextEx" ktorý sa vyvolá potom, čo daný príkaz v QCMD neexistuje

- Ako ďalšie si mnohí používatelia QCMD všimli, že ak máte npr. QCMD:ahoj(...) a na servery dáte /AHOJ tak napíše že príkaz neexistuje, aj to som opravil :) ale POZOR ! Funguje to tak, že všetky veľké znaky zmení na malé ! Takže vytvárajte príkazy iba malými znakmi !!!! Nerobte npr. QCMD:Hide alebo QCMD:HIDE !!!

Použitie


QCMD v1
Ak máte veľa príkazov cez QCMD v1 a nechce sa vám prídavať parameter "bool:help" stačí stlačiť CTRL + H a všetky "QCMD:" zmeniť na "OCMD:" (OldCMD) ktorý pridáva ten parameter.
Kód:
OCMD:ann(playerid,params[]){

return true;
}


CMD
Ako ste si všimli pribudol "CMD:prikaz" a to preto, lebo pri CMD musíte vypisovať parametre (playerid,params[],bool:help) čiže
Kód:
CMD:me(playerid,params[],bool:help){ ... return true; }

to pri "QCMD:prikaz" nemusíte

QCMD
Ak budete používať QCMD definíciu, nemusíte písať parametre... čo značne ušetrí čas :) Takže npr.
Kód:
QCMD:say(){
.....
return true;
}


OnPlayerCommandTextEx(playerid,cmdtext[],command[],params[])
Najprv vysvetlím parametre
playerid = čo asi :D (id hráča ktorý vyvolal príkaz)
cmdtext[] = celý príkaz (npr. /say ahojte všetci)
command[] = príkaz orezaný (npr. say)
params[] = params... (npr. ahojte všetci)
Má toľko parametrov preto, lebo už sú v premenách, takže prečo ich neposlať do publicu. A určite niekomu pomôžu :)
Kód:
public OnPlayerCommandTextEx(playerid,cmdtext[],command[],params[],bool:help){
if(strcmp(command,"me")){
....
return true;
}
return SCM(playerid,-1,"Príkaz neexistuje !");
//ak public použijete tak tu zmeniť "server unkown command" !
}


Návod

a) Stiahneme si http://solidfiles.com/d/6caebd5c5b/ (pre ľudí čo sa im to nechce sťahovať http://pastebin.com/PNYntbZf) a dáme si to do pawno/includes
b) Pridáme si hore #include "QCMD"
c) Niekam do módu dáme
(AK POUŽIJETE !)
Kód:
public OnPlayerCommandTextEx(playerid,cmdtext[],command[],params[],bool:help){

return SCM(playerid,MOJA_FARBA,"!! Tento prikaz NEEXISTUJE !!");
//Takto si môžete zmeniť text, aby nevypísalo "server unkown command"
}

(AK NEVYUŽIJETE)
Choďte do QCMD.inc a uvidíte riadok
"return false; // SEM SI DAJTE SVOJ TEXT "SCM(playerid,-1,"Príkaz neexistuje");""
Tak tam môžete dať miesto toho false napríklad "SCM(playerid,-1,"Prikaz neexistuje");" !
d) Teraz si nájdite public OnPlayerCommandText(playerid,cmdtext) a return 0 zmeňte na OnPlayerCommand(playerid,cmdtext); takže to bude vyzerať takto niak
Kód:
public OnPlayerCommandText(playerid, cmdtext[])
{

   return OnPlayerCommand(playerid,cmdtext);
}

e) Ak máte príkazy v QCMDv1 a nechce sa vám pridávať parameter ",bool:help" tak postupujte podľa Použitie -> QCMD v1
f) Užívajte v zdraví ;)

Ukážkové Príkazy

Kód:
QCMD:me(){
if(!IsPlayerAdmin(playerid) return SCM(playerid,-1,"Niesi admin !");
if(!params[0]) return SCM(playerid,-1,"Použitie: /me text");
if(help) return SCM(playerid,-1,"Príkaz /me pošle správu \"*Admin: text\"");
new string[128];
format(string,128,"*Admin: %s",params);
SendClientMessageToAll(COLOR_RED,string);
return true;
}

CMD:pm(playerid,params[],bool:help){
if(help) return SCM(playerid,-1,"Príkazom /pm môžeš poslať hráčovy súkromnú správu");
new id,text[100];
if(sscanf(params,"iz",id,text)) return SCM(playerid,-1,"Použitie: /pm ID Správa");
if(!IsPlayerConnected(id)) return SCM(playerid,-1,"Nemôžeš posielať správu hráčovy, ktorý není na servery");
new string[128];
format(string,128,"Správa od %s(%d): %s",Jmeno(playerid),playerid,text);
SendClientMessage(id,string);
format(string,128,"Správa pre %s(%d): %s",Jmeno(id),id,text);
SendClientMessage(playerid,string);
return true;
}

A teraz si ukážeme možné využitie nového publicu
Kód:
public OnPlayerCommandTextEx(playerid,cmdtext[],command[],params[],bool:help){
// POZOR ! Nezadávajte príkazy aj s '/' ! Inač príkaz nebude správne fungovať !
if(!strcmp(cmdtext,"help",true,5)){
SCM(playerid,-1,"/help /novinky /reconnect /afk /back /banme");
return true;
}

if(!strcmp(commad,"say")){
if(!params[0]) return SCM(playerid,-1,"Nezadal si text !");
new string[128];
format(string,128,"*Admin: %s",params);
SendClientMessageToAll(-1,string);
return true;
}

return SCM(playerid,-1,"Príkaz neexistuje !");
// Nesmiete zabudnúť že aj keď tento public využijete,
// tak tu budete musieť meniť správu z "server unkown command" na npr.
// "príkaz neexistuje"
}



Otázky


Otázka: Je QCMD v2 rýchlejší ako QCMD v1 ?
Odpoveď: No, pôvodne bol, lenže potom som pridal nové možnosti a tým je rovnako rýchla (alebo skôr pomalá) ako QCMD v1. Nahradil som strfind cyklom, ktorý je rýchlejší, ale potom tam mám zmenu veľkých znakov na malé a ešte či sa params nerovná "help"

Otázka: Musím používať parameter bool:help ?
Odpoveď: Samozrejme nemusíš, ak nedáš niečo v štýle "if(help) return SCM(playerid,-1,"Tento príkaz je na toto a toto");" tak to bere ako obyčajný params, ako keby si napísal "/prikaz ahojte"

Otázka: Prečo sú 3 spôsoby, ako vytvoriť príkaz ?
Odpoveď: OldCMD je preto, že ak už niekto v móde používa QCMD a má veľa príkaz, aby nemusel doplňovať parameter ",bool:help". CMD je zase pre tých ktorý majú radi čisto a vidia všetko na poriadku, preto aj vypisujú parametre "(playerid,params[],bool:help)". A QCMD je môj štýl :D - jedným slovom mampičista, aké parametre QCMD má viem, tak ich nemusím vypisovať iba ich jednoducho používam :)

Otázka: Prečo mi stále vypisuje "Príkaz neexistuje" aj keď mám QCMD:prikaz (Ale akcia v príkaze sa vyvolá)?
Odpoveď: Asi si zabudol/zadal zlý return. Musíš každý príkaz ukončovať return true; alebo return 1; npr.
Kód:
QCMD:sss(){
Ban(playerid);
return true;
}


Dúfam že sa vám QCMD v2 páči a minimálne dobehol, maximálne prekonal vaše očakávania od QCMD v2
S pozdravom
QWER

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Naposledy upravil QWER dne úte 08. kvě 2012 21:40:28, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 21:49:43 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

Ďakujem Ewwe-mu za nahlásenie chyby

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 21:50:31 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: úte 02. lis 2010 22:16:14
Příspěvky: 1473
Bydliště: Program Files(x64);

Na QCMD v2 jsem se těšil jak malej kluk a dočkal sem se a sstálo to za to ..

_________________
ObrázekObrázekObrázekObrázekObrázek


ObrázekObrázekObrázek

Obrázek

K temné straně Dooku přidal se. Lži, zrada a nedůvěra jsou teď nástroje jeho.


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:11:50 
Cesar Vialpando
Cesar Vialpando
Uživatelský avatar
Registrován: stř 11. lis 2009 16:04:05
Příspěvky: 1918
Bydliště: NightCore a GrooveRadio

QCMD v1
Ak máte veľa príkazov cez QCMD v1 a nechce sa vám prídavať parameter "bool:help" stačí stlačiť CTRL + H a všetky "QCMD:" zmeniť na "OCMD:" (OldCMD) ktorý pridáva ten parameter.
Kód:
OCMD:ann(playerid,params[]){

return true;
}

Namiesto QCMD mas napisane OCMD... Keby toto kopiroval Copy n Paste pawner, tak mu to hodi error atd....

_________________
PWNED.CZ pre Slovakov


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:12:25 
Cesar Vialpando
Cesar Vialpando
Uživatelský avatar
Registrován: stř 11. lis 2009 16:04:05
Příspěvky: 1918
Bydliště: NightCore a GrooveRadio

Jinak skusim , 10/10, ten prikaz HELP se mi moc libi... :)

_________________
PWNED.CZ pre Slovakov


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:14:47 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

GAMELASTERツ píše:
QCMD v1
Ak máte veľa príkazov cez QCMD v1 a nechce sa vám prídavať parameter "bool:help" stačí stlačiť CTRL + H a všetky "QCMD:" zmeniť na "OCMD:" (OldCMD) ktorý pridáva ten parameter.
Kód:
OCMD:ann(playerid,params[]){

return true;
}

Namiesto QCMD mas napisane OCMD... Keby toto kopiroval Copy n Paste pawner, tak mu to hodi error atd....

to OCMD je tam schválne... kebyže si otvoríš pastebin alebo aspoň prečítaš ten text pochopíš...

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:16:13 
The Truth
The Truth
Uživatelský avatar
Registrován: sob 05. úno 2011 14:19:37
Příspěvky: 423

Moc cool na mňa :) 10/10

_________________


Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:16:21 
Cesar Vialpando
Cesar Vialpando
Uživatelský avatar
Registrován: stř 11. lis 2009 16:04:05
Příspěvky: 1918
Bydliště: NightCore a GrooveRadio

Sry, ked som to cital, nebolo to tam napisane...

_________________
PWNED.CZ pre Slovakov


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:17:11 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

ale bolo :D ja som to neupravoval od vytvorenia témy :D :D :D inač by tam bolo "datum Naposledny upravoval QWER "

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: čtv 09. úno 2012 23:20:46 
Cesar Vialpando
Cesar Vialpando
Uživatelský avatar
Registrován: stř 11. lis 2009 16:04:05
Příspěvky: 1918
Bydliště: NightCore a GrooveRadio

QWER píše:
ale bolo :D ja som to neupravoval od vytvorenia témy :D :D :D inač by tam bolo "datum Naposledny upravoval QWER "

OMG , nevies ze: QWER je carovny :D

Ok, stop OT

_________________
PWNED.CZ pre Slovakov


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: pát 10. úno 2012 13:35:08 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

Best of! :)

Chystáš se dělat i v3?

Jinak GoodJob, 10/10.

_________________
Používejte mozek! Snadněji tak vyřešíte záhadu Schrödingerovy kočky.


Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [INC/SCRIPT] QCMD v2
PříspěvekNapsal: pát 10. úno 2012 13:36:02 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

bohužiaľ v3 pravdepodobne nebude, všetko čo som chcel tu je, je to rýchle a jednoduché... Možno kebyže tak trošku zrýchliť script, ale to možno už ani nepôjde :D

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 12 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Om3n


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: