Ayuda! should return a value :S
#1

Hola buenos dias

Muchachos tengo otro script
que me esta dando un cayo en un pie
la verdad no se muy bien que significa esta advertencia
pero creo que no debe funcionar bien
y ademas no quiero correr el server
con esta cuestion asi, les dejo el codigo
y la advertencia

Код:
(24227) : warning 209: function "OnPlayerUpdate" should return a value
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Код:
public OnPlayerUpdate(playerid)
{
    new wepon = GetPlayerWeapon(playerid);
	if(!IsPlayerConnected(playerid)) return 0;
	// No weapons in interiors
	if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
	    SetPlayerArmedWeapon(playerid,0); // fists
	    return 0; // no syncing until they change their weapon
 	}
	if(GetPlayerMoneyEx(playerid) != GetPlayerMoney(playerid))
	if(wepon > 0 && Weapons[playerid][wepon] == false)
	{
	    RemovePlayerWeapon(playerid, wepon);
	    SendClientMessage(playerid,COLOR_RED, "SERVER: A weapon was removed.");
	    return 0;
	}
} //----- (24227)
Reply
#2

pawn Код:
public OnPlayerUpdate(playerid)
{
    new wepon = GetPlayerWeapon(playerid);
    if(!IsPlayerConnected(playerid)) return 0;
    // No weapons in interiors
    if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
        SetPlayerArmedWeapon(playerid,0); // fists
        return 0; // no syncing until they change their weapon
    }
    if(GetPlayerMoneyEx(playerid) != GetPlayerMoney(playerid))
    if(wepon > 0 && Weapons[playerid][wepon] == false)
    {
        RemovePlayerWeapon(playerid, wepon);
        SendClientMessage(playerid,COLOR_RED, "SERVER: A weapon was removed.");
        return 0;
    }
    return 1;
}
Reply
#3

ahmmmmm aprendi algo nuevooo esto es un callback?
siempre hay que ponerle return 1; antes de finalizar?

Gracias, ya no me tira la advertencia
Reply
#4

Asн es, esto es un callback. Respecto a lo de ponerle siempre "return 1;" hay ciertos casos en los que la funciуn si debe devolver algo y otros en los que no. (Desconozco una descripciуn de los casos que sн y los que no)
Reply
#5

ah ok! y exactamente la funcion del callback
es retornar al punto de inicio y continuar haciendo
el procedimiento?? osea como un ciclo?
Reply
#6

No, el "return 1;" devuelve al programa (servidor) que se ha finalizado dicha parte del cуdigo por lo que puede seguir continuando con la siguiente tarea. (Estoy hablando para SAMP, no puedes extrapolar esto a otros lenguajes de programaciуn)

Si no quieres complicarte (y si no estбs devolviendo ningъn valor) puedes poner simplemente "return;", yo uso "return 1;" por costumbre.

(Lo del bucle/ciclo no tiene nada que ver )
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)