Právě je úte 22. kvě 2012 12:31:20
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[Minecraft] SURVIVAL ISLAND - TRAILER od MartinHavo
[HLADAM] Názov web Hostingu od Jakubes
[HELP] NHL 09 od Jakubes
HRAJMINERCAFT.CZ - IndustrialCraft, BuildCraft, RedPower od MajkX
[OCHRANA] FS Control [Identifikovac hack prikazov] od Om3n

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ů: 11 ] 
Autor Zpráva
 Předmět příspěvku: [TUT] Multi CMD
PříspěvekNapsal: sob 13. zář 2008 11:17:28 
Wu Zi Mu "Woozzi"
Wu Zi Mu "Woozzi"
Uživatelský avatar
Registrován: čtv 24. črc 2008 13:00:01
Příspěvky: 1242
Bydliště: Praha

Zdravím, někdo možná stále používá cmd někdo dcmd, ale ja jsem si řekl,
že vám sem dám metodu, kterou používám už delší čas.
její zkratka je mcmd, neboli MultiCMD (to už máme cmd, dcmd a mcdm :D)

V čem je to jiné od dcmd?
Multi cmd používá narozdíl od dcmd 3 parametry.

Přiklad
DCMD
Kód:
dcmd_help(playerid,params[])


MCMD
Kód:
mcmd_help(playerid,param1[],param2[],param3[])


Definice mcmd
Kód:
#define mcmd(%3,%1,%2) if ((strcmp(beat(%1,0,' '),#%2, true)==0)&&(mcmd_%2(%3,beat(%1,1,' '),beat(%1,2,' '),beat(%1,3,' ')))) return 1


stock
Kód:
stock beat(string[], arg, symbol, begin = 0)
{
new output[32],outLen;
while (string[begin] && string[begin] == symbol) begin++;
while (string[begin])
{
if (string[begin] == symbol)
{
arg--;
while (string[++begin] == symbol) {
}}
if (!arg){
new ch;
while ((ch = string[begin++]) && ch != symbol && outLen < (sizeof (output) - 1))
{
output[outLen++] = ch;
}
output[outLen] = EOS;
return output; }
begin++;
}
return output;
}


Použítí
Poznámka: DCMD se dá využívt i v OnRconCommand. viz příklad
Kód:
mcmd_tt2(playerid,param1[],param2[],param3[])
{
print(param1);
print(param2);
print(param3);
#pragma unused playerid
return 1;
}

mcmd_xc(playerid,param1[],param2[],param3[])
{
print(param1);
print(param2);
#pragma unused param3
#pragma unused playerid
return 1;
}
public OnRconCommand(cmd[])
{
mcmd(0,cmd,tt2);
mcmd(0,cmd,xc);
return 0;
}


Kdyz nepouzijete v prikazu neco z tohoto
(playerid,param1[],param2[],param3[])

tak musite jako v dcmd, do prikazu pripsat

Pokud neni vyuzit playerid
Kód:
#pragma unused playerid


Pokud neni vyuzit param1
Kód:
#pragma unused param1


Pokud neni vyuzit param2
Kód:
#pragma unused param2


Pokud neni vyuzit param3
Kód:
#pragma unused param3


Definice v OnPlayerCommandText
Kód:
mcmd(playerid,cmdtext[1],xc);

xc = jmeno prikazu, kdyz budeme mit prikaz mcmd_help,
tak pouzijeme kod
Kód:
mcmd(playerid,cmdtext[1],help);

Poznamka: U mcdm nemusime pocitat pocet symbolu prikazu,
jak tomu bylo u dcmd.


Ukázka příkazu:

