Error con comando
#1

Resulta que me da un error este comando si alguien me ayuda se lo agradezco
Код:
CMD:nomirar(playerid,params[])
{
	if(Informacion[playerid][Admin] == 1)return SendClientMessage(playerid,COLOR_ROJO,"** Tu no eres administrador");
 	SendClientMessage(playerid,COLOR_ROJO,"* Ya no estбs como espectador");
 	else return SendClientMessage(playerid,COLOR_ROJO,"* No estбs espectando a nadie");
	TogglePlayerSpectating(playerid, 0);
	SpawnPlayer(playerid);
	return 1;
}
Error
Код:
C:\Users\Giga\Desktop\Gm\gamemodes\Gm.pwn(470) : error 029: invalid expression, assumed zero
C:\Users\Giga\Desktop\Gm\gamemodes\Gm.pwn(470) : warning 215: expression has no effect
C:\Users\Giga\Desktop\Gm\gamemodes\Gm.pwn(470) : error 001: expected token: ";", but found "return"
C:\Users\Giga\Desktop\Gm\gamemodes\Gm.pwn(471) : warning 225: unreachable code
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
La linea del error es
Код:
else return SendClientMessage(playerid,COLOR_ROJO,"* No estбs espectando a nadie");
Reply
#2

El "else" que es "de otra forma" se utiliza solamente cuando hay un si entonces y no hay uno junto a el. Tambien si se va a retornar algo y el codigo que le sigue NUNCA se ejecutara (else return), te dara esto: warning 225: unreachable code. Pero si se usa un si entonces en el "else", por ejemplo: else if(condicion) return, no te dara ese error ya que si la condicion no se cumple, se ejecutara el codigo que le sigue.

Pero de igual forma, lo que quieres es esto:
pawn Код:
CMD:nomirar(playerid,params[])
{
    if(Informacion[playerid][Admin] == 1) return SendClientMessage(playerid,COLOR_ROJO,"** Tu no eres administrador");

    if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
    {
        SendClientMessage(playerid,COLOR_ROJO,"* Ya no estбs como espectador");
        TogglePlayerSpectating(playerid, 0);
        SpawnPlayer(playerid);
    }
    else return SendClientMessage(playerid,COLOR_ROJO,"* No estбs espectando a nadie");
    return 1;
}
Reply
#3

Te falta un if, justo arriba de "* Ya no estбs como espectador". Podrнa ser:

PHP код:
if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING
Quizбs la mejor soluciуn es el uso de llaves, porque despuйs pasan estas cosas en las que uno mismo no entiende su propio cуdigo. Todo por ahorrarse un par de lнneas que al fin y al cabo, al compilar un script, ni se gana ni se pierde bytes.

De hecho, en la mayorнa de lenguajes de programaciуn, al compilarlo, se suelen optimizar en funciуn de tamaсo o rendimiento.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)