Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-===---===---=== SANEL - SNEG I KAPA SY
- /*
- UPDATES
- 1.1
- Dodane jelke komanda /kreirajjelku potrebno u scriptfile folder Jelke
- dodani pokloni /napravipoklon-samo rcon admin
- /otvoripoklon-samo ako admin postavi
- na svakih 10 minuta ce pisati
- Ukljucen je snow sistem komande su
- /kapa-Da stavite kapu na glavu
- /sneg-Da ukljucite snijeg
- /napravipoklon-Samo za admine
- /otvoripoklon-Samo ako admin postavi poklon mozete otvoriti
- /kreirajjelku-samo za admine
- 1.0 R2
- Dodan timer svakih 10 minuta pise ukljucen je snow mod komande /sneg /kapa
- Napravljena boja Plava 0xBBBBAA
- Napravljena komanda /jelka na sledecem update 1.1 ce biti zavrsena
- Popravljen bug kod komande /sneg
- */
- #include < a_samp >
- #include < a_objects >
- #include < core >
- #include < float >
- #include < time >
- #include < morphinc >
- #include < file >
- #include < foreach >
- #include < streamer >
- #include < YSI\y_ini >
- #include < YSI\y_commands >
- #include < sscanf2 >
- #include <YSI\y_timers>
- #define SendInfoMessage(%0,%1) \
- SendClientMessageEx(%0, -1, "{2e9cd1}[INFO] {FFFFFF} "%1)
- #define GRESKA(%0,%1) \
- SendClientMessageEx(%0, -1, "{F5052D}[GRESKA] {FFFFFF} "%1)
- #define OBJECT_SLOT_WINTERCAP 9
- #define SCM SendClientMessage
- #define SCMTA SendClientMessageToAll
- //////////////////////////////////OSTALO///////////
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 1000
- #define MAX_POKLONI 150
- #define PFile "/Pokloni/%d.ini"
- #define MAX_JELKI 100
- #define JFile "/Jelke/%d.ini"
- //////////////////////////////////////BOJE////////////////////////////////////
- #define COLOR_BLUE 0xBBBBAA
- #define COL_SERVER "{FF1414}"
- #define BELA "{FFFFFF}"
- //////////////////////////////////////////////////////////////////////////////
- new SnowObject[ MAX_PLAYERS ];
- new bool:Snow[ MAX_PLAYERS ];
- enum jInfo
- {
- Float:PosX,
- Float:PosY,
- Float:PosZ,
- Float:PosA
- }
- new JelkaInfo[MAX_JELKI][jInfo];
- new Text3D:label[sizeof(JelkaInfo)];
- new PravljeniObj;
- YCMD:sneg(playerid, params[], help)
- {
- if( IsPlayerConnected( playerid ) ) {
- if( GetPlayerInterior( playerid ) != 0 || GetPlayerVirtualWorld( playerid ) != 0 ) {
- GRESKA( playerid, "Ne mozes u interijeru!" );
- return true;
- }
- if( !Snow[ playerid ] ) {
- new Float:Pos[ 3 ];
- Snow[ playerid ] = true;
- GetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
- SnowObject[ playerid ] = CreatePlayerObject( playerid, 18864, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ]-5, 0.0, 0.0, 0.0, 300.0 );
- SendInfoMessage(playerid, "Ukljucio si sneg! Ako zelis da stavis/skines kapu - /kapa.");
- }
- else if( Snow[ playerid ] ) {
- Snow[ playerid ] = false;
- DestroyPlayerObject( playerid, SnowObject[ playerid ] );
- SendInfoMessage( playerid, "Iskljucio si sneg! Ako zelis da stavis/skines kapu - /kapa." );
- }
- }
- return true;
- }
- YCMD:kapa(playerid, params[], help)
- {
- if( IsPlayerConnected( playerid ) )
- {
- if( !IsPlayerAttachedObjectSlotUsed( playerid, OBJECT_SLOT_WINTERCAP ) ) {
- SetPlayerAttachedObject(playerid, OBJECT_SLOT_WINTERCAP, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4, 1.4);
- SendInfoMessage( playerid, "Stavili ste novogodisnju kapicu na glavu.");
- return true;
- }
- else if( IsPlayerAttachedObjectSlotUsed( playerid, OBJECT_SLOT_WINTERCAP ) ) {
- RemovePlayerAttachedObject( playerid, OBJECT_SLOT_WINTERCAP );
- SendInfoMessage( playerid, "Skinuli ste novogodisnju kapicu sa glave.");
- }
- }
- return true;
- }
- stock SendClientMessageEx(playerid, color, const str[], {Float,_}:...) {
- static
- args,
- start,
- end,
- string[144]
- ;
- #emit LOAD.S.pri 8
- #emit STOR.pri args
- if(args > 12)
- {
- #emit ADDR.pri str
- #emit STOR.pri start
- for (end = start + (args - 12); end > start; end -= 4)
- {
- #emit LREF.pri end
- #emit PUSH.pri
- }
- #emit PUSH.S str
- #emit PUSH.C 144
- #emit PUSH.C string
- #emit PUSH.C args
- #emit SYSREQ.C format
- SendClientMessage(playerid, color, string);
- #emit LCTRL 5
- #emit SCTRL 4
- #emit RETN
- }
- return SendClientMessage(playerid, color, str);
- }
- public OnGameModeInit()
- {
- SetTimer("SnegKapica",100000,true);
- return 1;
- }
- forward SnegKapica();
- public SnegKapica()
- {
- new ID;
- SendClientMessage(ID,0xBBBBAA,"Ukljucen je snow sistem komande su");
- SendClientMessage(ID,0xBBBBAA,"/kapa-Da stavite kapu na glavu");
- SendClientMessage(ID,0xBBBBAA,"/sneg-Da ukljucite snijeg");
- SendClientMessage(ID,0xBBBBAA,"/napravipoklon-Samo za admine");
- SendClientMessage(ID,0xBBBBAA,"/otvoripoklon-Samo ako admin postavi poklon mozete otvoriti");
- return 1;
- }
- YCMD:jelka(playerid, params[], help)
- {
- SendClientMessage(playerid,0xBBBBAA,"USKORO");
- }
- //=-= • NEW • =-=//
- new Text3D:poklonlabel;
- new PravljeniPoklon;
- new RandomDobijanje[][6] =
- {
- { 5000 },
- { 3000 },
- { 4000 },
- { 3500 },
- { 2500 }
- };
- /////////////ENUM
- enum pInfo
- {
- Float:PosX,
- Float:PosY,
- Float:PosZ,
- Model,
- pID
- }
- new PoklonInfo[MAX_PLAYERS][pInfo];
- //=-= • PUBLICS • =-=//
- public OnFilterScriptInit()
- {
- for(new i = 0; i < sizeof(JelkaInfo); i++)
- {
- new fajl[100];
- format(fajl,sizeof(fajl), JFile, i);
- if(fexist(fajl))
- {
- INI_ParseFile(fajl, "UcitajJelke", .bExtra = true, .extra = i);
- PravljeniObj = CreateObject(19076, JelkaInfo[i][PosX],JelkaInfo[i][PosY],JelkaInfo[i][PosZ], 0.0, 0.0, JelkaInfo[i][PosA], 300.0);
- LoadPoklon();
- }
- }
- return 1;
- }
- forward PoklonOcitavanje(id, name[], value[]);
- public PoklonOcitavanje(id, name[], value[])
- {
- INI_Float("Pozicija X", PoklonInfo[id][PosX]);
- INI_Float("Pozicija Y", PoklonInfo[id][PosY]);
- INI_Float("Pozicija Z", PoklonInfo[id][PosZ]);
- INI_Int("Model", PoklonInfo[id][Model]);
- INI_Int("ID", PoklonInfo[id][pID]);
- return 1;
- }
- //=-= • STOCK • =-=//
- stock SacuvajPoklon(id)
- {
- new pFile[60];
- format(pFile, sizeof(pFile ), PFile,id);
- new INI:File = INI_Open(pFile);
- INI_WriteFloat(File, "Pozicija X", PoklonInfo[id][PosX]);
- INI_WriteFloat(File, "Pozicija Y", PoklonInfo[id][PosY]);
- INI_WriteFloat(File, "Pozicija Z", PoklonInfo[id][PosZ]);
- INI_WriteInt(File, "Model", PoklonInfo[id][Model]);
- INI_WriteInt(File, "ID", PoklonInfo[id][pID]);
- INI_Close(File);
- return 1;
- }
- stock LoadPoklon()
- {
- for(new i = 1; i < MAX_POKLONI; i++)
- {
- new pFile[50];
- format(pFile, sizeof(pFile), PFile, i);
- if(fexist(pFile))
- {
- INI_ParseFile(pFile, "PoklonOcitavanje", .bExtra = true, .extra = i);
- PravljeniPoklon = CreateObject(PoklonInfo[i][Model], PoklonInfo[i][PosX],PoklonInfo[i][PosY],PoklonInfo[i][PosZ], 0.0, 0.0, 0.0, 300.0);
- poklonlabel = Create3DTextLabel(""COL_SERVER"(( POKLON ))\n"BELA"Da ga otvorite kucajte\n/otvoripoklon", 0x008080FF, PoklonInfo[i][PosX],PoklonInfo[i][PosY],PoklonInfo[i][PosZ], 5.0, 0, 0);
- }
- }
- }
- //=-= • CMD • =-=//
- YCMD:napravipoklon(playerid, params[], help)
- {
- #pragma unused help
- if(IsPlayerAdmin(playerid))
- {
- new boja, Float:X,Float:Y,Float:Z;
- if(sscanf(params, "d", boja)) { SCM(playerid, -1, ""COL_SERVER"[GRESKA] "BELA"Koristite /napravipoklon [Boja]"); SCM(playerid, -1, ""COL_SERVER"[GRESKA] "BELA"Boja 1 - Crvena || Boja 2 - Narandzasta || Boja 3 - Crna || Boja 4 - Sarena"); }
- if(boja < 1 || boja > 4) return SCM(playerid, -1, ""COL_SERVER"[GRESKA] "BELA"ID Boje ne moze biti manji od 1 ili veci od 4 !");
- SCM(playerid, -1, ""COL_SERVER"[INFO] "BELA"Stvorili ste poklon !");
- GetPlayerPos(playerid, X,Y,Z);
- if(boja == 1) { PravljeniPoklon = CreateObject(19057, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
- if(boja == 2) { PravljeniPoklon = CreateObject(19055, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
- if(boja == 3) { PravljeniPoklon = CreateObject(19058, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
- if(boja == 4) { PravljeniPoklon = CreateObject(19056, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
- SetPlayerPos(playerid, X,Y,Z+3);
- PoklonInfo[PravljeniPoklon][PosX] = X;
- PoklonInfo[PravljeniPoklon][PosY] = Y;
- PoklonInfo[PravljeniPoklon][PosZ] = Z;
- if(boja == 1) { PoklonInfo[PravljeniPoklon][Model] = 19057; }
- else if(boja == 2) { PoklonInfo[PravljeniPoklon][Model] = 19055; }
- else if(boja == 3) { PoklonInfo[PravljeniPoklon][Model] = 19058; }
- else if(boja == 4) { PoklonInfo[PravljeniPoklon][Model] = 19056; }
- poklonlabel = Create3DTextLabel(""COL_SERVER"(( POKLON ))\n"BELA"Da ga otvorite kucajte\n/otvoripoklon", 0x008080FF, X,Y,Z, 5.0, 0, 0);
- SacuvajPoklon(PravljeniPoklon);
- }
- return 1;
- }
- YCMD:otvoripoklon(playerid, params[], help)
- {
- for(new i = 1; i < MAX_POKLONI; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.0, PoklonInfo[i][PosX], PoklonInfo[i][PosY], PoklonInfo[i][PosZ]))
- {
- DestroyObject(PravljeniPoklon);
- Delete3DTextLabel(poklonlabel);
- new rand = random(sizeof(RandomDobijanje));
- GivePlayerMoney(playerid, RandomDobijanje[rand][0]);
- SCM(playerid, -1, ""COL_SERVER"[INFO] "BELA"Otvorili ste poklon !");
- new poklonfile[64];
- format(poklonfile,sizeof(poklonfile), PFile, i);
- fremove(poklonfile);
- }
- }
- return 1;
- }
- //=-= NEW =-=//
- forward UcitajJelke(id, name[], value[]);
- public UcitajJelke(id, name[], value[])
- {
- INI_Float("X", JelkaInfo[id][PosX]);
- INI_Float("Y", JelkaInfo[id][PosY]);
- INI_Float("Z", JelkaInfo[id][PosZ]);
- INI_Float("A", JelkaInfo[id][PosA]);
- return 1;
- }
- //=-= CMD =-=//
- YCMD:kreirajjelku(playerid, params[], help)
- {
- #pragma unused help
- if(IsPlayerAdmin(playerid))
- {
- new Float:X,Float:Y,Float:Z,Float:A;
- GetPlayerPos(playerid, X,Y,Z);
- GetPlayerFacingAngle(playerid, A);
- PravljeniObj = CreateObject(19076, X-1,Y,Z-1.5, 0.0, 0.0, A, 300.0);
- label[PravljeniObj] = Create3DTextLabel("{FF1414}(( {FFFFFF}JELKA {FF1414}))\n{FF1414}S{FFFFFF}recna nova godina\ni novogodisnji praznici !\n{FF1414}** {FFFFFF}2018. {FF1414}**", 0xFFFFFFFF, X,Y,Z+1, 10.0, 0, 0);
- JelkaInfo[PravljeniObj][PosX] = X;
- JelkaInfo[PravljeniObj][PosY] = Y;
- JelkaInfo[PravljeniObj][PosZ] = Z-1.5;
- JelkaInfo[PravljeniObj][PosA] = A;
- SaveJelka(PravljeniObj);
- }
- else return SendClientMessage(playerid, -1, "Niste RCON Admin !");
- return 1;
- }
- //=-= STOCK =-=//
- stock SaveJelka(id)
- {
- new jFile[100];
- format(jFile,sizeof(jFile), JFile, id);
- new INI:File = INI_Open(jFile);
- INI_WriteFloat(File, "X", JelkaInfo[id][PosX]);
- INI_WriteFloat(File, "Y", JelkaInfo[id][PosY]);
- INI_WriteFloat(File, "Z", JelkaInfo[id][PosZ]);
- INI_WriteFloat(File, "A", JelkaInfo[id][PosA]);
- INI_Close(File);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment