[Ajuda] Icone
#1

Tipo eu queria coloca para quando compra-se a casa e vende-se a casa, troca-se o нcone.
Code
pawn Код:
new mapaicone;
pawn Код:
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
new pickupid;
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);
mapaicone = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, -1, -1, 0, -1, 100.0);
new string2[222];
format(string2, sizeof(string2), "Casa N° %d", 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);
mapaicone = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 32, -1, -1, 0, -1, 100.0);
dini_IntSet(string, "Id", pickupid);
new string2[222];
format(string2, sizeof(string2), "Casa N° %d", c);
Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")+0.75,20.0,0,1);
//proximacasa++;
}
}
proximacasa++;
}
}
pawn Код:
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)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
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(/*dini_Int(file,"Tcasa2")==0*/(GetCasas(playerid) < 1 && dini_Int(filena(playerid),"Vip") == 0) || (GetCasas(playerid) < 3 && 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(1272, 1, dini_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(playerid, X, Y, Z);
dini_FloatSet(pname,"CasaX",Float:X);
dini_FloatSet(pname,"CasaY",Float:Y);
dini_FloatSet(pname,"CasaZ",Float:Z);
new string2[256];
format(string2, sizeof(string2), "(CASA) O jogador %s, comprou a casa nъmero '%d'.", pname,c);
SendClientMessageToAll(0xFFFFFFAA,string2);
} else {
SendClientMessage(playerid, Vermelho, "** Vocк jб possui uma Casa!");
}
} else {
SendClientMessage(playerid, Vermelho, "Vocк nгo tem dinheiro");
}
} else {
SendClientMessage(playerid, Vermelho, "Esta casa nгo estб a venda!");
}
} else {
//SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade");
}
}
}
return 1;
}
pawn Код:
if(strcmp(cmdtext, "/vendercasa", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 1){
if(strcmp(dini_Get(string, "Dono"), pname, false) == 0 || pAdmin[playerid] >= 5){
format(file, sizeof(file), PASTA_CONTAS,dini_Get(string,"Dono"));
dini_IntSet(string, "TDono", 0);
dini_Set(string, "Dono", "Ninguem");
GivePlayerGrana(playerid, dini_Int(string, "Preco") / 2);
dini_IntSet(file, "Tcasa2", dini_Int(file,"Tcasa2")-1);
new pickupid;
DestroyPickup(dini_Int(string, "Id"));
pickupid = CreatePickup(1273, 1, dini_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(string2, sizeof(string2), "(CASA) O jogador %s, vendeu a sua casa nъmero '%d'.",pname,c);
SendClientMessageToAll(0xFFFFFFAA,string2);
} else {
format(string, sizeof(string), "* O administrador %s liberou a casa '%d'", pname,c);
SendClientMessageToAll(AdminCor, string);
}
} else {
SendClientMessage(playerid, Vermelho, "Esta casa nгo й sua");
}
} else {
SendClientMessage(playerid, Vermelho, "Esta casa jб estб a venda !");
}
} else {
// SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade");
}
}
}
return 1;
}
+rep para quem me ajuda.
Reply
#2

@ Doble post

Alguйm?
Reply
#3

No cmd comprar

mapaicone = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 32, -1, -1, 0, -1, 100.0);

no vender

mapaicone = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, -1, -1, 0, -1, 100.0);

tenta ae.
Reply
#4

Assim que o GM for inicializado e as casas forem carregadas, armazene o ID do нcone dela

pawn Код:
new CasaIcone[NUMERO_DE_CASAS];

CasaIcone[NUMERO_DA_CASA] = CreatePickup(...
Quando vender a casa, destrua o нcone, e acrescente o novo

https://sampwiki.blast.hk/wiki/DestroyPickup
https://sampwiki.blast.hk/wiki/CreatePickup
Reply
#5

Quote:
Originally Posted by zbt
Посмотреть сообщение
No cmd comprar

mapaicone = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 32, -1, -1, 0, -1, 100.0);

no vender

mapaicone = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, -1, -1, 0, -1, 100.0);

tenta ae.
Jб tentei isso, nгo da certo.
Queria que destruise o outro e cria-se outro no lugar.
Reply
#6

Afinal, vocк quer trocar MapIcon, ou Pickup ?
Reply
#7

MapIcon
Reply
#8

Por curiosidade. Sгo quantas casas?
Reply
#9

No max 200.
Reply
#10

https://sampwiki.blast.hk/wiki/SetPlayerMapIcon

Quote:

Important Note: You can only have 100 mapicons!

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)