[Ajuda] Icone no mapa de casa comprada e casa liberada, ajuda?
#1

Ai gente vou posta aki meu sistema de criar, comprar, e vender casa, ai vcs verem como eu faço para colocar o icone no mapa de casa liberada ( casinha verde ) e casa comprada ( casinha vermelha ).

Alguem me ajuda? PF

EX> vc cria a casa, ela iria ficar liberada ( Casinha verde)

PHP Code:
if(strcmp(cmd"/criarcasa"true) == 0) {
if(
pAdmin[playerid] >=5){
new 
tmp[256];
new 
precoint;
tmp strtok(cmdtextidx);
if(!
strlen(tmp)){
SendClientMessage(playeridVermelho"/criarcasa [preço] [interiorID]");
return 
1;
}
preco strval(tmp);
tmp strtok(cmdtextidx);
if(!
strlen(tmp)){
SendClientMessage(playeridVermelho"/criarcasa [preço] [interiorID]");
return 
1;
}
int strval(tmp);
format(stringsizeof(string), "/Casas/casa%d.ini"proximacasa);
if(!
dini_Exists(string)){
new 
Float:XFloat:YFloat:Z;
GetPlayerPos(playeridXYZ);
dini_Create(string);
dini_FloatSet(string"PosX"X);
dini_FloatSet(string"PosY"Y);
dini_FloatSet(string"PosZ"Z);
dini_IntSet(string"Int"int);
//dini_FloatSet(string, "IntX", X);
//dini_FloatSet(string, "IntY", Y);
//dini_FloatSet(string, "IntZ", Z);
dini_IntSet(string"Mundo"proximacasa);
dini_IntSet(string"TDono"0);
dini_Set(string"Dono""Ninguem");
dini_Set(string,"Mensagemc","Nenhuma");
dini_IntSet(string"Preco"preco);
dini_IntSet(string"Trancada"0);
new 
pickupid;
pickupid CreatePickup(12731dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), -1);
dini_IntSet(string"Id"pickupid);
new 
string2[222];
format(string2sizeof(string2), "Casa [ ID: %d ]\n/InfoCasa"proximacasa);
Create3DTextLabel(string2,0x00FFFFAAdini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ")+0.75,20.0,0,1);
proximacasa++;
}
}
return 
1;

Agora EX> ai eu vou e compro a casa, e ela fica ( Casinha Vermelha )

PHP Code:
if(strcmp(cmdtext"/casa comprar"true) == 0) {
for(new 
0MAX_CASASc++)
{
format(stringsizeof(string), "/Casas/casa%d.ini"c);
if(
dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
new pname[MAX_PLAYER_NAME];
dini_IntSet(file2"MN"1);
GetPlayerName(playeridpnamesizeof(pname));
format(filesizeof(file), PASTA_CONTASpname);
if(
IsPlayerInRangeOfPoint(playerid2.0dini_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(
/*dini_Int(file,"Tcasa2")==0*/(GetCasas(playerid) < && dini_Int(filena(playerid),"Vip") == 0)){
dini_IntSet(string"TDono"1);
dini_Set(string"Dono"pname);
OnPlayerCommandText(playerid"/nascercasa");
dini_IntSet(file"Tcasa2"dini_Int(file,"Tcasa2")+1);
GivePlayerGrana(playerid, -dini_Int(string"Preco"));
new 
pickupid;
DestroyPickup(dini_Int(string"Id"));
pickupid CreatePickup(12721dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), -1);
dini_IntSet(string"Id"pickupid);
new 
Float:X,Float:Y,Float:Z;
GetPlayerPos(playeridXYZ);
dini_FloatSet(pname,"CasaX",Float:X);
dini_FloatSet(pname,"CasaY",Float:Y);
dini_FloatSet(pname,"CasaZ",Float:Z);
new 
string2[256];
format(string2sizeof(string2), "{ABEB0C}[ INFO ] O(A) jogador(a) {FFFFFF}%s {ABEB0C}comprou a casa ID {FFFFFF}%d . {ABEB0C}Localizada: {FFFFFF}%s"pname,c,GetPlayerArea(playerid));
SendClientMessageToAll(Amarelo,string2);
} else {
SendClientMessage(playeridVermelho"[ x ] Você já possui uma Casa!");
}
} else {
SendClientMessage(playeridVermelho"Você não tem dinheiro");
}
} else {
SendClientMessage(playeridVermelho"Esta casa não está a venda!");
}
} else {
//SendClientMessage(playerid, Vermelho, "Peça permição à um admin online para comprar a casa.");
}
}
}
return 
1;

Agora EX: Eu vendo minhaa casa ai a casinha volta a ser ( Casinha verde )

PHP Code:
if(strcmp(cmdtext"/casa vender"true) == 0) {
new 
pname[MAX_PLAYER_NAME];
GetPlayerName(playeridpnamesizeof(pname));
for(new 
0MAX_CASASc++)
{
format(stringsizeof(string), "/Casas/casa%d.ini"c);
if(
dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid2.0dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"))){
if(
dini_Int(string"TDono") == 1){
if(
strcmp(dini_Get(string"Dono"), pnamefalse) == || pAdmin[playerid] >= 5){
format(filesizeof(file), PASTA_CONTAS,dini_Get(string,"Dono"));
dini_IntSet(string"TDono"0);
dini_Set(string"Dono""Ninguem");
GivePlayerGrana(playeriddini_Int(string"Preco") / 2);
dini_IntSet(file"Tcasa2"dini_Int(file,"Tcasa2")-1);
new 
pickupid;
DestroyPickup(dini_Int(string"Id"));
pickupid CreatePickup(12731dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), -1);
dini_IntSet(string"Id"pickupid);
new 
string2[256];
if(
pAdmin[playerid] < 5){
format(string2sizeof(string2), "[ INFO ] O(A) jogador(a) {FFFFFF}%s {FF6600}vendeu a sua casa ID {FFFFFF}%d. {FF6600}Localizada: {FFFFFF}%s",pname,c,GetPlayerArea(playerid));
SendClientMessageToAll(0xFF6600AA,string2);
} else {
format(stringsizeof(string), "[ INFO ] O(A) Administrador(a) {FFFFFF}%s {FF6600}liberou a casa ID {FFFFFF}%d. {FF6600}Localizada: {FFFFFF}%s"pname,c,GetPlayerArea(playerid));
SendClientMessageToAll(0xFF6600AAstring);
}
} else {
SendClientMessage(playeridVermelho"Esta casa não é sua");
}
} else {
SendClientMessage(playeridVermelho"Esta casa já está a venda !");
}
} else {
// SendClientMessage(playerid, Vermelho, "Você não está em uma propriedade");
}
}
}
return 
1;

E por ultimo esse aki q é o For New das casas> Exemplo>

PHP Code:
for(new 0MAX_CASASc++)
{
format(stringsizeof(string), "/Casas/casa%d.ini"c);
if(
dini_Exists(string)){
new 
pickupid;
if(
dini_Int(string"TDono") == 0){
pickupid CreatePickup(12731dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), -1);
dini_IntSet(string"Id"pickupid);
new 
string2[222];
format(string2sizeof(string2), "Casa [ ID: %d ]\n/InfoCasa"c);
Create3DTextLabel(string2,0x00FFFFAAdini_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(12721dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), -1);
dini_IntSet(string"Id"pickupid);
new 
string2[222];
format(string2sizeof(string2), "Casa [ ID: %d ]\n/InfoCasa"c);
Create3DTextLabel(string2,0x00FFFFAAdini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ")+0.75,20.0,0,1);
//proximacasa++;
}
}
proximacasa++;
}

PF alguem?
Reply
#2

Utilize CreateDynamicMapIcon atualizando se a casa й ou nгo comprada
Reply
#3

Como assim amigo? pode me explicar ? PF
Reply
#4

Digamos que vocк crie uma callback identificada slб por.....

pawn Code:
forward atualizarcasas(playerid);
public atualizarcasas(playerid)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
        //Identifique se a casa й comprada e crie um нcone verde
    }
    //utilize um else para identificar se ela nгo й comprada e crie um нcone vermelho
return true;
}
Reply
#5

Ei amigo eu fis assim>

PHP Code:
public atualizarcasas(playerid)
{
    for(new 
0MAX_CASASc++)
    {
      
format(stringsizeof(string), "/Casas/casa%d.ini"c);
      if(
dini_Exists(string)){
      new 
iconescasa;
      if(
dini_Int(string"TDono") == 0){
      
iconescasa CreateDynamicMapIcon(playerid1dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), 310);
      } else {
      if(
dini_Int(string,"TDono") == 1){
      
iconecasa CreateDynamicMapIcon(playerid2dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), 320);
      
dini_IntSet(string"Id"pickupid);
      return 
true;
    } 
Mais deu os "26" erros q é erro de chave se sabe neh?
Reply
#6

Oppppps, ai consertei os 26 ERROS - mais agora deu esses 4 erros aski ó ... me ajuda? pfpfppfpf

Quote:

C:\Users\Jonathan\Desktop\New Virtual Life\pawno\include\antibot.inc(84) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(4154) : warning 213: tag mismatch
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(4160) : warning 225: unreachable code
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(4171) : warning 213: tag mismatch
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(4177) : warning 225: unreachable code
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(418 : warning 213: tag mismatch
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(4200) : warning 225: unreachable code
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(7119) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(7123) : warning 211: possibly unintended assignment
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(12650) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(28222) : error 017: undefined symbol "string"
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(28222) : error 017: undefined symbol "string"
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(28222) : error 029: invalid expression, assumed zero
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPG.pwn(28222) : 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
#7

Desculpe pelo double, mais alguem?
Reply
#8

Vocк nem se esforзa para conseguir sozinho. Baixa uns 4 GMs simples e estude-os. Use o ******. Use o search do fуrum. Use o cйrebro.
Quando eu era novata sу pedia ajuda em ъltimo caso, me esforзava ao mбximo. Olhava todos GMs que eu tinha para estudar, usava o ******, pesquisava em outros idiomas. Nunca editei GM, criei todos do zero.
Quando eu comecei a aprender pawn eu tinha 11 anos.
Se esforce mais, pois nem sempre vai ter alguйm pra te ajudar. E nгo estou falando sу de pawn.

@tуpico
Poste o cуdigo.
Reply
#9

Ok, obrigado pela dia mais q isso fais um tempao q to pesquisano e n acho, nem no ****** nem aki :/ mais vlw pela dica
Reply
#10

Vocк ainda nгo postou o cуdigo, sу os erros hahahaha
Reply
#11

e vc n fez double post, mas sim triple post kkkkk
Reply
#12

Quote:
Originally Posted by Jonathan4i20
View Post
Ei amigo eu fis assim>

PHP Code:
public atualizarcasas(playerid)
{
    for(new 
0MAX_CASASc++)
    {
      
format(stringsizeof(string), "/Casas/casa%d.ini"c);
      if(
dini_Exists(string)){
      new 
iconescasa;
      if(
dini_Int(string"TDono") == 0){
      
iconescasa CreateDynamicMapIcon(playerid1dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), 310);
      } else {
      if(
dini_Int(string,"TDono") == 1){
      
iconecasa CreateDynamicMapIcon(playerid2dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), 320);
      
dini_IntSet(string"Id"pickupid);
      return 
true;
    } 
Mais deu os "26" erros q й erro de chave se sabe neh?
CAAARA PELAMOR DE DEUS! vocк abriu ali que eu contei 4 { e nгo fechou nenhum }


pawn Code:
public atualizarcasas(playerid)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
       
        format(string, sizeof(string), "/Casas/casa%d.ini", c);
        if(dini_Exists(string))
        {
           
            new iconescasa;
            if(dini_Int(string, "TDono") == 0)
            {
               
                iconescasa = CreateDynamicMapIcon(playerid, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, 0);
            }
            else
            {
               
                if(dini_Int(string,"TDono") == 1)
                {
                   
                    iconecasa = CreateDynamicMapIcon(playerid, 2, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 32, 0);
                    dini_IntSet(string, "Id", pickupid);
                }
            }
        }
    }
    return true;
}
Lembrando a funcionalidade do cуdigo vocк se vira ai pra poder fazer sу fiz o que vocк nгo tinha feito em relaзгo as chaves.
Reply
#13

pawn Code:
mapaicone[c] = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, -1, -1, 0, -1, 100.0); // para os нcones
sу acrescentar isso ai tanto na parte dos cmds como na outra parte, assim como PT falow no inнcio
Reply
#14

Ai gente, eu só quero que vcs me respondem pq deu esse erro? mais só quero sabe disso, deu certo n pergunto mais, pf to desesperado querendo coloca os icone mais nunca consigo, ja estudei os codigos mais nada pff

PHP Code:
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPGt.pwn(28223) : error 017undefined symbol "string"
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPGt.pwn(28223) : error 017undefined symbol "string"
C:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPGt.pwn(28223) : error 029invalid expressionassumed zero
C
:\Users\Jonathan\Desktop\New Virtual Life\gamemodes\NVLRPGt.pwn(28223) : fatal error 107too many error messages on one line 
deu esses erros me ajuda?
Reply
#15

cara coloca la

pawn Code:
new string[256];
Reply
#16

@Edit

Opa man, eu vi aki que nenhum icone ta aparecendo no mapa :S deve ser bug do GM neh? sabe arrumas? é só coloca CreateDynamic neh?

PHP Code:
public atualizarcasas(playerid)
{
    for(new 
0MAX_CASASc++)
    {
    
        new 
string[256];
        
format(stringsizeof(string), "/Casas/casa%d.ini"c);
        if(
dini_Exists(string))
        {
            new 
mapaicone;
            if(
dini_Int(string"TDono") == 0)
            {
                
mapaicone CreateDynamicMapIcon(dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), 31, -1, -10, -1100.0);
            }
            else
            {
                if(
dini_Int(string,"TDono") == 1)
                {
                    
mapaicone CreateDynamicMapIcon(dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"), 31, -1, -10, -1100.0);
                    
dini_IntSet(string"Id"mapaicone);
                }
            }
        }
    }
    return 
true;

Reply
#17

Vc nгo esta estudando, muleque.

Undefined symbol й o erro MAIS fбcil de consertar, e vc vem correr nos forums pedir ajuda?

[Texto removido, novas versoes do PAWN nгo tem esse tal arquivo >.>]

PQP!

obs: num й a toa que o GM ta bugado >.>
Reply
#18

ata, blz , vo ver esse arquivo ai, mais como diz ( Eu sou novato, tem algum site de Tutoriais de iniciante? ) vou pesquisar aulas de iniciante, mais vlw ai a todos
Reply


Forum Jump:


Users browsing this thread: 10 Guest(s)