Kód:
mcmd_hparm(playerid,param1[],param2[],param3[]) {
if (IsPlayerAdmin(playerid)) {
if (!strlen(param1) || !strlen(param2) || !strlen(param3)) {
SendClientMessage(playerid,COLOR_RED,"Syntax: /hparm [playerid] [hp_amount] [arm_amount]");
return 1;
} else {
new plid = strval(param1);
new Float:hpa = floatstr(param2);
new Float:arma = floatstr(param3);
SetPlayerHealth(plid,hpa);
SetPlayerArmour(plid,arma);
new str[128],pln[24],pln2[24];
GetPlayerName(playerid,pln,sizeof(pln));
GetPlayerName(plid,pln2,sizeof(pln2));
format(str,sizeof(str),"Administrator %s gave %s %f hp and %f armour",pln,pln2,hpa,arma);
SendClientMessageToAll(COLOR_YELLOW,str);
}} else {
SendClientMessage(playerid,COLOR_RED,"You aren't an admin!");
}
return 1;
}


public OnPlayerCommandText(playerid, cmdtext[])
Kód:
mcmd(playerid,cmdtext[1],hparm);



Kód:
Credits:
Y_Less for improving the main function
Grove for testing this stuff in OnPlayerCommandText
LuxurY for MCMD

_________________
CPU: AMD FX-6100 [6 x 3.3 - 3.6GHZ]
RAM: 4096 MB DDR3 1333MHZ Cas Latency 9 Dual Channel
HDD: 1820 GB SATAII 32 MB Cache 7200RPM
GPU: ATI Radeon HD 4250 [500MHz 256 MB] + Turbo Boost
MB: AMD 880G/SB850 AM3+ Dual Intelligent Processors


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 13. zář 2008 11:21:38 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: čtv 31. črc 2008 11:00:48
Příspěvky: 784
Bydliště: mozkomor :D

joj super další věc na příkazy už umim cmd a dcmd ted se naučitm i mcmd a budu moc dělat admin script ve třech způsobech xD :clap: :clap: :thumbup: :thumbup: :rap:


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 13. zář 2008 12:24:44 

nevím jestli je dobré dělat mód ve třech způsobech já jsem začínal na CMD a tedka jsem na DCMD a stačí mi :-) DRACOBLUE 4 ever


  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 13. zář 2008 16:38:50 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Uživatelský avatar
Registrován: stř 20. srp 2008 10:24:58
Příspěvky: 2444

dobrý TUT :) to se hodí :D

_________________

Každý má právo na svůj názor . . .
. . . ale někdy stojí za to, se nad sebou zamyslet



Obrázek

Obrázek

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 13. zář 2008 17:01:57 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Uživatelský avatar
Registrován: stř 20. srp 2008 10:24:58
Příspěvky: 2444

pokud vám píše tento error : undefined symbol "beat" tak si dejte do modu toto :

Kód:
stock beat(string[], arg, symbol, begin = 0) {
new output[32],outLen;
while (string[begin] && string[begin] == symbol) begin++;
while (string[begin]){
if (string[begin] == symbol) {
arg--;
while (string[++begin] == symbol) {}}
if (!arg){
new ch;
while ((ch = string[begin++]) && ch != symbol && outLen < (sizeof (output) - 1)) {
output[outLen++] = ch; }
output[outLen] = EOS;
return output; }
begin++; }
return output;
}

_________________

Každý má právo na svůj názor . . .
. . . ale někdy stojí za to, se nad sebou zamyslet



Obrázek

Obrázek

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: pát 17. zář 2010 16:40:45 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

čau:
OPcmdText:
Kód:
mcmd(playerid, cmdtext[1], freeze); //řádek 829


MIMO:
Kód:
mcmd_freeze(playerid, param1[], param2[], param3[]) {
#pragma unused param3
//podminky + funkce
return 1;
}


ERRORY:
Kód:
829: error 017: undefined symbol "mcmd_"
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
error 029: invalid expression, assumed zero

vse v tom řádku 829


definice:
Kód:
#define mcmd(%3,%1,%2) if ((strcmp(beat(%1,0,' '),#%2, true)==0)&&(mcmd_%2(%3,beat(%1,1,' '),beat(%1,2,' '),beat(%1,3,' ')))) return 1


