Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #define ORDNERNAME "Häuser"
- #define MAX_HAUS 50
- enum hausEnum
- {
- Float:AussenX,
- Float:AussenY,
- Float:AussenZ,
- Float:InnenX,
- Float:InnenY,
- Float:InnenZ,
- Kaufpreis,
- Interior,
- Text3D:HausLabel,
- HausPickup,
- Besitzer[24]
- };
- new Haus[MAX_HAUS][hausEnum];
- new hstring[64];
- new unusedstring[64];
- public OnFilterScriptInit()
- {
- new h;
- for(;h!=MAX_HAUS;h++)
- {
- format(hstring,64,"%s/Haus_%d.ini",ORDNERNAME,h);
- if(dini_Exists(hstring))
- {
- Haus[h][AussenX] = dini_Float(hstring,"Aussen_X");
- Haus[h][AussenY] = dini_Float(hstring,"Aussen_Y");
- Haus[h][AussenZ] = dini_Float(hstring,"Aussen_Z");
- Haus[h][InnenX] = dini_Float(hstring,"Innen_X");
- Haus[h][InnenY] = dini_Float(hstring,"Innen_Y");
- Haus[h][InnenZ] = dini_Float(hstring,"Innen_Z");
- Haus[h][Kaufpreis] = dini_Int(hstring,"Kaufpreis");
- Haus[h][Interior] = dini_Int(hstring,"Interior");
- format(Haus[h][Besitzer],24,"%s",dini_Get(hstring,"Besitzer"));
- if(!strcmp(Haus[h][Besitzer],"Niemand",true))
- {
- format(unusedstring,64,"Haus zu verkaufen.\nKaufpreis: %d$",Haus[h][Kaufpreis]);
- Haus[h][HausPickup]= CreatePickup(1273,1,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ],-1);
- Haus[h][HausLabel] = Create3DTextLabel(unusedstring, 0xFFFFFFFF, Haus[h][AussenX], Haus[h][AussenY], Haus[h][AussenZ], 20.0, -1);
- }
- else
- {
- format(unusedstring,64,"Dieses Haus gehört: %s",Haus[h][Besitzer]);
- Haus[h][HausPickup]= CreatePickup(1272,1,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ],-1);
- Haus[h][HausLabel] = Create3DTextLabel(unusedstring, 0xFFFFFFFF, Haus[h][AussenX], Haus[h][AussenY], Haus[h][AussenZ], 20.0, -1);
- }
- }
- }
- return 1;
- }
- stock HausErstellen(Float:Aussen_X,Float:Aussen_Y,Float:Aussen_Z,Float:Innen_X,Float:Innen_Y,Float:Innen_Z,Kaufpreis_,Interior_)
- {
- new h;
- for(;h!=MAX_HAUS;h++)
- if(Haus[h][Interior] != 0)
- {
- Haus[h][AussenX] = Aussen_X;
- Haus[h][AussenY] = Aussen_Y;
- Haus[h][AussenZ] = Aussen_Z;
- Haus[h][InnenX] = Innen_X;
- Haus[h][InnenY] = Innen_Y;
- Haus[h][InnenZ] = Innen_Z;
- Haus[h][Kaufpreis] = Kaufpreis_;
- Haus[h][Interior] = Interior_;
- format(hstring,64,"Haus zu verkaufen.\nKaufpreis: %d$",Haus[h][Kaufpreis]);
- Haus[h][HausLabel] = Create3DTextLabel(hstring,0xFFFFFFFF,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ]+1.7,20.0,-1);
- Haus[h][HausPickup]= CreatePickup(1273,1,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ],-1);
- format(hstring,64,"%s/Haus_%d.ini",ORDNERNAME,h);
- dini_Create(hstring);
- dini_IntSet(hstring,"Aussen_X",Aussen_X);
- dini_IntSet(hstring,"Aussen_Y",Aussen_Y);
- dini_IntSet(hstring,"Aussen_Z",Aussen_Z);
- dini_IntSet(hstring,"Innen_X",Innen_X);
- dini_IntSet(hstring,"Innen_Y",Innen_Y);
- dini_IntSet(hstring,"Innen_Z",Innen_Z);
- dini_IntSet(hstring,"Kaufpreis",Kaufpreis_);
- dini_IntSet(hstring,"Interior",Interior_);
- return 1;
- }
- return 0;
- }
- stock RemoveHaus(playerid)
- {
- if(IsPlayerInRangeOfAnyHaus(playerid))
- {
- new h = IsPlayerInRangeOfAnyHaus(playerid);
- Haus[h][AussenX] = 0;
- Haus[h][AussenY] = 0;
- Haus[h][AussenZ] = 0;
- Haus[h][InnenX] = 0;
- Haus[h][InnenY] = 0;
- Haus[h][InnenZ] = 0;
- Haus[h][Kaufpreis] = 0;
- Haus[h][Interior] = 0;
- format(hstring,64,"%s/Haus_%d.ini",ORDNERNAME,h);
- dini_Remove(hstring);
- return 1;
- }
- return 0;
- }
- stock HausKaufen(playerid)
- {
- new CurrMoney = Mau5_GetPlayerMoney(playerid);
- if(IsPlayerInRangeOfAnyHaus(playerid))
- {
- new h = IsPlayerInRangeOfAnyHaus(playerid);
- if(!strcmp(Haus[h][Besitzer],"Niemand",true))
- {
- if(CurrMoney >= Haus[h][Kaufpreis])
- {
- new name[24];
- GetPlayerName(playerid,name,24);
- format(Haus[h][Besitzer],64,"%s",name);
- format(hstring,64,"%s/Haus_%d.ini",ORDNERNAME,h);
- dini_Set(hstring,"Besitzer",name);
- format(unusedstring,64,"Dieses Haus gehört: %s",Haus[h][Besitzer]);
- DestroyPickup(Haus[h][HausPickup]);
- Update3DTextLabelText(Haus[h][HausLabel],0xFFFFFFFF,unusedstring);
- Haus[h][HausPickup]= CreatePickup(1272,1,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ],-1);
- return 1;
- }
- }
- }
- return 0;
- }
- stock HausVerkaufen(playerid)
- {
- new h;
- for(;h!=MAX_HAUS;h++)
- if(Haus[h][Interior] != 0)
- {
- if(!strcmp(Haus[h][Besitzer],name,true))
- {
- format(unusedstring,64,"Dieses Haus ist zu verkaufen.\nKaufpreis: %d$",Haus[h][Kaufpreis]);
- DestroyPickup(Haus[h][HausPickup]);
- Update3DTextLabelText(Haus[h][HausLabel],0xFFFFFFFF,unusedstring);
- Haus[h][HausPickup]= CreatePickup(1273,1,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ],-1);
- format(Haus[h][Besitzer],64,"Niemand");
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInRangeOfAnyHaus(playerid)
- {
- new h;
- for(;h!=MAX_HAUS;h++)
- if(Haus[h][Interior] != 0)
- {
- if(IsPlayerInRangeOfPoint(playerid,2.5,Haus[h][AussenX],Haus[h][AussenY],Haus[h][AussenZ]))
- {
- return h;
- }
- }
- return -1;
- }
- Mau5_OnPlayerSpawn(playerid)
- {
- new h,name[24];
- GetPlayerName(playerid,name,24);
- for(;h!=MAX_HAUS;h++)
- if(Haus[h][Interior] != 0)
- {
- if(!strcmp(Haus[h][Besitzer],name,true))
- {
- SetPlayerPos(playerid,Haus[h][InnenX],Haus[h][InnenY],Haus[h][InnenZ]);
- SetPlayerInterior(playerid,Haus[h][Interior]);
- return 1;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement