11.10.2012, 19:35
Eu nгo entendi ainda quando se deve usar o else if. O ulso apenas do else eu ja tenho uma idйia de como usar, por exemplo :
Nesse caso aqui o else verifica se o if й verdadeiro caso o contrario ele executa oque tem dentro do else no caso as menssagens.
Sу que tem alguns comandos que vejo que usam else if que na minha cabeзa sу o if ja faria a mesma funзгo como nesse caso :
Aqui nesse caso nгo basta usar sу o if? sem o else? .
agora usando outro exemplo, eu um comando de dialog :
porque esse else if(lititem == 1) ? nгo bastava sу usar : if(listitem ==1)? ja que o if ja tem a funзгo de verificar se oque estб dentro do ()?
Entгo resumindo, a minha duvida seria quando usar o else if e se й realmente necessario usa-lo .
pawn Код:
if (APlayerData[playerid][LoggedIn] == true)
{
if (sscanf(params, "us[128]", OtherPlayer, Message)) SendClientMessage(playerid, 0xFF0000AA, "Use: /pm [id] [menssagem]");
else
{
if (IsPlayerConnected(OtherPlayer))
{
if (APlayerData[playerid][Muted] == false)
{
GetPlayerName(playerid, YourName, sizeof(YourName));
GetPlayerName(OtherPlayer, OtherPlayerName, sizeof(OtherPlayerName));
format(Msg1, 128, "{808080}PM para %s{FFFFFF}: %s", OtherPlayerName, Message);
format(Msg2, 128, "{A0A0A0}PM de %s{FFFFFF}: %s", YourName, Message);
SendClientMessage(playerid, 0xFFFFFFFF, Msg1);
SendClientMessage(OtherPlayer, 0xFFFFFFFF, Msg2);
}
else
SendClientMessage(playerid, 0xFF0000FF, "Vocк ainda estб mudo.");
}
else
SendClientMessage(playerid, 0xFF0000FF, "O jogador nгo estб online.");
}
}
Sу que tem alguns comandos que vejo que usam else if que na minha cabeзa sу o if ja faria a mesma funзгo como nesse caso :
pawn Код:
CMD:ejetar(playerid, params[])
{
new ID;
new motorista = GetPlayerState(playerid);
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "Utilize /ejetar [ID]");
new passageiro = GetPlayerState(ID);
new Carro = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Й preciso estar em um veнculo!");
else if(motorista != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Й preciso ser o motorista do veнculo!");
else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "Jogador nгo conectado!");
else if(!IsPlayerInVehicle(ID, Carro)) return SendClientMessage(playerid, -1, "O jogador nгo estб no seu carro!");
else if(passageiro != PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, -1, "Esse player nгo й o passageiro!");
RemovePlayerFromVehicle(ID);
SendClientMessage(ID, -1, "O motorista te expulsou do carro!");
SendClientMessage(playerid, -1, "Vocк expulsou o passageiro com sucesso!");
return 1;
}
agora usando outro exemplo, eu um comando de dialog :
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == Tutorial)
{
if(response)
{
if(listitem == 0)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,Float:x,Float:y,Float:z);
SendClientMessage(playerid, COLOR_RED, "[INFO] Vocк teletransportou para o Teleporte nъmero 1.");
return 1;
}
else if(listitem == 1) // aqui
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,Float:x,Float:y,Float:z);
SendClientMessage(playerid, COLOR_RED, "[INFO] Vocк teletransportou para o Teleporte nъmero 2.");
}
}
}
return 1;
}
Entгo resumindo, a minha duvida seria quando usar o else if e se й realmente necessario usa-lo .