House Sistem

Započeo DuxMaster
pre 1 godinu
395
pregleda
5
postova
DuxMaster
Shot Caller
pre 1 godinu
Pitanje/savjet: Kako da riješim problem vezano za house sistem, radim mod od 0, i imam problem prilikom pravljenja kuće.
Opširnije: Igrač kada kupi kuću i proda je državi i kupi novu te samim time prilikom izlaska iz kuće vrati ga ne prethodnu kuću koju je kupio, a drugi problem koji mi se javlja jeste da kada ugasim server te ponovo ga pokrenem i uđem u kuću baci mi negdje na kraj mape i ne očitava mi enterijer, jednostavno propadam kroz mapu.
Dodatno: Sistem iz skripte:
enum hInfo
{
hVlasnik,
hOwned,
hCijena,
hLevel,
hRent,
hCijenaRenta,
hNeaktivnost,
hTip,
hVW,
hInt,
Float:hX,
Float:hY,
Float:hZ,
Float:hIzlazX,
Float:hIzlazY,
Float:hIzlazZ,
Float:hAngle,
hSef,
hNovac,
hZakljucana
};


Izlazak i ulazak u kuću
		for(new i; i < MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo, HouseInfo, HouseInfo))
{
    if(PlayerInfo == i || HouseInfo == 0)
      {
new idhouse,fhouse;
  if(HouseInfo == 1)
    {
    SetPlayerPos(playerid, 223.0732,288.3668,1082.1406);
    SetPlayerInterior(playerid, 1);
    InteriorTimer(playerid);
    }
                    SetPlayerVirtualWorld(playerid, HouseInfo);
                    SetPlayerInterior(playerid, HouseInfo);
                SetPlayerPos(playerid, HouseInfo, HouseInfo, HouseInfo);
InteriorTimer(playerid);
                format(fhouse, sizeof(fhouse), HOUSEPATH, idhouse);
                }
                else
                {
                    GameTextForPlayer(playerid,"~w~Kuca ~r~zakljucana ~w~- /zvoni",5000,3);
                    return 1;
                }
}
            if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo, HouseInfo, HouseInfo) && GetPlayerVirtualWorld(playerid) == HouseInfo)
        {
if(HouseInfo == 1)
{
SetPlayerPos(playerid, 223.0732,288.3668,1082.1406);
SetPlayerInterior(playerid, 1);
    InteriorTimer(playerid);
}
            SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
            SetPlayerPos(playerid, HouseInfo, HouseInfo, HouseInfo);
InteriorTimer(playerid);
            return 1;
    }
}
}

SAVE
stock SaveHouse(id)
{
new h_file;
format(h_file, sizeof(h_file), HOUSEPATH, id);
new INI:File = INI_Open(h_file);
INI_WriteString(File, "Vlasnik", HouseInfo);
INI_WriteInt(File, "Owned", HouseInfo);
INI_WriteInt(File, "Cijena", HouseInfo);
INI_WriteInt(File, "Level", HouseInfo);
INI_WriteInt(File, "Int", HouseInfo);
INI_WriteInt(File, "Rent", HouseInfo);
INI_WriteInt(File, "CijenaRenta", HouseInfo);
INI_WriteInt(File, "Neaktivnost", HouseInfo);
INI_WriteInt(File, "VirtualWorld", HouseInfo);
INI_WriteInt(File, "Tip", HouseInfo);
INI_WriteFloat(File, "X", HouseInfo);
INI_WriteFloat(File, "Y", HouseInfo);
INI_WriteFloat(File, "Z", HouseInfo);
INI_WriteFloat(File, "hIzlazX", HouseInfo);
INI_WriteFloat(File, "hIzlazY", HouseInfo);
INI_WriteFloat(File, "hIzlazZ", HouseInfo);
INI_WriteFloat(File, "Angle", HouseInfo);
INI_WriteInt(File, "Sef", HouseInfo);
INI_WriteInt(File, "Novac", HouseInfo);
INI_WriteInt(File, "Zakljucana", HouseInfo);
INI_Close(File);
}


