[AJUDA]Text3D Da Casa
#1

Bem. Estou com um problema. No meu sistema de casas..
Fiz pra criar um Text3d na casa.
Sу que quando eu compro a casa esse texto nгo atualiza.
Ele sу atualiza se eu reiniciar o servidor. ¬¬

Video:
[ame]http://www.youtube.com/watch?v=4eFLDcmqG04[/ame]

Cуdigo:
Код:
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
new pickupid;
new slg[256];
if(dini_Int(string, "TDono") == 0){
pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
new string2[222];
format(string2, sizeof(string2), "Casa N° %d \n Status: A Venda \n Preco: %d\n Use: /comprarcasa", c, dini_Int(string,"Preco"));
Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
proximacasa++;
} else {
if(dini_Int(string,"TDono") == 1){
pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
new string2[222];
format(string2, sizeof(string2), "Casa N° %d\n Dono %s\n Ultimo Login do dono: %s\n Aperte 'F'", c, dini_Get(string2, "Dono"), dini_Get(slg,"Lg"));
Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
proximacasa++;
}
}
}
}
Reply
#2

mande o comando /Comprar e subistitue:
pawn Код:
for(new c = 0; c < MAX_CASAS; c++)
        {
            format(string, sizeof(string), "/Casas/casa%d.ini", c);
            if(dini_Exists(string))
            {
                new pickupid;
                new slg[256];
                if(dini_Int(string, "TDono") == 0)
                {
                    pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
                    dini_IntSet(string, "Id", pickupid);
                    new string2[222];
                    format(string2, sizeof(string2), "Casa N° %d \n Status: A Venda \n Preco: %d\n Use: /comprarcasa", c, dini_Int(string,"Preco"));
                    Casa[c] = Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
                    proximacasa++;
                }
                else
                {
                    if(dini_Int(string,"TDono") == 1)
                    {
                        pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
                        dini_IntSet(string, "Id", pickupid);
                        new string2[222];
                        format(string2, sizeof(string2), "Casa N° %d\n Dono %s\n Ultimo Login do dono: %s\n Aperte 'F'", c, dini_Get(string2, "Dono"), dini_Get(slg,"Lg"));
                        Casa[c] = Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
                        proximacasa++;
                    }
                }
            }
        }
Reply
#3

Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0) {
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){


if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 0){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
if(GetCasas(playerid) < 1){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", pname);
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
new pickupid;
DestroyPickup(dini_Int(string, "Id"));
pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
OnPlayerCommandText(playerid, "/nascercasa");
} else {
SendClientMessage(playerid, Vermelho, "{778899}[ERROR]{00FF00} Vocк sу pode ter uma casa!");
}
} else {
SendClientMessage(playerid, Vermelho, "{778899}[ERROR]{00FF00} Vocк nгo tem dinheiro!");
}
} else {
SendClientMessage(playerid, Vermelho, "{778899}[ERROR]{00FF00} Esta casa nгo estб a venda!");
}
} else {
//
}
}
}
return 1;
}
Erros :

Код:
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1545) : error 017: undefined symbol "Casa"
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1545) : warning 215: expression has no effect
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1545) : error 001: expected token: ";", but found "]"
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1545) : error 029: invalid expression, assumed zero
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1545) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#4

pawn Код:
if(!strcmp(cmdtext, "/comprarcasa", true))
    {
        for(new c = 0; c < MAX_CASAS; c++)
        {
            format(string, sizeof(string), "/Casas/casa%d.ini", c);
            if(dini_Exists(string))
            {
                if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
                {
                    if(dini_Int(string, "TDono") == 0)
                    {
                        if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco"))
                        {
                            if(GetCasas(playerid) < 1)
                            {
                                new pname[MAX_PLAYER_NAME];
                                GetPlayerName(playerid, pname, sizeof(pname));
                                dini_IntSet(string, "TDono", 1);
                                dini_Set(string, "Dono", pname);
                                GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
                                new pickupid;
                                DestroyPickup(dini_Int(string, "Id"));
                                pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
                                dini_IntSet(string, "Id", pickupid);
                                format(string2, sizeof(string2), "Casa N° %d\n Dono %s\n Ultimo Login do dono: %s\n Aperte 'F'", c, dini_Get(string, "Dono"), dini_Get(slg,"Lg"));
                                Casa[c] = Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
                                OnPlayerCommandText(playerid, "/nascercasa");
                            }
                            else
                            {
                                SendClientMessage(playerid, Vermelho, "{778899}[ERROR]{00FF00} Vocк sу pode ter uma casa!");
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, Vermelho, "{778899}[ERROR]{00FF00} Vocк nгo tem dinheiro!");
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, Vermelho, "{778899}[ERROR]{00FF00} Esta casa nгo estб a venda!");
                    }
                }
                else
                {}
            }
        }
    return 1;
    }
Reply
#5

Deu o mesmo error Citado a cima.
Reply
#6

aproveitando o topico...
Код:
C:\Users\Intel\Documents\GM.pwn(1545) : warning 213: tag mismatch
C:\Users\Intel\Documents\GM.pwn(3807) : warning 213: tag mismatch
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase

Header size:           6012 bytes
Code size:           745000 bytes
Data size:          1013256 bytes
Stack/heap size:      16384 bytes; estimated max. usage: unknown, due to recursion
Total requirements: 1780652 bytes

2 Warnings.
perto das define :
Код:
new casaup1;
linha 1545:
Код:
casaup1 = Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
linha:3807
Код:
Update3DTextLabelText(casaup1, 0xFFFFFFAA, "Casa N° %d \n Status: A Venda \n Preco: %d\n Use: /comprarcasa");
Reply
#7

Problema de tags.

Para se usar 3DTextLabels, coloque no comeзo new Text3D:casaup1;
Reply
#8

pawn Код:
new Text3D:casaup1;
Reply
#9

Vou testar.

@@@@@

O Text3d ainda nгo atualiza .. ¬¬.

@@@@
Carol. quando eu troco o /comprarcasa e o

for(new c = 0; c < MAX_CASAS; c++)

Dгo esses seguintes erros

Код:
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1548) : error 017: undefined symbol "Casa"
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1548) : warning 215: expression has no effect
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1548) : error 001: expected token: ";", but found "]"
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1548) : error 029: invalid expression, assumed zero
C:\Users\Player\Desktop\Servidor\gamemodes\GM.pwn(1548) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#10

pawn Код:
//topo:
new Text3D:Casa[MAX_CASAS];
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)