[Ajuda] Attach3DTextLabelToPlayer
#1

Estava pensando em colocar um Attach3DTextLabelToPlayer para por a profissao do player em cima do boneco...

entгo como eu nao sei como fazer, tentei fazer de 2 modos.
Colocando dentro da callback OnPlayerConnect

pawn Код:
switch (APlayerData[playerid][PlayerClass])
    {
        case ClassTruckDriver:
        {
            new Text3D:label = Create3DTextLabel("[Caminhoneiro]", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
            Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
        }
        case ClassBusDriver:
        {
            new Text3D:label = Create3DTextLabel("[Motorista]", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
            Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
        }
    return 1;
}
Caso ele entre na ClassTruckDrive a Label й "[Caminhoneiro] se entrar na ClassBussDriver a label vai para "[Motorista]

Deu os seguintes erros :
pawn Код:
C:\Users\BlaBla\Test(276) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\BlaBla\Test(276) : error 029: invalid expression, assumed zero
C:\Users\BlaBla\Test(276) : warning 215: expression has no effect
C:\Users\BlaBla\Test(276) : error 001: expected token: ";", but found "]"
C:\Users\BlaBla\Test(276) : fatal error 107: too many error messages on one line
Linha de erro:
pawn Код:
Linha de erro й sempre a proxima linha de codigo depois do ultimo fechamento "}"
Vamos para segunda tentativa
pawn Код:
if(APlayerData[playerid][PlayerClass][ClassTruckDriver] == true)
{
            new Text3D:label = Create3DTextLabel("[Caminhoneiro]", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
            Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);

    return 0;
)

if(APlayerData[playerid][PlayerClass][ClassBusDriver] == true)
{
            new Text3D:label = Create3DTextLabel("[Motorista]", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
            Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);

    return 0;
)
A mesma logica

Seguintes erros :
pawn Код:
C:\Users\BlaBla\Test(260) : error 001: expected token: ")", but found "["
C:\Users\BlaBla\Test(260) : error 029: invalid expression, assumed zero
C:\Users\BlaBla\Test(260) : warning 215: expression has no effect
C:\Users\BlaBla\Test(260) : error 001: expected token: ";", but found "]"
C:\Users\BlaBla\Test(260) : fatal error 107: too many error messages on one line
Linda de erro
pawn Код:
if(APlayerData[playerid][PlayerClass][ClassTruckDriver] == true)
Reply
#2

Quote:
Originally Posted by Luucass
Посмотреть сообщение
[CENTER]Estava pensando em colocar um Attach3DTextLabelToPlayer para por a profissao do player em cima do boneco...

entгo como eu nao sei como fazer, tentei fazer de 2 modos.
Colocando dentro da callback OnPlayerConnect

pawn Код:
switch (APlayerData[playerid][PlayerClass])
    {
        case ClassTruckDriver:
        {
            new Text3D:label = Create3DTextLabel("[Caminhoneiro]", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
            Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
        }
        case ClassBusDriver:
        {
            new Text3D:label = Create3DTextLabel("[Motorista]", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
            Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
        }
    return 1;
}
Talvez vc nгo consiga setar isso na OnPlayerConect, pq atй aeh o player nгo selecionou qual classe ele serб. Posso estar enganado, mas vc sу vai conseguir setar isso apуs OnPlayerRequestClass, assim jб define a profissгo escolhida e tbm o texto.
Reply
#3

Faзa por if mesmo pois switch nгo vai pegar nesse caso. Tire os return 0 do if e manda como ta definido o APlayerData. Vocк deve botar no onPlayerSpawn
Reply
#4

tente:
PHP код:
//Na public OnPlayerSpawn
if(APlayerData[playerid][PlayerClass] == ClassTruckDriver)
{
            new 
Text3D:label Create3DTextLabel("[Caminhoneiro]"0x008080FF30.040.050.040.00);
            
Attach3DTextLabelToPlayer(labelplayerid0.00.00.7);

Reply
#5

Quote:
Originally Posted by matheusspohr
Посмотреть сообщение
tente:
PHP код:
//Na public OnPlayerSpawn
if(APlayerData[playerid][PlayerClass] == ClassTruckDriver)
{
            new 
Text3D:label Create3DTextLabel("[Caminhoneiro]"0x008080FF30.040.050.040.00);
            
Attach3DTextLabelToPlayer(labelplayerid0.00.00.7);

Obrigado...
Uma duvida como eu vou ver se estб funcionando se meu servidor estб off, nao consigo ver no meu player ?
Reply
#6

Quote:
Originally Posted by Luucass
Посмотреть сообщение
Obrigado...
Uma duvida como eu vou ver se estб funcionando se meu servidor estб off, nao consigo ver no meu player ?
Nгo ha como ver, sу se chegar alguйm junto cntg, mais se estiver tudo certo atacado e talz, vai funcionar tranquilo.
Reply
#7

Blz, obrigado ai pela ajuda ✌️
Reply
#8

Vocк tambйm pode usar um NPC pra testar...
Reply
#9

Bom eu conseguir, agora quando o player muda de profissгo ele fica com os dois titulos no boneco.

No caso ele nao some o primeiro
Reply
#10

Deixa isso no topo do script
PHP код:
new Text3D:label
Quando for mudar, usa isso

PHP код:
Destroy3DTextLabel(label); 
Entгo, declara novamente com o novo texto:

PHP код:
label Create3DTextLabel("Nova profissгo"0x008080FF30.040.050.040.00); 
            
Attach3DTextLabelToPlayer(labelplayerid0.00.00.7); 
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)