Posts: 419
Threads: 101
Joined: May 2014
Hola, estuve viendo tutoriales y tengo la duda de como se hace el comando /dardinero [ID] [Cantidad], pero que al enviarle la Cantidad de dinero al usuario, quitarle ese dinero enviado al usuario que ejecuto el comando.
Porfis me pueden explicar como hacerlo con sscanf?
Gracias de antemano.
Posts: 4,930
Threads: 467
Joined: Dec 2010
28.06.2014, 01:22
(
Последний раз редактировалось OTACON; 28.06.2014 в 01:56.
)
pawn Код:
COMMAND:dardinero(playerid, params[]) {
new dinerojugadorid, cantidad;
if(sscanf(params, "rd", dinerojugadorid, cantidad)) return SendClientMessage(playerid, -1, " /dardinero [ID] [Cantidad].");
if(!IsPlayerConnected(dinerojugadorid)) return SendClientMessage(playerid, -1, "el id ingresado no esta conectado en este momentos!.");
if(dinerojugadorid == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "el id ingresado es invalido!.");
if(dinerojugadorid == playerid) return SendClientMessage(playerid, -1, "el id ingresado eres tщ, idiota!.");
/*
OPCIONAL:
#define DISTANCIA_JUGADOR 10.0
new Float:pos[3];
GetPlayerPos(dinerojugadorid, pos[0], pos[1], pos[2]);
if(!IsPlayerInRangeOfPoint(playerid, DISTANCIA_JUGADOR, pos[0], pos[1], pos[2])) return SendClientMessage(playerid, -1, "el id ingresado no esta cerca tuyo o es un fantasma!.");
*/
if(cantidad < 100 || cantidad > 5000) return SendClientMessage(playerid, -1, "no ir por debajo de 100, o por encima de 5000.");
if(GetPlayerMoney(playerid) <=0) return SendClientMessage(playerid, -1, "no tienes dinero, ve a trabajar vago!.");
if(GetPlayerMoney(playerid) < cantidad ) return SendClientMessage(playerid, -1, "no tienes esa cantidad de dinero para dar!.");
GivePlayerMoney(playerid, ( 0-cantidad )); //resta al jugador que uso el comando
GivePlayerMoney(dinerojugadorid, ( 0+cantidad )); //suma al jugador del id que fue ingresado
return true;
}