Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: Slay poslato Jun 09, 2011, 17:31:07 POSLE PODNE

Naslov: [TuT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 09, 2011, 17:31:07 POSLE PODNE
Y_COMMANDS TUTORIAL



Eto ne bi puno pisao niti filozofirao ali bi htio samo da kažem moje mišljenje i par korisnih savjeta što se tiče y_cmd's -a i ZCMD - a
Vidim veći dio foruma sada koristi ZCMD što je super gledajući da prije pol godine svi još bili na strcmp-u svako pitanje pitali su i postali komande u strcmp-u dok sada vidim prevladao je ZCMD.

Htio bi reći da je po mome mišljenju ZCMD u usporedbi sa Y_CMD - om ČISTA NULA!
Ima nekoliko razloga:


Da preÄ'emo na usporedu, napravit ću neke komande u ZCMD-u i u YCMD-u razlika nije uopće velika samo Å¡to YCMD ima viÅ¡e mogućnosti:


/*
   KOMANDA ZCMD /givemoney [id] [money]
*/

COMMAND:givemoney(playerid,params[])
{
     new
         id,
         money;
     if(sscanf(params,"ud",id,money)) return ERROR_PORUKA([5]);
     else if(id == INVALID_PLAYER_ID) return ERROR_PORUKA([2]);
     else
     {
           GivePlayerMoney(playerid, money);
     }
     return true;
}



A ovako bi to izgledalo sa YCMD-om


/*
     YCMD KOMANDA /givemoney [id] [money]
*/

YCMD:givemoney(playerid,params[],help)
{
      new
          id,
          money;
      if(help)
      {
            SCM(playerid, BOJA_PLAVA, "[ >> ] Komanda /givemoney služi za dodavanje novaca nekom igraču!");
      }
      else
      {
           if(sscanf(params,"ud",id,money)) return ERROR_PORUKA([5]);
           else if(id == INVALID_PLAYER_ID) return ERROR_PORUKA([2]);
           else
           {
                GiveMoney(playerid, money);
           }
      }
      return true;
}



Objašnjenje help parametra:


Još jednu bitnu stvar ću napomenuti:

ZCMD:

COMMAND:cc(playerid,params[]) return cmd_clearchat(playerid,params); // drugim imenom komande se poziva već postojeća > zcmd način

YCMD:

Command_AddAltNamed("clearchat", "cc"); // YCMD način

LINK DO Y_COMMAND's : http://forum.sa-mp.com/showthread.php?t=169029




Moj izbor je YCMD, sada je na vama da odlučite prelaženje sa ZCMD na YCMD je jednostavno samo morate malo vremena odvojiti ;)
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: System32 poslato Jun 09, 2011, 17:56:42 POSLE PODNE
lijepo je to ali ZCMD je puno jednostavniji mislim nes ti sto imas u YCMD stavis onu funkciju ERROR_MESAGE to isto kao i SCM :S
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Rotcod poslato Jun 09, 2011, 18:36:08 POSLE PODNE
Definitivno YCMD zato sto je ipak to Yless uradio a on zna sta radi!


A i ZCMD je dobar upocetku mi se cini da je bio brzi od YCMD?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Joey_ poslato Jun 09, 2011, 18:47:13 POSLE PODNE
Dobra tutorial. :)

Citat: _eXtreme_ poslato Jun 09, 2011, 18:36:08 POSLE PODNE
A i ZCMD je dobar upocetku mi se cini da je bio brzi od YCMD?

I još je brži, ali sa manje komandi. YCMD je brži od ZCMD-a u slučaju kad ima puno komandi.
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 09, 2011, 19:50:24 POSLE PODNE
Citat: Paradox poslato Jun 09, 2011, 18:47:13 POSLE PODNE
I još je brži, ali sa manje komandi. YCMD je brži od ZCMD-a u slučaju kad ima puno komandi.

Točno, a mislim da svatko tko drži ili radi RP mode sigurno će imati preko 250/300 komandi.

Citat: [AG] System32 poslato Jun 09, 2011, 17:56:42 POSLE PODNE
lijepo je to ali ZCMD je puno jednostavniji mislim nes ti sto imas u YCMD stavis onu funkciju ERROR_MESAGE to isto kao i SCM :S

ERROR_PORUKA > NIJE isto kao i SCM, SCM je samo skraćenica od SendClientMessage. ERROR_PORUKA je moja funkcija kojom si kratim muke. npr.

Ako je

ERROR_PORUKA[5] onda će pisati - KORISTI: 'komdanda' [paramtertri].
ERROR_PORUKA[2] onda će pisati - [SERVER]: Igrač sa tim ID-em nije online na serveru.
itd itd.

Citat: _eXtreme_ poslato Jun 09, 2011, 18:36:08 POSLE PODNE
A i ZCMD je dobar upocetku mi se cini da je bio brzi od YCMD?

ZCMD je još uvijek dobar ali zašto kad YCMD ima puno više mogućnosti. npr. update komandi BEZ restarta servera


Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: ...Neno... poslato Jun 09, 2011, 20:08:18 POSLE PODNE
Nije los ni ZCMD a ni YCMD,ali i sam si rekao da YCMD ima vise mogucnosti sto mi se veoma svidja.. ;)
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: bake_pg poslato Jun 17, 2011, 19:26:24 POSLE PODNE
YCMD jeste bolji i brži ali takoÄ'er iziskuje dodatno učenje i vježbanje. Za sada ostajem na ZCMD, ali abd sljedeći mod koji budem radio prelazim na YCMD.

Naravno savjet novim skripterima, koji tek počinju da odmah krenu od YCMD.
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: [IF] mariomako poslato Jun 18, 2011, 17:09:19 POSLE PODNE
koji je brzi? YCMD ili ZCMD?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: K4[Я]!K3 poslato Jun 18, 2011, 17:10:05 POSLE PODNE
Citat: Mario Velickovski poslato Jun 18, 2011, 17:09:19 POSLE PODNE
koji je brzi? YCMD ili ZCMD?

YCMD nesto malo  ;D
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 18, 2011, 17:12:06 POSLE PODNE
Citat: Mario Velickovski poslato Jun 18, 2011, 17:09:19 POSLE PODNE
koji je brzi? YCMD ili ZCMD?

Ako imaš puno komandi u skripti YCMD je brži, kod manje komandi je ZCMD nešto malo brži ali to je skoro pa zanemarivo...
Ali pošto tu prevladavaju RPG serveri/skripte a one imaju preko 300+ komandi znači u tom slučaju je brži YCMD od ZCMD-a
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: [IF] mariomako poslato Jun 19, 2011, 15:59:35 POSLE PODNE
a dali mora da se koristi to help ?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Joey_ poslato Jun 19, 2011, 16:19:41 POSLE PODNE
Citat: [IF] mariomako poslato Jun 19, 2011, 15:59:35 POSLE PODNE
a dali mora da se koristi to help ?

Ne moraš. Samo onda u svakoj komandi dodaj:

#pragma unused help
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: JuustyGe poslato Jun 19, 2011, 18:47:22 POSLE PODNE
Ma vi se sad mozete jebat, al meni je najbolji strcmp  ;D ;D
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: System32 poslato Jun 19, 2011, 19:02:31 POSLE PODNE
Citat: JuustyGe poslato Jun 19, 2011, 18:47:22 POSLE PODNE
Ma vi se sad mozete jebat, al meni je najbolji strcmp  ;D ;D
ma ti neznas sta valja, vi se mucite sa strcmp dok napravite komandu recimo /givegun oko 1 sat a j a sa ZCMD i sscanf za 5 minuta ;)
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: JuustyGe poslato Jun 19, 2011, 20:36:46 POSLE PODNE
Citat: System32 poslato Jun 19, 2011, 19:02:31 POSLE PODNE
Citat: JuustyGe poslato Jun 19, 2011, 18:47:22 POSLE PODNE
Ma vi se sad mozete jebat, al meni je najbolji strcmp  ;D ;D
ma ti neznas sta valja, vi se mucite sa strcmp dok napravite komandu recimo /givegun oko 1 sat a j a sa ZCMD i sscanf za 5 minuta ;)

