Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: nastoe poslato Jul 17, 2010, 17:56:35 POSLE PODNE

Naslov: [TuT] DCMD procesor komande
Poruka od: nastoe poslato Jul 17, 2010, 17:56:35 POSLE PODNE
Evo vam jedno jednostavno pitanje, a znam da puno ljudi ovdje nezna ako vec i napravi onda kopiraju prerade itd. iskljucivo mislim na pocetnike da nebi netko krivo shvatio, evo ja cu vam objasniti kako napraviti preko DCMD procesora kako npr. napraviti komandu /kill [ID] ili /explode [ID] za komande sa duzim params[] cemo koristiti DCMD & sscanf pa evo za pocetak cemo napraviti komandu /kill [ID]

ispod CommandText

public OnPlayerCommandText(playerid, cmdtext[])
{
        dcmd(kill,4,cmdtext);
return 0;
}


zatim...

dcmd_kill(playerid,params[])
{
    new id;
    if(IsPlayerAdmin(playerid))
    {
    if (strlen(params))
    {
        id = strval(params);
        if (IsPlayerConnected(id))
        {
            SetPlayerHealth(id,0);
        }
        else
        {
            SendClientMessage(playerid, COLOR_RED, "[ERROR]: Igrac nije online.");
        }
    }
    else
    {
        SendClientMessage(playerid, COLOR_ADMININFO, "[KOMANDA]: /kill [PLAYERID]");
    }
}
else
{
       SendClientMessage(playerid, COLOR_RED, "[ERROR]: Moras biti RCON admin kako bi mogao koristiti ovu komandu.");
}
return 1;

}


Znaci da pojasnim na sto jednostavniji nacin kako smo mi dosli do fore da kad napises /kill [ID] da umre igrac ciji si ID upisao

Stavili smo tj. na neki nacin definirali new id;

onda ono IsPlayerAdmin(playerid) to znaci da ako je igrac RCON admin da moze koristi tu komandu...

if (strlen(params)), znacenje ovog koda je npr. strlen ucitava ono sta je igrac napiso dok strval ucitava broj znakova, params je mozemo reci ID igraca < to zapamtite
id = strval(params); gledajte sada sada je strval znaci prebrojava brojke i dolazi do konacnog broja


if (IsPlayerConnected(id)), provjera jeli igrac ciji ste ID napisali online mozete napraviti i ovako

if(!IsPlayerConnected(id))
{
   SendClientMessage(playerid, COLOR_RED, "[ERROR]: Igrac nije online.");
   return 1;
}
else
{
   // sta ce se dogoditi ako je online
}


Evo moram ici negdje -.- sutra vam pokazem kako konbinirati DCMD & sscanf da napravite npr. /makeadmin [ID] [Level]

By: ExtremePower

Edit: Konvert iz strcmp u DCMD je kod

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: TiXoR_ poslato Jul 18, 2010, 12:24:48 POSLE PODNE
lijep tut ovo ce pomoci mnogima ! :D
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: [IF] mariomako poslato Jul 18, 2010, 14:39:26 POSLE PODNE
Sta ima razlika od DCMD do CMD?
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: nastoe poslato Jul 18, 2010, 14:56:44 POSLE PODNE
Citat: Mario Velickovski poslato Jul 18, 2010, 14:39:26 POSLE PODNE
Sta ima razlika od DCMD do CMD?
Ne razumjem pitanje
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: Joey_ poslato Jul 18, 2010, 15:27:13 POSLE PODNE
Jako dobar tutorial! Pomoci ce pocetnicima u savladavnju DCMD-a. I htio sam pitati da li ima razlika izmedu ZCMD-a i DCMD-a? Jer ja osobno koristim ZCMD pa me zanimalo da li je ZCMD mozda malo brzi i bolji od DCMD-a.
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: [IF] mariomako poslato Jul 18, 2010, 17:23:23 POSLE PODNE
Citat: ExtremePower poslato Jul 18, 2010, 14:56:44 POSLE PODNE
Citat: Mario Velickovski poslato Jul 18, 2010, 14:39:26 POSLE PODNE
Sta ima razlika od DCMD do CMD?
Ne razumjem pitanje

sta dobijem ako komandu napravim na ovaj nacin a ne na ovaj

if(strcmp(cmd, "/pomoc", true) == 0)
{
SendClientMessage(playerid,BOJA,"Tu napisite sta zelite za vasu pomoc komandu!");
}


return 1;
}
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: [AG] N1n0 poslato Jul 22, 2010, 12:44:21 POSLE PODNE
Extreme nisi objasnio komandu kill, evo ja cu:

dcmd(kill,4,cmdtext); - ovaj broj sto vidite 4 to je broj koliko sadrzi komanda slova, uvek morate da stavite tacno, ili komanda nece raditi.

Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: nastoe poslato Jul 22, 2010, 13:08:04 POSLE PODNE
Citat: WhiteBurn poslato Jul 18, 2010, 15:27:13 POSLE PODNE
Jako dobar tutorial! Pomoci ce pocetnicima u savladavnju DCMD-a. I htio sam pitati da li ima razlika izmedu ZCMD-a i DCMD-a? Jer ja osobno koristim ZCMD pa me zanimalo da li je ZCMD mozda malo brzi i bolji od DCMD-a.
ZCMD je puno brzi od DCMD, DCMD je zapravo strcmp samo bolja verzija i jednostavnija dok ZCMD i sscanf su dva najbolja

Citat: (; N1n0 ;) poslato Jul 22, 2010, 12:44:21 POSLE PODNE
Extreme nisi objasnio komandu kill, evo ja cu:

dcmd(kill,4,cmdtext); - ovaj broj sto vidite 4 to je broj koliko sadrzi komanda slova, uvek morate da stavite tacno, ili komanda nece raditi.


Tko nezna sta znaci to nemoze znati niti raditi sa DCMD-om, sve jedno ljepo

Citat: Mario Velickovski poslato Jul 18, 2010, 17:23:23 POSLE PODNE
Citat: ExtremePower poslato Jul 18, 2010, 14:56:44 POSLE PODNE
Citat: Mario Velickovski poslato Jul 18, 2010, 14:39:26 POSLE PODNE
Sta ima razlika od DCMD do CMD?
Ne razumjem pitanje

sta dobijem ako komandu napravim na ovaj nacin a ne na ovaj

if(strcmp(cmd, "/pomoc", true) == 0)
{
SendClientMessage(playerid,BOJA,"Tu napisite sta zelite za vasu pomoc komandu!");
}


return 1;
}

Sta ti pricas ovaj tvoj strcmp nema niti strtok to je samo SUHA komanda
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: [ST]RexXx poslato Jul 22, 2010, 19:54:29 POSLE PODNE
Dobar ti je tut Extreme
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: LordShigi poslato Jul 22, 2010, 20:15:38 POSLE PODNE
Nece niko napraviti za zcmd? Moram ja? Ajd dobro.
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: Correlli poslato Jul 22, 2010, 20:16:25 POSLE PODNE
Citat: LordShigi poslato Jul 22, 2010, 20:15:38 POSLE PODNE
Nece niko napraviti za zcmd? Moram ja? Ajd dobro.

Za ZCMD već postoji ako nisi znao, samo je na engleskom jeziku.
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: LordShigi poslato Jul 22, 2010, 20:22:02 POSLE PODNE
Pa normalno da znam. Postoji na engleskom i za sve ostalo tu. Kolko ja znam i misao ovog podforuma je da tutoriali budu na hrvatskom. BTW upravo ga pišem
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: nastoe poslato Jul 22, 2010, 20:49:07 POSLE PODNE
Citat: LordShigi poslato Jul 22, 2010, 20:22:02 POSLE PODNE
Pa normalno da znam. Postoji na engleskom i za sve ostalo tu. Kolko ja znam i misao ovog podforuma je da tutoriali budu na hrvatskom. BTW upravo ga pišem
Ma nije cilj prevesti, to moze vecina ljudi nego je cilj objasniti na svom primjeru nemoj prevoditi
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: Correlli poslato Jul 22, 2010, 21:11:55 POSLE PODNE
Citat: LordShigi poslato Jul 22, 2010, 20:22:02 POSLE PODNE
Pa normalno da znam. Postoji na engleskom i za sve ostalo tu. Kolko ja znam i misao ovog podforuma je da tutoriali budu na hrvatskom. BTW upravo ga pišem

Pitanje ti je bilo "da li je napravljeno?", a ne "da li je prevedno?".
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: LordShigi poslato Jul 22, 2010, 21:44:55 POSLE PODNE
Haha, filozof. Nego napravio i postao, sutra cu jos dodati za sscanf.
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: Correlli poslato Jul 22, 2010, 21:49:20 POSLE PODNE
Citat: LordShigi poslato Jul 22, 2010, 21:44:55 POSLE PODNE
Haha, filozof.

Ili ne. Ne želim da me opet netko pogrešno shvati iako je post logičan.
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: nastoe poslato Jul 22, 2010, 23:03:32 POSLE PODNE
Po vama je filozof svatko tko napiÅ¡e jednu slozeniju recenicu i ako vas ispravlja kroz nju, nije vazno dosta Off Topica  :)
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: Kort!NuZ poslato Jul 23, 2010, 03:38:54 PRE PODNE
ajde to /makeadmin to mi sad najvise treba

Citat: (; N1n0 ;) poslato Jul 22, 2010, 12:44:21 POSLE PODNE
Extreme nisi objasnio komandu kill, evo ja cu:

dcmd(kill,4,cmdtext); - ovaj broj sto vidite 4 to je broj koliko sadrzi komanda slova, uvek morate da stavite tacno, ili komanda nece raditi.



hvala bas mi to trebalo
Naslov: Odg: [TUT] DCMD procesor komande
Poruka od: SARMA poslato Jul 23, 2010, 07:36:40 PRE PODNE
Lijepo i korisno  :)