Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Oben ins Script
- new bool:playerCreateHaus[MAX_PLAYERS] = false, playerCreateStatus[MAX_PLAYERS] = -1;
- //Unten ins Script
- stock cHausWrite(playerid){
- if(!playerCreateHaus[playerid] && playerCreateStatus[playerid] == -1)return 1;
- new coordsstring[256], idx;
- format(coordsstring, sizeof(coordsstring), "%f,%f,%f,%f,%f,%f,0,0,0,0,0,0,Zu Verkaufen,DESCRIPTION,%d,0,0,1,1,0,0,50,1,2045,542,-1,-1,114,%d\n",
- GetPVarFloat(playerid, "C_HAUS_E_X"),
- GetPVarFloat(playerid, "C_HAUS_E_Y"),
- GetPVarFloat(playerid, "C_HAUS_E_Z"),
- GetPVarFloat(playerid, "C_HAUS_A_X"),
- GetPVarFloat(playerid, "C_HAUS_A_Y"),
- GetPVarFloat(playerid, "C_HAUS_A_Z"),
- GetPVarInt(playerid, "C_HAUS_PREIS"),
- GetPVarInt(playerid, "C_HAUS_INTERIOR"),
- GetPVarInt(playerid, "C_HAUS_LEVEL"));
- new File: file = fopen("property.cfg", io_append);
- fwrite(file, coordsstring);
- playerCreateHaus[playerid] = false;
- playerCreateStatus[playerid] = -1;
- SetPlayerPos(playerid, GetPVarFloat(playerid, "C_HAUS_E_X"),GetPVarFloat(playerid, "C_HAUS_E_Y"),GetPVarFloat(playerid, "C_HAUS_E_Z"));
- SetPlayerInterior(playerid, 0);
- SendClientMessage(playerid, -1, "Haus erfolgreich erstellt!");
- for(new i = 1; i<sizeof(HouseInfo); i++){
- if(HouseInfo[i][hEntrancex] != 0.0){
- continue;
- }else{
- idx = i;
- HouseInfo[idx][hEntrancex] = GetPVarFloat(playerid, "C_HAUS_E_X");
- HouseInfo[idx][hEntrancey] = GetPVarFloat(playerid, "C_HAUS_E_Y");
- HouseInfo[idx][hEntrancez] = GetPVarFloat(playerid, "C_HAUS_E_Z");
- HouseInfo[idx][hExitx] = GetPVarFloat(playerid, "C_HAUS_A_X");
- HouseInfo[idx][hExity] = GetPVarFloat(playerid, "C_HAUS_A_Y");
- HouseInfo[idx][hExitz] = GetPVarFloat(playerid, "C_HAUS_A_Z");
- HouseInfo[idx][hHealthx] = 0;
- HouseInfo[idx][hHealthy] = 0;
- HouseInfo[idx][hHealthz] = 0;
- HouseInfo[idx][hArmourx] = 0;
- HouseInfo[idx][hArmoury] = 0;
- HouseInfo[idx][hArmourz] = 0;
- format(HouseInfo[idx][hOwner], MAX_PLAYER_NAME, "Niemand");
- format(HouseInfo[idx][hDiscription], MAX_PLAYER_NAME, "Niemand");
- HouseInfo[idx][hValue] = GetPVarInt(playerid, "C_HAUS_PREIS");
- HouseInfo[idx][hHel] = 0;
- HouseInfo[idx][hArm] = 0;
- HouseInfo[idx][hInt] = GetPVarInt(playerid, "C_HAUS_INTERIOR");
- HouseInfo[idx][hLock] = 1;
- HouseInfo[idx][hOwned] = 0;
- HouseInfo[idx][hRooms] = 0;
- HouseInfo[idx][hRent] = 0;
- HouseInfo[idx][hRentabil] = 50;
- HouseInfo[idx][hTakings] = 0;
- HouseInfo[idx][hVec] = 0;
- HouseInfo[idx][hVcol1] = 0;
- HouseInfo[idx][hVcol2] = 0;
- HouseInfo[idx][hDate] = 142;
- HouseInfo[idx][hLevel] = GetPVarInt(playerid, "C_HAUS_LEVEL");
- new string2[250];
- format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[idx][hDiscription],HouseInfo[idx][hValue],HouseInfo[idx][hLevel]);
- HouseInfo[idx][Text] = Create3DTextLabel(string2,COLOR_FORSELL,HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez]+1,15.0,0);
- AddStaticPickup(1273, 1, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez], 0);
- break;
- }
- }
- return 1;
- }
- //Bei den OCMD Commands
- ocmd:chaus(playerid, params[]){
- new status;
- if(sscanf(params, "d", status))return SendClientMessage(playerid, -1, "Benutze: /chaus [1 = ON | 2 = OFF]");
- if(status == 1){
- SendClientMessage(playerid, -1, "Das Haus erstellen System wurde aktiviert.");
- playerCreateStatus[playerid] = 1;
- playerCreateHaus[playerid] = true;
- SendClientMessage(playerid, -1, "Gehe nun an einen Punkt und tippe erneute /createhouse um den Eingang festzulegen!");
- }else{
- SendClientMessage(playerid, -1, "Das Haus erstellen System wurde deaktiviert.");
- playerCreateStatus[playerid] = -1;
- playerCreateHaus[playerid] = false;
- }
- return 1;
- }
- ocmd:createhouse(playerid, params[]){
- if(playerCreateStatus[playerid] == -1 && !playerCreateHaus[playerid]){
- return 1;
- }else{
- switch(playerCreateStatus[playerid]){
- case 1:{//Eingangs Coordinaten speichern
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- SetPVarFloat(playerid, "C_HAUS_E_X", X);
- SetPVarFloat(playerid, "C_HAUS_E_Y", Y);
- SetPVarFloat(playerid, "C_HAUS_E_Z", Z);
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "Gehe nun auf 'http://weedarr.wikidot.com/interior' und suche dir ein Interior heraus!");
- SendClientMessage(playerid, -1, "Setze dein Interior mit /setint auf die richtige ID!");
- SendClientMessage(playerid, -1, "Benutze dann /gotocoords x y z um dich in das Interior zu teleportieren!");
- playerCreateStatus[playerid] = 2;
- SendClientMessage(playerid, -1, "Tippe dann wieder /createhouse in den Chat!");
- }
- case 2:{//Ausgangs Coordinaten speichern
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new interiorid = GetPlayerInterior(playerid);
- SetPVarFloat(playerid, "C_HAUS_A_X", X);
- SetPVarFloat(playerid, "C_HAUS_A_Y", Y);
- SetPVarFloat(playerid, "C_HAUS_A_Z", Z);
- SetPVarInt(playerid, "C_HAUS_INTERIOR", interiorid);
- playerCreateStatus[playerid] = 3;
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "Gebe nun den Preis für das Haus ein! /createhouse [preis]");
- }
- case 3:{
- new preis;
- if(sscanf(params, "d", preis))return SendClientMessage(playerid, -1, "Benutze: /createhouse [preis]");
- if(preis <= -1)return SendClientMessage(playerid, -1, "Der Preis kann nicht im Minusbereich liegen!");
- SetPVarInt(playerid, "C_HAUS_PREIS", preis);
- playerCreateStatus[playerid] = 4;
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "Gebe nun ein Level ein ab dem dieses Haus zu kaufen ist! /createhouse [level]");
- }
- case 4:{
- new level;
- if(sscanf(params, "d", level))return SendClientMessage(playerid, -1, "Benutze: /createhouse [level]");
- if(level <= -1)return SendClientMessage(playerid, -1, "Das Level kann nicht im Minusbereich liegen!");
- SendClientMessage(playerid, -1, "");
- SendClientMessage(playerid, -1, "");
- SetPVarInt(playerid, "C_HAUS_LEVEL", level);
- cHausWrite(playerid);
- }
- }
- }
- return 1;
- }
- ocmd:gotocoords(playerid, params[]){
- new Float:X, Float:Y, Float:Z;
- if(sscanf(params, "fff", X, Y, Z))return SendClientMessage(playerid, -1, "Benutze: /gotocoords x y z");
- SetPlayerPos(playerid, X, Y, Z);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement