28.01.2013, 06:51
Quote:
No digan estupideces, por favor, uno usa los includes justamente para incluir funciones y utilidades a nuestro script.
A ver, ZCMD es un sistema creado para procesar comandos, se usa porque a comparaciуn del mйtodo "strcmp" es mucho mбs rбpido. Usar includes no hace mбs lento el server, el include incluye funciones y utilidades al script, es como si copiaras el contenido del include adentro del GM, es lo mismo. El sscanf es un plugin que aporta la funciуn contraria a "format", nos sirve para extraer partes de un texto, por eso se lo usa con comandos principalmente. |
Comando: /cambiarnombre ID Nombre
Un usuario puso /cambiarnombre 0 Pepito, OnPlayerCommandText verifica si el comando existe y si existe ejecuta la funcion del comando:
pawn Код:
CMD:cambiarnombre(playerid, params[])
{
//playerid representarнa al ID del jugador que enviу el comando y params "0 Pepito" que serнa lo que viene despues del comando
}
Simple, usando sscanf...
pawn Код:
CMD:cambiarnombre(playerid, params[])
{
new id, nombre[30]; //id va a almacenar la ID del jugador que va a tener nuevo nombre y nombre es el nuevo nombre
if(sscanf(params, "is[30]", id, nombre)) return SendClientMessage(playerid, 0xFFFF00FF, "USO: /cambiarnombre ID Nombre"),1; //sscanf 0 si pudo dividir con йxito la string en distintas variables, entonces si sscanf devuelve otro valor, los parametros estбn mal
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF, "Jugador no conectado"),1;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "No eres RCON Admin"),1;
SetPlayerName(id, nombre);
return 1;
}