poradte nekdo prosím :D

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 18. zář 2010 21:48:23 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: úte 14. zář 2010 14:22:25
Příspěvky: 115

grunch píše:
čau:
OPcmdText:
Kód:
mcmd(playerid, cmdtext[1], freeze); //řádek 829


MIMO:
Kód:
mcmd_freeze(playerid, param1[], param2[], param3[]) {
#pragma unused param3
//podminky + funkce
return 1;
}


ERRORY:
Kód:
829: error 017: undefined symbol "mcmd_"
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
error 029: invalid expression, assumed zero

vse v tom řádku 829


definice:
Kód:
#define mcmd(%3,%1,%2) if ((strcmp(beat(%1,0,' '),#%2, true)==0)&&(mcmd_%2(%3,beat(%1,1,' '),beat(%1,2,' '),beat(%1,3,' ')))) return 1


poradte nekdo prosím :D


ja mám tu istu chybu :D mcmd_ - error :D

//EDIT: Už všetko fachá :D

_________________
[K-Zone Stunts & DeathMatch] 217.16.177.166:7777
* Many Stunts and Funs
* You can kill anyone you wish because it is DM!


Naposledy upravil Reast-X dne sob 18. zář 2010 22:21:09, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 18. zář 2010 21:54:24 
Jeffery Wilson "OG LOC"
Jeffery Wilson "OG LOC"
Registrován: sob 10. črc 2010 12:57:43
Příspěvky: 1019
Bydliště: Doma

Prominte že sem píšu ale Grunch napsal do téma stré 2 roky založeno

Kód:
Napsal: sob 13. zář 2008 11:17:28


A Grunch napsalv PATEK 17 září 2010
Ale jinak že na to narážim by si toho nikdo nevšim jak na to tak koukam
:spam:

_________________
CPU : Intel Core i7- 3820k 8x3,6GHzGrafika : nVIDIA GTX 680 2GB RAM :16GB 4x4GB HDD : SATA III IntelliPower PMR WD20EARX 2TB

Moje PC je na hry , zatím rozjedu úplně všecky hry...

Kód:
[b]$i = 0;
while($i==2) {
$i ++;
echo"Sem zvědavej kdy to skončí.";
$i --;
}
[/b]


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 18. zář 2010 23:20:16 
Eddie Pulaski
Eddie Pulaski
Registrován: pon 05. říj 2009 19:36:07
Příspěvky: 1527
Bydliště: Ostrava

Fuu... DCMD je lepší...

_________________
Nicky, kterýma přijíždím servery: Bl4ck.J0k3r nebo Tatarska_Omacka :)


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: sob 18. zář 2010 23:21:09 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: úte 14. zář 2010 14:22:25
Příspěvky: 115

[other]B4RR0N píše:
Fuu... DCMD je lepší...


ja si myslím že nie :D skúšal som a zdá sa mi rýchlejší mcmd

_________________
[K-Zone Stunts & DeathMatch] 217.16.177.166:7777
* Many Stunts and Funs
* You can kill anyone you wish because it is DM!


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Multi CMD
PříspěvekNapsal: ned 19. zář 2010 0:05:00 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

loloe píše:
Prominte že sem píšu ale Grunch napsal do téma stré 2 roky založeno

Kód:
Napsal: sob 13. zář 2008 11:17:28


A Grunch napsalv PATEK 17 září 2010
Ale jinak že na to narážim by si toho nikdo nevšim jak na to tak koukam
:spam:


j sry taky jsem si toho nevšimnul :D omlouvám se :D náhodou jsem našel, tento odkaz, zkusil jsem si to a nešlo to tak jsem napsal, na datum jsem se fakt nekoukal :D ještě jednou se omlouvám.

_________________
Obrázek


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ů: 11 ] 

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


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


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: