Sziasztok, úgy szeretném ezt a Modern Bútor rendszer hogy csak házban lehessen a parancsokat használni...
Modern Bútor rendszer :
#define FILTERSCRIPT
#include <a_samp>
#include <sscanf2>
#include <YSI\\y_ini>
#include <zcmd>
#include <streamer>
#include <foreach>
#pragma tabsize 0
//Bútorok-----------------------------------------------------------------------
//Kanapék
new KanapeObjektek[][]={
\"Bõr kanapé\\n\",
\"Fa kanapé\\n\",
\"Világosbarna kockás kanapé\\n\",
\"Színes kanapé\"
};
//Ágyak
new AgyObjektek[][]={
\"Két személyes gyerekágy\\n\",
\"Franciaágy\\n\",
\"Egy személyes ágy\\n\",
\"Franciaágy2\"
};
//Asztalok
new AsztalObjektek[][]={
\"Fa asztal két székkel\\n\",
\"Üvegasztal két fotellal\\n\",
\"Kávézóasztal\\n\",
\"Ebédlõ asztal\\n\",
\"Íróasztal\"
};
//TV-k
new TVObjektek[][]={
\"Modern TV\\n\",
\"Luxus TV\\n\",
\"Kazettás videólejátszó\\n\",
\"TVjáték\"
};
//PC-k
new PCObjektek[][]={
\"Videójáték\\n\",
\"Számítógép\\n\",
\"Játékgép\\n\",
\"Nyomtató\"
};
//WC-k
new WCObjektek[][]={
\"Szürkés színû négyzet alakú WC\\n\",
\"Szürkés színû kör alakú WC\\n\",
\"Fehér színû átlagos kinézetû WC\\n\",
\"Fekete fedõlapos WC\\n\",
\"Bézs fedõlapos WC\"
};
//Kádak
new KadObjektek[][]={
\"Fehér színû kerámia kád\\n\",
\"Szürkés színû kerámia kád\\n\",
\"Fehér kerámia kád szép fa borítással\\n\",
\"Fehér kerámia sarokkád elején és oldalán fa borítással\"
};
//Konyha bútorok
new KonyhaObjektek[][]={
\"Gáztûzhely felsõ tárolópolcal\\n\",
\"Konyhapult mosogatóval\\n\",
\"Fa, fém konyhapult mosogatóval, elõkészítõasztalal\\n\",
\"Mosogató\\n\",
\"Mikró\"
};
//Egyéb bútorok
new EgyebObjektek[][]={
\"Radiátor\\n\",
\"Ventilátor\"
};
//Hifik
new HifiObjektek[][]={
\"Hangszóró\\n\",
\"Rádió\\n\",
\"Hordozható Rádió\\n\",
\"Nagy fakeretes Hifi, több funkcióval\\n\",
\"Nagy Fekete hifi\"
};
//------------------------------------------------------------------------------
new Object;
new oModel;
#define OBJECT_FILE_NAME \"DObjects.txt\"
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Bútorrendszer sikeresen betöltve \");
print(\"--------------------------------------\\n\");
AddObjectFromFile(OBJECT_FILE_NAME);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 509:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new KanapekString[1600];
format(KanapekString,sizeof KanapekString,\"%s%s%s%s\",KanapeObjektek[0],KanapeObjektek[1],KanapeObjektek[2],KanapeObjektek[3]);
ShowPlayerDialog(playerid, 510, DIALOG_STYLE_LIST,\"{FF0000}* BÚTOROK - KANAPÉK\",KanapekString,\"Ez kell\",\"Kilépés\");
}
case 1:
{
new AgyakString[1600];
format(AgyakString,sizeof AgyakString,\"%s%s%s%s\",AgyObjektek[0],AgyObjektek[1],AgyObjektek[2],AgyObjektek[3]);
ShowPlayerDialog(playerid, 511, DIALOG_STYLE_LIST,\"{FFA600}* BÚTOROK - ÁGYAK\",AgyakString,\"Ez kell\",\"Kilépés\");
}
case 2:
{
new AsztalokString[1600];
format(AsztalokString,sizeof AsztalokString,\"%s%s%s%s%s\",AsztalObjektek[0],AsztalObjektek[1],AsztalObjektek[2],AsztalObjektek[3],AsztalObjektek[4]);
ShowPlayerDialog(playerid, 512, DIALOG_STYLE_LIST,\"{33AA33}* BÚTOROK - ASZTALOK\",AsztalokString,\"Ez kell\",\"Kilépés\");
}
case 3:
{
new TVkString[1600];
format(TVkString,sizeof TVkString,\"%s%s%s%s\",TVObjektek[0],TVObjektek[1],TVObjektek[2],TVObjektek[3]);
ShowPlayerDialog(playerid, 513, DIALOG_STYLE_LIST,\"{FFFF99}* BÚTOROK - TV\",TVkString,\"Ez kell\",\"Kilépés\");
}
case 4:
{
new PCkString[1600];
format(PCkString,sizeof PCkString,\"%s%s%s%s\",PCObjektek[0],PCObjektek[1],PCObjektek[2],PCObjektek[3]);
ShowPlayerDialog(playerid, 514, DIALOG_STYLE_LIST,\"{008ACF}* BÚTOROK - PC\",PCkString,\"Ez kell\",\"Kilépés\");
}
case 5:
{
new WCkString[1600];
format(WCkString,sizeof WCkString,\"%s%s%s%s%s\",WCObjektek[0],WCObjektek[1],WCObjektek[2],WCObjektek[3],WCObjektek[4]);
ShowPlayerDialog(playerid, 515, DIALOG_STYLE_LIST,\"{DDDDDD}* BÚTOROK - WC\",WCkString,\"Ez kell\",\"Kilépés\");
}
case 6:
{
new KadString[1600];
format(KadString,sizeof KadString,\"%s%s%s%s\",KadObjektek[0],KadObjektek[1],KadObjektek[2],KadObjektek[3]);
ShowPlayerDialog(playerid, 516, DIALOG_STYLE_LIST,\"{00FF00}* BÚTOROK - KÁDAK\",KadString,\"Ez kell\",\"Kilépés\");
}
case 7:
{
new KonyhaString[1600];
format(KonyhaString,sizeof KonyhaString,\"%s%s%s%s%s\",KonyhaObjektek[0],KonyhaObjektek[1],KonyhaObjektek[2],KonyhaObjektek[3],KonyhaObjektek[4]);
ShowPlayerDialog(playerid, 517, DIALOG_STYLE_LIST,\"{FF00FF}* BÚTOROK - KONYHAI BÚTOROK\",KonyhaString,\"Ez kell\",\"Kilépés\");
}
case 8:
{
new EgyebString[1600];
format(EgyebString,sizeof EgyebString,\"%s%s\",EgyebObjektek[0],EgyebObjektek[1]);
ShowPlayerDialog(playerid, 518, DIALOG_STYLE_LIST,\"{00FFFF}* BÚTOROK - EGYÉB\",EgyebString,\"Ez kell\",\"Kilépés\");
}
case 9:
{
new HifiString[1600];
format(HifiString,sizeof HifiString,\"%s%s%s%s%s\",HifiObjektek[0],HifiObjektek[1],HifiObjektek[2],HifiObjektek[3],HifiObjektek[4]);
ShowPlayerDialog(playerid, 519, DIALOG_STYLE_LIST,\"{FFFF00}* BÚTOROK - HIFIK\",HifiString,\"Ez kell\",\"Kilépés\");
}
}
}
}
switch(dialogid)
{
case 510:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2290;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2290, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Bõr kanapé lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 1:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1768;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1768, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Fa kanapé lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 2:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1764;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1764, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Világosbarna kockás kanapé lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 3:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1760;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1760, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Színes kanapé lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
}
}
}
switch(dialogid)
{
case 511:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1700;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1700, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Két személyes gyerekágy lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 1:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1701;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1701, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Franciaágy lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 2:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1796;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1796, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Egy személyes ágy lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 3:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1797;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1797, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Franciaágy2 lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
}
}
}
switch(dialogid)
{
case 512:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2617;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2617, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Fa asztal két székkel lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 1:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2572;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2572, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Üvegasztal két fotellal lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 2:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2112;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2112, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Kávézóasztal lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 3:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1737;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1737, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Ebédlõ asztal lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 4:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2169;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2169, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Író asztal lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
}
}
}
switch(dialogid)
{
case 513:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1752;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1752, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Modern TV lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 1:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1792;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1792, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Luxus TV lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 2:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 1719;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(1719, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Kazettás videólejátszó lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 3:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2028;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2028, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* TVjáték lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
}
}
}
switch(dialogid)
{
case 514:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2028;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2028, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Videójáték lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 1:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2190;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2190, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Számítógép lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 2:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2980;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2980, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Játékgép lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 3:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2186;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2186, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Nyomtató lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
}
}
}
switch(dialogid)
{
case 515:
{
if(!response)
{
return 1;
}
switch(listitem)
{
case 0:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2521;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2521, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Szürkés színû négyzet alakú WC lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 1:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2514;
ORX = 0.0;
ORY = 0.0;
ORZ = 0.0;
Object = CreateObject(2514, OX+2, OY, OZ, ORX, ORY, ORZ);
SendClientMessage(playerid, -1, \"{ffff99}* Szürkés színû kör alakú WC lerakva, rakd oda ahova akarod.\");
EditObject(playerid, Object);
}
case 2:
{
new Float:OX, Float:OY, Float:OZ, Float:ORX, Float:ORY, Float:ORZ;
GetPlayerPos(playerid, OX, OY, OZ);
oModel = 2738;
Ház rendszer :
/*
KÉSZÍTETTE RUPERT! KÉRLEK, NE TÖRÖLD KI A NEVEMET MEGEMLÍTÕ ÜZENETET!
*/
#include <a_samp>
#include <dini>
#include <dutils>
#include <dudb>
#include <sscanf2>
#include <zcmd>
// SZÍNEK
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xff0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_GRREN 0x00ff2bAA
#define COLOR_LORANGE 0xebbf3bAA
#define SCM SendClientMessage
#define pressed(%0)\\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
// DIALOGOK
#define hazikoo 50
#define hazikoo2 60
#define hazikoo3 70
#define hazikoo4 80
#define hazikoo5 90
#define MAX_HOUSES 500
#pragma unused ret_memcpy
// HÁZ ENUM
enum House
{
ID,
style,
Owner[24],
Float:X,
Float:Y,
Float:Z,
Ar,
Float:kX,
Float:kY,
Float:kZ,
interior,
nyitva
}
new Text3D:haztext2[MAX_HOUSES];
new Text3D:haztext[MAX_HOUSES];
new stri[256];
new hInfo[MAX_HOUSES][House];
new hazak;
new hazban[MAX_PLAYERS];
new mhazban[MAX_PLAYERS];
new Float:kx[MAX_PLAYERS];
new Float:ky[MAX_PLAYERS];
new Float:kz[MAX_PLAYERS];
bool:IsPlayerHaveHazkulcs(playerid, hazid)
{
if(strcmp(pName(playerid), hInfo[hazid][Owner], true) == 0) return true;
return false;
}
CMD:haztorol(playerid, params[])
{
new hazacska;
hazacska = MelyikHaz(playerid);
if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy admin.\");
if(hazacska == -1) return SCM(playerid, COLOR_GREY, \"Nincs ház a közelben.\");
RemoveHouse(hazacska);
SCM(playerid, COLOR_WHITE, \"Ház törölve.\");
return 1;
}
CMD:haz(playerid, params[])
{
new Float:px, Float:py, Float:pz, ar, id;
GetPlayerPos(playerid, px, py, pz);
if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy admin!\");
if(sscanf(params, \"dd\", id, ar)) return SCM(playerid, COLOR_GREY, \"Használat: /haz [iD!!!] [style (1-3)]\");
CreateHouse(id, px, py, pz, ar);
SCM(playerid, COLOR_WHITE, \"Ház létrehozva.\");
return 1;
}
CMD:bemegy(playerid, params[])
{
new hazacska = MelyikHaz(playerid);
if(hazacska)
{
if(hInfo[hazacska][Ar] == 0)
{
if(hInfo[hazacska][nyitva] == 0) return SCM(playerid, COLOR_RED, \"Az ajtó zárva van!\");
SetPlayerInterior(playerid, hInfo[hazacska][interior]);
SetPlayerPos(playerid, hInfo[hazacska][kX], hInfo[hazacska][kY], hInfo[hazacska][kZ]);
SetPlayerVirtualWorld(playerid, hInfo[hazacska][iD]);
hazban[playerid] = 1;
kx[playerid] = hInfo[hazacska][X];
ky[playerid] = hInfo[hazacska][Y];
kz[playerid] = hInfo[hazacska][Z];
mhazban[playerid] = hInfo[hazacska][iD];
}
}
return 1;
}
CMD:kimegy(playerid, params[])
{
if(hazban[playerid] == 0) return 0;
if(hInfo[mhazban[playerid]][nyitva] == 0) return SCM(playerid, COLOR_RED, \"Az ajtó zárva van!\");
SetPlayerPos(playerid, kx[playerid], ky[playerid], kz[playerid]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
hazban[playerid] = 0;
return 1;
}
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Rupert\'s house system loaded.\");
print(\"--------------------------------------\\n\");
hazak = 0;
LoadHouses();
DisableInteriorEnterExits();
printf(\"Összes ház: %d!\", hazak);
print(\"---------------------------------------------------\");
print(\"---------------------------------------------------\");
return 1;
}
public OnFilterScriptExit()
{
SaveHouses();
hazak = 0;
return 1;
}
public OnPlayerConnect(playerid)
{
hazban[playerid] = 0;
mhazban[playerid] = 0;
kx[playerid] = 0;
ky[playerid] = 0;
kz[playerid] = 0;
SCM(playerid, COLOR_GRREN, \"A szerveren megtalálható a Rupert által készített házrendszer!\");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
hazban[playerid] = 0;
mhazban[playerid] = 0;
kx[playerid] = 0;
ky[playerid] = 0;
kz[playerid] = 0;
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(pressed(KEY_WALK) && hazban[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[mhazban[playerid]][kX], hInfo[mhazban[playerid]][kY], hInfo[mhazban[playerid]][kZ]))
{
if(IsPlayerHaveHazkulcs(playerid, mhazban[playerid]))
{
ShowPlayerDialog(playerid, hazikoo3, DIALOG_STYLE_LIST, \"Ház infó\", \"Kimegy\\nKinyitás\\nBezárás\", \"Rendben\", \"Mégsem\");
}
else ShowPlayerDialog(playerid, hazikoo5, DIALOG_STYLE_LIST, \"Ház infó\", \"Kimegy\", \"Rendben\", \"Mégsem\");
}
}
new hazacska = MelyikHaz(playerid);
if(pressed(KEY_WALK) && hazacska)
{
if(hInfo[hazacska][Ar] > 0)
{
ShowPlayerDialog(playerid, hazikoo, DIALOG_STYLE_LIST, \"Ház infó\",\"Ház megvétele\", \"Rendben\", \"Mégsem\");
}
else if(IsPlayerHaveHazkulcs(playerid, hazacska))
{
ShowPlayerDialog(playerid, hazikoo2, DIALOG_STYLE_LIST, \"Ház infó\", \"Bemegy\\nKinyitás\\nBezárás\\nHáz eladása\", \"Rendben\",\"Mégsem\");
}
else
{
ShowPlayerDialog(playerid, hazikoo4, DIALOG_STYLE_LIST, \"Ház infó\", \"Megpróbálok bemenni\", \"Rendben\",\"Mégsem\");
}
}
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == hazikoo)
{
if(!response) return 0;
if(listitem == 0)
{
new hazacska = MelyikHaz(playerid);
if(GetPlayerMoney(playerid) < hInfo[hazacska][Ar]) return SCM(playerid, COLOR_RED, \"Nincs elég pénzed!\");
hInfo[hazacska][Owner] = pName(playerid);
GivePlayerMoney(playerid, -hInfo[hazacska][Ar]);
hInfo[hazacska][Ar] = 0;
SCM(playerid, COLOR_YELLOW, \"Ház megvéve!\");
SaveHouse(hazacska);
format(stri, 256, \"A ház tulajdonosa:\\n%s\\nNyomj ALT-ot.\", hInfo[hazacska][Owner]);
Update3DTextLabelText(haztext[hazacska], -1, stri);
}
}
if(dialogid == hazikoo2)
{
new hazacska = MelyikHaz(playerid);
if(!response) return 0;
if(listitem == 0)
{
cmd_bemegy(playerid, \"\");
}
else if(listitem == 1)
{
hInfo[hazacska][nyitva] = 1;
SCM(playerid, COLOR_GREEN, \"Ajtó kinyitva.\");
}
else if(listitem == 2)
{
hInfo[hazacska][nyitva] = 0;
SCM(playerid, COLOR_GREEN, \"Ajtó bezárva.\");
}
else if(listitem == 3)
{
GivePlayerMoney(playerid, 5000);
format(hInfo[hazacska][Owner], 24, \"%s\", \"\");
if(hInfo[hazacska][style] == 1) hInfo[hazacska][Ar] = 5000;
if(hInfo[hazacska][style] == 2) hInfo[hazacska][Ar] = 10000;
if(hInfo[hazacska][style] == 3) hInfo[hazacska][Ar] = 25000;
SCM(playerid, COLOR_YELLOW, \"Ház eladva!\");
format(stri, 256, \"A ház eladó! Ára:\\n%d$\\n Nyomj ALT-ot.\", hInfo[hazacska][Ar]);
SaveHouse(hazacska);
Update3DTextLabelText(haztext[hazacska], -1, stri);
}
}
if(dialogid == hazikoo3)
{
if(!response) return 0;
if(listitem == 0)
{
cmd_kimegy(playerid, \"\");
}
else if(listitem == 1)
{
hInfo[mhazban[playerid]][nyitva] = 1;
SCM(playerid, COLOR_GREEN, \"Ajtó kinyitva.\");
}
else if(listitem == 2)
{
hInfo[mhazban[playerid]][nyitva] = 0;
SCM(playerid, COLOR_GREEN, \"Ajtó bezárva.\");
}
}
if(dialogid == hazikoo4)
{
if(!response) return 0;
cmd_bemegy(playerid, \"\");
}
if(dialogid == hazikoo5)
{
if(!response) return 0;
cmd_kimegy(playerid, \"\");
}
return 1;
}
CreateHouse(id, Float:x, Float:y, Float:z, stylee)
{
new hFile[128];
format(hFile, 128, \"/Hazak/%d.ini\", id);
if(dini_Exists(hFile)) return printf(\"%d ID ház létezik!!\", id);
dini_Create(hFile);
dini_Set(hFile, \"Owner\", \"\");
dini_FloatSet(hFile, \"X\", x);
dini_FloatSet(hFile, \"Y\", y);
dini_FloatSet(hFile, \"Z\", z);
dini_IntSet(hFile, \"Style\", stylee);
if(stylee == 1)
{
dini_IntSet(hFile, \"Ar\", 5000);
dini_IntSet(hFile, \"Interior\", 1);
dini_FloatSet(hFile, \"kX\", 223.043991);
dini_FloatSet(hFile, \"kY\", 1289.259888);
dini_FloatSet(hFile, \"kZ\", 1082.199951);
}
if(stylee == 2)
{
dini_IntSet(hFile, \"Ar\", 10000);
dini_IntSet(hFile, \"Interior\", 2);
dini_FloatSet(hFile, \"kX\", 225.756989 );
dini_FloatSet(hFile, \"kY\", 1240.000000 );
dini_FloatSet(hFile, \"kZ\", 1082.149902 );
}
if(stylee == 3)
{
dini_IntSet(hFile, \"Ar\", 25000);
dini_IntSet(hFile, \"Interior\", 3);
dini_FloatSet(hFile, \"kX\", 235.508994 );
dini_FloatSet(hFile, \"kY\", 1189.169897 );
dini_FloatSet(hFile, \"kZ\", 1080.339966 );
}
dini_IntSet(hFile, \"Nyitva\", 0);
hInfo[id][iD] = id;
hInfo[id][X] = dini_Float(hFile, \"X\");
hInfo[id][Y] = dini_Float(hFile, \"Y\");
hInfo[id][Z] = dini_Float(hFile, \"Z\");
hInfo[id][Ar] = dini_Int(hFile, \"Ar\");
hInfo[id][kX] = dini_Float(hFile, \"kX\");
hInfo[id][kY] = dini_Float(hFile, \"kY\");
hInfo[id][kZ] = dini_Float(hFile, \"kZ\");
hInfo[id][style] = dini_Int(hFile, \"Style\");
hInfo[id][interior] = dini_Int(hFile, \"Interior\");
printf(\"%d ID ház betöltve!\", id);
format(stri, 256, \"ID:%d\\nA ház eladó! Ára:\\n%d$\\n Nyomj ALT-ot.\", id, hInfo[id][Ar]);
haztext2[id] = Create3DTextLabel(\"Nyomj ALT-ot.\", -1, hInfo[id][kX], hInfo[id][kY], hInfo[id][kZ], 30, id, 0);
haztext[id] = Create3DTextLabel(stri, -1, x, y, z, 30, 0, 0);
hazak++;
return 1;
}
LoadHouse(id)
{
new hFile[128];
format(hFile, 128, \"/Hazak/%d.ini\", id);
if(!dini_Exists(hFile)) return 0;
hInfo[id][iD] = id;
format(hInfo[id][Owner], 24, \"%s\", dini_Get(hFile, \"Owner\"));
hInfo[id][X] = dini_Float(hFile, \"X\");
hInfo[id][Y] = dini_Float(hFile, \"Y\");
hInfo[id][Z] = dini_Float(hFile, \"Z\");
hInfo[id][Ar] = dini_Int(hFile, \"Ar\");
hInfo[id][kX] = dini_Float(hFile, \"kX\");
hInfo[id][kY] = dini_Float(hFile, \"kY\");
hInfo[id][kZ] = dini_Float(hFile, \"kZ\");
hInfo[id][interior] = dini_Int(hFile, \"Interior\");
hInfo[id][style] = dini_Int(hFile, \"Style\");
hInfo[id][nyitva] = dini_Int(hFile, \"Nyitva\");
if(hInfo[id][Ar] == 0)
{
format(stri, 256, \"ID:%d\\nA ház tulajdonosa:\\n%s\\nNyomj ALT-ot.\", id, hInfo[id][Owner]);
haztext[id] = Create3DTextLabel(stri, -1, hInfo[id][X], hInfo[id][Y], hInfo[id][Z], 30, 0, 0);
}
else
{
format(stri, 256, \"ID:%d\\nA ház eladó! Ára:\\n%d$\\n Nyomj ALT-ot.\", id, hInfo[id][Ar]);
haztext[id] = Create3DTextLabel(stri, -1, hInfo[id][X], hInfo[id][Y], hInfo[id][Z], 30, 0, 0);
}
haztext2[id] = Create3DTextLabel(\"Nyomj ALT-ot.\", -1, hInfo[id][kX], hInfo[id][kY], hInfo[id][kZ], 30, id, 0);
printf(\"%d ID ház betöltve!\", id);
hazak++;
return 1;
}
SaveHouse(id)
{
new hFile[128];
format(hFile, 128, \"/Hazak/%d.ini\", id);
if(!dini_Exists(hFile)) return 0;
dini_Set(hFile, \"Owner\", hInfo[id][Owner]);
dini_FloatSet(hFile, \"X\", hInfo[id][X]);
dini_FloatSet(hFile, \"Y\", hInfo[id][Y]);
dini_FloatSet(hFile, \"Z\", hInfo[id][Z]);
dini_IntSet(hFile, \"Ar\", hInfo[id][Ar]);
dini_IntSet(hFile, \"Nyitva\", hInfo[id][nyitva]);
printf(\"%d ID ház elmentve!\", id);
return 1;
}
RemoveHouse(id)
{
new hFile[128];
format(hFile, 128, \"/Hazak/%d.ini\", id);
if(!dini_Exists(hFile)) return 0;
dini_Remove(hFile);
printf(\"%d ID ház törölve.\", id);
hInfo[id][X] = 0;
hInfo[id][Y] = 0;
hInfo[id][Z] = 0;
hInfo[id][Ar] = 0;
hInfo[id][nyitva] = 0;
hazak--;
Delete3DTextLabel(haztext[id]);
Delete3DTextLabel(haztext2[id]);
return 1;
}
stock LoadHouses()
{
for(new i=0;i<MAX_HOUSES;i++)
{
LoadHouse(i);
}
return 1;
}
stock SaveHouses()
{
for(new i=0;i<MAX_HOUSES;i++)
{
SaveHouse(i);
}
return 1;
}
stock MelyikHaz(playerid)
{
for(new i;i<MAX_HOUSES;i++)
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, hInfo[X], hInfo[Y], hInfo[Z])) return i;
}
return -1;
}
stock pName(id)
{
new name[24];
GetPlayerName(id, name, 24);
return name;
}