Virtual World e ChatBubble -
Ts3 - 19.12.2014
@Removed.
Re: Virtual World e ChatBubble -
WendeLKILL - 19.12.2014
No caso de chatbubble ele ira ficar trocando entre "indefinido" e "AFK" caso o player tiver afk,ou seja crie uma variбvel para quando um for ativado bloquear os outros.
@Edit
apenas coloque as verificaзхes para eles nгo ficarem trocando,pois o resto esta ok.
Re: Virtual World e ChatBubble -
Ts3 - 19.12.2014
Nгo quero que fique alternando, isso e tipo uma verificaзгo caso ele seja Admin ficarб a parada de admin caso seja player ficarб Indefinido..
Re: Virtual World e ChatBubble -
Ts3 - 23.12.2014
Up, alguйm ajuda aqui tou precisando..
Dessa forma estб estando o ChatBubble apenas para o ID zero.
PHP код:
public ChatBubble()
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pAdmin] >= 1)
{
SetPlayerChatBubble(i, "Administrador(a)", Vermelho, 100.0, 10000);
return true;
}
else if(PlayerInfo[i][pScore] >= 0)
{
SetPlayerChatBubble(i, "Indefinido", 0x32CD32FF, 100.0, 10000);
return true;
}
if(AFK[i] == true)
{
SetPlayerChatBubble(i, "• Jogador(a) AFK •", 0x1E90FFAA, 100.0, 10000);
return true;
}
}
return true;
}
Re: Virtual World e ChatBubble -
Bruno13 - 23.12.2014
1 - Simples, crie uma variбvel para salvar qual virtual world um player escolheu, logo, faзa um loop para verificar se ao outro player utilizar este comando, verificar se este virtual world jб esta em uso...
pawn Код:
new MyVirtualWorld[MAX_PLAYERS];
command(mundo, playerid, params[])
{
new World;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Vermelho, "[ x ] Vocк nгo estб em um veнculo");
if(!IsPlayerInRace(playerid)) return SendClientMessage(playerid, Vermelho,"[ x ] Voce sу pode alterar seu mundo em uma corrida!");
if(sscanf(params,"d", World)) return SendClientMessage(playerid, Vermelho,"[ x ] Uso correto: /Mundo [ID World]");
if(World < 0 ||World > 1000) return SendClientMessage(playerid, Vermelho, "[ x ] O ID do mundo estб invбlido {FFFFFF}ID's de 0 a 1000.");
//Aqui sua funcionalidade й bem simples, ele apenas condiciona se a resposta da funзгo foi verdadeira, se sim, retorna nesta mensagem.
if(WorldEmUso(World)) return SendClientMessage(playerid, Vernelho,"[ x ] Este VirtualWorld jб esta em uso! Escolha outro");
SendClientMessage(playerid, Amarelo,"[ > ] Vocк decidiu participar da corrida em outro mundo");
format(string, sizeof(string), "[ > ] Mundo: {FFFFFF}%d", World);
SendClientMessage(playerid, Amarelo, string);
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), World);
SetPlayerVirtualWorld(playerid, World);
MyVirtualWorld[playerid] = World;
return 1;
}
stock WorldEmUso(worldid)//Funзгo nada mais faz do que rodar um loop a todos os player e verificar se o worldid informador й o mesmo do player em questгo, se for, retornara a verdadeiro, caso contrбrio, falso.
{
for(new i; i < MAX_PLAYERS; i++)
{
if(MyVirtualWorld[i] == worldid) return 1;
}
return 0;
}
2 - No ChatBubble porque nгo usas SetTimerEx? Й visнvel que estejas usando um timer, podes acrescentar o parвmetro playerid que facilitaria e evitaria "lag". Dei uma arrumada, veja se fica melhor assim, creio que funciona tranquilo
pawn Код:
//Timer em OnPlayerSpawn
SetTimerEx("ChatBubble", 1000, true, "i", playerid);
public ChatBubble(playerid)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
SetPlayerChatBubble(playerid, "Administrador(a)", Vermelho, 100.0, 10000);
if(AFK[playerid]) SetPlayerChatBubble(playerid, "• Administrador(a) AFK •", 0x1E90FFAA, 100.0, 10000);
}
else if(PlayerInfo[playerid][pScore] >= 0)
{
SetPlayerChatBubble(playerid, "Indefinido", 0x32CD32FF, 100.0, 10000);
if(AFK[playerid]) SetPlayerChatBubble(playerid, "• Jogador(a) AFK •", 0x1E90FFAA, 100.0, 10000);
}
}
Abraзos.