Wysłany: 2018-03-09, 23:21
kitekat
Wiek: 27 Na forum: 4886 dni Posty: 35
Nick w MP: matrioszka.
Witam mam taki problem poniewaz mam system prywatnych domow no i jesli stworze pierwszy dom to pokazuje Adres(obecna lokalizacja include #zone) ale jesli tworze 2/3/4 itd. to pokazuje Blueberry Acres [ID] domu po prostu poprawny adres pokazuje pierwszemu domkowi.
Kod:
forward LoadHouse(id, name[], value[]);
public LoadHouse(id, name[], value[])
{
INI_Float("EnterX", House[id][EnterX]);
INI_Float("EnterY", House[id][EnterY]);
INI_Float("EnterZ", House[id][EnterZ]);
INI_String("Owner", House[id][Owner] , 32 );
INI_Int("Price", House[id][Price]);
INI_Int("On_Sell", House[id][On_Sell]);
INI_Int("Money", House[id][Money]);
INI_String("Adres", House[id][Adres] ,MAX_ZONE_NAME);
return 1;
}
stock CreateSaveHouse(id,price,Float:PosX,Float:PosY,Float:PosZ)
{
new dFile[32],string[200];
new zone[MAX_ZONE_NAME];
GetPlayer2DZone(id, zone, MAX_ZONE_NAME);
format(dFile, 35, PLIK_DOMY, id);
new
INI:File = INI_Open(dFile);
INI_WriteFloat(File, "EnterX", PosX);
INI_WriteFloat(File, "EnterY", PosY);
INI_WriteFloat(File, "EnterZ", PosZ);
INI_WriteString(File, "Owner", "NULL");
INI_WriteInt(File, "Price", price);
INI_WriteInt(File, "On_Sell", 1);
INI_WriteInt(File, "Money", 0);
format(string,sizeof(string),"%s %d",zone,id);
INI_WriteString(File, "Adres", string);
INI_Close(File);
House[id][EnterX] = PosX;
House[id][EnterY] = PosY;
House[id][EnterZ] = PosZ;
format(House[id][Owner],48,"NULL");
House[id][Price] = price;
House[id][On_Sell] = 1;
House[id][Money] = 0;
format(House[id][Adres],32,"%s %d",zone,id);
House[id][PickupU] = CreateDynamicPickup(1273, 23, PosX,PosY,PosZ,-1,-1,-1,100.0);
format(string,sizeof(string),"{29CC3F}Wlasciciel: "COL_WHITE"NULL\n\n{29CC3F}Cena: "COL_WHITE"%d\n{29CC3F}Adres: "COL_WHITE"%s %d\n (/kupdom)",price,zone,id);
House[id][DLabel] = CreateDynamic3DTextLabel(string, 0xFFFFFF, PosX,PosY,PosZ, 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100);
House[id][Icon] = CreateDynamicMapIcon(PosX,PosY,PosZ, 31, 0, -1, -1, -1, 100.0);
}
Podane wszystkie linijki co sa zwiazane z #include <zones>
Wysłany: 2018-03-10, 11:57
OchIAch
Wiek: 26 Na forum: 3114 dni Posty: 144
Nick w MP: OchIAch
Piwa : 1311
Blueberry acres to pozycja na kordach 0,0,0
Czyli b??d jest w pobieraniu pozycji
Wysłany: 2018-03-10, 12:22
kitekat
Wiek: 27 Na forum: 4886 dni Posty: 35
Nick w MP: matrioszka.
Kod: CMD:createdom(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "Nie jestes Adminem");
new
Float:Pos[3],string[64],id,price;
if(sscanf(params, "ii",id,price)) return SendClientMessage(playerid, COLOR_RED, "Usage:"COL_WHITE" /createdom [ID] [Price]");
if(id >= MAX_DOMY) return SendClientMessage(playerid, COLOR_RED, "EROR: "COL_WHITE"Zle [ID] Domu!");
format(string, sizeof(string), PLIK_DOMY, id);
if(fexist(string)) return SendClientMessage(playerid, COLOR_RED, "Dom o podanym [ID] juz istnieje!");
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
CreateSaveHouse(id,price,Pos[0],Pos[1],Pos[2]);
SendClientMessage(playerid, -1, ""COL_YELLOW"Stworzyles dom.");
return 1;
}
Kod: forward Float:GetDistanceToHouse(playerid, h);
public Float:GetDistanceToHouse(playerid, h)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
x2 = House[h][EnterX];
y2 = House[h][EnterY];
z2 = House[h][EnterZ];
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
forward Float:GetDistanceToHouseInt(playerid, h);
public Float:GetDistanceToHouseInt(playerid, h)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Wysłany: 2018-03-10, 14:43
OchIAch
Wiek: 26 Na forum: 3114 dni Posty: 144
Nick w MP: OchIAch
Piwa : 1311
"kitekat" napisał/a : Kod: CMD:createdom(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "Nie jestes Adminem");
new
Float:Pos[3],string[64],id,price;
if(sscanf(params, "ii",id,price)) return SendClientMessage(playerid, COLOR_RED, "Usage:"COL_WHITE" /createdom [ID] [Price]");
if(id >= MAX_DOMY) return SendClientMessage(playerid, COLOR_RED, "EROR: "COL_WHITE"Zle [ID] Domu!");
format(string, sizeof(string), PLIK_DOMY, id);
if(fexist(string)) return SendClientMessage(playerid, COLOR_RED, "Dom o podanym [ID] juz istnieje!");
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
CreateSaveHouse(id,price,Pos[0],Pos[1],Pos[2]);
SendClientMessage(playerid, -1, ""COL_YELLOW"Stworzyles dom.");
return 1;
}
Kod: forward Float:GetDistanceToHouse(playerid, h);
public Float:GetDistanceToHouse(playerid, h)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
x2 = House[h][EnterX];
y2 = House[h][EnterY];
z2 = House[h][EnterZ];
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
forward Float:GetDistanceToHouseInt(playerid, h);
public Float:GetDistanceToHouseInt(playerid, h)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Go?ciu, czy ty rozumiesz co napisa?em? Pobieranie pozycji a nie zapis pozycji gracza do domku, czyli np. pozycja kt?r? tworzysz dom przy starcie skryptu.
Tagi: prywatne :: domy :: adres
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: