Bugs con mensajes al returnar parametros ayuda :s
#1

Otra ves yo bueno es simple es un muy mal bug que no veo que esta mal miren:

pawn Код:
dcmd_dardinero(playerid,params[])
{
    new dinero = strval(params[2]), string[128];
    #pragma unused params
    if(Info[playerid][Nivel] >= 3)
    {
    format(string,128,"El administrador %s le ha dado a %s $%d",PlayerName(strval(params)),PlayerName(playerid),dinero);
    if(!strlen(params) || (params[2])) return SendClientMessage(playerid,COLOR_ROJO,"USA: /dardinero (id) (cantidad)");
    GivePlayerMoney(strval(params),strval(params[2]));
    PlayerPlaySound(playerid,1057,0.0,0.0,0);
    SendClientMessageToAll(0x01FECBFF,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROJO,Errornivel3);
    }
    return 1;
}
el problema he puesto los mensajes que se enviaran s el player pone /dardinero (dira debes poner /dardinero (playerid) (cantidad) y si pone /dardinero (playerid) otro diciendo: no escribiste la cantidad pero ese es el problema el segundo no aparece lo que genera un crash y se cierra el server...
Reply
#2

Usa sscanf, verбs como es mas simple y fбcil.
Usa el buscador para encontrarlo.
Reply
#3

yo te pedi ayuda de eso por eso a veces no me gusta preguntar aqui ¬¬ ufff ya cuando pregunto algo de 1 comando me dices lo mismo no entiendo l usar el sscanf...y si he leido la info del mismo:
pawn Код:
CMD:dardinero(playerid, params[])
{
    new ID;
    new string
    if(Info[playerid][Nivel] == 5)
    {

    if(sscanf(params, "i" "d", ID) ) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: usa /dardinero (playerid) (cantidad)");
    if(IsPlayerConnected(ID))
    {
    GivePlayerMoney("i","d"));
    } else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jugador no conectado");
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROJO,Errornivel3);
    }
    return 1;
}
EDITO: YA RESOLVI LO DE ARRIBA

ahora dime por que me sale: comando incorrecto o mejor dicho server uknow command
Reply
#4

Tienes un fallo en la linea de sscanf, te explico, en el post de sscanf pone unas letritas que son unas cosas.
El funcionamiento es este
pawn Код:
new pid;
new dinero;
if(sscanf(params,"ui", pid, dinero) ) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: usa /dardinero (playerid) (cantidad)");
Fijate, donde pone U indicaremos que el primer valor serб ID/Nombre de jugador, el segundo, la cantidad de dinero.
Ojo, las dos letritas van juntas en las mismas comillas. Fijate en la tabla que estб en el post de sscanf, ahн pone que letritas puedes usar. Luego para cada letra del valor que va a conseguir, ponemos donde se guardara eso, para usarlo despues al dar el dinero.

El comando quedarнa asin
pawn Код:
CMD:dardinero(playerid, params[]) //Fuera de cualquier callback, NUNCA dentro de OnPlayerCommandText, puedes ponerlo justo encima
{
    new pid; //Le he llamado PID
    new string; //Te faltaba el punto y coma
    new dinero; //Nuevo
    if(Info[playerid][Nivel] == 5) //Perfecto
    {

    if(sscanf(params,"ui", pid, dinero) ) return SendClientMessage(playerid, COLOR_ROJO, "ERROR: usa /dardinero (playerid) (cantidad)");
    if(IsPlayerConnected(pid))
    {
    GivePlayerMoney(pid, dinero)); //Esto estaba mal, era mas simple
    } else return SendClientMessage(playerid, COLOR_ROJO, "ERROR: Jugador no conectado");
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROJO,Errornivel3);
    }
    return 1;
}
No te compliques la vida, solo intenta seguir ejemplos y hacerlo prбcticamente igual, editando el texto o los valores que necesites.
Si tienes alguna pregunta, hazlo, sin problemas, estamos para ayudar, pero trata de explicarte mejor
Reply
#5

gracias...facilitame el post de sscanf desde ayer lo busco en el buscador pero salen muchos resultados en los cuales no veo el include y si lo pongo como busqueda en includes me salen muchos antes que ese no se que mismo pasa
Reply
#6

busca en plugins.
Reply
#7

http://forum.sa-mp.com/showthread.ph...ghlight=sscanf
Reply
#8

Quote:
Originally Posted by SuperMarioRol
Посмотреть сообщение
Metiendome a tu tema, sscanf te ayudarб a crear los parбmetros de forma mбs sencilla & rбpido? xd
Reply
#9

Para mi gusto si.
En un 4 lineas puedes tener muchos parametros sin problemas

Tambiйn se puede usar con strcmp, no solo con zcmd.
Reply
#10

Quote:
Originally Posted by SuperMarioRol
Посмотреть сообщение
Para mi gusto si.
En un 4 lineas puedes tener muchos parametros sin problemas

Tambiйn se puede usar con strcmp, no solo con zcmd.
Jaja, ya nos entendemos e.e

Gracias O:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)