Quote:
Originally Posted by CrossOv3r
pawn Code:
CMD:darvida(playerid,params) { new id,Float:cantidad; if(sscanf(params,"if",id,cantidad)) { SendClientMessage(playerid,-1,"Uso /darvida <id> <cantidad>"); } else if(!sscanf(params,"if",id,cantidad)) { SetPlayerHealth(playerid,cantidad); new string[128]; format(string,sizeof(string),"Le has dado %d de salud al ID %d",cantidad,id); SendClientMessage(id,-1,string); } return 1; }
Error 1: El parбmetro "i" (usado en sscanf) es invбlido, se debe usar "d" o "u". El "i" es para un integer
Error 2: SetPlayerHealth debe ir asi: SetPlayerHealth(id, cantidad); De lo contrario solo darб vida al jugador que usa el comando.
Error 3:Esta malo el "format", se debe usar el parбmetro %s para escribir un "string/nombre". Ademas de que el Nombre del jugador nunca se ha obtenido ni almacenado (GetPlayerName).
Diganme si estoy bien o mal. En un rato edito con mi reto
|
Creo que estas mal el parametro "i" de integer si se puede usar en sscanf.
El SetPlayerHealth es el error aqui supongo que le quiere dar vida a un jugador que no sea el mismo.
El string esta mal solo en la parte de cantidad debido a que es flotante se debe usar "%f" y no "%d"
Tambien hay un error en la primera linea ya que debe ir asi "params[]"
Creo que en los sscanf hay un error debido a que el primero debe ser negativo para ver si no encuentra dicho parametro y el segundo positivo osea cambiar el "!"
En el sendclientmessage me parece que esta mal ya que el mensaje esta destinado para el jugador que da la vida no para el que la recibe, en este caso seria "playerid"
creo que como resolvi el reto me toca subir otro nuevo
edit:
*deben explicar por que y donde esta mal y darlo corregido
pawn Code:
//Lo siguiente debe guardar los numeros del 0 al 49 en cada dimencion
new Arreglo[50][50];
new Y=0, Z=0;
while(Y != 50)
{
for(Z=50;Z!=0;Z--)
{
Arreglo[Z][Y]=Y--;
Y++;
}
}