Load sistem
	for(new i = 0; i < MAX_HOUSES; i++)
{
    new hfile;
    format(hfile, sizeof(hfile), HOUSEPATH, i);
    if(fexist(hfile))
    {
        INI_ParseFile(hfile, "LoadHouses", .bExtra = true, .extra = i);
        new str;
if(HouseInfo == 1) { format(str, sizeof(str), "Mala Kuca"); }
if(HouseInfo == 2) { format(str, sizeof(str), "Srednja Kuca"); }
if(HouseInfo == 3) { format(str, sizeof(str), "Velika Kuca"); }
if(HouseInfo == 4) { format(str, sizeof(str), "Vila"); }
if(HouseInfo == 0)
{
    new string;
    format(string, sizeof(string), "{4682B4}Kuca na prodaju\nVlasnik: {FFFFFF}Niko\n{4682B4}Cijena: {FFFFFF}%d\n{4682B4}Level: {FFFFFF}%d\n{4682B4}Tip: {FFFFFF}%s\n{4682B4}Adresa: {FFFFFF}%d\n{4682B4}/kupikucu", HouseInfo, HouseInfo, str, i);
    hPickup = CreatePickup(1273, 1, HouseInfo, HouseInfo, HouseInfo);
    SetPos(hPickup, HouseInfo, HouseInfo, HouseInfo);
    hLabel = Create3DTextLabel(string, COLOR_WHITE, HouseInfo, HouseInfo, HouseInfo, 10.0, 0, 0);
}
else
{
    new string;
    format(string, sizeof(string), "{4682B4}Kuca na prodaju\nVlasnik: {FFFFFF}%s\n{4682B4}Cijena: {FFFFFF}%d\n{4682B4}Level: {FFFFFF}%d\n{4682B4}Tip: {FFFFFF}%s\n{4682B4}Adresa: {FFFFFF}%d", HouseInfo, HouseInfo, HouseInfo, str, i);
    hPickup = CreatePickup(1272, 1, HouseInfo, HouseInfo, HouseInfo);
    SetPos(hPickup, HouseInfo, HouseInfo, HouseInfo);
    hLabel = Create3DTextLabel(string, COLOR_WHITE, HouseInfo, HouseInfo, HouseInfo, 10.0, 0, 0);
}
    }
}
print("Ucitan house sistem");


OnGamemodeExit
	for(new i = 0; i < MAX_HOUSES; i++)
{
    SaveHouse(i);
}
toncikica
Enforcer
pre 1 godinu
DuxMaster wrote on February 18, 2024, 2:57 pm:
Pitanje/savjet: Kako da riješim problem vezano za house sistem, radim mod od 0, i imam problem prilikom pravljenja kuće.
Opširnije: Igrač kada kupi kuću i proda je državi i kupi novu te samim time prilikom izlaska iz kuće vrati ga ne prethodnu kuću koju je kupio, a drugi problem koji mi se javlja jeste da kada ugasim server te ponovo ga pokrenem i uđem u kuću baci mi negdje na kraj mape i ne očitava mi enterijer, jednostavno propadam kroz mapu.
Dodatno: Sistem iz skripte:
enum hInfo
{
hVlasnik,
hOwned,
hCijena,
hLevel,
hRent,
hCijenaRenta,
hNeaktivnost,
hTip,
hVW,
hInt,
Float:hX,
Float:hY,
Float:hZ,
Float:hIzlazX,
Float:hIzlazY,
Float:hIzlazZ,
Float:hAngle,
hSef,
hNovac,
hZakljucana
};


Izlazak i ulazak u kuću
		for(new i; i < MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo, HouseInfo, HouseInfo))
{
    if(PlayerInfo == i || HouseInfo == 0)
      {
new idhouse,fhouse;
  if(HouseInfo == 1)
    {
    SetPlayerPos(playerid, 223.0732,288.3668,1082.1406);
    SetPlayerInterior(playerid, 1);
    InteriorTimer(playerid);
    }
                    SetPlayerVirtualWorld(playerid, HouseInfo);
                    SetPlayerInterior(playerid, HouseInfo);
                SetPlayerPos(playerid, HouseInfo, HouseInfo, HouseInfo);
InteriorTimer(playerid);
                format(fhouse, sizeof(fhouse), HOUSEPATH, idhouse);
                }
                else
                {
                    GameTextForPlayer(playerid,"~w~Kuca ~r~zakljucana ~w~- /zvoni",5000,3);
                    return 1;
                }
}
            if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo, HouseInfo, HouseInfo) && GetPlayerVirtualWorld(playerid) == HouseInfo)
        {
if(HouseInfo == 1)
{
SetPlayerPos(playerid, 223.0732,288.3668,1082.1406);
SetPlayerInterior(playerid, 1);
    InteriorTimer(playerid);
}
            SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
            SetPlayerPos(playerid, HouseInfo, HouseInfo, HouseInfo);
InteriorTimer(playerid);
            return 1;
    }
}
}

SAVE
stock SaveHouse(id)
{
new h_file;
format(h_file, sizeof(h_file), HOUSEPATH, id);
new INI:File = INI_Open(h_file);
INI_WriteString(File, "Vlasnik", HouseInfo);
INI_WriteInt(File, "Owned", HouseInfo);
INI_WriteInt(File, "Cijena", HouseInfo);
INI_WriteInt(File, "Level", HouseInfo);
INI_WriteInt(File, "Int", HouseInfo);
INI_WriteInt(File, "Rent", HouseInfo);
INI_WriteInt(File, "CijenaRenta", HouseInfo);
INI_WriteInt(File, "Neaktivnost", HouseInfo);
INI_WriteInt(File, "VirtualWorld", HouseInfo);
INI_WriteInt(File, "Tip", HouseInfo);
INI_WriteFloat(File, "X", HouseInfo);
INI_WriteFloat(File, "Y", HouseInfo);
INI_WriteFloat(File, "Z", HouseInfo);
INI_WriteFloat(File, "hIzlazX", HouseInfo);
INI_WriteFloat(File, "hIzlazY", HouseInfo);
INI_WriteFloat(File, "hIzlazZ", HouseInfo);
INI_WriteFloat(File, "Angle", HouseInfo);
INI_WriteInt(File, "Sef", HouseInfo);
INI_WriteInt(File, "Novac", HouseInfo);
INI_WriteInt(File, "Zakljucana", HouseInfo);
INI_Close(File);
}


Load sistem
	for(new i = 0; i < MAX_HOUSES; i++)
{
    new hfile;
    format(hfile, sizeof(hfile), HOUSEPATH, i);
    if(fexist(hfile))
    {
        INI_ParseFile(hfile, "LoadHouses", .bExtra = true, .extra = i);
        new str;
if(HouseInfo == 1) { format(str, sizeof(str), "Mala Kuca"); }
if(HouseInfo == 2) { format(str, sizeof(str), "Srednja Kuca"); }
if(HouseInfo == 3) { format(str, sizeof(str), "Velika Kuca"); }
if(HouseInfo == 4) { format(str, sizeof(str), "Vila"); }
if(HouseInfo == 0)
{
    new string;
    format(string, sizeof(string), "{4682B4}Kuca na prodaju\nVlasnik: {FFFFFF}Niko\n{4682B4}Cijena: {FFFFFF}%d\n{4682B4}Level: {FFFFFF}%d\n{4682B4}Tip: {FFFFFF}%s\n{4682B4}Adresa: {FFFFFF}%d\n{4682B4}/kupikucu", HouseInfo, HouseInfo, str, i);
    hPickup = CreatePickup(1273, 1, HouseInfo, HouseInfo, HouseInfo);
    SetPos(hPickup, HouseInfo, HouseInfo, HouseInfo);
    hLabel = Create3DTextLabel(string, COLOR_WHITE, HouseInfo, HouseInfo, HouseInfo, 10.0, 0, 0);
}
else
{
    new string;
    format(string, sizeof(string), "{4682B4}Kuca na prodaju\nVlasnik: {FFFFFF}%s\n{4682B4}Cijena: {FFFFFF}%d\n{4682B4}Level: {FFFFFF}%d\n{4682B4}Tip: {FFFFFF}%s\n{4682B4}Adresa: {FFFFFF}%d", HouseInfo, HouseInfo, HouseInfo, str, i);
    hPickup = CreatePickup(1272, 1, HouseInfo, HouseInfo, HouseInfo);
    SetPos(hPickup, HouseInfo, HouseInfo, HouseInfo);
    hLabel = Create3DTextLabel(string, COLOR_WHITE, HouseInfo, HouseInfo, HouseInfo, 10.0, 0, 0);
}
    }
}
print("Ucitan house sistem");


OnGamemodeExit
	for(new i = 0; i < MAX_HOUSES; i++)
{
    SaveHouse(i);
}

Poslat cu ti PP discord, mozes se slobodno sad javit
Macas
Enforcer
pre 1 godinu
postavi LoadHouses()
DuxMaster
Shot Caller
pre 1 godinu
forward LoadHouses(id, name[], value[]);
public LoadHouses(id, name[], value[])
{
INI_String("Vlasnik", HouseInfo, 12😎;
INI_Int("Owned", HouseInfo);
INI_Int("Cijena", HouseInfo);
INI_Int("Level", HouseInfo);
INI_Int("Rent", HouseInfo);
    INI_Int("CijenaRenta", HouseInfo);
INI_Int("Neaktivnost", HouseInfo);
INI_Int("Tip", HouseInfo);
INI_Int("VirtualWorld", HouseInfo);
INI_Int("Int", HouseInfo);
INI_Float("X", HouseInfo);
INI_Float("Y", HouseInfo);
INI_Float("Z", HouseInfo);
INI_Float("IzlazX", HouseInfo);
INI_Float("IzlazY", HouseInfo);
INI_Float("IzlazZ", HouseInfo);
INI_Float("Angle", HouseInfo);
INI_Int("Sef", HouseInfo);
INI_Int("Novac", HouseInfo);
INI_Int("Zakljucana", HouseInfo);
return true;
}
DuxMaster
Shot Caller
pre 1 godinu
Riješeno je, lock.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava