[Ajuda] Pickup Casa.
#1

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!
Reply
#2

Tenta usar:
PHP код:
DestroyPickup(PickupID[/*id da casa*/]); 
Pelo que eu vi essa й a var que salva o ID da pickup da casa.
Reply
#3

Sim mas, colocar onde esse Code ?
Reply
#4

No seu sistema nй, provavelmente no comando vender casa. que й onde vocк quer destruir a pickup.
Reply
#5

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 ?
Reply
#6

Код:
new
	CasaPickup[MAX_CASAS];
Depois no code:
Код:
DestroyPickup( CasaPickup[ c ] );
OBS: Nгo sei se vai funcionar!
Reply
#7

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!
Reply
#8

UP
Alguйm pode ajudar ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)