Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include < a_objects >
- #include < core >
- #include < float >
- #include < time >
- #include < morphinc >
- #include < file >
- #include < dini >
- #include < foreach >
- #include < streamer >
- #include < YSI\y_ini >
- #include < OnPlayerPause >
- #include < YSI\y_commands >
- #include < sscanf2 >
- /////////////////////////////////////////////////////////////////////
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 350
- #define KORISNICI "Users/%s.ini"
- #define SCM SendClientMessage
- #define SCMF SendClientMessage
- //////////////////////////////////////////////////////////////////
- #define BELA "{FFFFFF}"
- #define ZELENA "{6EF83C}"
- #define CRVENA "{F81414}"
- #define ZUTA "{F3FF02}"
- #define ORANGE "{FFAF00}"
- #define SPLAVA "{00C0FF}"
- #define ZPLAVA "{22C7F5}"
- #define PLAVA "{0049FF}"
- #define SVETLOPLAVA "{0049FF}"
- #define ROZA "{FF00EA}"
- #define CMDC "{B8FF02}"
- #define SERVER "{AFE7FF}"
- #define SZELENA "{C9FFAB}"
- #define LJUB "{EE11EE}"
- #define SIVA "{C0C0C0}"
- #define CRVENA2 "{FF6347}"
- #define PPLAVA "{0084e3}"
- #define SCRV2 "{FF6347}"
- #define BALLASC "{D1345B}"
- #define HZELENA "{04CC29}"
- #define GROVE 0x00D900C8
- #define AZUTA 0xFFC801C8
- #define BELA2 0xFFFFFFAA
- #define PROX 0xC2A2DAAA
- #define SCRVENA 0xFF6347AA
- #define COLOR_GRAD2 0xBFC0C2FF
- #define TEAM_HIT_COLOR 0xFFFFFF00
- #define COLOR_YELLOW 0xDABB3EAA
- #define MUTE 0xB5603CFF
- #define ACRNA 0x000000FF
- #define HZUTA 0xF5BB0AFF
- new UlogovanProvera[MAX_PLAYERS];
- new Float:X,Float:Y,Float:Z;
- enum pInfo
- {
- pAdmin,
- pPosedovanjeStana,
- pNovacDzep,
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- ///////////////////////////////////////////////////
- #define STAN_FILE "Stanovi/%d.ini"
- #define MAX_STANOVA 350
- enum Stan
- {
- sProveraVlasnika,
- sVlasnik[45],
- Float:sUlazX,
- Float:sUlazY,
- Float:sUlazZ,
- Float:sIzlazX,
- Float:sIzlazY,
- Float:sIzlazZ,
- sLevel,
- sCena,
- sNovac,
- sInt,
- sZatvoreno,
- sVW,
- sOruzije,
- sMunicija
- };
- new StanInfo[MAX_STANOVA][Stan];
- new StanPickup[sizeof(StanInfo)];
- new Text3D:StanLabel[sizeof(StanInfo)];
- ////////////////////////////////////////////////
- public OnGameModeInit()
- {
- SetGameModeText("SRW 0.1");
- ////////////////////////STANOVI UCITAVANJE///////////////////////////////////////
- for(new s = 0; s < sizeof(StanInfo); s++)
- {
- new sFile[80],string[300];
- format(sFile, sizeof(sFile), STAN_FILE, s);
- if(fexist(sFile))
- {
- INI_ParseFile(sFile, "UcitajStanove", .bExtra = true, .extra = s);
- if(StanInfo[s][sProveraVlasnika] == 0)
- {
- format(string,sizeof(string),""ORANGE"Apartman na prodaju\nCijena: "BELA"%d$\n"ORANGE"Level: "BELA"%d\n"ORANGE"",StanInfo[s][sCena], StanInfo[s][sLevel]);
- StanLabel[s] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ],30.0,0,1);
- StanPickup[s] = CreateDynamicPickup(19606, 1, StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ]);
- printf("Stan %d Ucitan od strane WrithAC",s , string);
- }
- else if(StanInfo[s][sProveraVlasnika] == 1)
- {
- format(string,sizeof(string),""ORANGE"Apartman Owner: "BELA"%s\n"ORANGE"Cijena: "BELA"%d$\n"ORANGE"Level: "BELA"%d",StanInfo[s][sVlasnik],StanInfo[s][sCena],StanInfo[s][sLevel]);
- StanLabel[s] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ],30.0,0,1);
- StanPickup[s] = CreateDynamicPickup(19605, 1, StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ]);
- }
- }
- }
- return 1;
- }
- ////////////////////////////////////////////////
- stock SavePlayer(playerid)
- {
- if(UlogovanProvera[playerid] == 1)
- {
- new INI:File = INI_Open(Users(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Admin", PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Stan", PlayerInfo[playerid][pPosedovanjeStana]);
- INI_WriteInt(File,"NovacDzep", PlayerInfo[playerid][pNovacDzep]);
- INI_Close(File);
- }
- return 1;
- }
- ////////////////////////////////////////////////////
- YCMD:kreirajstan(playerid, params[],help)
- {
- #pragma unused help
- /// if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""ORANGE"[SERVER] | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
- // if(PlayerInfo[playerid][pAdmin] < 6) return SCM(playerid,-1,""SPLAVA""ORANGE"[SERVER] "SIVA"Samo Vlasnik!");
- //if(AdminDuty[playerid] == 0) return SCM(playerid,-1,""CRVENA""ORANGE"[SERVER] "SIVA"Morate biti na admin duznosti!");
- new idstan,level,cena,sstan[80],string[500]; GetPlayerPos(playerid,X,Y,Z);
- if(sscanf(params, "iii",idstan,level,cena)) return SCM(playerid,-1,""CRVENA""ORANGE"[SERVER] Pomoc | "SIVA"/kreirajstan [ID] [Level] [Cena]");
- if(idstan >= MAX_STANOVA) return SCM(playerid,-1, ""CRVENA""ORANGE"[SERVER] | "SIVA"Maximum stanova je ogranicen ne mozes koristiti taj ID!");
- format(sstan, sizeof(sstan), STAN_FILE, idstan);
- if(fexist(sstan)) return SCM(playerid,-1, ""ORANGE"[SERVER] | "SPLAVA"ID tog stana vec postoji!");
- StanInfo[idstan][sIzlazX] = 244.1522; StanInfo[idstan][sIzlazY] = 305.0730; StanInfo[idstan][sIzlazZ] = 999.1484; StanInfo[idstan][sInt] = 1;
- StanInfo[idstan][sCena] = cena; StanInfo[idstan][sLevel] = level; StanInfo[idstan][sUlazX] = X;
- StanInfo[idstan][sUlazY] = Y; StanInfo[idstan][sUlazZ] = Z; StanInfo[idstan][sProveraVlasnika] = 0;
- StanInfo[idstan][sNovac] = 0; StanInfo[idstan][sZatvoreno] = 1; StanInfo[idstan][sVW] = idstan;
- StanInfo[idstan][sOruzije] = -1; StanInfo[idstan][sMunicija] = 0;
- strmid(StanInfo[idstan][sVlasnik],"Niko",0,strlen("Niko"),255);
- format(string,sizeof(string),""ORANGE"Stan na Prodaju!\nCena: "BELA"%d$\n"ZUTA"Level: "BELA"%d\n"ORANGE"Za kupovinu /kupistan",StanInfo[idstan][sCena], StanInfo[idstan][sLevel]);
- StanLabel[idstan] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[idstan][sUlazX], StanInfo[idstan][sUlazY], StanInfo[idstan][sUlazZ],25,0,1);
- StanPickup[idstan] = CreateDynamicPickup(19134, 1, StanInfo[idstan][sUlazX], StanInfo[idstan][sUlazY], StanInfo[idstan][sUlazZ]);
- // SCMF(playerid,-1,""CRVENA""ORANGE"[SERVER] "SIVA"Stan je uspesno kreiran (ID Stana: %d)!",idstan);
- SacuvajStan(idstan);
- return 1;
- }
- ////////////////////////////////////////////////////
- YCMD:kupistan(playerid, params[], help)
- {
- #pragma unused help
- #pragma unused params
- if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""ORANGE"[SERVER] | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
- for(new i; i < sizeof(StanInfo); i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, StanInfo[i][sUlazX], StanInfo[i][sUlazY], StanInfo[i][sUlazZ]))
- {
- if(!strcmp(StanInfo[i][sVlasnik], "Niko", true) && StanInfo[i][sProveraVlasnika] == 0)
- {
- if(PlayerInfo[playerid][pPosedovanjeStana] != 1) return SCM(playerid,-1, ""CRVENA""ORANGE"[SERVER] | "SIVA"Vec imas stan!");
- if(GetPlayerScore(playerid) < StanInfo[i][sLevel]) return SCM(playerid,-1,""ORANGE"[SERVER] | "CRVENA"Nemate dovoljan level za kupovinu stana!");
- if(PlayerInfo[playerid][pNovacDzep] < StanInfo[i][sCena]) return SCM(playerid,-1, ""ORANGE"[SERVER] | "CRVENA"Nemate dovoljno novca za kupovinu stana!");
- strmid(StanInfo[i][sVlasnik], GetName(playerid), 0, strlen(GetName(playerid)), 255);
- StanInfo[i][sProveraVlasnika] = 1; PlayerInfo[playerid][pPosedovanjeStana] = i;
- StanInfo[i][sZatvoreno] = 1; g_NovacMinus(playerid, StanInfo[i][sCena]); StanLP(i); SacuvajStan(i); SavePlayer(playerid);
- SCM(playerid,-1, ""ZUTA""ORANGE"[SERVER] "SIVA"Cestitamo, kupili ste stan!");
- SCM(playerid,-1, ""ZUTA""ORANGE"[SERVER] "SIVA"Za komande kuce koristite /stan!");
- SCM(playerid,-1, ""ZUTA""ORANGE"[SERVER] "SIVA"Za ulaz u stan koristi tipku F!");
- return 1;
- }
- else return SCM(playerid, -1, ""CRVENA""ORANGE"[SERVER] "SIVA"Taj stan se ne prodaje!");
- }
- }
- return 1;
- }
- /////////////////////////////////////////////////////////////////////
- stock StanLP(s)
- {
- new string[300];
- if(StanInfo[s][sProveraVlasnika] == 0)
- {
- Delete3DTextLabel(StanLabel[s]);
- DestroyDynamicPickup(StanPickup[s]);
- format(string,sizeof(string),""ZUTA"Stan na Prodaju!\nCena: "BELA"%d$\n"ZUTA"Level: "BELA"%d\n"ZUTA"Za kupovinu /kupistan",StanInfo[s][sCena], StanInfo[s][sLevel]);
- StanLabel[s] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ],30.0,0,1);
- StanPickup[s] = CreateDynamicPickup(19134, 1, StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ]);
- }
- else if(StanInfo[s][sProveraVlasnika] == 1)
- {
- Delete3DTextLabel(StanLabel[s]);
- DestroyDynamicPickup(StanPickup[s]);
- format(string,sizeof(string),""ZUTA"Vlasnik stana: "BELA"%s\n"ZUTA"Cena: "BELA"%d$\n"ZUTA"Level: "BELA"%d",StanInfo[s][sVlasnik],StanInfo[s][sCena],StanInfo[s][sLevel]);
- StanLabel[s] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ],30.0,0,1);
- StanPickup[s] = CreateDynamicPickup(1239, 1, StanInfo[s][sUlazX], StanInfo[s][sUlazY], StanInfo[s][sUlazZ]);
- }
- return 1;
- }
- /////////////////////////////////////////////CUVANJA/CITANJA////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////
- stock SacuvajStan(idstan)
- {
- new sFile[128];
- format(sFile, sizeof(sFile), STAN_FILE, idstan);
- new INI:File = INI_Open(sFile);
- INI_WriteInt(File,"ProveraVlasnika",StanInfo[idstan][sProveraVlasnika]);
- INI_WriteString(File,"Vlasnik",StanInfo[idstan][sVlasnik]);
- INI_WriteFloat(File,"UlazX",StanInfo[idstan][sUlazX]);
- INI_WriteFloat(File,"UlazY",StanInfo[idstan][sUlazY]);
- INI_WriteFloat(File,"UlazZ",StanInfo[idstan][sUlazZ]);
- INI_WriteFloat(File,"IzlazX",StanInfo[idstan][sIzlazX]);
- INI_WriteFloat(File,"IzlazY",StanInfo[idstan][sIzlazY]);
- INI_WriteFloat(File,"IzlazZ",StanInfo[idstan][sIzlazZ]);
- INI_WriteInt(File,"Level",StanInfo[idstan][sLevel]);
- INI_WriteInt(File,"Cena",StanInfo[idstan][sCena]);
- INI_WriteInt(File,"Novac",StanInfo[idstan][sNovac]);
- INI_WriteInt(File,"Int",StanInfo[idstan][sInt]);
- INI_WriteInt(File,"Zatvoreno",StanInfo[idstan][sZatvoreno]);
- INI_WriteInt(File,"VW",StanInfo[idstan][sVW]);
- INI_WriteInt(File,"Oruzije",StanInfo[idstan][sOruzije]);
- INI_WriteInt(File,"Municija",StanInfo[idstan][sMunicija]);
- INI_Close(File);
- return 1;
- }
- //////////////////////////////////////////////////////////////////////
- forward UcitajStanove(idstan, name[], value[]);
- public UcitajStanove(idstan, name[], value[])
- {
- INI_Int("ProveraVlasnika",StanInfo[idstan][sProveraVlasnika]);
- INI_String("Vlasnik",StanInfo[idstan][sVlasnik],45);
- INI_Float("UlazX",StanInfo[idstan][sUlazX]);
- INI_Float("UlazY",StanInfo[idstan][sUlazY]);
- INI_Float("UlazZ",StanInfo[idstan][sUlazZ]);
- INI_Float("IzlazX",StanInfo[idstan][sIzlazX]);
- INI_Float("IzlazY",StanInfo[idstan][sIzlazY]);
- INI_Float("IzlazZ",StanInfo[idstan][sIzlazZ]);
- INI_Int("Level",StanInfo[idstan][sLevel]);
- INI_Int("Cena",StanInfo[idstan][sCena]);
- INI_Int("Novac",StanInfo[idstan][sNovac]);
- INI_Int("Int",StanInfo[idstan][sInt]);
- INI_Int("Zatvoreno",StanInfo[idstan][sZatvoreno]);
- INI_Int("VW",StanInfo[idstan][sVW]);
- INI_Int("Oruzije",StanInfo[idstan][sOruzije]);
- INI_Int("Municija",StanInfo[idstan][sMunicija]);
- return 1;
- }
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_Int("Admin", PlayerInfo[playerid][pAdmin]);
- INI_Int("Stan",PlayerInfo[playerid][pPosedovanjeStana]);
- INI_Int("NovacDzep",PlayerInfo[playerid][pNovacDzep]);
- return 1;
- }
- ////////////////////////////////////////////////////////////
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayer(playerid);
- return 1;
- }
- ////////////////////////////////////////////////////////////
- public OnPlayerConnect(playerid)
- {
- UlogovanProvera[playerid] = 1;
- return 1;
- }
- ///////////////////////////////////////////////////////////////////////////
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- ////////////////////////////////////////////////////////////////
- stock g_NovacPlus(id, iznos)
- {
- if(iznos < 0 || iznos > 99999999) return 1;
- GivePlayerMoney(id, iznos);
- PlayerInfo[id][pNovacDzep] += iznos;
- return 1;
- }
- ////////////////////////////////////////////////////////////////
- stock g_NovacMinus(id, iznos)
- {
- if(iznos < 0 || iznos > 99999999) return 1;
- GivePlayerMoney(id, -iznos);
- PlayerInfo[id][pNovacDzep] -= iznos;
- return 1;
- }
- stock Users(playerid)
- {
- new string[128];
- format(string,sizeof(string),KORISNICI,GetName(playerid));
- return string;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement