[Pedido] Comando "darvip" em ZCMD
#1

Alguйm pode mim ajudar passar esse cmd pra sscanf2 pq eu passei bugou tudo ;/ с to conseguindo http://pastebin.com/N87vRHaC
Reply
#2

Primeiramente saiba como usar zcmd e sscanf.

No zcmd o comando й separado dos parвmetros, e o comando no zcmd nгo passa de uma callback, os parвmetros do comando ficam armazenados no params na callback que й o comando.

O sscanf separa strings pelo espaзo que hб, e armazena em strings, variбveis que vocк escolheu.

Se vocк nгo saber usar ambos nгo vai conseguir, vocк pode usar strtok no zcmd, mas vocк tem que saber como usar.

Olhe este link.
Reply
#3

af man nгo to conseguindo passar ;/
Reply
#4

Sabe qual й o problema?

Vocк sу quer copiar e colar, para fazer isso vocк precisa recriar o comando e para recriar vocк precisa saber usar sscanf ou strtok.

Exemplo:

pawn Код:
if(strcmp(cmd, "/msg", true) == 0)
{
    new tmp1[128], tmp[128];
    tmp1 = strtok(cmdtext, idx);
    if(!strlen(tmp1)) return SendClientMessage(playeridn -1, "Use: /msg [id] [mensagem]");
    if(!IsPlayerConnected(strval(tmp1)) return SendClientMessage(playeridn -1, "Jogador nгo conectado.");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playeridn -1, "Use: /msg [id] [mensagem]");
    SendClientMessage(strval(tmp1), -1, tmp);
    return 1;
}
// zcmd

//STRTOK
CMD:msg(playerid, params[])
{
    new id[128], msg_[128], ix;
    id = strtok(params, ix);
    if(!strlen(id)) return SendClientMessage(playerid, -1, "Use: /msg [id] [mensagem]");
    if(!IsPlayerConnected(strval(id)) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    msg_ = strtok(params, ix);
    if(!strlen(ix)) return SendClientMessage(playerid, -1, "Use: /msg [id] [mensagem]");
    SendClientMessage(strval(id), -1, msg);
    return 1;
}
// SSCANF
CMD:msg(playerid, params[])
{
    new id, msg[128];
    if(sscanf(params, "us[128]", id, msg)) return SendClientMessage(playerid, -1, "Use: /msg [id] [mensagem]");
    if(!IsPlayerConnected(id) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    SendClientMessage(id, -1, msg);
    return 1;
}
Reply
#5

Comando pronto abaixo, se ajudei responda no tуpico. Espero ter ajudado!

Ajudei? +Rep

PHP код:
CMD:darvip(playeridparams[]) {
    new 
idplayermesesaname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
    if(
PlayerDados[playerid][pAdmin] < 2) return SendClientMessage(playerid0xFF0000AA"Vocк precisa ser admin nivel 2 para usar este comando!");
    if(
sscanf(params"id"idplayermeses)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}USE: /darvip [id] [meses]");
    if(!
IsPlayerConnected(idplayer)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}Este player nгo estб conectado!");
     
GetPlayerName(idplayerpnamesizeof(pname));
    
GetPlayerName(playeridanamesizeof(aname));
    if(
meses 1) return SendClientMessage(playerid, -1"[ ERRO] {FF0000}Vocк nгo pode definir para 0 meses!");
    
format(stringsizeof(string), "[ INFO ] {00FF00}%s vocк deu para o(a) player %s %d mes(es) de VIP"anamepnamemeses);
    
SendClientMessage(playerid, -1string);
    
format(stringsizeof(string), "[ VIP ] O(A) administrador(a) %s te deu %d mes(es) de VIP com R$%d e %d Niveis, Aproveite Nossos beneficios!"anamemeses15000000*meses3*meses);
    
SendClientMessage(idplayer, -1string);
    
getdate(yearmonthday);
    
gettime(hour,minute,second);
    
format(stringsizeof(string), "%s deu vip de %d mes(es) a(o) player %s (%d/%d/%d - %d:%d)"anamemesespname,daymonthyear,hourminute);
    
VipsLog(string);
    
PlayerDados[idplayer][pLevel] += 3*meses;
    
PlayerDados[idplayer][pVIP] = 1;
    
PlayerDados[idplayer][pTimeVIP] = 0;
    
GivePlayerMoney(idplayer15000000*meses);
    
ScoreLevel(idplayer);
    
PlayerDados[idplayer][pDiaVIP] = day;
    
PlayerDados[idplayer][pMesVIP] = month+level;
    
PlayerDados[idplayer][pAnoVIP] = year;
    if(
PlayerDados[idplayer][pMesVIP] > 12)
    {
        
PlayerDados[idplayer][pMesVIP] -= 12;
        
PlayerDados[idplayer][pAnoVIP]++;
    }
    
OnPlayerSave(idplayer);
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)