Ma ja se salim, nego kad sam ja ucio bio je samo strcmp, i tad sam pravio te komande, a sad mi ih mrsko pretvarat u zcmd  :P ;D
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: bake_pg poslato Jun 20, 2011, 00:02:34 PRE PODNE
Pa i ne moraš, pola-pola.
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 20, 2011, 00:06:41 PRE PODNE
Citat: bake_pg poslato Jun 20, 2011, 00:02:34 PRE PODNE
Pa i ne moraš, pola-pola.

Å ta to?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: [IF] mariomako poslato Jun 20, 2011, 21:30:51 POSLE PODNE
ma jebat cu YCMD ostajem ja na ZCMD jel nekako mnogo glupo ovo Y_CMD, inace koliko ms je razlika ?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: bake_pg poslato Jun 20, 2011, 22:42:20 POSLE PODNE
Citat: [H]265 poslato Jun 20, 2011, 00:06:41 PRE PODNE
Citat: bake_pg poslato Jun 20, 2011, 00:02:34 PRE PODNE
Pa i ne moraš, pola-pola.

Å ta to?

Kaže mrsko mu prebacivat komande iz strcmp u ZCMD, pa mu kažem da ih ne mora prebacivat sve, nek nove radi u ZCMD/YCMD a stare nek ostanu u strcmp a neke nek prebaci.  8)
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 21, 2011, 19:20:26 POSLE PODNE
S time nije onda niÅ¡ta dobio onda raÄ'e neka ostane na strcmp jer će doči do konflikata
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Zarathos poslato Jun 24, 2011, 17:21:54 POSLE PODNE
Dobar je ovaj YCMD(mora valjati kad je od Y_Less-a :P), ja sam prebacio preko 100 komandi neki dan iz ZCMD-a u YCMD, pa sam testirao prije i poslije skriptu kakvi su rezultati i mogu reci da je brzi ali za 1,5 milisekundu xD

Ovo je vazno kada se uzme u obzir kada ima preko 200/300 komandi...
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 26, 2011, 14:13:36 POSLE PODNE
Citat: EM|Pacino poslato Jun 24, 2011, 17:21:54 POSLE PODNE
i mogu reci da je brzi ali za 1,5 milisekundu

Tu se ne radi o brzini, za one koji znaju što žele od svog moda... Oni koji koriste YSI naravno da će koristiti YCMD jer je KOMPAKTIBILAN sa CIJELIM YSI INC-om
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Zarathos poslato Jun 26, 2011, 14:47:00 POSLE PODNE
Ima veze, jer kako raste broj komandi (npr 100+), zcmd je sporiji, a osim toga YCMD ima dinamicni sistem preimenovanja komandi, izlist svih dostupnih komandi i 10x vise mogucnosti i komandi(funkcija) od zcmd-a...

iii da, zaboravio si napomenuti da kod nekih kompajlera ima greska, izbaca

error 036: empty statement
(ovo je Quincy i za SciTe-koji ja koristim)
Samo treba u pwn.properties u SciTe promijeniti pawncc na standardu
u
pawncc pawncc -v2 -d2 -;+ i radit ce vam...

a za Quincy ne znam, nisam ga nikad ni koristio...
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jun 27, 2011, 23:37:29 POSLE PODNE
S time nisam upoznat, niti je ovo tut o YCMD - u nego samo usporedba. Rekao sam, nije važno toliko brzina koliko je ta kompaktibilnost sa YSI-om.
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Zarathos poslato Jun 28, 2011, 15:02:06 POSLE PODNE
aha, u redu onda...
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Rick Dunn aka NaNx poslato Jul 22, 2011, 09:59:02 PRE PODNE
SRY refresh


