[AJUDA] Comando
#1

Eu fiz um comando /skin, porйm quando eu digito /skin no jogo, aparece comando invбlido. Estou usando o "Blank Gamemode Y_INI" do Kingunit, todos os comandos sгo "CMD:", e o comando que eu criei, й strcmp.

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp("/skin", cmdtext, true, 10) == 0)
    {
        tmp = strtok(cmdtext, idx);
        new skinid = strval(tmp);
        if(skinid < 1 || skinid > 300) return SendClientMessage(playerid, -1, "Use 1 - 300");
        SetPlayerSkin(playerid, skinid);
        SendClientMessage(playerid, COLOR_WHITE, "Sua skin foi atualizada!");
        PlayerInfo[playerid][Skin] = skinid;
        return 1;
    }
    return 0;
}
Reply
#2

Usa em CMD tambйm...
Reply
#3

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
Usa em CMD tambйm...
Nгo sei usar.
Reply
#4

pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define COLOR_WHITE 0xFFFFFFFF

CMD:skin(playerid, params[])
{
    new
        skinid;
    if(sscanf(params, "i", skinid)) return SendClientMessage(playerid, -1, "Usage: /skin [Skin ID]");
    if(skinid < 1 || skinid > 300) return SendClientMessage(playerid, -1, "Use 1 - 300");
    SetPlayerSkin(playerid, skinid);
    SendClientMessage(playerid, COLOR_WHITE, "Sua skin foi atualizada!");
    PlayerInfo[playerid][Skin] = skinid;
    return 1;
}
Reply
#5

Quote:
Originally Posted by Kostas'
Посмотреть сообщение
pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define COLOR_WHITE 0xFFFFFFFF

CMD:skin(playerid, params[])
{
    new
        skinid;
    if(sscanf(params, "i", skinid)) return SendClientMessage(playerid, -1, "Usage: /skin [Skin ID]");
    if(skinid < 1 || skinid > 300) return SendClientMessage(playerid, -1, "Use 1 - 300");
    SetPlayerSkin(playerid, skinid);
    SendClientMessage(playerid, COLOR_WHITE, "Sua skin foi atualizada!");
    PlayerInfo[playerid][Skin] = skinid;
    return 1;
}
Pode me passar algum tutorial que dк para entender, sobre zcmd?

@edit: Comando funcionou certinho, obrigado!

+rep
Reply
#6

Esse tutorial explica bem como usar sscanf + zcmd

https://sampforum.blast.hk/showthread.php?tid=277842
Reply
#7

Quote:
Originally Posted by Los
Посмотреть сообщение
Vou te fazer um mini tutorial de ZCMD.

ZCMD й um processador de comandos, ou seja, ele nгo compara strings digitadas como o STRCMP. Ele foi feito para comandos mesmo.

Ele nгo se usa em nenhuma public. Ou seja, vocк deve por os comandos no final do GM, fora de todas as publics, e a public OnPlayerCommandText deve ser deletada.

Para utilizar o ZCMD, basta baixar este arquivo, colocar na pasta pawno/includes e no topo do GM definir:

pawn Код:
#include     <zcmd>
E pronto, esqueзa STRCMP.

Como converter um comando de STRCMP para ZCMD?
- Primeiramente retire o comando da public OnPlayerCommandText.
- Depois altere isso:

pawn Код:
if(strcmp(cmd, "/ir", true) == 0)
Para isso

pawn Код:
CMD:ir(playerid, params[])
- Nгo й necessбrio o "/" pois ele nгo compara strings, apenas executa comandos.

Espero que tenha entendido e convencido vocк a usar ZCMD.
Tуpico: http://forum.sa-mp.com/showthread.ph...05#post1557805
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)