Hi
Letöltöttem innen az ikeás scriptet és az a problémám van vele, hogy amikor lehózok egy bútort és szerkesztem majd elmentem aztán relogolok és a bútor nem a mentett helyén van hanem ott ahol lehozta legelõre a bútort még a szerkesztés elött
Itt a script is:
#include <a_samp>
#include <zcmd>
#include <dini>
#define DIALOG_MENU 2848
#define DIALOG_MENU2 2849
#define DIALOG_MENU3 2850
#define DIALOG_SZEK 2851
#define DIALOG_ASZT 2852
#define DIALOG_DEKO 2853
#define DIALOG_KFOT 2854
#define DIALOG_AGYK 2855
#define DIALOG_SZON 2856
#define DIALOG_USED 2857
#define DIALOG_BUTOR 2858
#define DIALOG_DELETE 2859
#define MAX_SLOT 16
enum objectdata
{
butorid,
butorar,
butorname[128]
}
new Szekreny[][objectdata] = {
{1740,150, \"Éjjeli Szekrény\"},
{1741,100, \"Kissebb Szekrény\"},
{1742,200, \"Könyvespolc\"},
{1743,150, \"Ruhás szekrény\"}
};
new SzekekEsAsztalok[][objectdata] = {
{1714,70,\"Számítógépes szék1\"},
{1806,70,\"Számítógépes szék2\"},
{1715,60,\"Fodrász szék\"},
{1716,50,\"Bárpult szék1\"},
{1805,50,\"Bárpult szék2\"},
{1720,50,\"Konyhai szék1\"},
{1739,50,\"Konyhai szék2\"},
{1735,70,\"Kényelmes szék\"},
{1746,20,\"Zsámoly\"},
{1759,40,\"Régies szék\"},
{1433,110,\"4 Személyes asztal\"},
{1827,150,\"Üvegasztal\"},
{2370,90,\"Dohányzóasztal\"},
{1432,220,\"Kerek asztal + 3 szék\"},
{1432,190,\"Sakk Asztal + 4 szék\"},
{1432,260,\"Nappali Asztal + 3 szék\"},
{1432,180,\"Ker. Asztal + 2 szék\"}
};
new Dekoracio[][objectdata] = {
{19172,100,\"\\\"LS tengerpart\\\" festmény\"},
{19173,120,\"\\\"San Fierro híd\\\" festmény\"},
{19174,110,\"\\\"Erdõ\\\" festmény\"},
{19166,120,\"GTA Térkép\"}
};
new Fotelok[][objectdata] = {
{1702,310,\"Barna fotel (2 szem.)\"},
{1703,350,\"Modern kék fotel (2 szem.)\"},
{1704,290,\"Modern kék fotel (1 szem.)\"},
{1705,260,\"Barna fotel (1 szem.)\"},
{1708,250,\"Régi alakú fotel (1 szem.)\"},
{1710,400,\"Régies kanapé (4 szem.)\"},
{1764,450,\"Kockás kanapé (2 szem.)\"},
{1711,240,\"Régies fotel (1 szem.)\"},
{1712,290,\"Régies fotel (2 szem.)\"}
};
new Agyak[][objectdata] = {
{1700,460,\"Francia ágy(2 szem.)\"},
{1701,450,\"Barna ágy(2 szem.)\"},
{1745,430,\"Csíkos ágy(2 szem.)\"},
{1794,450,\"Faágy(2 szem.)\"},
{1795,440,\"Dolbino ágymatrac\"},
{1796,350,\"Faágy(1 szem.)\"},
{1797,470,\"Modern ágymatrac\"},
{1799,500,\"Modern ágy (4 szem.)\"},
{1803,540,\"Francia ágy (4 szem.)\"}
};
new Szonyegek[][objectdata] = {
{2817,50,\"Kék szõnyeg\"},
{2818,50,\"Piros-fekete kockás\"},
{2815,50,\"Lilás szõnyeg\"},
{2833,60,\"Díszes szõnyeg1\"},
{2834,40,\"Díszes szõnyeg2\"},
{2835,30,\"Tojás alakú szõ.\"},
{2836,50,\"Rácsos dísz. szõnyeg\"},
{2841,40,\"Kék Toj. szõnyeg\"},
{2842,60,\"Bordó színû szõnyeg\"},
{2847,60,\"Barna szõnyeg\"},
{1828,100,\"Párduc szõnyeg\"}
};
enum ButorData
{
CreateButor,
ButorName[256],
Butorid,
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PosRX,
Float:PosRY,
Float:PosRZ
}
new ButorSlot[MAX_PLAYERS][MAX_SLOT][butorData];
new SlotUsed[MAX_PLAYERS][MAX_SLOT];
public OnFilterScriptInit()
{
return 1;
}
CMD:ikea(playerid)
{
//if(GetPVarInt(playerid,\"AllowIkea\") == 1)
//{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
return 1;
//}
//else
//{
// SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00eaff}A lakberendezés most nem engedélyezett!\");
//}
//return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),\"IKEA/%s.txt\",pName);
if(!dini_Exists(string))
{
SendClientMessage(playerid,-1,\"{ff0000}[iKEA] - Lakberendezés: {ff0000}/ikea\");
}
else
{
SendClientMessage(playerid,-1,\"{ff0000}[iKEA] - Lakberendezés: {ff0000}/ikea\");
LoadPlayerObjects(playerid);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_MENU:
{
if(response)
{
if(SlotUsed[playerid][listitem] == 1)
{
ShowPlayerDialog(playerid,DIALOG_USED,DIALOG_STYLE_LIST,\"IKEA: Menü\",\"Szerkesztés\\nEladás\\n{4ee031}Összes bútor elmentése\",\"Választ\",\"Vissza\");
SetPVarInt(playerid,\"GetSlotUsed\",listitem);
}
else
{
ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
SetPVarInt(playerid,\"GetSlotUsed\",listitem);
}
}
}
case DIALOG_USED:
{
if(!response)
{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
if(response)
{
if(listitem == 0)
{
EditPlayerObject(playerid,ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor]);
}
if(listitem == 1)
{
ShowPlayerDialog(playerid,DIALOG_DELETE,DIALOG_STYLE_MSGBOX,\"IKEA: ELADÁS\",\"Biztos hogy elakarod adni?\",\"Igen\",\"Nem\");
}
if(listitem == 2)
{
new pName[MAX_PLAYER_NAME],string[128];
new str1[16],str2[16],str3[16],str4[16],str6[16],str7[16],str8[16],str9[16];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),\"IKEA/%s.txt\",pName);
if(!dini_Exists(string))
{
dini_Create(string);
new str5[128];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str9,sizeof(str9),\"SLOT%dUsed\",i);
format(str5,sizeof(str5),\"SLOT%dName\",i);
format(str1,sizeof(str1),\"SLOT%dID\",i);
format(str2,sizeof(str2),\"SLOT%dX\",i);
format(str3,sizeof(str3),\"SLOT%dY\",i);
format(str4,sizeof(str4),\"SLOT%dZ\",i);
format(str6,sizeof(str6),\"SLOT%dRX\",i);
format(str7,sizeof(str7),\"SLOT%dRY\",i);
format(str8,sizeof(str8),\"SLOT%dRZ\",i);
dini_Set(string,str5,ButorSlot[playerid][butorName]);
dini_IntSet(string,str1,ButorSlot[playerid][butorid]);
dini_IntSet(string,str9,1);
dini_FloatSet(string,str2,ButorSlot[playerid][PosX]);
dini_FloatSet(string,str3,ButorSlot[playerid][PosY]);
dini_FloatSet(string,str4,ButorSlot[playerid][PosZ]);
dini_FloatSet(string,str6,ButorSlot[playerid][PosRX]);
dini_FloatSet(string,str7,ButorSlot[playerid][PosRY]);
dini_FloatSet(string,str8,ButorSlot[playerid][PosRZ]);
continue;
}
}
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48} Bútorok elmentve!\");
}
else
{
new str5[128];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str9,sizeof(str9),\"SLOT%dUsed\",i);
format(str5,sizeof(str5),\"SLOT%dName\",i);
format(str1,sizeof(str1),\"SLOT%dID\",i);
format(str2,sizeof(str2),\"SLOT%dX\",i);
format(str3,sizeof(str3),\"SLOT%dY\",i);
format(str4,sizeof(str4),\"SLOT%dZ\",i);
format(str6,sizeof(str6),\"SLOT%dRX\",i);
format(str7,sizeof(str7),\"SLOT%dRY\",i);
format(str8,sizeof(str8),\"SLOT%dRZ\",i);
dini_Set(string,str5,ButorSlot[playerid][butorName]);
dini_IntSet(string,str1,ButorSlot[playerid][butorid]);
dini_IntSet(string,str9,1);
dini_FloatSet(string,str2,ButorSlot[playerid][PosX]);
dini_FloatSet(string,str3,ButorSlot[playerid][PosY]);
dini_FloatSet(string,str4,ButorSlot[playerid][PosZ]);
dini_FloatSet(string,str6,ButorSlot[playerid][PosRX]);
dini_FloatSet(string,str7,ButorSlot[playerid][PosRY]);
dini_FloatSet(string,str8,ButorSlot[playerid][PosRZ]);
continue;
}
}
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48} Bútorok elmentve!\");
}
}
}
}
case DIALOG_BUTOR:
{
if(!response)
{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
if(response)
{
if(listitem == 0)
{
new string[300+1];
for(new i;i < sizeof(Szekreny);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Szekreny[butorname],Szekreny[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_SZEK, DIALOG_STYLE_LIST, \"Szekrények\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 1)
{
new string[300+1];
for(new i;i < sizeof(SzekekEsAsztalok);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, SzekekEsAsztalok[butorname],SzekekEsAsztalok[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_ASZT, DIALOG_STYLE_LIST, \"Asztalok és Székek\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 2)
{
new string[300+1];
for(new i;i < sizeof(Dekoracio);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Dekoracio[butorname],Dekoracio[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_DEKO, DIALOG_STYLE_LIST, \"Dekorációk\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 3)
{
new string[300+1];
for(new i;i < sizeof(Fotelok);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Fotelok[butorname],Fotelok[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_KFOT, DIALOG_STYLE_LIST, \"Kanapék és Fotelok\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 4)
{
new string[300+1];
for(new i;i < sizeof(Agyak);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Agyak[butorname],Agyak[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_AGYK, DIALOG_STYLE_LIST, \"Ágyak\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 5)
{
new string[300+1];
for(new i;i < sizeof(Szonyegek);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Szonyegek[butorname],Szonyegek[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_SZON, DIALOG_STYLE_LIST, \"Szõnyegek\", string, \"Megvesz\", \"Vissza\");
}
}
}
case DIALOG_SZEK:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Szekreny[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Szekreny[listitem][butorname],Szekreny[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Szekreny[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Szekreny[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_ASZT:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",SzekekEsAsztalok[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",SzekekEsAsztalok[listitem][butorname],SzekekEsAsztalok[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,SzekekEsAsztalok[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = SzekekEsAsztalok[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_DEKO:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Dekoracio[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Dekoracio[listitem][butorname],Dekoracio[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Dekoracio[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Dekoracio[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_KFOT:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Fotelok[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Fotelok[listitem][butorname],Fotelok[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Fotelok[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Fotelok[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_AGYK:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Agyak[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Agyak[listitem][butorname],Agyak[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (3 * floatsin(-Angle, degrees));
y += (3 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Agyak[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Agyak[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_SZON:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Szonyegek[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Szonyegek[listitem][butorname],Szonyegek[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Szonyegek[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Szonyegek[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_DELETE:
{
if(!response)
{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
else
{
new string2[128];
DestroyPlayerObject(playerid,ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor]);
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 0;
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),\"IKEA/%s.txt\",pName);
format(string2,sizeof(string2),\"SLOT%dUsed\",GetPVarInt(playerid,\"GetSlotUsed\"));
dini_IntSet(string,string2,SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")]);
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
}
}
return 1;
}
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
new Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ;
GetPlayerObjectPos(playerid,objectid, X, Y, Z);
GetPlayerObjectRot(playerid,objectid, rX, rY, rZ);
if(response == EDIT_RESPONSE_FINAL)
{
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48}Új Pozíció megadva!\");
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = fX;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = fY;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = fZ;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosRX] = fRotX;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosRY] = fRotY;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosRZ] = fRotZ;
}
if(response == EDIT_RESPONSE_CANCEL)
{
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {ff0000}Berendezés poziciójának a megadása megszakadt!\");
}
}
LoadPlayerObjects(playerid)
{
new str[128];
new str1[16],str2[16],str3[16],str4[16],str5[128],str6[16],str7[16],str8[16],str9[16];
new name[256];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof(str),\"IKEA/%s.txt\",pName);
for(new i;i<MAX_SLOT;i++)
{
format(str9,sizeof(str9),\"SLOT%dUsed\",i);
format(str5,sizeof(str5),\"SLOT%dName\",i);
format(str1,sizeof(str1),\"SLOT%dID\",i);
format(str2,sizeof(str2),\"SLOT%dX\",i);
format(str3,sizeof(str3),\"SLOT%dY\",i);
format(str4,sizeof(str4),\"SLOT%dZ\",i);
format(str6,sizeof(str6),\"SLOT%dRX\",i);
format(str7,sizeof(str7),\"SLOT%dRY\",i);
format(str8,sizeof(str8),\"SLOT%dRZ\",i);
if(dini_Int(str,str9) == 1)
{
SlotUsed[playerid] = 1;
name=dini_Get%252525252528str%25252525252Cstr5%252525252529%25252525253B
ButorSlot[playerid][butorid] = dini_Int(str,str1);
ButorSlot[playerid][butorName] = name;
ButorSlot[playerid][PosX] = dini_Float(str,str2);
ButorSlot[playerid][PosY] = dini_Float(str,str3);
ButorSlot[playerid][PosZ] = dini_Float(str,str4);
ButorSlot[playerid][PosRX] = dini_Float(str,str6);
ButorSlot[playerid][PosRY] = dini_Float(str,str7);
ButorSlot[playerid][PosRZ] = dini_Float(str,str8);
ButorSlot[playerid][CreateButor] = CreatePlayerObject(playerid,ButorSlot[playerid][butorid],ButorSlot[playerid][PosX],ButorSlot[playerid][PosY],ButorSlot[playerid][PosZ],ButorSlot[playerid][PosRX],ButorSlot[playerid][PosRY],ButorSlot[playerid][PosRZ]);
continue;
}
}
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48} Az elmentett bútorok betöltve!\");
}[ / code ]
Szia. Már azt hiszem egyszer nyitottál egy ugyan ilyen problémával foglalkozó témát:
http://sampforum.hu/index.php?topic=46029.0Ott meg tudtad oldani... Akkor most hogy hogy nem megy?
Ott se oldotam meg csak már nem tudtam mit csinályak és abbahagytam és ha meg lenne oldva akkor nem írnék megint idde
Dupla hozzászólás automatikusan összefûzve. ( 2014. április 06. - 22:48:53 )
Senki sem tud segiteni?
Dupla hozzászólás automatikusan összefûzve. ( 2014. április 07. - 13:27:21 )
Sikerült megcsinálnom de most egy más próblémám lett ha átálittom a MAX_SOLT-to mondjuk 100-ra akkor mikor beírom, hogy /ikea csak 15 SOLT van nem 100 miért van ez?
Hi
Letöltöttem innen az ikeás scriptet és az a problémám van vele, hogy amikor lehózok egy bútort és szerkesztem majd elmentem aztán relogolok és a bútor nem a mentett helyén van hanem ott ahol lehozta legelõre a bútort még a szerkesztés elött
Itt a script is:
#include <a_samp>
#include <zcmd>
#include <dini>
#define DIALOG_MENU 2848
#define DIALOG_MENU2 2849
#define DIALOG_MENU3 2850
#define DIALOG_SZEK 2851
#define DIALOG_ASZT 2852
#define DIALOG_DEKO 2853
#define DIALOG_KFOT 2854
#define DIALOG_AGYK 2855
#define DIALOG_SZON 2856
#define DIALOG_USED 2857
#define DIALOG_BUTOR 2858
#define DIALOG_DELETE 2859
#define MAX_SLOT 16
enum objectdata
{
butorid,
butorar,
butorname[128]
}
new Szekreny[][objectdata] = {
{1740,150, \"Éjjeli Szekrény\"},
{1741,100, \"Kissebb Szekrény\"},
{1742,200, \"Könyvespolc\"},
{1743,150, \"Ruhás szekrény\"}
};
new SzekekEsAsztalok[][objectdata] = {
{1714,70,\"Számítógépes szék1\"},
{1806,70,\"Számítógépes szék2\"},
{1715,60,\"Fodrász szék\"},
{1716,50,\"Bárpult szék1\"},
{1805,50,\"Bárpult szék2\"},
{1720,50,\"Konyhai szék1\"},
{1739,50,\"Konyhai szék2\"},
{1735,70,\"Kényelmes szék\"},
{1746,20,\"Zsámoly\"},
{1759,40,\"Régies szék\"},
{1433,110,\"4 Személyes asztal\"},
{1827,150,\"Üvegasztal\"},
{2370,90,\"Dohányzóasztal\"},
{1432,220,\"Kerek asztal + 3 szék\"},
{1432,190,\"Sakk Asztal + 4 szék\"},
{1432,260,\"Nappali Asztal + 3 szék\"},
{1432,180,\"Ker. Asztal + 2 szék\"}
};
new Dekoracio[][objectdata] = {
{19172,100,\"\\\"LS tengerpart\\\" festmény\"},
{19173,120,\"\\\"San Fierro híd\\\" festmény\"},
{19174,110,\"\\\"Erdõ\\\" festmény\"},
{19166,120,\"GTA Térkép\"}
};
new Fotelok[][objectdata] = {
{1702,310,\"Barna fotel (2 szem.)\"},
{1703,350,\"Modern kék fotel (2 szem.)\"},
{1704,290,\"Modern kék fotel (1 szem.)\"},
{1705,260,\"Barna fotel (1 szem.)\"},
{1708,250,\"Régi alakú fotel (1 szem.)\"},
{1710,400,\"Régies kanapé (4 szem.)\"},
{1764,450,\"Kockás kanapé (2 szem.)\"},
{1711,240,\"Régies fotel (1 szem.)\"},
{1712,290,\"Régies fotel (2 szem.)\"}
};
new Agyak[][objectdata] = {
{1700,460,\"Francia ágy(2 szem.)\"},
{1701,450,\"Barna ágy(2 szem.)\"},
{1745,430,\"Csíkos ágy(2 szem.)\"},
{1794,450,\"Faágy(2 szem.)\"},
{1795,440,\"Dolbino ágymatrac\"},
{1796,350,\"Faágy(1 szem.)\"},
{1797,470,\"Modern ágymatrac\"},
{1799,500,\"Modern ágy (4 szem.)\"},
{1803,540,\"Francia ágy (4 szem.)\"}
};
new Szonyegek[][objectdata] = {
{2817,50,\"Kék szõnyeg\"},
{2818,50,\"Piros-fekete kockás\"},
{2815,50,\"Lilás szõnyeg\"},
{2833,60,\"Díszes szõnyeg1\"},
{2834,40,\"Díszes szõnyeg2\"},
{2835,30,\"Tojás alakú szõ.\"},
{2836,50,\"Rácsos dísz. szõnyeg\"},
{2841,40,\"Kék Toj. szõnyeg\"},
{2842,60,\"Bordó színû szõnyeg\"},
{2847,60,\"Barna szõnyeg\"},
{1828,100,\"Párduc szõnyeg\"}
};
enum ButorData
{
CreateButor,
ButorName[256],
Butorid,
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PosRX,
Float:PosRY,
Float:PosRZ
}
new ButorSlot[MAX_PLAYERS][MAX_SLOT][butorData];
new SlotUsed[MAX_PLAYERS][MAX_SLOT];
public OnFilterScriptInit()
{
return 1;
}
CMD:ikea(playerid)
{
//if(GetPVarInt(playerid,\"AllowIkea\") == 1)
//{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
return 1;
//}
//else
//{
// SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00eaff}A lakberendezés most nem engedélyezett!\");
//}
//return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),\"IKEA/%s.txt\",pName);
if(!dini_Exists(string))
{
SendClientMessage(playerid,-1,\"{ff0000}[iKEA] - Lakberendezés: {ff0000}/ikea\");
}
else
{
SendClientMessage(playerid,-1,\"{ff0000}[iKEA] - Lakberendezés: {ff0000}/ikea\");
LoadPlayerObjects(playerid);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_MENU:
{
if(response)
{
if(SlotUsed[playerid][listitem] == 1)
{
ShowPlayerDialog(playerid,DIALOG_USED,DIALOG_STYLE_LIST,\"IKEA: Menü\",\"Szerkesztés\\nEladás\\n{4ee031}Összes bútor elmentése\",\"Választ\",\"Vissza\");
SetPVarInt(playerid,\"GetSlotUsed\",listitem);
}
else
{
ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
SetPVarInt(playerid,\"GetSlotUsed\",listitem);
}
}
}
case DIALOG_USED:
{
if(!response)
{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
if(response)
{
if(listitem == 0)
{
EditPlayerObject(playerid,ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor]);
}
if(listitem == 1)
{
ShowPlayerDialog(playerid,DIALOG_DELETE,DIALOG_STYLE_MSGBOX,\"IKEA: ELADÁS\",\"Biztos hogy elakarod adni?\",\"Igen\",\"Nem\");
}
if(listitem == 2)
{
new pName[MAX_PLAYER_NAME],string[128];
new str1[16],str2[16],str3[16],str4[16],str6[16],str7[16],str8[16],str9[16];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),\"IKEA/%s.txt\",pName);
if(!dini_Exists(string))
{
dini_Create(string);
new str5[128];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str9,sizeof(str9),\"SLOT%dUsed\",i);
format(str5,sizeof(str5),\"SLOT%dName\",i);
format(str1,sizeof(str1),\"SLOT%dID\",i);
format(str2,sizeof(str2),\"SLOT%dX\",i);
format(str3,sizeof(str3),\"SLOT%dY\",i);
format(str4,sizeof(str4),\"SLOT%dZ\",i);
format(str6,sizeof(str6),\"SLOT%dRX\",i);
format(str7,sizeof(str7),\"SLOT%dRY\",i);
format(str8,sizeof(str8),\"SLOT%dRZ\",i);
dini_Set(string,str5,ButorSlot[playerid][butorName]);
dini_IntSet(string,str1,ButorSlot[playerid][butorid]);
dini_IntSet(string,str9,1);
dini_FloatSet(string,str2,ButorSlot[playerid][PosX]);
dini_FloatSet(string,str3,ButorSlot[playerid][PosY]);
dini_FloatSet(string,str4,ButorSlot[playerid][PosZ]);
dini_FloatSet(string,str6,ButorSlot[playerid][PosRX]);
dini_FloatSet(string,str7,ButorSlot[playerid][PosRY]);
dini_FloatSet(string,str8,ButorSlot[playerid][PosRZ]);
continue;
}
}
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48} Bútorok elmentve!\");
}
else
{
new str5[128];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str9,sizeof(str9),\"SLOT%dUsed\",i);
format(str5,sizeof(str5),\"SLOT%dName\",i);
format(str1,sizeof(str1),\"SLOT%dID\",i);
format(str2,sizeof(str2),\"SLOT%dX\",i);
format(str3,sizeof(str3),\"SLOT%dY\",i);
format(str4,sizeof(str4),\"SLOT%dZ\",i);
format(str6,sizeof(str6),\"SLOT%dRX\",i);
format(str7,sizeof(str7),\"SLOT%dRY\",i);
format(str8,sizeof(str8),\"SLOT%dRZ\",i);
dini_Set(string,str5,ButorSlot[playerid][butorName]);
dini_IntSet(string,str1,ButorSlot[playerid][butorid]);
dini_IntSet(string,str9,1);
dini_FloatSet(string,str2,ButorSlot[playerid][PosX]);
dini_FloatSet(string,str3,ButorSlot[playerid][PosY]);
dini_FloatSet(string,str4,ButorSlot[playerid][PosZ]);
dini_FloatSet(string,str6,ButorSlot[playerid][PosRX]);
dini_FloatSet(string,str7,ButorSlot[playerid][PosRY]);
dini_FloatSet(string,str8,ButorSlot[playerid][PosRZ]);
continue;
}
}
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48} Bútorok elmentve!\");
}
}
}
}
case DIALOG_BUTOR:
{
if(!response)
{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
if(response)
{
if(listitem == 0)
{
new string[300+1];
for(new i;i < sizeof(Szekreny);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Szekreny[butorname],Szekreny[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_SZEK, DIALOG_STYLE_LIST, \"Szekrények\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 1)
{
new string[300+1];
for(new i;i < sizeof(SzekekEsAsztalok);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, SzekekEsAsztalok[butorname],SzekekEsAsztalok[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_ASZT, DIALOG_STYLE_LIST, \"Asztalok és Székek\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 2)
{
new string[300+1];
for(new i;i < sizeof(Dekoracio);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Dekoracio[butorname],Dekoracio[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_DEKO, DIALOG_STYLE_LIST, \"Dekorációk\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 3)
{
new string[300+1];
for(new i;i < sizeof(Fotelok);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Fotelok[butorname],Fotelok[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_KFOT, DIALOG_STYLE_LIST, \"Kanapék és Fotelok\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 4)
{
new string[300+1];
for(new i;i < sizeof(Agyak);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Agyak[butorname],Agyak[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_AGYK, DIALOG_STYLE_LIST, \"Ágyak\", string, \"Megvesz\", \"Vissza\");
}
if(listitem == 5)
{
new string[300+1];
for(new i;i < sizeof(Szonyegek);i++)
{
format(string, sizeof(string), \"%s%s %d$\\n\", string, Szonyegek[butorname],Szonyegek[butorar]);
}
ShowPlayerDialog(playerid, DIALOG_SZON, DIALOG_STYLE_LIST, \"Szõnyegek\", string, \"Megvesz\", \"Vissza\");
}
}
}
case DIALOG_SZEK:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Szekreny[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Szekreny[listitem][butorname],Szekreny[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Szekreny[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Szekreny[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_ASZT:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",SzekekEsAsztalok[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",SzekekEsAsztalok[listitem][butorname],SzekekEsAsztalok[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,SzekekEsAsztalok[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = SzekekEsAsztalok[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_DEKO:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Dekoracio[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Dekoracio[listitem][butorname],Dekoracio[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Dekoracio[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Dekoracio[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_KFOT:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Fotelok[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Fotelok[listitem][butorname],Fotelok[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Fotelok[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Fotelok[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_AGYK:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Agyak[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Agyak[listitem][butorname],Agyak[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (3 * floatsin(-Angle, degrees));
y += (3 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Agyak[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Agyak[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_SZON:
{
if(!response) return ShowPlayerDialog(playerid,DIALOG_BUTOR,DIALOG_STYLE_LIST,\"IKEA: Berendezések\",\"Szekrények\\nSzékek és asztalok\\nDekoráció\\nKanapék és fotelek\\nÁgyak\\nSzõnyegek\",\"Választ\",\"Vissza\");
if(response)
{
new string[256],str[128];
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 1;
format(string, sizeof(string), \"%s\",Szonyegek[listitem][butorname]);
new Float:x,Float:y,Float:z;
new Float:Angle;
format(str,sizeof(str),\"{ffea00}[iKEA] {ff0000} Bútor megvéve! Név: {00ffcc}%s {ff0000}|ID:{00ffcc}%d{00ffcc}|\",Szonyegek[listitem][butorname],Szonyegek[listitem][butorid]);
SendClientMessage(playerid,-1,str);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Angle);
x += (2 * floatsin(-Angle, degrees));
y += (2 * floatcos(-Angle, degrees));
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorName] = string;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor] = CreatePlayerObject(playerid,Szonyegek[listitem][butorid],x,y,z,0.0,0.0,0.0);
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][butorid] = Szonyegek[listitem][butorid];
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = x;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = y;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = z;
new string2[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(string2,sizeof(string2),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",string2,i,ButorSlot[playerid][butorName]);
continue;
}
format(string2,sizeof(string2),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",string2,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",string2,\"Választ\",\"Mégse\");
}
}
case DIALOG_DELETE:
{
if(!response)
{
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
else
{
new string2[128];
DestroyPlayerObject(playerid,ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][CreateButor]);
SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")] = 0;
new pName[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),\"IKEA/%s.txt\",pName);
format(string2,sizeof(string2),\"SLOT%dUsed\",GetPVarInt(playerid,\"GetSlotUsed\"));
dini_IntSet(string,string2,SlotUsed[playerid][GetPVarInt(playerid,\"GetSlotUsed\")]);
new str[512];
for(new i;i<MAX_SLOT;i++)
{
if(SlotUsed[playerid] == 1)
{
format(str,sizeof(str),\"%s\\n{4ee031}[sLOT %d] {ffffff}- %s\",str,i,ButorSlot[playerid][butorName]);
continue;
}
format(str,sizeof(str),\"%s\\n{f70838}[sLOT %d] {000000}- Üres\",str,i);
}
ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,\"Ikea\",str,\"Választ\",\"Mégse\");
}
}
}
return 1;
}
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
new Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ;
GetPlayerObjectPos(playerid,objectid, X, Y, Z);
GetPlayerObjectRot(playerid,objectid, rX, rY, rZ);
if(response == EDIT_RESPONSE_FINAL)
{
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48}Új Pozíció megadva!\");
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosX] = fX;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosY] = fY;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosZ] = fZ;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosRX] = fRotX;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosRY] = fRotY;
ButorSlot[playerid][GetPVarInt(playerid,\"GetSlotUsed\")][PosRZ] = fRotZ;
}
if(response == EDIT_RESPONSE_CANCEL)
{
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {ff0000}Berendezés poziciójának a megadása megszakadt!\");
}
}
LoadPlayerObjects(playerid)
{
new str[128];
new str1[16],str2[16],str3[16],str4[16],str5[128],str6[16],str7[16],str8[16],str9[16];
new name[256];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof(str),\"IKEA/%s.txt\",pName);
for(new i;i<MAX_SLOT;i++)
{
format(str9,sizeof(str9),\"SLOT%dUsed\",i);
format(str5,sizeof(str5),\"SLOT%dName\",i);
format(str1,sizeof(str1),\"SLOT%dID\",i);
format(str2,sizeof(str2),\"SLOT%dX\",i);
format(str3,sizeof(str3),\"SLOT%dY\",i);
format(str4,sizeof(str4),\"SLOT%dZ\",i);
format(str6,sizeof(str6),\"SLOT%dRX\",i);
format(str7,sizeof(str7),\"SLOT%dRY\",i);
format(str8,sizeof(str8),\"SLOT%dRZ\",i);
if(dini_Int(str,str9) == 1)
{
SlotUsed[playerid] = 1;
name=dini_Get%252525252528str%25252525252Cstr5%252525252529%25252525253B
ButorSlot[playerid][butorid] = dini_Int(str,str1);
ButorSlot[playerid][butorName] = name;
ButorSlot[playerid][PosX] = dini_Float(str,str2);
ButorSlot[playerid][PosY] = dini_Float(str,str3);
ButorSlot[playerid][PosZ] = dini_Float(str,str4);
ButorSlot[playerid][PosRX] = dini_Float(str,str6);
ButorSlot[playerid][PosRY] = dini_Float(str,str7);
ButorSlot[playerid][PosRZ] = dini_Float(str,str8);
ButorSlot[playerid][CreateButor] = CreatePlayerObject(playerid,ButorSlot[playerid][butorid],ButorSlot[playerid][PosX],ButorSlot[playerid][PosY],ButorSlot[playerid][PosZ],ButorSlot[playerid][PosRX],ButorSlot[playerid][PosRY],ButorSlot[playerid][PosRZ]);
continue;
}
}
SendClientMessage(playerid,-1,\"{ffea00}[iKEA] {00ff48} Az elmentett bútorok betöltve!\");
}[ / code ]
Szia. Már azt hiszem egyszer nyitottál egy ugyan ilyen problémával foglalkozó témát:
http://sampforum.hu/index.php?topic=46029.0Ott meg tudtad oldani... Akkor most hogy hogy nem megy?
Ott se oldotam meg csak már nem tudtam mit csinályak és abbahagytam és ha meg lenne oldva akkor nem írnék megint idde
Dupla hozzászólás automatikusan összefûzve. ( 2014. április 06. - 22:48:53 )
Senki sem tud segiteni?
Dupla hozzászólás automatikusan összefûzve. ( 2014. április 07. - 13:27:21 )
Sikerült megcsinálnom de most egy más próblémám lett ha átálittom a MAX_SOLT-to mondjuk 100-ra akkor mikor beírom, hogy /ikea csak 15 SOLT van nem 100 miért van ez?