Da pitam nesto
Moze li netko staviti primjer jednog YCMD-a i sscanf-a da vidim samo kako izgleda... neka jednostavna komanda
I koju zapravo ulogu u svemu ima sscanf a koju YCMD

I kada skinem Yless taj njegov file
Sta mi tocno treba za skriptanje od INC fileova
jer vidio sam ima i y_colors i take stvari

Edit: ovo drugo sam nasao .. a prvo?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Joey_ poslato Jul 22, 2011, 10:33:29 PRE PODNE

YCMD:makeadmin(playerid, params[], help)
{
if (help) SCM(playerid, -1, "Postavlja igracu administrator razinu.");
else
{
    new
    saMsg[119],
    pID,
    aLvl;

if (sscanf(params, "ui", pID, aLvl)) return SCM(playerid, 0xAADD00AA, "{FFFFFF}Koristi:{AADD00} /makeadmin <igracev ID> <administrator razina>");
else if (pID == INVALID_PLAYER_ID) return SCM(playerid, 0xFF0000AA, "Pogresan igracev ID.");
    else
    {
    SetPVarInt(pID, "AdminLevel", aLvl);
if (aLvl == 0)
{
    format(saMsg, sizeof(saMsg), "Administator razine %i %s ti je maknuo administrator razinu.", GetPVarInt(playerid, "Admin"), GetName(playerid));
SCM(pID, -1, saMsg);
format(saMsg, sizeof(saMsg), "Maknuo si igracu {FF7F24}%s {FFFFFF}adminstator razinu.", GetName(pID));
SCM(playerid, -1, saMsg);
    }
else
    {
            format(saMsg, sizeof(saMsg), "Administator razine %i %s ti je postavio administrator razinu {FF7F24}%i{FFFFFF}. Cestitke!", GetPVarInt(playerid, "Admin"), GetName(playerid), aLvl);
SCM(pID, -1, saMsg);
format(saMsg, sizeof(saMsg), "Postavio si igracu {FF7F24}%s {FFFFFF}adminstator razinu {EEEE00}%i{FFFFFF}.", GetName(pID), aLvl);
SCM(playerid, -1, saMsg);
    }
}
}
return 1;
}


To je moja jedna starija komanda, ali je oke. I sscanf ti je string spliter.
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Rick Dunn aka NaNx poslato Jul 22, 2011, 10:34:52 PRE PODNE
Citat: [GG] Paradox poslato Jul 22, 2011, 10:33:29 PRE PODNE

YCMD:makeadmin(playerid, params[], help)
{
if (help) SCM(playerid, -1, "Postavlja igracu administrator razinu.");
else
{
    new
    saMsg[119],
    pID,
    aLvl;

if (sscanf(params, "ui", pID, aLvl)) return SCM(playerid, 0xAADD00AA, "{FFFFFF}Koristi:{AADD00} /makeadmin <igracev ID> <administrator razina>");
else if (pID == INVALID_PLAYER_ID) return SCM(playerid, 0xFF0000AA, "Pogresan igracev ID.");
    else
    {
    SetPVarInt(pID, "AdminLevel", aLvl);
if (aLvl == 0)
{
    format(saMsg, sizeof(saMsg), "Administator razine %i %s ti je maknuo administrator razinu.", GetPVarInt(playerid, "Admin"), GetName(playerid));
SCM(pID, -1, saMsg);
format(saMsg, sizeof(saMsg), "Maknuo si igracu {FF7F24}%s {FFFFFF}adminstator razinu.", GetName(pID));
SCM(playerid, -1, saMsg);
    }
else
    {
            format(saMsg, sizeof(saMsg), "Administator razine %i %s ti je postavio administrator razinu {FF7F24}%i{FFFFFF}. Cestitke!", GetPVarInt(playerid, "Admin"), GetName(playerid), aLvl);
SCM(pID, -1, saMsg);
format(saMsg, sizeof(saMsg), "Postavio si igracu {FF7F24}%s {FFFFFF}adminstator razinu {EEEE00}%i{FFFFFF}.", GetName(pID), aLvl);
SCM(playerid, -1, saMsg);
    }
}
}
return 1;
}


To je moja jedna starija komanda, ali je oke. I sscanf ti je string spliter.

Jel mos neku jednostavnu .. recimo /m4 i da ti server da M4
Heal me .. da te sethp 100 samo da vidim kako radi .. jer ovo mi je malo komplicirano ja inace radim stunt mod ...
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Joey_ poslato Jul 22, 2011, 10:40:20 PRE PODNE

YCMD:kill(playerid, params[], help)
{
if(help) return SendClientMessage(playerid, -1, "Ova komanda vas ubija.");
else
{
    SetPlayerHealth(playerid, 0);
}
return 1;
}


Evo ti najjednostavnija. :D
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Rick Dunn aka NaNx poslato Jul 22, 2011, 10:41:30 PRE PODNE
Citat: [GG] Paradox poslato Jul 22, 2011, 10:40:20 PRE PODNE

YCMD:kill(playerid, params[], help)
{
if(help) return SendClientMessage(playerid, -1, "Ova komanda vas ubija.");
else
{
    SetPlayerHealth(playerid, 0);
}
return 1;
}



D:\SAMP\StuntHeaven\gamemodes\StuntHeaven.pwn(102) : error 017: undefined symbol "@yC_kill" meni izbaci ovo

Evo ti najjednostavnija. :D
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Joey_ poslato Jul 22, 2011, 10:43:07 PRE PODNE
Da li imaš ovako includano:

#include <YSI\y_commands>
#include <YSI\y_master>


?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Rick Dunn aka NaNx poslato Jul 22, 2011, 10:48:39 PRE PODNE
Citat: [GG] Paradox poslato Jul 22, 2011, 10:43:07 PRE PODNE
Da li imaš ovako includano:

#include <YSI\y_commands>
#include <YSI\y_master>


?

naravno

moji includi:

#include <a_samp>
#include <YSI\y_commands>
#include <YSI\y_ini>
#include <YSI\y_master>
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jul 26, 2011, 11:34:14 PRE PODNE
Sve je isto kao sa ZCMD samo je stvar šta imate parametar 'help' i on služi npr. ako imate komandu /pomoc

YCMD:pomoc(playerid, params[], help)
{
     #pragma unused params
     if(help) return SCM(playerid, ""#hex_boja"INFO: "#hex_boja"Lista komandi na serveru.");
     else
     {
          // efekt
     }
     return true;
}


i ako netko koristi /help pomoc vidjet ce poruku "INFO: Lista komandi na serveru"

Znači sve je isto samo ako ne želite koristiti help parametar ili params koristite

#pragma unused help
#pragma unused params

a kada ne koristite niti playerid onda stavite i playerid

#pragma unused playerid
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: []Flynâ„¢ poslato Jul 26, 2011, 16:20:00 POSLE PODNE
A jel to help daje neku prednost sem sto ispise taj text?
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: Slay poslato Jul 26, 2011, 17:04:04 POSLE PODNE
pa to jest prednost igrač može saznati šta koja komanda radi bez da šalje pitanje adminu

/help imekomande
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: SlicK poslato Avgust 05, 2011, 19:28:38 POSLE PODNE
Ja se ispricavam za refresh,ali :
http://i53.tinypic.com/ao6yaw.png

moze netko pomoc??
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: System32 poslato Avgust 05, 2011, 19:31:44 POSLE PODNE
Citat: SlicK poslato Avgust 05, 2011, 19:28:38 POSLE PODNE
Ja se ispricavam za refresh,ali :
http://i53.tinypic.com/21j2na1.png

moze netko pomoc??
kad trebas pomoc mozes refreshat...

provjeri jeli je u YSI folderu i ako je onda otvori pawno, lociraj gm i onda f5
Naslov: Odg: [TUT] Y_CMD's vs ZCMD
Poruka od: SlicK poslato Avgust 05, 2011, 19:34:38 POSLE PODNE
Hvala,morao sam samo locirat jer imam oko 10 pawna na kompu  :D