Advertisement
Guest User

Untitled

a guest
Nov 13th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.75 KB | None | 0 0
  1. //Nova var ispod new BiljkaData
  2. new OtresiObject[ MAX_BILJKI ][ 8 ],
  3.     Otresa[ MAX_PLAYERS ];
  4. // POD ONPLAYERCONNECT & ONPLAYERDEATH
  5. Otresa[ playerid ] = 0;
  6. //
  7. dcmd_otresi(playerid, params[])
  8. {
  9.     #pragma unused params
  10.     new fid = GetImID(Igrac[ playerid ][ pImaImanje ]), id = GetNearestStalk( playerid ), randnum = random(5)+5, textstring[ 111 ];
  11.     if( Igrac[ playerid ][ pImaImanje ] == 999 ) return SendClientMessage( playerid, COLOR_GREY, "Nemate imanje." );
  12.     if( Otresa[ playerid ] != 0 ) return SendClientMessage( playerid, COLOR_GRAY, "Vec ste u ovom postupku.");
  13.     if( IsPlayerInDynamicArea( playerid, ImanjeData[ fid ][ iRectangle ] ) ) {
  14.         if( id == -1 ) return SendClientMessage( playerid, COLOR_GREY, "Nema biljke u blizini." );
  15.         if( BiljkaData[ id ][ b_Sati ] >= 0 && BiljkaData[ id ][ b_Minuti ] >= 1 ) return SendClientMessage( playerid, COLOR_GREY, "Ova biljka jos nije spremna za branje.");
  16.         if( BiljkaData[ id ][ b_Izrasla ] != 1 ) return SendClientMessage( playerid, COLOR_GREY, "Ova biljka jos nije spremna za branje.");
  17.         Otresa[ playerid ] = 1;
  18.         Otresanje( playerid, id, BiljkaData[ id ][ b_Tip ] );
  19.  
  20.     } else return SendClientMessage( playerid, COLOR_GREY, "Morate biti na svom imanju." );
  21.     return (true);
  22. }
  23.  
  24. forward Otresanje( playerid, biljka, tip );
  25. public Otresanje( playerid, biljka, tip ) {
  26.     new modelid;
  27.     if(tip == 3) modelid = 19575;
  28.     else modelid = 19576;
  29.     new Float:x, Float:y, Float:z;
  30.     GetDynamicObjectPos(BiljkaData[ biljka ][ b_Objekat ], x, y, z);
  31.     //
  32.     OtresiObject[ biljka ][ 0 ] = CreateObject(modelid, x, y+0.5, z+12.63, 0, 0, 0);
  33.     PHY_InitObject(OtresiObject[ biljka ][ 0 ]);
  34.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 0 ], 0, 0, 4.0);
  35.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 0 ], 100);
  36.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 0 ], 13.0);
  37.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 0 ], z - 1.0, _, 0.0);
  38.     //
  39.     OtresiObject[ biljka ][ 1 ] = CreateObject(modelid, x, y+1.5, z+12.63, 0, 0, 0);
  40.     PHY_InitObject(OtresiObject[ biljka ][ 1 ]);
  41.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 1 ], 0, 0, 4.0);
  42.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 1 ], 100);
  43.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 1 ], 13.0);
  44.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 1 ], z - 1.0, _, 0.0);
  45.     //
  46.     OtresiObject[ biljka ][ 2 ] = CreateObject(modelid, x, y-0.5, z+12.63, 0, 0, 0);
  47.     PHY_InitObject(OtresiObject[ biljka ][ 2 ]);
  48.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 2 ], 0, 0, 4.0);
  49.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 2 ], 100);
  50.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 2 ], 13.0);
  51.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 2 ], z - 1.0, _, 0.0);
  52.     //
  53.     OtresiObject[ biljka ][ 3 ] = CreateObject(modelid, x, y-1.5, z+12.63, 0, 0, 0);
  54.     PHY_InitObject(OtresiObject[ biljka ][ 3 ]);
  55.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 3 ], 0, 0, 4.0);
  56.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 3 ], 100);
  57.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 3 ], 13.0);
  58.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 3 ], z - 1.0, _, 0.0);
  59.     //
  60.     OtresiObject[ biljka ][ 4 ] = CreateObject(modelid, x+0.5, y, z+12.63, 0, 0, 0);
  61.     PHY_InitObject(OtresiObject[ biljka ][ 4 ]);
  62.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 4 ], 0, 0, 4.0);
  63.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 4 ], 100);
  64.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 4 ], 13.0);
  65.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 4 ], z - 1.0, _, 0.0);
  66.     //
  67.     OtresiObject[ biljka ][ 5 ] = CreateObject(modelid, x+1.5, y, z+12.63, 0, 0, 0);
  68.     PHY_InitObject(OtresiObject[ biljka ][ 5 ]);
  69.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 5 ], 0, 0, 4.0);
  70.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 5 ], 100);
  71.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 5 ], 13.0);
  72.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 5 ], z - 1.0, _, 0.0);
  73.     //
  74.     OtresiObject[ biljka ][ 6 ] = CreateObject(modelid, x-0.5, y, z+12.63, 0, 0, 0);
  75.     PHY_InitObject(OtresiObject[ biljka ][ 6 ]);
  76.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 6 ], 0, 0, 4.0);
  77.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 6 ], 100);
  78.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 6 ], 13.0);
  79.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 6 ], z - 1.0, _, 0.0);
  80.     //
  81.     OtresiObject[ biljka ][ 7 ] = CreateObject(modelid, x-1.5, y, z+12.63, 0, 0, 0);
  82.     PHY_InitObject(OtresiObject[ biljka ][ 7 ]);
  83.     PHY_SetObjectVelocity(OtresiObject[ biljka ][ 7 ], 0, 0, 4.0);
  84.     PHY_SetObjectFriction(OtresiObject[ biljka ][ 7 ], 100);
  85.     PHY_SetObjectGravity(OtresiObject[ biljka ][ 7 ], 13.0);
  86.     PHY_SetObjectZBound(OtresiObject[ biljka ][ 7 ], z - 1.0, _, 0.0);
  87.     //
  88.     SendClientMessage( playerid, COLOR_GRAY, "{00C0FF}Otresate vocku, pricekajte kraj postupka.");
  89.     SetTimerEx("Otreseno", 5000, false, "ii", playerid, biljka);
  90.     return 1;
  91. }
  92. forward Otreseno( playerid, vocka );
  93. public Otreseno( playerid, vocka ) {
  94.     if(Otresa[ playerid ] == 0) return 1;
  95.     for(new i; i < 8; i++) {
  96.         if(IsValidObject(OtresiObject[ vocka ][ i ])) DestroyObject( OtresiObject[ vocka ][ i ] );
  97.     }
  98.     SetTimerEx("GotovAnimacija", 450, false, "i", playerid);
  99.     SetTimerEx("GotovPostupak", 6000, false, "ii", playerid, vocka);
  100.     return 1;
  101. }
  102. forward GotovAnimacija( playerid );
  103. public GotovAnimacija( playerid ) {
  104.     if(Otresa[ playerid ] == 0) return 1;
  105.     ApplyAnimation(playerid,"BOMBER","BOM_Plant_Loop", 4.1, 1, 0, 0, 0, 0, 1)
  106.     return 1;
  107. }
  108. forward GotovPostupak( playerid, vocka );
  109. public GotovPostupak( playerid, vocka ) {
  110.     if(Otresa[ playerid ] == 0) return 1;
  111.     for(new i; i < 8; i++) {
  112.         if(IsValidObject(OtresiObject[ vocka ][ i ])) DestroyObject( OtresiObject[ vocka ][ i ] );
  113.     }
  114.     ClearAnimations( playerid );
  115.     new id = vocka;
  116.     switch( BiljkaData[ id ][ b_Tip ] ) {
  117.         case 1: {
  118.             GajbaTip[ playerid ] = 1;
  119.             GajbaKolicina[ playerid ] = randnum;
  120.             format(textstring, sizeof(textstring), "{00c0FF}Sa drveta je palo %d komada sljive, utovarite gajbu na vozilo. {FFFFFF}((/utovarigajbu))", randnum);
  121.             SendClientMessage( playerid, COLOR_GREY, textstring);
  122.             BiljkaData[ id ][ b_Minuti ] = 0, BiljkaData[ id ][ b_Sati ] = 6+random(4);
  123.         }
  124.         case 2: {
  125.             GajbaTip[ playerid ] = 2;
  126.             GajbaKolicina[ playerid ] = randnum;
  127.             format(textstring, sizeof(textstring), "{00c0FF}Sa drveta je palo %d komada kruske, utovarite gajbu na vozilo. {FFFFFF}((/utovarigajbu))", randnum);
  128.             SendClientMessage( playerid, COLOR_GREY, textstring);
  129.             BiljkaData[ id ][ b_Minuti ] = 0, BiljkaData[ id ][ b_Sati ] = 6+random(4);
  130.         }
  131.         case 3: {
  132.             GajbaTip[ playerid ] = 3;
  133.             GajbaKolicina[ playerid ] = randnum;
  134.             format(textstring, sizeof(textstring), "{00c0FF}Sa drveta je palo %d komada jabuke, utovarite gajbu na vozilo. {FFFFFF}((/utovarigajbu))", randnum);
  135.             SendClientMessage( playerid, COLOR_GREY, textstring);
  136.             BiljkaData[ id ][ b_Minuti ] = 0, BiljkaData[ id ][ b_Sati ] = 6+random(4);
  137.         }
  138.     }
  139.     SpremiImanje( fid );
  140.     BiljkaData[ id ][ b_Izrasla ] = 0;
  141.     SpremiBiljku( id );
  142.  
  143.     new string[ 180 ], vrsta[ 10 ];
  144.     if( BiljkaData[ id ][ b_Tip ] == 1 ) { vrsta = "Sljiva"; }
  145.     else if( BiljkaData[ id ][ b_Tip ] == 2 ) { vrsta = "Kruska"; }
  146.     else if( BiljkaData[ id ][ b_Tip ] == 3 ) { vrsta = "Jabuka"; }
  147.  
  148.     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 );
  149.     UpdateDynamic3DTextLabelText( BiljkaData[ id ][ b_Label ], 0xFFFFFFFF, string );
  150.  
  151.     NosiGajbu[ playerid ] = true;
  152.     SetPlayerAttachedObject( playerid, 4, 19636, 1, 0.10, 0.46, -0.01, 0.0, 89.0, 85.0, 1.04, 1.00, 1.00 );
  153.     SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  154.     return 1;
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement