Szerző Téma: ZCMD kérdés!  (Megtekintve 1103 alkalommal)

ZCMD kérdés!
« Dátum: 2013. április 25. - 21:15:57 »
0 Show voters
Nos, régen valami hasonló formátumban próbáltam megkéedezni ezt, de nem tudtam. Most ugye egy ideje már ZCMD-t használok, de én jobban szeretnék STRCMP-be dolgozni. A \"params\" részét a zcmd-nek hogyan tudom itt használni? mármint STRCMP-ben?(SSCANF al akarok parancsokat).
[mod]A témanév ne \"segítsetek plsplspls\" legyen, hanem egyértelmûen ami a kérdésre utal. (Az ilyen témák szó nélkül törlésre kerülhetnek, ez függ a moderátor hangulatától, lehet csak átnevezi a témád így mielõtt panaszkodnál hogy törölték, lehet csak átnevezte egy moderátor) erre máskor figyelj kérlek és olvasd el a szabályzatokat, köszönöm!  ;)[/mod]
« Utoljára szerkesztve: 2013. április 25. - 21:30:09 írta ZyZu »

[$IceMan$]

  • Vendég
ZCMD kérdés!
« Válasz #1 Dátum: 2013. április 25. - 21:27:33 »
0 Show voters
Lehet rosszúl értelmeztem de te most arra vagy kíváncsi, hogy hogyan is kell sscanf-al parancsot írni?
http://sampforum.hu/index.php?topic=23406.0
Ha nem erre gondoltál szólj és fejtsd ki jobban!

Nem elérhető bendor

  • 2949
    • Profil megtekintése
ZCMD kérdés!
« Válasz #2 Dátum: 2013. április 25. - 21:42:15 »
0 Show voters
A string összehasonlítós (strcmp) parancsoknál nem tudod használni az sscanf-ot.
Így tudsz kezelni paramétert:
[pawn]
    new cmd[30];
    new idx;
    cmd = strtok(cmdtext, idx);
    if(strcmp(cmd, \"/sayhello\", true) == 0)
    {
        new tmp[30];
        // assign the id (written by the user) to tmp
        tmp = strtok(cmdtext, idx);
        // convert the id to an integer using strval (this is essential)
        // and assign to otherplayer
        new otherplayer = strval(tmp);
        if(IsPlayerConnected(otherplayer))
        {
            SendClientMessage(otherplayer, 0xFFFF00AA, \"Hi, hello!\");
        }
        return 1;
    }[/pawn]
forrás Samp Wiki

Nem elérhető scripter01

  • 1035
  • Ex Moderálisan Globális
    • Profil megtekintése
ZCMD kérdés!
« Válasz #3 Dátum: 2013. április 25. - 22:09:59 »
0 Show voters
Nem értem a kérdést  :facepalm:

Nem elérhető bendor

  • 2949
    • Profil megtekintése
ZCMD kérdés!
« Válasz #4 Dátum: 2013. április 25. - 22:12:45 »
0 Show voters
Érdekes módon,én megértettem mit akar.
Tömören:paraméterfeldolgozás strcmp-ben sscanf segítségével

ZCMD kérdés!
« Válasz #5 Dátum: 2013. április 26. - 07:04:03 »
0 Show voters
Köszi Bendi, de valahogy ezen nem megyek el. Ezt a parancsot átírnád nekem STRCMPS-re?
 
#include <a_samp>
#include sscanf2
#include zcmd
#define      PIROS      0xff0808AA
CMD:sethp(playerid, params[])
{
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev, sizeof(nev));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,PIROS,\"Te nem vagy Admin Amigó!\");
new string[200];
new jatekos, hp;
if(sscanf(params,\"id\",jatekos, hp)) return SendClientMessage(playerid,PIROS,\"Használat: /sethp [id] [HP]\");
format(string,sizeof(string),\"Adtál %d nek %d mennyiségû armourt.\",jatekos, hp);
SendClientMessage(playerid, PIROS,string);
format(string,sizeof(string),\"Kaptál %s-tõl életet, összesen ennyit: %d\",nev, hp);
SetPlayerHealth(jatekos, hp);
return 1;
}

 
Asszem nem hibás a parancs, most írtam 2p alatt, szal nem tudom. De ez mind lényegtelen. Csak egy ilyen parancsot szeretnék STRCMP-be. Elõre is köszi.

Nem elérhető bendor

  • 2949
    • Profil megtekintése
ZCMD kérdés!
« Válasz #6 Dátum: 2013. április 26. - 14:22:58 »
0 Show voters
De,hibás
zcmd helyesen:
 

CMD:sethp(playerid, params[])
{
        new nev[MAX_PLAYER_NAME];
        GetPlayerName(playerid, nev, sizeof(nev));
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,PIROS,\"Te nem vagy Admin Amigó!\");
        new string[200];
        new jatekos, Float:hp;
        if(sscanf(params,\"if\",jatekos, hp)) return SendClientMessage(playerid,PIROS,\"Használat: /sethp [id] [HP]\");
        format(string,sizeof(string),\"Adtál %d nek %f mennyiségû armourt.\",jatekos, hp);
        SendClientMessage(playerid, PIROS,string);
        format(string,sizeof(string),\"Kaptál %s-tõl életet, összesen ennyit: %f\",nev, hp);
        SetPlayerHealth(jatekos, hp);
        return 1;
}

 
Az strcmp-s változathoz én sem értek igazán.
« Utoljára szerkesztve: 2013. április 26. - 14:24:31 írta Bendi. »

ZCMD kérdés!
« Válasz #7 Dátum: 2013. április 26. - 21:29:54 »
0 Show voters
Miért \"Float:HP\"? Ezt nem értem. A parancsom a másik verzióban is jó.

Nem elérhető bendor

  • 2949
    • Profil megtekintése
ZCMD kérdés!
« Válasz #8 Dátum: 2013. április 26. - 22:01:14 »
0 Show voters
Mivel a játékos élete lebegõpontos érték = float.

Nem elérhető scripter01

  • 1035
  • Ex Moderálisan Globális
    • Profil megtekintése
ZCMD kérdés!
« Válasz #9 Dátum: 2013. április 27. - 06:40:50 »
0 Show voters
Jah most már értem :)
Azt hiszem van ilyen konvertáló hogy CMD-bõl strcmp-be lehet egy progi segítségével ez olyan mint a deamx hogy amx-bõl pwn fáljt csináljunk majd utána nézek és ha van ilyen akkor be linkelem!

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
ZCMD kérdés!
« Válasz #10 Dátum: 2013. április 27. - 07:28:38 »
0 Show voters

Nem elérhető bendor

  • 2949
    • Profil megtekintése
ZCMD kérdés!
« Válasz #11 Dátum: 2013. április 27. - 08:45:50 »
0 Show voters
De ez nem csinálja vissza zyzu :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal