[Ajuda] 3D TextLabel
#1

Galera como todos sabem o Nosso amigo Delete_ postou seu GM do Siga Bem Caminhoneiro.

Eu entгo resolvi baixar para ver os sistemas dele e gostei de Um, o de 3d Label na cabeзa do Player.

Entгo decidi implanta-lo em meu GM, porйm nгo estou conseguindo entender o pq nгo quer pegar. Codes Usados.

pawn Код:
//topo gm
#define MudarMSG                    87000
new Text3D:TextoCabeca[MAX_PLAYERS];

//OnPlayerConnect
TextoCabeca[playerid] = Create3DTextLabel(" ",0xF4A460FF,0,0,0,40,0,0);
Attach3DTextLabelToPlayer(TextoCabeca[playerid], playerid, 0.0, 0.0, 0.6);

//OnPlayerDisconnect
Delete3DTextLabel(TextoCabeca[playerid]);

//OnDialogResponse
    if(dialogid == MudarMSG)
    {
        if(!response) return 1;
        if(strlen(inputtext) < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Muito pequeno)");
        if(strlen(inputtext) > 80) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Mбximo 80 caractйres)");
        if(isNumeric(inputtext)) return SendClientMessage(playerid, -1, "{FF0000}[ERRO]: Sua mensagem nгo pode conter nъmeros.");
        if(stringContainsIP(inputtext)) return SendClientMessage(playerid, -1, "{FF0000}[ERRO]: Sua mensagem nгo pode conter nъmeros.");
        new str[128];
        format(APlayerData[playerid][Cabeca], 128, inputtext);
        Update3DTextLabelText(TextoCabeca[playerid], 0xF4A460FF, APlayerData[playerid][Cabeca]);
        format ( str  ,sizeof ( str ) , "Vocк mudou o texto na sua cabeзa para: %s" , inputtext ) ;
        SendClientMessage ( playerid , 0xFFFDE8AA , str ) ;
        PlayerFile_Save(playerid);
    }

//Comando
CMD:3d(playerid, params[])
{
    if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, -1, "{FFFF00}[ERRO] {FF0000}Vocк nгo Spawnou");
    if (APlayerData[playerid][PlayerScore] < 500) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERRO]: Vocк precisa ter mais de 500 pontos!");
    new StrD[4000];
    format(StrD, 128, "Seu 3D atual: %s\n\n{BEBEBE}Digite abaixo sua mensagem 3D.", APlayerData[playerid][Cabeca]);
    ShowPlayerDialog(playerid,MudarMSG,DIALOG_STYLE_INPUT,"{FFFFFF}Frase 3D", StrD,"OK","Cancelar");
//    ShowPlayerDialog(playerid, MudarMSG, DIALOG_STYLE_INPUT, "{CDAA7D}Registrando...", StringR, "Registrar", "Sair");
    return 1;
}

stock stringContainsIP(string[])
{
    new dotCount;
    for(new i; string[i] != EOS; ++i)
    {
        if(('0' <= string[i] <= '9') || string[i] == '.' || string[i] == ':' || string[i] == ' ')
        {
            if((string[i] == '.') && (string[i + 1] != '.') && ('0' <= string[i - 1] <= '9'))
            {
                ++dotCount;
            }
            continue;
        }
    }
    return (dotCount > 2);
}

IsPlayerSpawned(playerid)
{
    new statex = GetPlayerState(playerid);
    if(statex != PLAYER_STATE_NONE && statex != PLAYER_STATE_WASTED && statex != PLAYER_STATE_SPAWNED)
    {
        if(statex != PLAYER_STATE_SPECTATING)
        {
            return true;
        }
    }
    return false;
}
PPC_Defines
pawn Код:
//enum TPlayerData
//{
Cabeca[80],
PPC_FileOperations
pawn Код:
//PlayerFile_Create(playerid)
//{
    format(LineForFile, 100, "Cabeca %s\r\n", 0); //
    fwrite(PFile, LineForFile);
//PlayerFile_Load(playerid)
//{
if (strcmp(ParameterName, "Cabeca", false) == 0)
format(APlayerData[playerid][Cabeca], 50, ParameterValue);
//PlayerFile_Save(playerid)
//{
format(LineForFile, 100, "Cabeca %s\r\n", APlayerData[playerid][Cabeca]);
fwrite(PFile, LineForFile);
O problema й quando entro no server e digito o comando, escolho minha frase tudo, Porйm a Frase nгo salva.

Alguem Pode me ajudar?
Reply
#2

Verifique na conta do player se a frase estar salvando, se estiver, pegue o cуdigo que estб no OnPlayerSpawn que carregarб o textlabel, nгo tenho certeza se й nessa callback, verifique.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)