Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Nova var ispod new BiljkaData
- new OtresiObject[ MAX_BILJKI ][ 8 ],
- Otresa[ MAX_PLAYERS ];
- // POD ONPLAYERCONNECT & ONPLAYERDEATH
- Otresa[ playerid ] = 0;
- //
- dcmd_otresi(playerid, params[])
- {
- #pragma unused params
- new fid = GetImID(Igrac[ playerid ][ pImaImanje ]), id = GetNearestStalk( playerid ), randnum = random(5)+5, textstring[ 111 ];
- if( Igrac[ playerid ][ pImaImanje ] == 999 ) return SendClientMessage( playerid, COLOR_GREY, "Nemate imanje." );
- if( Otresa[ playerid ] != 0 ) return SendClientMessage( playerid, COLOR_GRAY, "Vec ste u ovom postupku.");
- if( IsPlayerInDynamicArea( playerid, ImanjeData[ fid ][ iRectangle ] ) ) {
- if( id == -1 ) return SendClientMessage( playerid, COLOR_GREY, "Nema biljke u blizini." );
- if( BiljkaData[ id ][ b_Sati ] >= 0 && BiljkaData[ id ][ b_Minuti ] >= 1 ) return SendClientMessage( playerid, COLOR_GREY, "Ova biljka jos nije spremna za branje.");
- if( BiljkaData[ id ][ b_Izrasla ] != 1 ) return SendClientMessage( playerid, COLOR_GREY, "Ova biljka jos nije spremna za branje.");
- Otresa[ playerid ] = 1;
- Otresanje( playerid, id, BiljkaData[ id ][ b_Tip ] );
- } else return SendClientMessage( playerid, COLOR_GREY, "Morate biti na svom imanju." );
- return (true);
- }
- forward Otresanje( playerid, biljka, tip );
- public Otresanje( playerid, biljka, tip ) {
- new modelid;
- if(tip == 3) modelid = 19575;
- else modelid = 19576;
- new Float:x, Float:y, Float:z;
- GetDynamicObjectPos(BiljkaData[ biljka ][ b_Objekat ], x, y, z);
- //
- OtresiObject[ biljka ][ 0 ] = CreateObject(modelid, x, y+0.5, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 0 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 0 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 0 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 0 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 0 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 1 ] = CreateObject(modelid, x, y+1.5, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 1 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 1 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 1 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 1 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 1 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 2 ] = CreateObject(modelid, x, y-0.5, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 2 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 2 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 2 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 2 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 2 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 3 ] = CreateObject(modelid, x, y-1.5, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 3 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 3 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 3 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 3 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 3 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 4 ] = CreateObject(modelid, x+0.5, y, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 4 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 4 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 4 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 4 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 4 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 5 ] = CreateObject(modelid, x+1.5, y, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 5 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 5 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 5 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 5 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 5 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 6 ] = CreateObject(modelid, x-0.5, y, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 6 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 6 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 6 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 6 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 6 ], z - 1.0, _, 0.0);
- //
- OtresiObject[ biljka ][ 7 ] = CreateObject(modelid, x-1.5, y, z+12.63, 0, 0, 0);
- PHY_InitObject(OtresiObject[ biljka ][ 7 ]);
- PHY_SetObjectVelocity(OtresiObject[ biljka ][ 7 ], 0, 0, 4.0);
- PHY_SetObjectFriction(OtresiObject[ biljka ][ 7 ], 100);
- PHY_SetObjectGravity(OtresiObject[ biljka ][ 7 ], 13.0);
- PHY_SetObjectZBound(OtresiObject[ biljka ][ 7 ], z - 1.0, _, 0.0);
- //
- SendClientMessage( playerid, COLOR_GRAY, "{00C0FF}Otresate vocku, pricekajte kraj postupka.");
- SetTimerEx("Otreseno", 5000, false, "ii", playerid, biljka);
- return 1;
- }
- forward Otreseno( playerid, vocka );
- public Otreseno( playerid, vocka ) {
- if(Otresa[ playerid ] == 0) return 1;
- for(new i; i < 8; i++) {
- if(IsValidObject(OtresiObject[ vocka ][ i ])) DestroyObject( OtresiObject[ vocka ][ i ] );
- }
- SetTimerEx("GotovAnimacija", 450, false, "i", playerid);
- SetTimerEx("GotovPostupak", 6000, false, "ii", playerid, vocka);
- return 1;
- }
- forward GotovAnimacija( playerid );
- public GotovAnimacija( playerid ) {
- if(Otresa[ playerid ] == 0) return 1;
- ApplyAnimation(playerid,"BOMBER","BOM_Plant_Loop", 4.1, 1, 0, 0, 0, 0, 1)
- return 1;
- }
- forward GotovPostupak( playerid, vocka );
- public GotovPostupak( playerid, vocka ) {
- if(Otresa[ playerid ] == 0) return 1;
- for(new i; i < 8; i++) {
- if(IsValidObject(OtresiObject[ vocka ][ i ])) DestroyObject( OtresiObject[ vocka ][ i ] );
- }
- ClearAnimations( playerid );
- new id = vocka;
- switch( BiljkaData[ id ][ b_Tip ] ) {
- case 1: {
- GajbaTip[ playerid ] = 1;
- GajbaKolicina[ playerid ] = randnum;
- format(textstring, sizeof(textstring), "{00c0FF}Sa drveta je palo %d komada sljive, utovarite gajbu na vozilo. {FFFFFF}((/utovarigajbu))", randnum);
- SendClientMessage( playerid, COLOR_GREY, textstring);
- BiljkaData[ id ][ b_Minuti ] = 0, BiljkaData[ id ][ b_Sati ] = 6+random(4);
- }
- case 2: {
- GajbaTip[ playerid ] = 2;
- GajbaKolicina[ playerid ] = randnum;
- format(textstring, sizeof(textstring), "{00c0FF}Sa drveta je palo %d komada kruske, utovarite gajbu na vozilo. {FFFFFF}((/utovarigajbu))", randnum);
- SendClientMessage( playerid, COLOR_GREY, textstring);
- BiljkaData[ id ][ b_Minuti ] = 0, BiljkaData[ id ][ b_Sati ] = 6+random(4);
- }
- case 3: {
- GajbaTip[ playerid ] = 3;
- GajbaKolicina[ playerid ] = randnum;
- format(textstring, sizeof(textstring), "{00c0FF}Sa drveta je palo %d komada jabuke, utovarite gajbu na vozilo. {FFFFFF}((/utovarigajbu))", randnum);
- SendClientMessage( playerid, COLOR_GREY, textstring);
- BiljkaData[ id ][ b_Minuti ] = 0, BiljkaData[ id ][ b_Sati ] = 6+random(4);
- }
- }
- SpremiImanje( fid );
- BiljkaData[ id ][ b_Izrasla ] = 0;
- SpremiBiljku( id );
- new string[ 180 ], vrsta[ 10 ];
- if( BiljkaData[ id ][ b_Tip ] == 1 ) { vrsta = "Sljiva"; }
- else if( BiljkaData[ id ][ b_Tip ] == 2 ) { vrsta = "Kruska"; }
- else if( BiljkaData[ id ][ b_Tip ] == 3 ) { vrsta = "Jabuka"; }
- format( string, sizeof( string ), "{E3C100}Stabljika\n\n{E3C100}Do izrastanja: \n"WHT"%d sati, %d minuta\n\n{E3C100}Vrsta: "WHT"%s", BiljkaData[ id ][ b_Sati ], BiljkaData[ id ][ b_Minuti ], vrsta );
- UpdateDynamic3DTextLabelText( BiljkaData[ id ][ b_Label ], 0xFFFFFFFF, string );
- NosiGajbu[ playerid ] = true;
- SetPlayerAttachedObject( playerid, 4, 19636, 1, 0.10, 0.46, -0.01, 0.0, 89.0, 85.0, 1.04, 1.00, 1.00 );
- SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement