[Pomoc]Kuca

Započeo zikolukic
6. Maj 2013. Zaključano
333
pregleda
4
postova
zikolukic
3
Wheel Man
6. Maj 2013.
Skripta koju koristim:NBE x14
Detaljan opis problema:kako da stavim kucu na prodaju?
Dio skripte:/
Neke slike/video za lakse dobivanje pomoci(neobavezno):/
Blaeks_Biofor
5
Forum Don
zikolukic
3
Wheel Man
7. Maj 2013.
nece da otvori :/
Blaeks_Biofor
5
Forum Don
7. Maj 2013.
Quote
Posto vidim da mnogi pocetnici u skriptanju postavaljaju iskljucivo pitanja o ovoj temi,odlucio sam vam postati ovaj TUT,

Prvo morate definirati broj kuca koliko ste dodali u MTA IL DEBUGU
Kod:
#define MAX_HOUSES 200//tu stavite broj kuca

Zatim dodajte;
Kod:
enum houseinfo
{
    HouseNames, //imena kuca
    HouseCost, //cjena kuce
    HouseOwner, // vlasnik kuce
    Float😛ickupX, // PickupX
    Float😛ickupY, //PickupY
    Float😛ickupZ, //PickupZ
    Float:TeleX, //lokacija kuce x
    Float:TeleY, //lokacija kuce y
    Float:TeleZ, //lokacija kuce z
    Interior, //interior kuce
    HouseSell, //kuca za sell
    Owned, //1 ako je kuca u vlasnistvu,0 ako nije
    Virtual//posjedovanje vise kuca
}

new HouseInfo;
new HouseCount = -1;
new PickupID;
new InHouse = -1;

Sada ubacite vase kuce ispod OnGameModeInit:
primjer
Kod:
stock CreateHouse(Filename[], Cost, Float😛ickupx, Float😛ickupy, Float😛ickupz, Float:Telex, Float:Teley, Float:Telez, interior, sell)
{
    if(!dini_Exists("Owners.ini"))
    {
        dini_Create("Owners.ini");
    }
  HouseCount ++;
  new ID = HouseCount; //HouseID
  format(HouseInfo, 60, "%s", Filename); //Saves the HouseName into a variable
  HouseInfo = Cost;
  HouseInfo = Pickupx;
  HouseInfo = 2000000 + ID;
  HouseInfo = Pickupy;
  HouseInfo = Pickupz;
  HouseInfo = Telex;
  HouseInfo = Teley;
  HouseInfo = Telez;
  HouseInfo = interior;
  HouseInfo = sell;
  format(HouseInfo, 24, "gj9043jg-er((23");
    if(strlen(dini_Get("Owners.ini", Filename))) //This is to see if there is any owner.
    {
    format(HouseInfo, 24, "%s", dini_Get("Owners.ini", Filename));
    HouseInfo = 1;
    }
  PickupID = CreatePickup(1273, 23, Pickupx, Pickupy, Pickupz, -1); //Creates the pickup 🙂.
  Create3DTextLabel("House", 0x00A0F6AA, Pickupx, Pickupy, Pickupz + 0.75, 15.0, 0, 1);
}
}

FileName - spremanje vase kuce (save as)
Cost - cjena kuce
Pickupx - x lokacija
Pickupy - y lokacija
Pickupz - z lokacija
Telex - x tele lokacija
Teley - y tele lokacija
Telez - z tele lokacija
interior - interior kuce
sell - sell kuce

