Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ============================================================= Dynamisches Haussystem by DrLiightninG ========================================================================================================
- Copyright: Dieses Filterscript ist Eigentum von DrMurphy (samp Forum: http://forum.sa-mp.de/index.php?page=User&userID=32610)
- und darf zwar verwendet und auch verändert werden, jedoch nicht als eigenes System ausgegeben werden, sondern es muss darauf hingewiesen werden,
- dass die Grundstruktur des Scripts von DrLiightninG bzw DrMurphy stammt.
- Außerdem darf dieser Text weder entfernt, noch von anderen Personen außer DrMurphy verändert werden.
- Benutzerhinweise: Eine ausführliche Erklärung aller Befehle und Funktionen ist im sa-mp.de Forum im Showroom des Systems zu finden.
- Verbesserungsvorschläge und Ideen für neue Funktionen werden dort ebenfalls gerne gesehen.
- Version: 2.0
- Datum: 15.03.2014 um 21:55 Uhr
- =============================================================================================================================================================================================================
- */
- //********** Einstellungen: **********
- #define MAX_HAUS 500 //Dies ist die maximale Anzahl von erstellbaren Häusern. Der Wert muss immer mindestens so groß sein, wie der Wert 'Anzahl Häuser' in der config-Datei.
- //************************************
- #define FILTERSCRIPT
- #include <a_samp>
- #include <dini>
- #include <sscanf2>
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- new hauscfg[128];
- new anzahlhaus;
- new anzahlgeladen;
- new enterid[MAX_PLAYERS];
- new editid[MAX_PLAYERS];
- new Float:interiorx[MAX_PLAYERS];
- new Float:interiory[MAX_PLAYERS];
- new Float:interiorz[MAX_PLAYERS];
- new interiorkauf[MAX_PLAYERS];
- new interiorkaufpreis[MAX_PLAYERS];
- new VWorld[MAX_PLAYERS];
- new paydayzeit;
- forward SaveDataT();
- forward PayDayT();
- //Dialoge
- #define DIALOG_DELHAUS 100000
- #define DIALOG_HKAUFEN 200000
- #define DIALOG_HMIETBAR 300000
- #define DIALOG_HVERKAUFEN 400000
- #define DIALOG_HINTERIOR 500000
- #define DIALOG_HINFO 600000
- #define DIALOG_HCSPAWN 700000
- #define DIALOG_HUPGRADE 800000
- #define sec 1000
- #if defined FILTERSCRIPT
- //Farben:
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_BLUE 0x0000BBAA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_LIME 0x10F441AA
- #define COLOR_MAGENTA 0xFF00FFFF
- #define COLOR_NAVY 0x000080AA
- #define COLOR_AQUA 0xF0F8FFAA
- #define COLOR_CRIMSON 0xDC143CAA
- #define COLOR_FLBLUE 0x6495EDAA
- #define COLOR_BISQUE 0xFFE4C4AA
- #define COLOR_BLACK 0x000000AA
- #define COLOR_CHARTREUSE 0x7FFF00AA
- #define COLOR_BROWN 0XA52A2AAA
- #define COLOR_CORAL 0xFF7F50AA
- #define COLOR_GOLD 0xB8860BAA
- #define COLOR_GREENYELLOW 0xADFF2FAA
- #define COLOR_INDIGO 0x4B00B0AA
- #define COLOR_IVORY 0xFFFF82AA
- #define COLOR_LAWNGREEN 0x7CFC00AA
- #define COLOR_SEAGREEN 0x20B2AAAA
- #define COLOR_DARKLIME 0x32CD32AA
- #define COLOR_MIDNIGHTBLUE 0X191970AA
- #define COLOR_MAROON 0x800000AA
- #define COLOR_OLIVE 0x808000AA
- #define COLOR_ORANGERED 0xFF4500AA
- #define COLOR_LIGHTLIGHTPINK 0xFFC0CBAA
- #define COLOR_SPRINGGREEN 0x00FF7FAAP
- #define COLOR_YELLOWGREEN 0x9ACD32AA
- #define COLOR_MEDIUMAQUA 0x83BFBFAA
- #define COLOR_DARKMAGENTA 0x8B008BAA
- enum HSpielerDaten
- {
- ahaus,
- spawn
- }
- new playerD[MAX_PLAYERS][HSpielerDaten];
- enum HausDaten
- {
- id,
- Float:posx,
- Float:posy,
- Float:posz,
- interior,
- vworld,
- mietbar,
- besitzer[128],
- preis,
- mietpreis,
- minmiete,
- maxmiete,
- pickup,
- Text3D:dtext,
- oldinterior,
- kasse,
- heal,
- armour,
- aktiv,
- offen,
- level
- }
- new haus[MAX_HAUS][HausDaten];
- public OnFilterScriptInit()
- {
- format(hauscfg,sizeof(hauscfg),"/cfghaus.cfg");
- anzahlhaus = dini_Int(hauscfg,"Anzahl Häuser");
- print("\n-------------------------------------------------------------");
- print("Dynamisches Haussystem by DrMurphy erolgreich geladen!");
- print("-------------------------------------------------------------\n");
- if(!dini_Exists(hauscfg))
- {
- dini_Create(hauscfg);
- dini_Set(hauscfg,"Warnung"," Der Wert 'Anzahl Häuser' wird vom System verwendet und darf unter keinen Umständen vom Benutzer selbst geändert werden. Andernfalls könnte das komplette System fehlerhaft werden.");
- dini_Set(hauscfg,"Hinweis"," Hilfe zur config-Datei, sowie dem kompletten System, kann man im sa-mp.de Forum im Showroom des Systems finden.");
- dini_IntSet(hauscfg,"Anzahl Häuser",0);
- dini_Set(hauscfg,"Max_Haus"," Dieser Wert gibt die maximale Zahl an erstellbaren Häusern an. Er muss direkt im Filterscript geändert werden. Die Einstellungen sind ganz oben im Script zu finden. (Standartmäßiger Wert: 500)");
- dini_IntSet(hauscfg,"Max_Häuser_Kaufbar",1);
- dini_IntSet(hauscfg,"Mietbar",1);
- dini_IntSet(hauscfg,"Max_Miete",-1);
- dini_IntSet(hauscfg,"Min_Miete",-1);
- dini_IntSet(hauscfg,"Max_Mieter",10);
- dini_IntSet(hauscfg,"Upgrades",1);
- dini_IntSet(hauscfg,"Healpoint_Preis",5000);
- dini_IntSet(hauscfg,"Armourpoint_Preis",5000);
- dini_IntSet(hauscfg,"Interiorkauf",1);
- dini_IntSet(hauscfg,"PayDay",0);
- dini_IntSet(hauscfg,"Nutze_Spawnsystem",0);
- dini_FloatSet(hauscfg,"S_Spawnx",0);
- dini_FloatSet(hauscfg,"S_Spawny",0);
- dini_FloatSet(hauscfg,"S_Spawnz",0);
- print("Haussystem erfolgreich installiert.");
- return 1;
- }
- else
- {
- for(new i = 0; anzahlhaus >= i; i++)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",i);
- if(dini_Exists(hausid))
- {
- if(dini_Int(hausid,"Aktiv") == 1)
- {
- //Haus laden
- anzahlgeladen ++;
- haus[i][id] = dini_Int(hausid,"ID");
- haus[i][aktiv] = 1;
- haus[i][level] = dini_Int(hausid,"Level");
- haus[i][posx] = dini_Float(hausid,"PosX");
- haus[i][posy] = dini_Float(hausid,"PosY");
- haus[i][posz] = dini_Float(hausid,"PosZ");
- haus[i][interior] = dini_Int(hausid,"Interior");
- haus[i][vworld] = dini_Int(hausid,"VirtualWorld");
- haus[i][mietbar] = dini_Int(hausid,"Mietbar");
- haus[i][heal] = dini_Int(hausid,"Healpoint");
- haus[i][armour] = dini_Int(hausid,"Armourpoint");
- format(haus[i][besitzer],128,"%s",dini_Get(hausid,"Besitzer"));
- haus[i][preis] = dini_Int(hausid,"Preis");
- haus[i][minmiete] = dini_Int(hausid,"Min_Miete");
- haus[i][maxmiete] = dini_Int(hausid,"Max_Miete");
- haus[i][mietpreis] = dini_Int(hausid,"Mietpreis");
- haus[i][oldinterior] = dini_Int(hausid,"Old_Interior");
- haus[i][kasse] = dini_Int(hausid,"Kasse");
- haus[i][offen] = dini_Int(hausid,"Offen");
- if(dini_Int(hauscfg,"Min_Miete") != -1)
- {
- if(haus[i][minmiete] == -1)
- {
- if(haus[i][mietpreis] < dini_Int(hauscfg,"Min_Miete"))
- {
- haus[i][mietpreis] = dini_Int(hauscfg,"Min_Miete");
- }
- }
- }
- if(dini_Int(hauscfg,"Max_Miete") != -1)
- {
- if(haus[i][maxmiete] == -1)
- {
- if(haus[i][mietpreis] > dini_Int(hauscfg,"Max_Miete"))
- {
- haus[i][mietpreis] = dini_Int(hauscfg,"Max_Miete");
- }
- }
- }
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(strcmp(dini_Get(hausid,mietername),"",false) == 0)
- {
- dini_Set(hausid,mietername,"Niemand");
- }
- }
- if(strcmp(haus[i][besitzer],"Niemand",false) == 0)
- {
- haus[i][pickup] = CreatePickup(1273,1,haus[i][posx],haus[i][posy],haus[i][posz],0);
- new string[128];
- format(string,sizeof(string),"Zum Verkauf\nID: %i\nPreis: %i\nminimale Miete: %i\nmaximale Miete: %i\nInterior ID: %i",haus[i][id],haus[i][preis],haus[i][minmiete],haus[i][maxmiete],haus[i][interior]);
- haus[i][dtext] = Create3DTextLabel(string,COLOR_BLUE,haus[i][posx],haus[i][posy],haus[i][posz],10,0,0);
- }
- else
- {
- haus[i][pickup] = CreatePickup(1272,1,haus[i][posx],haus[i][posy],haus[i][posz],0);
- if(haus[i][mietbar] == 0 || dini_Int(hauscfg,"Mietbar") == 0)
- {
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i",haus[i][besitzer],haus[i][id]);
- haus[i][dtext] = Create3DTextLabel(string2,COLOR_BLUE,haus[i][posx],haus[i][posy],haus[i][posz],10,0,0);
- }
- if(dini_Int(hauscfg,"Mietbar") == 1)
- {
- if(haus[i][mietbar] == 1)
- {
- new string3[128];
- format(string3,sizeof(string3),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- haus[i][dtext] = Create3DTextLabel(string3,COLOR_BLUE,haus[i][posx],haus[i][posy],haus[i][posz],10,0,0);
- }
- }
- }
- }
- }
- }
- paydayzeit = dini_Int(hauscfg,"PayDay");
- printf("Es wurden %i Häuser geladen!",anzahlgeladen);
- SetTimer("SaveDataT",60*60*sec,true);
- SetTimer("PayDayT",60*sec,true);
- return 1;
- }
- }
- public OnFilterScriptExit()
- {
- dini_IntSet(hauscfg,"PayDay",paydayzeit);
- saveHausDaten();
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- #endif
- public OnPlayerConnect(playerid)
- {
- new SDatei[128];
- format(SDatei,sizeof(SDatei),"/HSpieler/%s.cfg",getPlayerName(playerid));
- if(dini_Exists(SDatei))
- {
- playerD[playerid][ahaus] = dini_Int(SDatei,"Anzahl_Häuser");
- playerD[playerid][spawn] = dini_Int(SDatei,"Spawn");
- return 1;
- }
- else
- {
- dini_Create(SDatei);
- dini_IntSet(SDatei,"Anzahl_Häuser",0);
- dini_IntSet(SDatei,"Spawn",0);
- return 1;
- }
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- enterid[playerid] = 0;
- editid[playerid] = 0;
- interiorx[playerid] = 0;
- interiory[playerid] = 0;
- interiorz[playerid] = 0;
- interiorkauf[playerid] = 0;
- interiorkaufpreis[playerid] = 0;
- VWorld[playerid] = 0;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(dini_Int(hauscfg,"Nutze_Spawnsystem") == 1)
- {
- if(playerD[playerid][spawn] == 0)
- {
- SetPlayerPos(playerid,dini_Float(hauscfg,"S_Spawnx"),dini_Float(hauscfg,"S_Spawny"),dini_Float(hauscfg,"S_Spawnz"));
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- return 1;
- }
- else
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- new inter[128];
- format(inter,sizeof(inter),"/Interiors/Interior%i.txt",haus[i][interior]);
- SetPlayerPos(playerid,dini_Float(inter,"SpawnX"),dini_Float(inter,"SpawnY"),dini_Float(inter,"SpawnZ"));
- SetPlayerInterior(playerid,haus[i][interior]);
- SetPlayerVirtualWorld(playerid,haus[i][vworld]);
- enterid[playerid] = haus[i][id];
- return 1;
- }
- new HDatei[128];
- format(HDatei,sizeof(HDatei),"/Haus/Haus%i.cfg",haus[i][id]);
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(strcmp(dini_Get(HDatei,mietername),"",false) == 0)
- {
- new inter[128];
- format(inter,sizeof(inter),"/Interiors/Interior%i.txt",haus[i][interior]);
- SetPlayerPos(playerid,dini_Float(inter,"SpawnX"),dini_Float(inter,"SpawnY"),dini_Float(inter,"SpawnZ"));
- SetPlayerInterior(playerid,haus[i][interior]);
- SetPlayerVirtualWorld(playerid,haus[i][vworld]);
- enterid[playerid] = haus[i][id];
- return 1;
- }
- }
- }
- SetPlayerPos(playerid,dini_Float(hauscfg,"S_Spawnx"),dini_Float(hauscfg,"S_Spawny"),dini_Float(hauscfg,"S_Spawnz"));
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(chaus, 5, cmdtext);
- dcmd(cinterior, 9, cmdtext);
- dcmd(delinterior, 11, cmdtext);
- dcmd(sinterior, 9, cmdtext);
- dcmd(hinterior, 9, cmdtext);
- dcmd(hmiete, 6, cmdtext);
- dcmd(hkickmieter, 11, cmdtext);
- dcmd(heinzahlen, 10, cmdtext);
- if(strcmp("/hauf", cmdtext, true, 10) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- if(haus[i][offen] == 0)
- {
- haus[i][offen] = 1;
- SendClientMessage(playerid,COLOR_RED,"Du hast dein Haus aufgeschlossen! Nun kann es jeder Spieler betreten!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dein Haus ist bereits aufgeschlossen!");
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hzu", cmdtext, true, 10) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- if(haus[i][offen] == 1)
- {
- haus[i][offen] = 0;
- SendClientMessage(playerid,COLOR_RED,"Du hast dein Haus zugeschlossen! Nun können nur Mieter und du es betreten!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dein Haus ist bereits zugeschlossen!");
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hupgrade", cmdtext, true, 10) == 0)
- {
- if(dini_Int(hauscfg,"Upgrades") == 1)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- new string[128];
- format(string,sizeof(string),"Healpoint (%i$)\nArmourpoint (%i$)",dini_Int(hauscfg,"Healpoint_Preis"),dini_Int(hauscfg,"Armourpoint"));
- editid[playerid] = haus[i][id];
- ShowPlayerDialog(playerid,DIALOG_HUPGRADE,DIALOG_STYLE_LIST,"Upgrade wählen:",string,"Wählen","Abbrechen");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Der Server verbietet den Kauf von Upgrades!");
- }
- }
- if(strcmp("/hheal", cmdtext, true, 10) == 0)
- {
- if(enterid[playerid] != 0)
- {
- if(haus[enterid[playerid]][heal] == 1)
- {
- SetPlayerHealth(playerid,100);
- SendClientMessage(playerid,COLOR_GREEN,"Du hast dich geheilt!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dieses Haus hat keinen Healpoint!");
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du befindest dich in keinem Haus!");
- }
- }
- if(strcmp("/harmour", cmdtext, true, 10) == 0)
- {
- if(enterid[playerid] != 0)
- {
- if(haus[enterid[playerid]][armour] == 1)
- {
- SetPlayerArmour(playerid,100);
- SendClientMessage(playerid,COLOR_GREEN,"Du hast dich geheilt!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dieses Haus hat keinen Healpoint!");
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du befindest dich in keinem Haus!");
- }
- }
- if(strcmp("/hchangespawn", cmdtext, true, 15) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_HCSPAWN,DIALOG_STYLE_LIST,"Spawnpunkt wählen:","Am Noobspawn\nIn meinem Haus","Ändern","Schließen");
- return 1;
- }
- if(strcmp("/hhelp", cmdtext, true, 10) == 0)
- {
- SendClientMessage(playerid,COLOR_WHITE," ");
- SendClientMessage(playerid,COLOR_YELLOW,"******************** Dynamisches Haussystem by DrMurphy Hilfe: ********************");
- SendClientMessage(playerid,COLOR_WHITE," ");
- SendClientMessage(playerid,COLOR_BLUE,"Adminbefehle:");
- SendClientMessage(playerid,COLOR_YELLOW,"/chaus = Neues Haus erstellen");
- SendClientMessage(playerid,COLOR_YELLOW,"/delhaus = Vorhandenes Haus löschen");
- SendClientMessage(playerid,COLOR_YELLOW,"/cinterior = Neues Interior erstellen");
- SendClientMessage(playerid,COLOR_YELLOW,"/delinterior = Vorhandenes Interior löschen");
- SendClientMessage(playerid,COLOR_WHITE," ");
- SendClientMessage(playerid,COLOR_BLUE,"Userbefehle:");
- SendClientMessage(playerid,COLOR_YELLOW,"/sinterior = Vorschau eines vorhandenen Interiors");
- SendClientMessage(playerid,COLOR_YELLOW,"/linterior = Vorschau des Interiors verlassen");
- SendClientMessage(playerid,COLOR_YELLOW,"/listinteriors = Zeigt eine Liste aller verfügbaren Interiors");
- SendClientMessage(playerid,COLOR_YELLOW,"/hinterior = Wählt ein Interior für das Haus in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hinfo = Zeigt Informationen zum Haus in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hkaufen = Kauft das Haus in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hverkaufen = Verkauft das Haus in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hauf = Eigenes Haus aufschließen");
- SendClientMessage(playerid,COLOR_YELLOW,"/hzu = Eigenes Haus zuschließen");
- SendClientMessage(playerid,COLOR_YELLOW,"/henter = Betritt das Haus in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hexit = Verlässt das aktuelle Haus");
- SendClientMessage(playerid,COLOR_YELLOW,"/hupgrade = Heal-/Armourpoint kaufen");
- SendClientMessage(playerid,COLOR_YELLOW,"/hheal = In einem Haus heilen (falls Healpoint vorhanden)");
- SendClientMessage(playerid,COLOR_YELLOW,"/harmour = In einem Haus Panzerung anlegen (falls Armourpoint vorhanden)");
- SendClientMessage(playerid,COLOR_YELLOW,"/hmietbar = Stellt ein ob das Haus mietbar ist oder nicht");
- SendClientMessage(playerid,COLOR_YELLOW,"/hmiete = Stellt den Mietpreis ein");
- SendClientMessage(playerid,COLOR_YELLOW,"/hkickmieter = Kickt einen Mieter aus dem Haus (Mieter kündigen)");
- SendClientMessage(playerid,COLOR_YELLOW,"/hrent = Mietet das Haus in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hunrent = Kündigt die Miete des Hauses in der Nähe");
- SendClientMessage(playerid,COLOR_YELLOW,"/hchangespawn = Ändert den Spawnpunkt des Spielers (Im Haus oder am Noobspawn)");
- SendClientMessage(playerid,COLOR_YELLOW,"***********************************************************************************");
- }
- if(strcmp("/hkonto", cmdtext, true, 10) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- new string[128];
- format(string,sizeof(string),"In deinem Haus befinden sich aktuell %i$",haus[i][kasse]);
- SendClientMessage(playerid,COLOR_GREEN,string);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hauszahlen", cmdtext, true, 15) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- GivePlayerMoney(playerid,haus[i][kasse]);
- new string[128];
- format(string,sizeof(string),"Du hast dir %i auszahlen lassen.",haus[i][kasse]);
- SendClientMessage(playerid,COLOR_GREEN,string);
- haus[i][kasse] = 0;
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hinfo", cmdtext, true, 10) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",haus[i][id]);
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- new string[300];
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- format(string,sizeof(string),"%s\nMieter %i: %s",string,x,dini_Get(hausid,mietername));
- }
- new string2[600];
- format(string2,sizeof(string2),"Haus ID: %i\nBesitzer: %s\nInterior ID: %i\nMietbar: %i\nMietpreis: %i\n%s",haus[i][id],haus[i][besitzer],haus[i][interior],haus[i][mietbar],haus[i][mietpreis],string);
- new string3[128];
- format(string3,sizeof(string3),"Hausinformationen von Haus %i",haus[i][id]);
- ShowPlayerDialog(playerid,DIALOG_HINFO,DIALOG_STYLE_MSGBOX,string3,string2,"OK","Schließen");
- return 1;
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hunrent", cmdtext, true, 15) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",haus[i][id]);
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(strcmp(dini_Get(hausid,mietername),getPlayerName(playerid),false) == 0)
- {
- dini_Set(hausid,mietername,"Niemand");
- SendClientMessage(playerid,COLOR_GREEN,"Du mietest dieses Haus nun nicht mehr.");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du mietest dieses Haus nicht!");
- }
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hrent", cmdtext, true, 10) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],"Niemand",false) != 0)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",haus[i][id]);
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(strcmp(dini_Get(hausid,mietername),getPlayerName(playerid),false) == 0)
- {
- return SendClientMessage(playerid,COLOR_RED,"Du mietest dieses Haus bereits!");
- }
- }
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(strcmp(dini_Get(hausid,mietername),"Niemand",false) == 0)
- {
- dini_Set(hausid,mietername,getPlayerName(playerid));
- new string[128];
- format(string,sizeof(string),"Du hast Haus %i für %i gemietet.",haus[i][id],haus[i][mietpreis]);
- SendClientMessage(playerid,COLOR_GREEN,string);
- return 1;
- }
- }
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dieses Haus hat keinen Besitzer und ist somit nicht mietbar!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/linterior", cmdtext, true, 15) == 0)
- {
- if(GetPlayerVirtualWorld(playerid) == VWorld[playerid])
- {
- SetPlayerPos(playerid,interiorx[playerid],interiory[playerid],interiorz[playerid]);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- VWorld[playerid] = 0;
- SendClientMessage(playerid,COLOR_GREEN,"Du hast die Interior Vorschau verlassen.");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist in keiner Interior Vorschau!");
- }
- }
- if(strcmp("/listinteriors", cmdtext, true, 15) == 0)
- {
- new intdatei[128];
- SendClientMessage(playerid,COLOR_YELLOW,"========== Verfügbare Interiors: ==========");
- for(new i = 0; 19 > i; i++)
- {
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",i);
- if(dini_Exists(intdatei))
- {
- new string[128];
- format(string,sizeof(string),"Interior ID: %i || Interior Preis: %i",i,dini_Int(intdatei,"Preis"));
- SendClientMessage(playerid,COLOR_YELLOW,string);
- }
- }
- SendClientMessage(playerid,COLOR_YELLOW,"===========================================");
- return 1;
- }
- if(strcmp("/hverkaufen", cmdtext, true, 15) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(getPlayerName(playerid),haus[i][besitzer],false) == 0)
- {
- new string[128], vpreis;
- editid[playerid] = haus[i][id];
- vpreis = haus[i][preis] / 2;
- format(string,sizeof(string),"Bist du sicher dass du dein Haus für %i verkaufen möchtest?",vpreis);
- ShowPlayerDialog(playerid,DIALOG_HVERKAUFEN,DIALOG_STYLE_MSGBOX,"Haus verkaufen: (Bestätigung)",string,"Ja","Nein");
- return 1;
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Dir gehört dieses Haus nicht!");
- return 1;
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hmietbar", cmdtext, true, 10) == 0)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(getPlayerName(playerid),haus[i][besitzer],false) == 0)
- {
- if(dini_Int(hauscfg,"Mietbar") == 1)
- {
- editid[playerid] = haus[i][id];
- ShowPlayerDialog(playerid,DIALOG_HMIETBAR,DIALOG_STYLE_MSGBOX,"Haus vermieten:","Möchtest du dass andere Spieler zur Miete in deinem Haus wohnen dürfen?","Ja","Nein");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Der Server verbietet es Häuser zu vermieten!");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Dir gehört dieses Haus nicht!");
- return 1;
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hkaufen", cmdtext, true, 10) == 0)
- {
- if(playerD[playerid][ahaus] < dini_Int(hauscfg,"Max_Häuser_Kaufbar"))
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],"Niemand",false) == 0)
- {
- new string[128];
- format(string,sizeof(string),"Bist du sicher dass du Haus %i für %i kaufen möchtest? (Mindestlevel: %i)",haus[i][id],haus[i][preis],haus[i][level]);
- editid[playerid] = haus[i][id];
- ShowPlayerDialog(playerid,DIALOG_HKAUFEN,DIALOG_STYLE_MSGBOX,"Haus kaufen: (Bestätigung)",string,"Ja","Nein");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dieses Haus gehört bereits einem anderen Spieler!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du kannst nicht noch mehr Häuser kaufen!");
- }
- }
- if(strcmp("/delhaus", cmdtext, true, 10) == 0)
- {
- if(IsPlayerAdmin(playerid) == 1)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- new string[128];
- format(string,sizeof(string),"Bist du sicher dass du Haus %i löschen möchtest?",haus[i][id]);
- editid[playerid] = haus[i][id];
- ShowPlayerDialog(playerid,DIALOG_DELHAUS,DIALOG_STYLE_MSGBOX,"Haus löschen: (Bestätigung)",string,"Ja","Nein");
- return 1;
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
- }
- }
- if(strcmp("/henter", cmdtext, true, 10) == 0)
- {
- new idhaus[128], Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- //Haus betreten
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- new intdatei[128];
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",haus[i][interior]);
- if(dini_Exists(intdatei))
- {
- enterid[playerid] = haus[i][id];
- SetPlayerPos(playerid,dini_Int(intdatei,"SpawnX"),dini_Int(intdatei,"SpawnY"),dini_Int(intdatei,"SpawnZ"));
- SetPlayerInterior(playerid,haus[i][interior]);
- SetPlayerVirtualWorld(playerid,haus[i][vworld]);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Das Interior des Hauses wurde gelöscht!");
- }
- }
- else
- {
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new d = 0; maxmieter > d; d++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",d);
- format(idhaus,sizeof(idhaus),"/Haus/Haus%i.cfg",i);
- if(strcmp(dini_Get(idhaus,mietername),getPlayerName(playerid),false) == 0)
- {
- new intdatei[128];
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",haus[i][interior]);
- if(dini_Exists(intdatei))
- {
- enterid[playerid] = haus[i][id];
- SetPlayerPos(playerid,dini_Int(intdatei,"SpawnX"),dini_Int(intdatei,"SpawnY"),dini_Int(intdatei,"SpawnZ"));
- SetPlayerInterior(playerid,haus[i][interior]);
- SetPlayerVirtualWorld(playerid,haus[i][vworld]);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Das Interior des Hauses wurde gelöscht!");
- }
- }
- }
- if(haus[i][offen] == 1)
- {
- new intdatei[128];
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",haus[i][interior]);
- if(dini_Exists(intdatei))
- {
- enterid[playerid] = haus[i][id];
- SetPlayerPos(playerid,dini_Int(intdatei,"SpawnX"),dini_Int(intdatei,"SpawnY"),dini_Int(intdatei,"SpawnZ"));
- SetPlayerInterior(playerid,haus[i][interior]);
- SetPlayerVirtualWorld(playerid,haus[i][vworld]);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Das Interior des Hauses wurde gelöscht!");
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Dieses Haus kannst du nicht betreten!");
- }
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- if(strcmp("/hexit", cmdtext, true, 10) == 0)
- {
- if(enterid[playerid] != 0)
- {
- SetPlayerPos(playerid,haus[enterid[playerid]][posx],haus[enterid[playerid]][posy],haus[enterid[playerid]][posz]);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- enterid[playerid] = 0;
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Haus!");
- }
- }
- if (strcmp("/tp", cmdtext, true, 10) == 0)
- {
- SetPlayerPos(playerid,844.420410,-1013.591796,28.357248);
- return 1;
- }
- return 0;
- }
- dcmd_heinzahlen(playerid, params[])
- {
- new betrag;
- if(sscanf(params, "i", betrag))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /heinzahlen [Betrag]");
- }
- else
- {
- new geld = GetPlayerMoney(playerid);
- if(geld >= betrag)
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- haus[i][kasse] = haus[i][kasse] + betrag;
- new string[128];
- format(string,sizeof(string),"Du hast %i$ in dein Haus gelegt. (Neuer Stand: %i$)",betrag,haus[i][kasse]);
- SendClientMessage(playerid,COLOR_GREEN,string);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du hast nicht soviel Geld!");
- }
- }
- }
- dcmd_hkickmieter(playerid, params[])
- {
- new mid;
- if(sscanf(params, "i", mid))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /hkickmieter [Mieter ID]");
- }
- else
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",haus[i][id]);
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(x == mid)
- {
- new string[128];
- format(string,sizeof(string),"%s mietet dein Haus nun nicht mehr.",dini_Get(hausid,mietername));
- SendClientMessage(playerid,COLOR_GREEN,string);
- dini_Set(hausid,mietername,"Niemand");
- return 1;
- }
- }
- new string[128];
- format(string,sizeof(string),"Die Mieter ID %i existiert nicht!",mid);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- }
- dcmd_hmiete(playerid, params[])
- {
- new mpreis;
- if(sscanf(params, "i", mpreis))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /hmiete [Mietpreis]");
- }
- else
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- if(haus[i][mietbar] == 1)
- {
- if(haus[i][minmiete] != -1 && haus[i][maxmiete] != -1)
- {
- if(mpreis >= haus[i][minmiete] && mpreis <= haus[i][maxmiete])
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss zwischen %i und %i liegen!",haus[i][minmiete],haus[i][maxmiete]);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- else
- {
- if(haus[i][minmiete] == -1 && haus[i][maxmiete] != -1)
- {
- if(dini_Int(hauscfg,"Min_Miete") != -1)
- {
- if(mpreis >= dini_Int(hauscfg,"Min_Miete") && mpreis <= haus[i][maxmiete])
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss zwischen %i und %i liegen!",dini_Int(hauscfg,"Min_Miete"),haus[i][maxmiete]);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- else
- {
- if(mpreis >= 1 && mpreis <= haus[i][maxmiete])
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss zwischen %i und %i liegen!",1,haus[i][maxmiete]);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- if(haus[i][minmiete] != -1 && haus[i][maxmiete] == -1)
- {
- if(dini_Int(hauscfg,"Max_Miete") != -1)
- {
- if(mpreis >= haus[i][minmiete] && mpreis <= dini_Int(hauscfg,"Max_Miete"))
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss zwischen %i und %i liegen!",haus[i][minmiete],dini_Int(hauscfg,"Max_Miete"));
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- else
- {
- if(mpreis >= 1)
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss mindestens %i sein!",1);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- if(haus[i][minmiete] == -1 && haus[i][maxmiete] == -1)
- {
- if(dini_Int(hauscfg,"Min_Miete") != -1 && dini_Int(hauscfg,"Max_Miete") != -1)
- {
- if(mpreis >= dini_Int(hauscfg,"Min_Miete") && mpreis <= dini_Int(hauscfg,"Max_Miete"))
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss zwischen %i und %i sein!",dini_Int(hauscfg,"Min_Miete"),dini_Int(hauscfg,"Max_Miete"));
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- if(dini_Int(hauscfg,"Min_Miete") == -1 && dini_Int(hauscfg,"Max_Miete") != -1)
- {
- if(mpreis >= 1 && mpreis <= dini_Int(hauscfg,"Max_Miete"))
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss zwischen %i und %i sein!",1,dini_Int(hauscfg,"Max_Miete"));
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- if(dini_Int(hauscfg,"Min_Miete") != -1 && dini_Int(hauscfg,"Max_Miete") == -1)
- {
- if(mpreis >= dini_Int(hauscfg,"Min_Miete"))
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss mindestens %i sein!",dini_Int(hauscfg,"Min_Miete"));
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- if(dini_Int(hauscfg,"Min_Miete") == -1 && dini_Int(hauscfg,"Max_Miete") == -1)
- {
- if(mpreis >= 1)
- {
- haus[i][mietpreis] = mpreis;
- new string[128];
- format(string,sizeof(string),"Du hast den Mietpreis für dein Haus geändert. (Neuer Mietpreis: %i)",mpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- new string2[128];
- format(string2,sizeof(string2),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[i][besitzer],haus[i][id],haus[i][interior],haus[i][mietpreis]);
- Update3DTextLabelText(haus[i][dtext],COLOR_BLUE,string2);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Der Mietpreis muss mindestens %i sein!",1);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- return 1;
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du musst dein Haus erst mietbar machen!");
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer dieses Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- }
- dcmd_hinterior(playerid, params[])
- {
- if(dini_Int(hauscfg,"Interiorkauf") == 1)
- {
- new iid, intdatei[128];
- if(sscanf(params, "i", iid))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /hinterior [Interior ID]");
- }
- else
- {
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",iid);
- if(dini_Exists(intdatei))
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,1,haus[i][posx],haus[i][posy],haus[i][posz]))
- {
- if(haus[i][aktiv] == 1)
- {
- if(strcmp(haus[i][besitzer],getPlayerName(playerid),false) == 0)
- {
- new intpreis = dini_Int(intdatei,"Preis");
- new string[128];
- format(string,sizeof(string),"Möchtest du wirklich das Interior %i für %i kaufen?",iid,intpreis);
- editid[playerid] = haus[i][id];
- interiorkauf[playerid] = iid;
- interiorkaufpreis[playerid] = dini_Int(intdatei,"Preis");
- ShowPlayerDialog(playerid,DIALOG_HINTERIOR,DIALOG_STYLE_MSGBOX,"Interior kaufen: (Bestätigung)",string,"Ja","Nein");
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Besitzer des Hauses!");
- }
- }
- }
- }
- SendClientMessage(playerid,COLOR_RED,"In deiner Nähe befindet sich kein Haus!");
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Ein Interior mit der ID %i existiert nicht!",iid);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Der Server verbietet es Interiors zu kaufen!");
- }
- }
- dcmd_sinterior(playerid, params[])
- {
- new iid, intdatei[128];
- if(sscanf(params, "i", iid))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /sinterior [Interior ID]");
- }
- else
- {
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",iid);
- if(dini_Exists(intdatei))
- {
- VWorld[playerid] = MAX_HAUS + playerid;
- GetPlayerPos(playerid,interiorx[playerid],interiory[playerid],interiorz[playerid]);
- SetPlayerPos(playerid,dini_Int(intdatei,"SpawnX"),dini_Int(intdatei,"SpawnY"),dini_Int(intdatei,"SpawnZ"));
- SetPlayerInterior(playerid,iid);
- SetPlayerVirtualWorld(playerid,VWorld[playerid]);
- new string[128];
- format(string,sizeof(string),"Du hast Interior %i betreten. ('/linterior' um es zu verlassen)",iid);
- SendClientMessage(playerid,COLOR_GREEN,string);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Ein Interior mit der ID %i existiert nicht!",iid);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- dcmd_delinterior(playerid, params[])
- {
- if(IsPlayerAdmin(playerid) == 1)
- {
- new iid, intdatei[128];
- if(sscanf(params, "i", iid))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /delinterior [Interior ID]");
- }
- else
- {
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",iid);
- if(dini_Exists(intdatei))
- {
- dini_Remove(intdatei);
- new string[128];
- format(string,sizeof(string),"Das Interior %i wurde erfolgreich gelöscht!",iid);
- SendClientMessage(playerid,COLOR_GREEN,string);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Ein Interior mit der ID %i existiert nicht!",iid);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
- }
- }
- dcmd_cinterior(playerid, params[])
- {
- if(IsPlayerAdmin(playerid) == 1)
- {
- new iid, intdatei[128], Float:ispawnx, Float:ispawny, Float:ispawnz, ipreis;
- if(sscanf(params, "ifffi", iid, ispawnx, ispawny, ispawnz, ipreis))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /cinterior [Interior ID] [Spawn x] [Spawn y] [Spawn z] [Interior Preis]");
- }
- else
- {
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",iid);
- if(!dini_Exists(intdatei))
- {
- dini_Create(intdatei);
- dini_IntSet(intdatei,"Interior_ID",iid);
- dini_FloatSet(intdatei,"SpawnX",ispawnx);
- dini_FloatSet(intdatei,"SpawnY",ispawny);
- dini_FloatSet(intdatei,"SpawnZ",ispawnz);
- dini_IntSet(intdatei,"Preis",ipreis);
- new string[128];
- format(string,sizeof(string),"Das Interior %i wurde erfolgreich erstellt und kann nun verwendet werden!",iid);
- SendClientMessage(playerid,COLOR_GREEN,string);
- return 1;
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"Das Interior %i existiert bereits!",iid);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
- }
- }
- dcmd_chaus(playerid, params[])
- {
- if(IsPlayerAdmin(playerid) == 1)
- {
- new apreis, mlevel , ainterior, amietemin, amietemax;
- if(sscanf(params, "iiiii", apreis, mlevel, ainterior, amietemin, amietemax))
- {
- return SendClientMessage(playerid,COLOR_BLUE,"Verwendung: /chaus [Kaufpreis] [Mindestlevel] [Interior ID] [minimale Miete] [maximale Miete]");
- }
- else
- {
- new hausanzahl;
- hausanzahl = dini_Int(hauscfg,"Anzahl Häuser");
- hausanzahl ++;
- new neuhaus[128];
- format(neuhaus,sizeof(neuhaus),"/Haus/Haus%i.cfg",hausanzahl);
- if(dini_Exists(neuhaus))
- {
- return SendClientMessage(playerid,COLOR_RED,"Das Haus konnte nicht erstellt werden. Das System ist fehlerhaft und muss erneut installiert werden!");
- }
- else
- {
- new intdatei[128];
- format(intdatei,sizeof(intdatei),"/Interiors/Interior%i.txt",ainterior);
- if(dini_Exists(intdatei))
- {
- //Haus speichern
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- dini_Create(neuhaus);
- dini_IntSet(neuhaus,"ID",hausanzahl);
- dini_IntSet(neuhaus,"Preis",apreis);
- dini_IntSet(neuhaus,"Level",mlevel);
- dini_Set(neuhaus,"Besitzer","Niemand");
- dini_FloatSet(neuhaus,"PosX",x);
- dini_FloatSet(neuhaus,"PosY",y);
- dini_FloatSet(neuhaus,"PosZ",z);
- dini_IntSet(neuhaus,"Interior",ainterior);
- dini_IntSet(neuhaus,"Old_Interior",ainterior);
- dini_IntSet(neuhaus,"VirtualWorld",hausanzahl);
- dini_IntSet(neuhaus,"Mietbar",0);
- dini_IntSet(neuhaus,"Min_Miete",amietemin);
- dini_IntSet(neuhaus,"Max_Miete",amietemax);
- dini_IntSet(neuhaus,"Aktiv",1);
- dini_IntSet(neuhaus,"Kasse",0);
- dini_IntSet(neuhaus,"Healpoint",0);
- dini_IntSet(neuhaus,"Armourpoint",0);
- dini_IntSet(neuhaus,"Offen",0);
- if(amietemin != -1)
- {
- dini_IntSet(neuhaus,"Mietpreis",amietemin);
- }
- if(amietemin == -1)
- {
- dini_IntSet(neuhaus,"Mietpreis",0);
- }
- //Haus laden
- haus[hausanzahl][id] = dini_Int(neuhaus,"ID");
- haus[hausanzahl][aktiv] = dini_Int(neuhaus,"Aktiv");
- haus[hausanzahl][level] = dini_Int(neuhaus,"Level");
- haus[hausanzahl][posx] = dini_Float(neuhaus,"PosX");
- haus[hausanzahl][posy] = dini_Float(neuhaus,"PosY");
- haus[hausanzahl][posz] = dini_Float(neuhaus,"PosZ");
- haus[hausanzahl][interior] = dini_Int(neuhaus,"Interior");
- haus[hausanzahl][oldinterior] = haus[hausanzahl][interior];
- haus[hausanzahl][vworld] = dini_Int(neuhaus,"VirtualWorld");
- haus[hausanzahl][mietbar] = dini_Int(neuhaus,"Mietbar");
- format(haus[hausanzahl][besitzer],128,"%s",dini_Get(neuhaus,"Besitzer"));
- haus[hausanzahl][preis] = dini_Int(neuhaus,"Preis");
- haus[hausanzahl][mietpreis] = dini_Int(neuhaus,"Mietpreis");
- haus[hausanzahl][minmiete] = dini_Int(neuhaus,"Min_Miete");
- haus[hausanzahl][maxmiete] = dini_Int(neuhaus,"Max_Miete");
- haus[hausanzahl][kasse] = dini_Int(neuhaus,"Kasse");
- haus[hausanzahl][heal] = dini_Int(neuhaus,"Healpoint");
- haus[hausanzahl][armour] = dini_Int(neuhaus,"Armourpoint");
- haus[hausanzahl][offen] = dini_Int(neuhaus,"Offen");
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new d = 0; maxmieter > d; d++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",d);
- dini_Set(neuhaus,mietername,"Niemand");
- }
- haus[hausanzahl][pickup] = CreatePickup(1273,1,x,y,z,0);
- new string[128];
- format(string,sizeof(string),"Zum Verkauf\nID: %i\nPreis: %i\nminimale Miete: %i\nmaximale Miete: %i\nInterior ID: %i",hausanzahl,apreis,amietemin,amietemax,ainterior);
- haus[hausanzahl][dtext] = Create3DTextLabel(string,COLOR_BLUE,x,y,z,10,0,0);
- dini_IntSet(hauscfg,"Anzahl Häuser",hausanzahl);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Das angegebene Interior existiert nicht!");
- }
- }
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
- }
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_HUPGRADE)
- {
- if(response == 1)
- {
- new geld = GetPlayerMoney(playerid);
- switch(listitem)
- {
- case 0:
- {
- if(haus[editid[playerid]][heal] == 0)
- {
- if(geld >= dini_Int(hauscfg,"Healpoint_Preis"))
- {
- haus[editid[playerid]][heal] = 1;
- SendClientMessage(playerid,COLOR_GREEN,"Healpoint erfolgreich gekauft! (Im Haus: /hheal)");
- GivePlayerMoney(playerid, -dini_Int(hauscfg,"Healpoint_Preis"));
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld!");
- }
- }
- }
- case 1:
- {
- if(haus[editid[playerid]][armour] == 0)
- {
- if(geld >= dini_Int(hauscfg,"Armourpoint_Preis"))
- {
- haus[editid[playerid]][armour] = 1;
- SendClientMessage(playerid,COLOR_GREEN,"Armourpoint erfolgreich gekauft! (Im Haus: /harmour)");
- GivePlayerMoney(playerid, -dini_Int(hauscfg,"Armourpoint_Preis"));
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld!");
- }
- }
- }
- }
- }
- if(response == 0)
- {
- return 1;
- }
- return 1;
- }
- if(dialogid == DIALOG_HCSPAWN)
- {
- if(response == 1)
- {
- switch(listitem)
- {
- case 0:
- {
- playerD[playerid][spawn] = 0;
- SendClientMessage(playerid,COLOR_GREEN,"Du spawnst nun immer am Noobspawn.");
- }
- case 1:
- {
- playerD[playerid][spawn] = 1;
- SendClientMessage(playerid,COLOR_GREEN,"Wenn du Besitzer oder Mieter eines Hauses bist spawnst du nun immer in diesem Haus.");
- }
- }
- return 1;
- }
- if(response == 0)
- {
- return 1;
- }
- }
- if(dialogid == DIALOG_HINFO)
- {
- if(response == 1)
- {
- return 1;
- }
- if(response == 0)
- {
- return 1;
- }
- return 1;
- }
- if(dialogid == DIALOG_HINTERIOR)
- {
- if(response == 1)
- {
- new geld = GetPlayerMoney(playerid);
- new hausid = editid[playerid];
- new string[128];
- if(geld >= interiorkaufpreis[playerid])
- {
- new string2[128];
- format(string2,sizeof(string2),"Du hast für dein Haus das Interior %i gekauft.",interiorkauf[playerid]);
- SendClientMessage(playerid,COLOR_GREEN,string2);
- haus[hausid][interior] = interiorkauf[playerid];
- format(string,sizeof(string),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[hausid][besitzer],haus[hausid][id],haus[hausid][interior],haus[hausid][mietpreis]);
- Update3DTextLabelText(haus[hausid][dtext],COLOR_BLUE,string);
- GivePlayerMoney(playerid,- interiorkaufpreis[playerid]);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld um das Interior zu kaufen!");
- }
- }
- if(response == 0)
- {
- return 1;
- }
- return 1;
- }
- if(dialogid == DIALOG_HVERKAUFEN)
- {
- new hausid = editid[playerid];
- new hausdatei[128];
- format(hausdatei,sizeof(hausdatei),"/Haus/Haus%i.cfg",hausid);
- new vpreis = haus[hausid][preis] / 2;
- if(response == 1)
- {
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- dini_Set(hausdatei,mietername,"Niemand");
- }
- haus[hausid][interior] = haus[hausid][oldinterior];
- new string[128];
- format(string,sizeof(string),"Du hast dein Haus für %i verkauft.",vpreis);
- SendClientMessage(playerid,COLOR_GREEN,string);
- GivePlayerMoney(playerid,vpreis);
- format(haus[hausid][besitzer],128,"%s","Niemand");
- new string2[128];
- format(string2,sizeof(string2),"Zum Verkauf\nID: %i\nPreis: %i\nminimale Miete: %i\nmaximale Miete: %i\nInterior ID: %i",haus[hausid][id],haus[hausid][preis],haus[hausid][minmiete],haus[hausid][maxmiete],haus[hausid][interior]);
- Update3DTextLabelText(haus[hausid][dtext],COLOR_BLUE,string2);
- DestroyPickup(haus[hausid][pickup]);
- haus[hausid][pickup] = CreatePickup(1273,1,haus[hausid][posx],haus[hausid][posy],haus[hausid][posz],0);
- return 1;
- }
- if(response == 0)
- {
- return 1;
- }
- return 1;
- }
- if(dialogid == DIALOG_HMIETBAR)
- {
- new hausid = editid[playerid];
- if(response == 1)
- {
- haus[hausid][mietbar] = 1;
- if(haus[hausid][minmiete] != -1)
- {
- haus[hausid][mietpreis] = haus[hausid][minmiete];
- }
- if(haus[hausid][minmiete] == -1)
- {
- if(dini_Int(hauscfg,"Min_Miete") != -1)
- {
- haus[hausid][mietpreis] = dini_Int(hauscfg,"Min_Miete");
- }
- if(dini_Int(hauscfg,"Min_Miete") == -1)
- {
- haus[hausid][mietpreis] = 100;
- }
- }
- new string[128];
- format(string,sizeof(string),"Besitzer: %s\nID: %i\nInterior ID: %i\nMietpreis: %i",haus[hausid][besitzer],haus[hausid][id],haus[hausid][interior],haus[hausid][mietpreis]);
- Update3DTextLabelText(haus[hausid][dtext],COLOR_BLUE,string);
- new string2[128];
- format(string2,sizeof(string2),"Dein Haus ist jetzt mietbar. (Aktueller Mietpreis: %i)",haus[hausid][mietpreis]);
- SendClientMessage(playerid,COLOR_GREEN,string2);
- return 1;
- }
- if(response == 0)
- {
- haus[hausid][mietbar] = 0;
- new string[128];
- format(string,sizeof(string),"Besitzer: %s\nID: %i",haus[hausid][besitzer],haus[hausid][id]);
- Update3DTextLabelText(haus[hausid][dtext],COLOR_BLUE,string);
- SendClientMessage(playerid,COLOR_BLUE,"Dein Haus ist jetzt nicht mehr mietbar");
- return 1;
- }
- return 1;
- }
- if(dialogid == DIALOG_HKAUFEN)
- {
- if(response == 1)
- {
- new score = GetPlayerScore(playerid);
- if(score >= haus[editid[playerid]][level])
- {
- new geld = GetPlayerMoney(playerid);
- new hausid = editid[playerid];
- editid[playerid] = 0;
- if(geld >= haus[hausid][preis])
- {
- format(haus[hausid][besitzer],128,"%s",getPlayerName(playerid));
- GivePlayerMoney(playerid,- haus[hausid][preis]);
- new string[128];
- format(string,sizeof(string),"Besitzer: %s\nID: %i",haus[hausid][besitzer],haus[hausid][id]);
- Update3DTextLabelText(haus[hausid][dtext],COLOR_BLUE,string);
- DestroyPickup(haus[hausid][pickup]);
- haus[hausid][pickup] = CreatePickup(1272,1,haus[hausid][posx],haus[hausid][posy],haus[hausid][posz],0);
- new string2[128];
- format(string2,sizeof(string2),"Du haus Haus %i gekauft.",haus[hausid][id]);
- SendClientMessage(playerid,COLOR_GREEN,string2);
- new string3[128];
- format(string3,sizeof(string3),"%s hat Haus %i für %i gekauft.",getPlayerName(playerid),haus[hausid][id],haus[hausid][preis]);
- SendClientMessageToAll(COLOR_YELLOW,string3);
- return 1;
- }
- else
- {
- new string[128];
- new differenz;
- differenz = haus[hausid][preis] - geld;
- format(string,sizeof(string),"Du hast nicht genug Geld. Dir fehlen %i!",differenz);
- SendClientMessage(playerid,COLOR_RED,string);
- return 1;
- }
- }
- else
- {
- return SendClientMessage(playerid,COLOR_RED,"Du hast nicht das benötigte Level!");
- }
- }
- if(response == 0)
- {
- return 1;
- }
- return 1;
- }
- if(dialogid == DIALOG_DELHAUS)
- {
- if(response == 1)
- {
- haus[editid[playerid]][aktiv] = 0;
- new ehausid, hausdatei[128];
- ehausid = editid[playerid];
- format(hausdatei,sizeof(hausdatei),"/Haus/Haus%i.cfg",ehausid);
- dini_IntSet(hausdatei,"Aktiv",0);
- new string[128];
- format(string,sizeof(string),"Haus %i wurde erfolgreich gelöscht!",ehausid);
- SendClientMessage(playerid,COLOR_GREEN,string);
- editid[playerid] = 0;
- Delete3DTextLabel(haus[ehausid][dtext]);
- DestroyPickup(haus[ehausid][pickup]);
- return 1;
- }
- if(response == 0)
- {
- return 1;
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- public SaveDataT()
- {
- dini_IntSet(hauscfg,"PayDay",paydayzeit);
- saveHausDaten();
- saveSpielerDaten();
- for(new i = 0; MAX_PLAYERS > i; i++)
- {
- if(IsPlayerAdmin(i))
- {
- SendClientMessage(i,COLOR_GREEN,"***** Daten des dynamischen Haussystems by DrMurphy erfolgreich gespeichert! *****");
- }
- }
- return 1;
- }
- public PayDayT()
- {
- paydayzeit ++;
- if(paydayzeit == 60)
- {
- for(new i = 0; MAX_PLAYERS > i; i++)
- {
- for(new y = 0; MAX_HAUS >= y; y++)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i",haus[y][id]);
- new maxmieter = dini_Int(hauscfg,"Max_Mieter");
- for(new x = 0; maxmieter > x; x++)
- {
- new mietername[128];
- format(mietername,sizeof(mietername),"Mieter%i",x);
- if(strcmp(dini_Get(hausid,mietername),getPlayerName(i),false) == 0)
- {
- new geld = GetPlayerMoney(i);
- if(geld >= haus[y][mietpreis])
- {
- GivePlayerMoney(i,- haus[y][mietpreis]);
- haus[y][kasse] = haus[y][kasse] + haus[y][mietpreis];
- new string[128];
- format(string,sizeof(string),"Du hast deine Miete in Höhe von %i bezahlt.",haus[y][mietpreis]);
- SendClientMessage(i,COLOR_YELLOW,string);
- }
- else
- {
- dini_Set(hausid,mietername,"Niemand");
- new string[128];
- format(string,sizeof(string),"Du konntest deine Miete in Höhe von %i nicht bezahlen und wurdest rausgeschmissen!",haus[y][mietpreis]);
- SendClientMessage(i,COLOR_RED,string);
- }
- }
- }
- }
- }
- }
- }
- stock saveSpielerDaten()
- {
- for(new i = 0; MAX_PLAYERS > i; i++)
- {
- new SDatei[128];
- format(SDatei,sizeof(SDatei),"/HSpieler/%s.cfg",getPlayerName(i));
- dini_IntSet(SDatei,"Anzahl_Häuser",playerD[i][ahaus]);
- dini_IntSet(SDatei,"Spawn",playerD[i][spawn]);
- }
- return 1;
- }
- stock getPlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "%s", name);
- return name;
- }
- stock saveHausDaten()
- {
- for(new i = 0; MAX_HAUS >= i; i++)
- {
- new hausid[128];
- format(hausid,sizeof(hausid),"/Haus/Haus%i.cfg",i);
- dini_Set(hausid,"Besitzer",haus[i][besitzer]);
- dini_IntSet(hausid,"Mietbar",haus[i][mietbar]);
- dini_IntSet(hausid,"Interior",haus[i][interior]);
- dini_IntSet(hausid,"Mietpreis",haus[i][mietpreis]);
- dini_IntSet(hausid,"Kasse",haus[i][kasse]);
- dini_IntSet(hausid,"Offen",haus[i][offen]);
- dini_IntSet(hausid,"Healpoint",haus[i][heal]);
- dini_IntSet(hausid,"Armourpoint",haus[i][armour]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment