[Ajuda] E uma pequena duvida que tenho pra tirar!
#1

Queria saber pq meus setplayerchatbuble setam no player com cargo e meu setplayercolor nao, nгo sei o pq, mas me ofereceram para usar foreach e a y_timers mas como sou novato quero comeзar pelo os primeiros passos do pawno ainda!

PHP код:
public OnPlayerUpdate(playerid)
{
    if(
pInfo[playerid][Ajudante] == true)
    {
        
SetPlayerChatBubble(playerid"Ajudante(a)"0xFF00FFAA100.010000), SetPlayerColor(playerid0xFF00FFAA);
    }
    if(
pInfo[playerid][Moderador] == true)
    {
        
SetPlayerChatBubble(playerid"Moderador(a)"0x008000AA100.010000), SetPlayerColor(playerid0x008000AA);
    }
    if(
pInfo[playerid][Corregedor] == true)
    {
        
SetPlayerChatBubble(playerid"Corregedor(a)"0x00FFFFAA100.010000),  SetPlayerColor(playerid0x00FFFFAA);
    }
    if(
pInfo[playerid][Administrador] == true)
    {
        
SetPlayerChatBubble(playerid"Administrador(a)"0xFF0000AA100.010000), SetPlayerColor(playerid0xFF0000AA);
    }
    if(
pInfo[playerid][Master] == true)
    {
        
SetPlayerChatBubble(playerid"Administrador(a)"0x800000AA100.010000), SetPlayerColor(playerid0x800000AA);
    }
    if(
GetPlayerScore(playerid) < 5)
    {
        
SetPlayerChatBubble(playerid"Novato(a)"0xFF8000AA100.010000), SetPlayerColor(playerid0xFF8000AA);
    }
    if(
GetPlayerScore(playerid) >= 5)
    {
        
SetPlayerColor(playerid0xFFFFFFAA);
    }
    if(
IsPlayerAdmin(playerid))
    {
        
SetPlayerColor(playerid0x800000AA);
    }
    return 
1;

Reply
#2

Vocк tem noзгo da quantidade de vezes que essa callback й chamada por segundo? Nгo use OnPlayerUpdate.

O seu cуdigo pode ser optimizado. Em vez de criar uma variбvel para cada cargo, crie apenas uma variбvel inteira, em que por exemplo 0: sem cargo, 1: moderador, 2: administrador, etc.

E, o seu cуdigo compila sequer?

Код:
SetPlayerChatBubble(playerid, "Ajudante(a)", 0xFF00FFAA, 100.0, 10000), SetPlayerColor(playerid, 0xFF00FFAA);
O que й isto?

Код:
SetPlayerChatBubble(playerid, "Ajudante(a)", 0xFF00FFAA, 100.0, 10000); 
SetPlayerColor(playerid, 0xFF00FFAA);
Reply
#3

Me ensina a optimizar ele de algum jeito, teve uns cara no forum que me recomendo usar a foreach junto com a y_timers, me ensina a usar essa foreach pq n sei usar, como vc disse se eu fazer daquele jeito um em baixo do outro nгo seta a cor, me ajuda!
Reply
#4

exemplo de como usar foreach:

PHP код:
#include a_samp
#include foreach
#define TEMPO 5000 // milisegundos
public OnGameModeInit() {
    
SetTimer("chamar"TEMPOtrue);
    return 
1;
}
new 
Cargo[MAX_PLAYERS];
forward chamar();
public 
chamar()
{
    foreach(
Playeri)
    {
        if(
IsPlayerAdmin(i))
        {
            
SetPlayerColor(i0xFF0000AA); // rcon
            
SetPlayerChatBubble(i"Rcon"GetPlayerColor(i), 20.010000);
        }
        else switch(
Cargo[i])
        {
            case 
1: { // ajudante
                
SetPlayerColor(i0xFF00FFAA);
                
SetPlayerChatBubble(i"Ajudante(a)"GetPlayerColor(i), 20.010000);
            }
            case 
2: { // moderador
                
SetPlayerColor(i0x008000AA);
                
SetPlayerChatBubble(i"Moderador(a)"GetPlayerColor(i), 20.010000);
            }
            case 
3: { // corregedor
                
SetPlayerColor(i0x00FFFFAA);
                
SetPlayerChatBubble(i"Corregedor(a)"GetPlayerColor(i), 20.010000);
            }
            case 
4: { // admin
                
SetPlayerColor(i0xFF0000AA);
                
SetPlayerChatBubble(i"Administrador(a)"GetPlayerColor(i), 20.010000);
            }
        }
    }
    return 
1;

Reply
#5

da pra aplicar esse procedimento em pInfo[playerid][moderador]... tals assim?
Reply
#6

Sim,

PHP код:
#include a_samp
#include foreach
#define TEMPO 5000 // milisegundos
public OnGameModeInit() {
    
SetTimer("chamar"TEMPOtrue);
    return 
1;
}
enum PlayerInfo {
    
bool:Ajudantebool:Moderadorbool:Corregedorbool:Administradorbool:Master
};
new 
pInfo[MAX_PLAYERS][PlayerInfo];
forward chamar();
public 
chamar()
{
    foreach(
Playeri)
    {
        if(
IsPlayerAdmin(i))
        {
            
SetPlayerColor(i0xFF0000AA); // rcon
            
SetPlayerChatBubble(i"Rcon"GetPlayerColor(i), 20.010000);
        }
        else if(
pInfo[i][Ajudante] == true)
        {
            
SetPlayerColor(i0xFF00FFAA);
            
SetPlayerChatBubble(i"Ajudante(a)"GetPlayerColor(i), 20.010000);
        }
        else if(
pInfo[i][Moderador] == true)
        {
             
SetPlayerColor(i0x008000AA);
            
SetPlayerChatBubble(i"Moderador(a)"GetPlayerColor(i), 20.010000);
        }
        else if(
pInfo[i][Corregedor] == true)
        {
            
SetPlayerColor(i0x00FFFFAA);
            
SetPlayerChatBubble(i"Corregedor(a)"GetPlayerColor(i), 20.010000);
        }
          else if(
pInfo[i][Administrador] == true)
        {
            
SetPlayerColor(i0xFF0000AA);
            
SetPlayerChatBubble(i"Administrador(a)"GetPlayerColor(i), 20.010000);
        }
        else if(
pInfo[i][Master] == true)
        {
            
SetPlayerColor(i0x800000AA);
            
SetPlayerChatBubble(i"Administrador(a)"GetPlayerColor(i), 20.010000);
        }
        else if(
GetPlayerScore(i) < 5)
        {
            
SetPlayerColor(i0xFF8000AA);
            
SetPlayerChatBubble(i"Novato(a)"GetPlayerColor(i), 20.010000);
        }
        else if(
GetPlayerScore(i) >= 5SetPlayerColor(i0xFFFFFFAA);
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)