Pickup Casa. -
WKhalifa - 13.02.2015
Olб, estou com uma dъvida tosca sobre o "
Destroy Pickup e o Create Pickup.
Й simples, quando eu compro a casa o нcone fica verde, e quando vendo a casa o нcone continua verde.
Eu coloquei o Destroy pickup, sei lб, talvez de uma forma incorreta, se puderem dar essa forзa.
pawn Код:
stock CreateHouse(Filename[], Cost, Float:Pickupx, Float:Pickupy, Float:Pickupz, Float:Telex, Float:Teley, Float:Telez, interior, sell)
{
new file[55];
format(file, sizeof(file), "mhhouses.ini", Filename);
if(!dini_Exists("mhhouses.ini"))
{
dini_Create("mhhouses.ini");
}
HouseCount ++;
new ID = HouseCount; //HouseID
format(HouseInfo[ID][HouseNames], 60, "%s", Filename); //Saves the HouseName into a variable
HouseInfo[ID][HouseCost] = Cost;
HouseInfo[ID][PickupX] = Pickupx;
HouseInfo[ID][Virtual] = 2000000 + ID;
HouseInfo[ID][PickupY] = Pickupy;
HouseInfo[ID][PickupZ] = Pickupz;
HouseInfo[ID][TeleX] = Telex;
HouseInfo[ID][TeleY] = Teley;
HouseInfo[ID][TeleZ] = Telez;
HouseInfo[ID][Interior] = interior;
HouseInfo[ID][HouseSell] = sell;
format(HouseInfo[ID][HouseOwner], 24, "gj9043jg-er((23");
if(strlen(dini_Get("mhhouses.ini", Filename))) //This is to see if there is any owner.
{
format(HouseInfo[ID][HouseOwner], 24, "%s", dini_Get("Mhhouses.ini", Filename));
HouseInfo[ID][Owned] = 1;
}
PickupID[ID] = CreatePickup(1272, 23, Pickupx, Pickupy, Pickupz, 1); //Creates the pickup}
PickupID[ID] = CreatePickup(1273, 23, Pickupx, Pickupy, Pickupz, -1); //Creates the pickup}
Create3DTextLabel("House", 0x00A0F6AA, Pickupx, Pickupy, Pickupz + 0.75, 15.0, 0, 1);
}
pawn Код:
public OnPlayerPickUpPickup(playerid, pickupid) //Pickup callback
{
if(pickupid == NovoPickup) { // Pickup definido
}
for(new J; J<MAX_HOUSES; J++) //Loops through all houses
{
if(pickupid == PickupID[J]) //If the pickupid is one of our house ones
{
new str[75];
if(HouseInfo[J][Owned] == 1)
{
pickup = CreatePickup(1272,1, HouseInfo[J][PickupX], HouseInfo[J][PickupY], HouseInfo[J][PickupZ], 1);
format(str, sizeof(str), "~n~~n~~n~~n~~n~~B~Casa Info~n~~g~Dono: ~w~%s", HouseInfo[J][HouseOwner], 1);
}
if(HouseInfo[J][Owned] == 0)
{
pickup = CreatePickup(1273,1, HouseInfo[J][PickupX], HouseInfo[J][PickupY], HouseInfo[J][PickupZ], -1);
format(str, sizeof(str), "~n~~n~~n~~n~~n~~b~Casa Info~n~~g~Dono: ~w~Ninguem", HouseInfo[J][HouseOwner], -1);
SendClientMessage(playerid, 0x67F6F6AA, "Esta Casa estб а Venda, use /ComprarCasa para adquiri-lб.");
}
new str2[100];
format(str2, sizeof(str2), "~g~Preco:~w~ %d ~n~~g~Preco de Revenda:~w~ %d", HouseInfo[J][HouseCost], HouseInfo[J][HouseSell]);
new str3[150];
format(str3, sizeof(str3), "%s~n~%s", str, str2);
GameTextForPlayer(playerid, str3, 3500, 3);
return 1;
}
}
return 1;
}
pawn Код:
if (strcmp("/comprarcasa", cmdtext, true, 10) == 0)
{
for(new i; i<MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3, HouseInfo[i][PickupX], HouseInfo[i][PickupY], HouseInfo[i][PickupZ]))
{
new Pname[24]; GetPlayerName(playerid, Pname, 24);
for(new S; S<MAX_HOUSES; S++)
{
if(strcmp(dini_Get("Owned.ini", HouseInfo[S][HouseNames]), Pname)) return SendClientMessage(playerid, 0xF60000AA, "You already have a house!");
}
if(GetPlayerMoney(playerid) < HouseInfo[i][HouseCost]) return SendClientMessage(playerid, 0xF60000AA, "Vocк nгo tem dinheiro suficiente para comprar esta Casa.");
if(HouseInfo[i][Owned] == 1) return SendClientMessage(playerid, 0xF60000AA, "Esta Casa jб possui um Dono(a).");
GivePlayerMoney(playerid, - HouseInfo[i][HouseCost]);
GameTextForPlayer(playerid, "~r~Casa Comprada!", 2000, 3);
new
zone[ MAX_ZONE_NAME ]
;
format( msg, sizeof( msg ), "[ INFO ] Jogador {FFFFFF}%s {99FF66}comprou uma Casa {99FF66}localizada em: {FFFFFF}%s", Name( playerid ), zone);
GetPlayer2DZone( playerid, zone, MAX_ZONE_NAME );
SendClientMessageToAll( 0x1E90FFAA, msg );
HouseInfo[i][Owned] = 1;
DestroyPickup(pickup);
pickup = CreatePickup(1272, 1, HouseInfo[i][PickupX], HouseInfo[i][PickupY], HouseInfo[i][PickupZ], 1);
format(HouseInfo[i][HouseOwner], 24, "%s", Pname);
GetPlayerName(playerid, Pname, 24);
dini_Set("mhhouses.ini", HouseInfo[i][HouseNames], Pname);
return 1;
}
}
SendClientMessage(playerid, 0xF60000AA, "Vocк nгo estб em uma casa.");
return 1;
}
if (strcmp("/Vendercasa", cmdtext, true, 10) == 0)
{
for(new i; i<MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3, HouseInfo[i][PickupX], HouseInfo[i][PickupY], HouseInfo[i][PickupZ]))
{
new Pname[24]; GetPlayerName(playerid, Pname, 24);
if(strcmp(Pname, HouseInfo[i][HouseOwner])) return SendClientMessage(playerid, 0xF60000AA, "Vocк nгo й dono desta Casa.");
GivePlayerMoney(playerid, HouseInfo[i][HouseSell]);
GameTextForPlayer(playerid, "~r~Casa Vendida!", 2000, 3);
DestroyPickup(pickup);
pickup = CreatePickup(1273, 1, HouseInfo[i][PickupX], HouseInfo[i][PickupY], HouseInfo[i][PickupZ], -1);
HouseInfo[i][Owned] = 0;
format(HouseInfo[i][HouseOwner], 24, "0943jt3u9*egjlfd");
dini_Unset("Owners.ini", HouseInfo[i][HouseNames]);
return 1;
}
}
SendClientMessage(playerid, 0xF60000AA, "Vocк nгo estб em uma Casa.");
return 1;
}
Estou usando como base para criar o meu prуprio sistema, quem puder ajudar, ficarei grato!
Re: [ Ajuda ] Pickup Casa. -
ReDKiiL - 13.02.2015
Tenta usar:
PHP код:
DestroyPickup(PickupID[/*id da casa*/]);
Pelo que eu vi essa й a var que salva o ID da pickup da casa.
Re: [ Ajuda ] Pickup Casa. -
WKhalifa - 13.02.2015
Sim mas, colocar onde esse Code ?
Re: [ Ajuda ] Pickup Casa. -
ReDKiiL - 13.02.2015
No seu sistema nй, provavelmente no comando vender casa. que й onde vocк quer destruir a pickup.
Re: [ Ajuda ] Pickup Casa. -
WKhalifa - 15.02.2015
Fiz oque vocк falou coloquei um destroypickup no /comprarcasa e no /vendercasa.
Porйm quando eu compro fica 2 нcones, e quando vendo fica 2 нcones...
E as vezes й preciso se afastar do нcone para ver se a casa estб а vende ou se tem dono!
Alguйm ajuda ?
Re: [ Ajuda ] Pickup Casa. -
ThuuGLif3 - 15.02.2015
Код:
new
CasaPickup[MAX_CASAS];
Depois no code:
Код:
DestroyPickup( CasaPickup[ c ] );
OBS: Nгo sei se vai funcionar!
Re: [ Ajuda ] Pickup Casa. -
WKhalifa - 16.02.2015
Vou explicar um pouco melhor o problema....
Quando eu entro no Servidor, e tem dono , o pickup fica assim >
http://imgur.com/9P72XBl
Quando a casa nгo tem dono o pickup fica assim normal >
http://imgur.com/3hLCB4A
Quando alguйm compra casa , fica dois pickups o " AZUL " e o Verde >
http://imgur.com/ruAdRcT,fIzAOrT
Quem puder ajudar , ficarei grato!
Re: [ Ajuda ] Pickup Casa. -
WKhalifa - 25.02.2015
UP
Alguйm pode ajudar ?