[Ajuda] SScanf fail...
#1

Gente me ajude por favor !! Fiz uns comandos em ZCMD e SSCANF mais eles nгo pegam ja fiz de tudoo...
pawn Код:
#include <a_samp>
#include <DOF2>
#include <zcmd>
#include <sscanf2>

#define Verde                0x00FF00FF
#define Vermelho             0xFF0000AA
#define Azul                 0x0000FFAA
#define Marron               0x804000AA
#define Branco               0xFFFFFFAA
#define Laranja              0xFF8000AA
#define Azul_Marinho         0x80FFFFAA
#define Cinza                0xC0C0C0AA
#define Rosa                 0xFF80FFAA
#define AZUL_CLARO           0x80BFFFAA
#define Verde_Escuro         0x007138AA
#define Amarelo              0xFFFF00AA
#define Roxo                 0x9F009FAA
#define VERDE_AGUA           0x03D687FF
#define CINZA_ESCURO         0x626262FF
#define VERDE                0x21DD00FF
#define VERMELHO_CLARO       0xFB0000FF
#define VERDE_CLARO          0x38FF06FF
#define ROSA_CHOQUE          0xE100E1FF
#define VERDE_ESCURO         0x008040FF
#define CINZA_ESCURO         0x626262FF

#define MAX_AVISOS           5 

#if defined FILTERSCRIPT
#else
#endif
enum Informacoes
{
    Admin,
    Banido,
    Aviso
}
new pInfo[MAX_PLAYERS][Informacoes];
new String[256];
new ID;
new Motivo[100];

public OnFilterScriptInit()
{
 print("\n--------------------------------------");
 print(" JNSystem Admin v1.0 Carregado.");
 print("--------------------------------------\n");
 return 1;
}

public OnGameModeInit()
{
    return 1;
}

public OnGameModeExit()
{
    DOF2_Exit();
    return 1;
}

public OnPlayerConnect(playerid)
{
    new arquivo[40], nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
    format(arquivo, 40, "JSADMIN/Contas/%s.ini", nome);
    if(DOF2_FileExists(arquivo))
    {
        pInfo[playerid][Admin] = DOF2_GetInt(arquivo, "Admin");
        pInfo[playerid][Aviso] = DOF2_GetInt(arquivo, "Avisos");
        pInfo[playerid][Banido] = DOF2_GetInt(arquivo, "Banido");
    }
    else
    {
        DOF2_CreateFile(arquivo);
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40], nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
    format(arquivo, 40, "JSADMIN/Contas/%s.ini", nome);
    if(DOF2_FileExists(arquivo))
    {
        DOF2_SetInt(arquivo, "Admin", pInfo[playerid][Admin]);
        DOF2_SetInt(arquivo, "Avisos", pInfo[playerid][Aviso]);
        DOF2_SetInt(arquivo, "Banido", pInfo[playerid][Banido]);
        DOF2_SaveFile();
    }
    return 1;
}
CMD:daradmin(playerid, params[])
{
    new Level;
    if(sscanf(params, "ud", ID, Level))
    {
        SendClientMessage(playerid, Vermelho, "Uso Correto: /daradmin [id] [level]");
        return 1;
    }
    format(String, sizeof(String), "O Admin %s te promoveu a level %s de administrador.", Nome(playerid), Nome(ID), Level);
    SendClientMessage(ID, Azul, String);
    pInfo[ID][Admin] = Level;
    return 1;
}
CMD:kick(playerid, params[])
{
    if(pInfo[playerid][Admin] < 1)
    {
        if(sscanf(params, "us[128]", ID, Motivo))
        {
            SendClientMessage(playerid, Amarelo, "Uso Correto: /kick [id] [motivo]");
            return 1;
        }
        format(String, sizeof(String), "O Admin %s Kickou o player %s pelo motivo: %s",Nome(playerid), Nome(ID), Motivo);
        SendClientMessageToAll(Verde, String);
        Kick(ID);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, Amarelo, "Vocк nгo й um Administrador !");
        return 1;
    }
}

CMD:ban(playerid, params[])
{
    if(pInfo[playerid][Admin] < 1)
    {
        if(sscanf(params, "us[128]", ID, Motivo))
        {
            SendClientMessage(playerid, Amarelo, "Uso Correto: /ban [id][motivo]");
            return 1;
        }
        format(String, sizeof(String), "O Admin %s baniu o player %s pelo motivo: %s",Nome(playerid), Nome(ID), Motivo);
        SendClientMessageToAll(Vermelho, String);
        Ban(ID);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, Amarelo, "Vocк nгo й um Administrador !");
        return 1;
    }  
}

