[Ayuda] No aparece el mensaje
#1

Hola estaba ya aprendiendo a usar pawn , decidi crear un [FS] para cuenta VIP , bueno el comando que cree fue para ablar como VIP pero, no me sale nada cuando escribo un texto .Aca el paw y la imagen.

PD:NO me sale ningun error

PHP код:
if (strcmp("/hablav"cmdtrue) == 0)
    {
    if (
UsuarioVip[playerid][Vip] >= )
    {
    new 
tmp[128],string[256], vip[MAX_PLAYER_NAME];
    
tmp strtok(cmdtextidx);
    if(
strlen(tmp) == 0) return SendClientMessage(playeridCOLOR_ROJO"{FFFF00}[VIP]:{FFFFFF} Usa: /V [Texto].");
    
GetPlayerName(playeridvipMAX_PLAYER_NAME);
    
format(string256"{0099FF}VIP [%s]: {ACFF00}%s",vipplayeridcmdtext[6]);
    
SendClientMessageToAll(COLOR_AMARILLO,string);
    }
    else return 
SendClientMessage(playeridCOLOR_ROJO"{FFFF00}[VIP]:{FFFFFF} Comando solo para usuarios {FFFF00}VIPS {FFFFFF}nivel 1.");
    return 
1;
    } 
y cuando deseo escribir algo ,por ejemplo escribo : /hablav hola Pawno, me sale la 1era parte del formato


Ayuden porfa
Reply
#2

Pues, no es por nada, pero te recomendarнa usar sscanf, es mucho mбs rбpido y econуmico
Reply
#3

Quote:
Originally Posted by uardo12
Посмотреть сообщение
PHP код:
...cmdtext[6
Err....?

pawn Код:
if (strcmp("/hablav", cmd, true) == 0)
    {
    if (UsuarioVip[playerid][Vip] >= 1 )
    {
    new tmp[128],string[256], vip[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_ROJO, "{FFFF00}[VIP]:{FFFFFF} Usa: /V [Texto].");
    GetPlayerName(playerid, vip, MAX_PLAYER_NAME);
    format(string, 256, "{0099FF}VIP [%s]: {ACFF00}%s",vip, playerid, tmp);
    SendClientMessageToAll(COLOR_AMARILLO,string);
    }
    else return SendClientMessage(playerid, COLOR_ROJO, "{FFFF00}[VIP]:{FFFFFF} Comando solo para usuarios {FFFF00}VIPS {FFFFFF}nivel 1.");
    return 1;
    }
Reply
#4

Utilizar sscanf en algo como esto seria totalmente estъpido e innecesario.

Cuando formas la cadena colocas 2 marcadores pero en la cantidad de argumentos que escribes despues, son 3. Por eso el error.
Reply
#5

pawn Код:
if (strcmp("/hablav", cmd, true) == 0)
    {
    if (UsuarioVip[playerid][Vip] >= 1 )
    {
    new tmp[128],string[256], vip[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_ROJO, "{FFFF00}[VIP]:{FFFFFF} Usa: /V [Texto].");
    GetPlayerName(playerid, vip, MAX_PLAYER_NAME);
    format(string, 256, "{0099FF}VIP [%s]: {ACFF00}%s",vip, -->playerid<--, cmdtext[6]);
    SendClientMessageToAll(COLOR_AMARILLO,string);
    }
    else return SendClientMessage(playerid, COLOR_ROJO, "{FFFF00}[VIP]:{FFFFFF} Comando solo para usuarios {FFFF00}VIPS {FFFFFF}nivel 1.");
    return 1;
    }
Creo que tu error fue poner ese playerid. Playerid al ser una variable nъmerica (%d) no puede ser representada como %s, no se si me entiendes. Tambiйn creo que al poner cmdtext[6] te saldrб el mensaje cortado, como seсala Luis.

pawn Код:
if (strcmp("/hablav", cmd, true) == 0)
    {
    if (UsuarioVip[playerid][Vip] >= 1 )
    {
    new tmp[128],string[256], vip[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_ROJO, "{FFFF00}[VIP]:{FFFFFF} Usa: /V [Texto].");
    GetPlayerName(playerid, vip, MAX_PLAYER_NAME);
    format(string, 256, "{0099FF}VIP [%s]: {ACFF00}%s",vip, tmp);
    SendClientMessageToAll(COLOR_AMARILLO,string);
    }
    else return SendClientMessage(playerid, COLOR_ROJO, "{FFFF00}[VIP]:{FFFFFF} Comando solo para usuarios {FFFF00}VIPS {FFFFFF}nivel 1.");
    return 1;
    }
Prueba asн
Reply
#6

Lean esto, donde muestro como funcionarian algunas formas de uso de las variables con sus celdas.

http://forum.sa-mp.com/showthread.ph...18#post2778218
Reply
#7

listo se arreglo pero aora cuando escribo una cadena larga de texto no aparece, solo aparece una partesita
Reply
#8

Aumenta la variable tmp a 144, es lo mбximo permitido en el chat de SA:MP.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)