Sada ubacite pod OnPlayerPickUpPickup ovaj kod koji provjerava  dali je vasa kuca
Kod:
{
  for(new J; J  {
    if(pickupid == PickupID) //provjerava pickup
    {
      new str;
      if(HouseInfo == 1)
      {
        format(str, sizeof(str), "~r~House Info~n~~g~Owner: ~w~%s", HouseInfo);
      }
      if(HouseInfo == 0)
      {
        format(str, sizeof(str), "~r~House Info~n~~g~Owner: ~w~Nobody");
        SendClientMessage(playerid, 0x67F6F6AA, "Kuca je na prodaju! Type /buy to buy it");
      }
      new str2;
      format(str2, sizeof(str2), "~g~Cost price:~w~ %d ~n~~g~Sell Price:~w~ %d", HouseInfo, HouseInfo);
      new str3;
      format(str3, sizeof(str3), "%s~n~%s", str, str2);
      GameTextForPlayer(playerid, str3, 3500, 3);
      return 1;
    }
  }
  return 1;
}

Nakon toga dodajte ispod OnPlayerCommandText komande koje ce vam trebat(/buy /sell /enter /exit) 
Kod:
if (strcmp("/buy", cmdtext, true, 10) == 0)
  {
    for(new i; i    {
      if(!IsPlayerInRangeOfPoint(playerid, 3, HouseInfo, HouseInfo, HouseInfo)) continue;
   
                new Pname; GetPlayerName(playerid, Pname, 24);
                for(new S; S                {
            if(!strcmp(dini_Get("Owned.ini", HouseInfo), Pname)) return SendClientMessage(playerid, 0xF60000AA, "You already have a house!");
                }
                if(GetPlayerMoney(playerid) < HouseInfo) return SendClientMessage(playerid, 0xF60000AA, "You don't have enough money to buy this house");
                if(HouseInfo == 1) return SendClientMessage(playerid, 0xF60000AA, "Kuca ima vlasnika!");
                GivePlayerMoney(playerid, - HouseInfo);
        GameTextForPlayer(playerid, "~r~House Purchased!", 2000, 3);
        HouseInfo = 1;
        GetPlayerName(playerid, Pname, 24);
        format(HouseInfo, 24, "%s", Pname);
        dini_Set("Owners.ini", HouseInfo, Pname);
        return 1;
        }
        SendClientMessage(playerid, 0xF60000AA, "Niste dovoljno blizu kuce");
    return 1;
  }
  if (strcmp("/sell", cmdtext, true, 10) == 0)
  {
    for(new i; i        {
      if(IsPlayerInRangeOfPoint(playerid, 3, HouseInfo, HouseInfo, HouseInfo))
        {
        new Pname; GetPlayerName(playerid, Pname, 24);
        if(strcmp(Pname, HouseInfo)) return SendClientMessage(playerid, 0xF60000AA, "Ti ne posjedujes kucu!");
        GivePlayerMoney(playerid, HouseInfo);
        GameTextForPlayer(playerid, "~r~House Sold!", 2000, 3);
        HouseInfo = 0;
        format(HouseInfo, 24, "0943jt3u9*egjlfd");
        dini_Unset("Owners.ini", HouseInfo);
        return 1;
            }
        }
    SendClientMessage(playerid, 0xF60000AA, "Niste dovljno blizu kuce");
        return 1;
  }
  return 0;
}

Kod:
public OnPlayerCommandText(playerid, cmdtext)
{
  if (strcmp("/enter", cmdtext, true, 10) == 0)
  {
    for(new i; i    {
      if(IsPlayerInRangeOfPoint(playerid, 3, HouseInfo, HouseInfo, HouseInfo))
        {
        new Pname; GetPlayerName(playerid, Pname, 24);
        if(strcmp(Pname, HouseInfo)) return SendClientMessage(playerid, 0xF60000AA, "You don't own this house!");
        SetPlayerPos(playerid, HouseInfo, HouseInfo, HouseInfo);
        SetPlayerInterior(playerid, HouseInfo);
        InHouse = i;
        SetPlayerVirtualWorld(playerid, HouseInfo);
        SendClientMessage(playerid, 0x00C4F6AA, "Usao si u kucu");
        return 1;
      }
    }
    SendClientMessage(playerid, 0xF60000AA, "Niste dovoljno blizu kuce");
    return 1;
  }
  if (strcmp("/exit", cmdtext, true, 10) == 0)
  {
    if(InHouse == -1) return SendClientMessage(playerid, 0xF60000AA, "Usao si u kucu");
    SetPlayerPos(playerid, HouseInfo[InHouse], HouseInfo[InHouse], HouseInfo[InHouse]);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    SendClientMessage(playerid, 0x00C4F6AA, "Izasao si iz kuce");
    InHouse = -1;
    return 1;
}

napomena:TUT  preuzet sa forum.sa-mp.com..,
« Poslednja izmena: Septembar 29, 2010, 00:12:48 pre podne cristiane »

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha