19.02.2011, 22:46
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
//Playerid: ID del jugador que escribiу el comando
//cmdtext[]: el comando escrito (guardado en un string)
{
new cmd[128], idx;//Se crea un array de nombre cmd con longitud 128 y una variable idx (sin valor actualmente)
cmd = strtok(cmdtext, idx); //Guarda en la cadena cmd la variable que encuentre la funciуn tras el espacio encontrado en cmdtext
//idx sirve para saber la posiciуn de la cadena en la que se encuentra el espacio, no debe importarte
if(strcmp(cmd, "/kick", true) == 0)
//strcmp: si devuelve 1, la cadena 1 es mayor que la 2. Si devuelve 0 son iguales (como en este caso). SI devuelve -1 la cadena 1 es menor a la 2
{
new tmp[128];//Nueva cadena
tmp = strtok(cmdtext, idx);//Repetimos el proceso como al principio
if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /kick [playerid]");//Si la longitud de tmp es 0 (significa que no se ha encontrado nada despuйs del espacio) muestra el mensaje
Kick(strval(tmp));//Kickea al jugador deseado (strval convierte una cadena en un entero)
return 1;//El return
}
return 0;
//Return 0 significa que el cуdigo se ha ejecutado sin problemas, return 1 indica que se ha encontrado un problema
//Esto es literalmente, el uso que tiene es el siguiente: el primer return, (return 1) es para que el servidor no continue ejecutando el callback "OnPlayerCommandText", ya que este ha realizado lo que querнamos
//El return 0 "cierra" el callback y le dice al programa que continue leyendo el script
}