CMD:avisar(playerid, params[])
{
    if(pInfo[playerid][Admin] >= 1)
    {
        if(sscanf(params, "us[128]", ID, Motivo))
        {
            SendClientMessage(playerid, Vermelho, "Uso Correto: /aviso [id][motivo]");
            return 1;
        }
        if(pInfo[ID][Aviso] == MAX_AVISOS)
        {
            format(String, sizeof(String), "O Admin %s baniu o Player %s: Motivo: (Tinha 5 Avisos)", Nome(playerid), Nome(ID));
            SendClientMessageToAll(Vermelho, String);
            return 1;
        }
        format(String, sizeof(String), ">> O Admin %s deu um aviso no Player %s. Motivo: %s", Nome(playerid), Nome(ID), Motivo);
        SendClientMessageToAll(Vermelho, String);
        pInfo[ID][Aviso]++;
        return 1;
    }
    else
    {
        SendClientMessage(playerid, Amarelo, "Vocк nгo й Administrador !");
        return 1;
    }
}
           
CMD:av(playerid, params[])
{
    if(pInfo[playerid][Admin] >= 1)
    {
        new Texto;
        if(sscanf(params, "s[128]", Texto))
        {
            SendClientMessage(playerid, Amarelo, "Uso Correto: /av [mensagem]");
            return 1;
        }
        format(String, sizeof(String), "Administrador %s:%s", Nome(playerid), Texto);
        SendClientMessageToAll(Vermelho, String);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, Amarelo, "Vocк nгo й Administrador !");
        return 1;
    }
}

CMD:tapa(playerid, params[])
{
    if(pInfo[playerid][Admin] >= 1)
    {
        if(pInfo[ID][Admin] == 5)
        {
            SendClientMessage(playerid, Vermelho, "Vocк nгo pode dar um tapa em um Admin Dono");
            return 1;
        }
        if(sscanf(params, "u", ID))
        {
            SendClientMessage(playerid, Vermelho, "Uso Correto: /tapa [id]");
            return 1;
        }
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(ID, X, Y, Z);
        SetPlayerPos(ID, X, Y, Z+12);
        format(String, sizeof(String), "O Admin %s deu um tapa no Player %s.", Nome(playerid), Nome(ID));
        SendClientMessageToAll(Vermelho, String);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, Amarelo, "Vocк nгo й Administrador !");
        return 1;
    }
}
stock Nome(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, MAX_PLAYER_NAME);
    return pNome;
}
Todos ai dгo fail... alguma coisa me diz que sгo as strings, mas eles compilam sem erro mais na hora da fail nгo se й a include ou o plugin n sei !
Reply
#2

Ninguйm ?
Reply
#3

Tenta o comando de admin pra ver se pega ►

pawn Код:
//Topo do GM

#define DIALOG_ADM              4678

/*CMD:viraradmin(playerid, params[])
{
    pInfo[playerid][Admin] == 10;
    SendClientMessage(playerid, -1, " Pronto Admin 10 '-'");
    return 1;
}*/


CMD:daradmin(playerid, params[])
{
    if(!IsPlayerAdmin(playerid) && pInfo[playerid][Admin] < 10) return SendClientMessage(playerid, BRANCO, "Vocк precisa ser admin nivel 10 para usar este comando!");
    if(sscanf(params, "ud", ID, nivel)) return SendClientMessage(playerid, CINZA, "Use /daradmin [ID] [nivel]"), SendClientMessage(playerid, CINZA, "Use o comando para oferecer admin para algum jogador");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
    if(nivel < 0 || nivel > 10) return SendClientMessage(playerid, BRANCO, "[ERRO] Nivel invalido, use de 0 a 10");
    format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Ofereceu Admin Nivel %d de Admin para %s.\r\n", Nome(playerid), nivel, Nome(ID));
    SendClientMessageToAll(VERDE_AGUA, String);
    format(String, sizeof(String), "{FFFFFF}O Admin {1B95E0}%s{FFFFFF} estб lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel);
    ShowPlayerDialog(ID, DIALOG_ADM, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar");
    return 1;
}


Apaga o public OnFilterScriptInit() se vocк tiver criando um GameMode !
Reply
#4

rs Obg pegou.. vou me basear nesse para fazer os outros +rep
Reply
#5

Quote:
Originally Posted by Jonas_Alves
Посмотреть сообщение
rs Obg pegou.. vou me basear nesse para fazer os outros +rep
De nad's se precisar de mais comando so Pedir '
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)