04.05.2011, 15:31
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
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
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
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)");
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;
}
Si tienes alguna pregunta, hazlo, sin problemas, estamos para ayudar, pero trata de explicarte mejor