13.02.2015, 11:52
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.
Estou usando como base para criar o meu prуprio sistema, quem puder ajudar, ficarei grato!
Й 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;
}