Rank por score em cima da cabeзa(ChatBubble) -
Feelipe - 10.03.2017
Oi gente ;-;
Entгo, estava tentando fazer o seguinte. Utilizar o ChatBubble para atribuir tags/rank acima de cabeзa do player, os ranks iriam depender do score, por exemplo: 100 de score = Experiente(em cima da cabeзa)
Tentei fazer, mas nгo deu, utilizei da seguinte forma.
pawn Код:
public OnPlayerSpawn(playerid)
if(GetPlayerScore(playerid) == 4 [ playerid ] == 0 );
{
SetPlayerChatBubble( playerid, "Diretor(a)", 0xFF9900FF, 100.0, 5000 );
}
else if( GetPlayerScore[ playerid ] == 3 [ playerid ] == 0 )
{
SetPlayerChatBubble( playerid, "Administrador(a)", 0x00C40DFF, 100.0, 5000 );
}
else if( GetPlayerScore[ playerid ] == 2 [ playerid ] == 0 )
{
SetPlayerChatBubble( playerid, "Moderador(a)", 0x2DF0A2FF, 100.0, 5000 );
}
else if( GetPlayerScore[ playerid ] == 1 [ playerid ] == 0 )
{
SetPlayerChatBubble( playerid, "Helper", 0x1100FFFF, 100.0, 5000 );
}
Alguйm me ajuda?
Re: Rank por score em cima da cabeзa(ChatBubble) -
IlanZ - 10.03.2017
PHP код:
if(GetPlayerScore(playerid) == 4)
{
SetPlayerChatBubble( playerid, "Diretor(a)", 0xFF9900FF, 100.0, 5000 );
}
else if(GetPlayerScore(playerid) == 3)
{
SetPlayerChatBubble( playerid, "Administrador(a)", 0x00C40DFF, 100.0, 5000 );
}
else if(GetPlayerScore(playerid) == 2)
{
SetPlayerChatBubble( playerid, "Moderador(a)", 0x2DF0A2FF, 100.0, 5000 );
}
else if( GetPlayerScore(playerid) == 1)
{
SetPlayerChatBubble( playerid, "Helper", 0x1100FFFF, 100.0, 5000 );
}
else if(GetPlayerScore(playerid) == 0)
{
SetPlayerChatBubble( playerid, "Jogador", 0x1100FFFF, 100.0, 5000 );
}
Re: Rank por score em cima da cabeзa(ChatBubble) -
HnnK - 10.03.2017
Erros no seu cуdigo: nгo se coloca ponto e vнrgula
; em if's e else's. Sгo condicionais, elas sгo abertas e fechadas com chaves. A funзгo
GetPlayerScore que vocк irб getar em um player vocк precisa utilizar parкnteses, e nгo colchetes. GetPlayerScore(playerid).
Adendo: melhore a identaзгo do seu cуdigo pra sua prуpria organizaзгo.
Re: Rank por score em cima da cabeзa(ChatBubble) -
capron - 10.03.2017
PHP код:
switch (GetPlayerScore(playerid))
{
case 4: SetPlayerChatBubble( playerid, "Diretor(a)", 0xFF9900FF, 100.0, 5000 );
case 3: SetPlayerChatBubble( playerid, "Administrador(a)", 0x00C40DFF, 100.0, 5000 );
case 2: SetPlayerChatBubble( playerid, "Moderador(a)", 0x2DF0A2FF, 100.0, 5000 );
case 1: SetPlayerChatBubble( playerid, "Helper", 0x1100FFFF, 100.0, 5000 );
case 0: SetPlayerChatBubble( playerid, "Jogador", 0x1100FFFF, 100.0, 5000 );
}
Re: Rank por score em cima da cabeзa(ChatBubble) -
Feelipe - 10.03.2017
Quote:
Originally Posted by IlanZ
PHP код:
if(GetPlayerScore(playerid) == 4)
{
SetPlayerChatBubble( playerid, "Diretor(a)", 0xFF9900FF, 100.0, 5000 );
}
else if(GetPlayerScore(playerid) == 3)
{
SetPlayerChatBubble( playerid, "Administrador(a)", 0x00C40DFF, 100.0, 5000 );
}
else if(GetPlayerScore(playerid) == 2)
{
SetPlayerChatBubble( playerid, "Moderador(a)", 0x2DF0A2FF, 100.0, 5000 );
}
else if( GetPlayerScore(playerid) == 1)
{
SetPlayerChatBubble( playerid, "Helper", 0x1100FFFF, 100.0, 5000 );
}
else if(GetPlayerScore(playerid) == 0)
{
SetPlayerChatBubble( playerid, "Jogador", 0x1100FFFF, 100.0, 5000 );
}
|
Copilou normalmente, mas no jogo as tags nгo se aplicam aos jogadores, digo, o player com score 0 n ganha a tag de jogador e dai por diante, eu teria que usar Int score = GetPlayerScore(playerid);?
Quote:
Originally Posted by HnnK
Erros no seu cуdigo: nгo se coloca ponto e vнrgula ; em if's e else's. Sгo condicionais, elas sгo abertas e fechadas com chaves. A funзгo GetPlayerScore que vocк irб getar em um player vocк precisa utilizar parкnteses, e nгo colchetes. GetPlayerScore(playerid).
Adendo: melhore a identaзгo do seu cуdigo pra sua prуpria organizaзгo.
|
Obrigado pelas dicas, й que tф comeзando agora, ainda nгo peguei o costume, ainda tф uma zona nisso hauah
Quote:
Originally Posted by capron
PHP код:
switch (GetPlayerScore(playerid))
{
case 4: SetPlayerChatBubble( playerid, "Diretor(a)", 0xFF9900FF, 100.0, 5000 );
case 3: SetPlayerChatBubble( playerid, "Administrador(a)", 0x00C40DFF, 100.0, 5000 );
case 2: SetPlayerChatBubble( playerid, "Moderador(a)", 0x2DF0A2FF, 100.0, 5000 );
case 1: SetPlayerChatBubble( playerid, "Helper", 0x1100FFFF, 100.0, 5000 );
case 0: SetPlayerChatBubble( playerid, "Jogador", 0x1100FFFF, 100.0, 5000 );
}
|
Como eu faria pra aplicar essa funзгo ao score? Digo, player com o score x ter a tag y
Re: Rank por score em cima da cabeзa(ChatBubble) - Jelly23 - 10.03.2017
https://sampwiki.blast.hk/wiki/SetPlayerChatBubble
SetPlayerChatBubble(playerid, text[], color, Float:drawdistance,
expiretime)
Vocк vai precisar de um timer para re-usar a funзгo, pois depois de um tempo (5 segundos como no parвmetro
expiretime em seu codigo) o Chat Bubble vai expirar.
Exemplo:
PHP код:
public OnGameModeInit()
{
SetTimer("ChatBubble", 1000, true);
return 1;
}
forward ChatBubble();
public ChatBubble()
{
for(new i = 0, j = GetPlayerPoolSize(); i <= j; ++i)
{
if(IsPlayerConnected(i))
{
switch (GetPlayerScore(i))
{
case 0: SetPlayerChatBubble( i, "Jogador", 0x1100FFFF, 100.0, 2000 );
case 1: SetPlayerChatBubble( i, "Helper", 0x1100FFFF, 100.0, 2000 );
case 2: SetPlayerChatBubble( i, "Moderador(a)", 0x2DF0A2FF, 100.0, 2000 );
case 3: SetPlayerChatBubble( i, "Administrador(a)", 0x00C40DFF, 100.0, 2000 );
case 4: SetPlayerChatBubble( i, "Diretor(a)", 0xFF9900FF, 100.0, 2000 );
}
}
}
}
Recomendaria usar foreach. Tambйm existem 3D Text Labels, que recomendaria usar no lugar de ChatBubble:
https://sampwiki.blast.hk/wiki/Create3DTextLabel
Re: Rank por score em cima da cabeзa(ChatBubble) -
Feelipe - 11.03.2017
Quote:
Originally Posted by Jelly23
https://sampwiki.blast.hk/wiki/SetPlayerChatBubble
SetPlayerChatBubble(playerid, text[], color, Float:drawdistance, expiretime)
Vocк vai precisar de um timer para re-usar a funзгo, pois depois de um tempo (5 segundos como no parвmetro expiretime em seu codigo) o Chat Bubble vai expirar.
Exemplo:
PHP код:
public OnGameModeInit()
{
SetTimer("ChatBubble", 1000, true);
return 1;
}
forward ChatBubble();
public ChatBubble()
{
for(new i = 0, j = GetPlayerPoolSize(); i <= j; ++i)
{
if(IsPlayerConnected(i))
{
switch (GetPlayerScore(i))
{
case 0: SetPlayerChatBubble( i, "Jogador", 0x1100FFFF, 100.0, 2000 );
case 1: SetPlayerChatBubble( i, "Helper", 0x1100FFFF, 100.0, 2000 );
case 2: SetPlayerChatBubble( i, "Moderador(a)", 0x2DF0A2FF, 100.0, 2000 );
case 3: SetPlayerChatBubble( i, "Administrador(a)", 0x00C40DFF, 100.0, 2000 );
case 4: SetPlayerChatBubble( i, "Diretor(a)", 0xFF9900FF, 100.0, 2000 );
}
}
}
}
Recomendaria usar foreach. Tambйm existem 3D Text Labels, que recomendaria usar no lugar de ChatBubble: https://sampwiki.blast.hk/wiki/Create3DTextLabel
|
Funcional, obrigado. Uma ъltima dъvida, queria funcionalizar o score, digo, implementar < = 5(score) = jogador
> 6(score) ou = 10(score) = helper... Qual seria o caminho?
Respuesta: Rank por score em cima da cabeзa(ChatBubble) -
SammyJ - 11.03.2017
PHP код:
forward ChatBubble();
public ChatBubble()
{
for(new i = 0, j = GetPlayerPoolSize(); i <= j; ++i)
{
if(IsPlayerConnected(i))
{
switch (GetPlayerScore(i))
{
case 0..6: SetPlayerChatBubble( i, "Jogador", 0x1100FFFF, 100.0, 2000 );// se tiver score 0 atй 6
case 7..12: SetPlayerChatBubble( i, "Helper", 0x1100FFFF, 100.0, 2000 ); // se tiver score 7 atй 12
case 13..20: SetPlayerChatBubble( i, "Moderador(a)", 0x2DF0A2FF, 100.0, 2000 ); // se tiver score 13 atй 20
case 21..31: SetPlayerChatBubble( i, "Administrador(a)", 0x00C40DFF, 100.0, 2000 );//se tiver score 21 atй 31
default: SetPlayerChatBubble( i, "Diretor(a)", 0xFF9900FF, 100.0, 2000 );// score de 31 em diante
}
}
}
}
Re: Respuesta: Rank por score em cima da cabeзa(ChatBubble) -
Feelipe - 11.03.2017
Quote:
Originally Posted by SammyJ
PHP код:
forward ChatBubble();
public ChatBubble()
{
for(new i = 0, j = GetPlayerPoolSize(); i <= j; ++i)
{
if(IsPlayerConnected(i))
{
switch (GetPlayerScore(i))
{
case 0..6: SetPlayerChatBubble( i, "Jogador", 0x1100FFFF, 100.0, 2000 );// se tiver score 0 atй 6
case 7..12: SetPlayerChatBubble( i, "Helper", 0x1100FFFF, 100.0, 2000 ); // se tiver score 7 atй 12
case 13..20: SetPlayerChatBubble( i, "Moderador(a)", 0x2DF0A2FF, 100.0, 2000 ); // se tiver score 13 atй 20
case 21..31: SetPlayerChatBubble( i, "Administrador(a)", 0x00C40DFF, 100.0, 2000 );//se tiver score 21 atй 31
default: SetPlayerChatBubble( i, "Diretor(a)", 0xFF9900FF, 100.0, 2000 );// score de 31 em diante
}
}
}
}
|
Thanks, resolvido <3