[AYUDA]Atach & Detach 3DTextLabel Por CMD
#1

Vengo pedirles ayuda en un comando que hice, se supone que el comando debe dar un Atach de un 3dtextlabel pero algo sale mal...
Aqui les muestro la estructura:

En Los NEW:
pawn Код:
new Text3D:label;
new Text3D:lovel;

En OnPlayerCommandText:

pawn Код:
if(strcmp(cmdtext, "/INSUNZA", true) == 0)
{
    label = Create3DTextLabel("AJUSTES INSUNZA", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
    return 1;
}
if(strcmp(cmdtext, "/qclan", true) == 0)
{
Delete3DTextLabel(label);
Delete3DTextLabel(lovel);
return 1;
}
if(strcmp(cmdtext, "/UNOE", true) == 0)
{
    lovel = Create3DTextLabel("UNOE", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(lovel, playerid, 0.0, 0.0, 0.7);
    SetPlayerColor(playerid, 0x00007BFF);
    return 1;
}
Errores:

1.- cuando usas /qclan se quitan los labels de todos los usuarios conectados, yo solo quiero que se le quite al player que uso el COMANDO

2.- cuando un player usa /insunza o /unoe les pone el 3dtextlabel al player, pero si sale y vuelve a entrar el label sigue puesto


ayudenme a resolver esos errores amigos U.U PORFAVOR

GRACIAS DE ANTEMANO
Reply
#2

pawn Код:
new Text3D:label[MAX_PLAYERS];
new Text3D:lovel[MAX_PLAYERS];
pawn Код:
if(strcmp(cmdtext, "/INSUNZA", true) == 0)
{
    label[playerid] = Create3DTextLabel("AJUSTES INSUNZA", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
    return 1;
}
if(strcmp(cmdtext, "/qclan", true) == 0)
{
Delete3DTextLabel(label[playerid]);
Delete3DTextLabel(lovel[playerid]);
return 1;
}
if(strcmp(cmdtext, "/UNOE", true) == 0)
{
    lovel[playerid] = Create3DTextLabel("UNOE", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(lovel, playerid, 0.0, 0.0, 0.7);
    SetPlayerColor(playerid, 0x00007BFF);
    return 1;
}
Intenta de esta manera sucedia porque era algo global y ademбs tienes que usar MAX_PLAYERS (todos los jugadores) para entonces usar [playerid] y solo se le quite a ese jugador
Reply
#3

Quote:
Originally Posted by deryan
Посмотреть сообщение
pawn Код:
new Text3D:label[MAX_PLAYERS];
new Text3D:lovel[MAX_PLAYERS];
pawn Код:
if(strcmp(cmdtext, "/INSUNZA", true) == 0)
{
    label[playerid] = Create3DTextLabel("AJUSTES INSUNZA", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
    return 1;
}
if(strcmp(cmdtext, "/qclan", true) == 0)
{
Delete3DTextLabel(label[playerid]);
Delete3DTextLabel(lovel[playerid]);
return 1;
}
if(strcmp(cmdtext, "/UNOE", true) == 0)
{
    lovel[playerid] = Create3DTextLabel("UNOE", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(lovel, playerid, 0.0, 0.0, 0.7);
    SetPlayerColor(playerid, 0x00007BFF);
    return 1;
}
Intenta de esta manera sucedia porque era algo global y ademбs tienes que usar MAX_PLAYERS (todos los jugadores) para entonces usar [playerid] y solo se le quite a ese jugador
amigo me marca error en 2 lineas que son estas

pawn Код:
Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
Y Attach3DTextLabelToPlayer(lovel, playerid, 0.0, 0.0, 0.7);
C:\Users\Karlooh\Desktop\Carteles Unidos v2\gamemodes\CumV2.pwn(6612) : error 035: argument type mismatch (argument 1)
C:\Users\Karlooh\Desktop\Carteles Unidos v2\gamemodes\CumV2.pwn(6624) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.
Reply
#4

Код:
Attach3DTextLabelToPlayer(lovel[playerid], playerid, 0.0, 0.0, 0.7);
Reply
#5

gracias TEMA SOLUCIONADO
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)