Advertisement
alwinto

photografer

Apr 20th, 2025
1,262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 45.63 KB | None | 0 0
  1. /*
  2.                             *PHOTOGRAPHER JOB*
  3.  
  4.         •   Date creted { date }
  5.         •   Created by: anderson87 { Esad Hrustanovic }
  6.         •   Modified for Balkan Gaming Community
  7.  
  8.                         All rights reserved © 2019                            */
  9.  
  10. // a_samp
  11.  
  12. #include < a_samp >
  13.  
  14. //other inc..
  15.  
  16. #include < YSI\y_ini >
  17. #include < Pawn.CMD >
  18. #include < easyDialog >
  19. #include < streamer >
  20. #include < sscanf2 >
  21. #include < progress2 >
  22. #include < a_actor >
  23.  
  24. #include "map.pwn" //create_object & remove_object
  25.  
  26. //colors
  27.  
  28. #define col_main 0x0B68F4FF
  29. #define col_2 0x7F95F5DB
  30. #define col_4 0x9180FF8E
  31.  
  32. #define COL_MAIN            "{0B68F4}"
  33. #define COL_WHITE           "{FFFFFF}"
  34. #define COL_3               "{7F95F5}"
  35.  
  36. //scripts
  37.  
  38. #define scm SendClientMessage
  39.  
  40. #define error(%0,%1) SendClientMessage(%0, -1, "{800000}ERROR: {FFFFFF}"%1)
  41. #define command(%0,%1) SendClientMessage(%0, -1, "{008080}COMMAND: {FFFFFF} "%1)
  42. #define job(%0,%1) SendClientMessage(%0, -1, "{FF63B0}JOB: {FFFFFF} "%1)
  43.  
  44. #define h_dialogshow Dialog_Show
  45.  
  46. #define odaberi " Odaberi "
  47. #define odustani " Odustani "
  48. #define unesi " Unes i"
  49.  
  50. #define create_style                    "{0B68F4}Balkan Gaming - {FFFFFF}Create"
  51. #define job_style                           "{0B68F4}Photographer - {FFFFFF}Job"
  52.  
  53.  
  54. #define function%0(%1) forward%0(%1); \
  55.                        public%0(%1)
  56.  
  57. #define pressed(%0) \
  58.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  59.  
  60.  
  61. #define KEY_AIM ( 128 )
  62.  
  63. //files
  64.  
  65. #define job_file                                                    "Job/%d.ini"
  66. #define vehicle_file                                        "Job/Vehicle/%d.ini"
  67.  
  68. //max
  69.  
  70. #define max_job                    /*dont dirat :) */                      ( 2 )
  71. #define max_job_vehicle            /*dont dirat :) */                      ( 6 )
  72.  
  73. #define max_string                                                       ( 128 )
  74.  
  75. //enum_job
  76.  
  77. enum job_info {
  78.     Float:jX,
  79.     Float:jY,
  80.     Float:jZ,
  81.     Float:oX,
  82.     Float:oY,
  83.     Float:oZ,
  84.     jKreiran,
  85.     Job_Pickup,
  86.     Oprema_Pickup,
  87.     jSkin,
  88.     jPay,
  89.     jBonus
  90.  
  91. }
  92.  
  93. //enum_vehicle
  94.  
  95. enum vehicle_info {
  96.     veh_id,
  97.     vehicle_id = 589,
  98.     Float:vehicle_X,
  99.     Float:vehicle_Y,
  100.     Float:vehicle_Z,
  101.     Float:vehicle_R
  102. }
  103.  
  104. //variables
  105.  
  106. //enum_variables
  107.  
  108. new Job_Info[ max_job ][ job_info ];
  109. new Vehicle_Info[ max_job_vehicle ][ vehicle_info ];
  110. new Text3D:veh_label[ MAX_PLAYERS ];
  111. new Text3D:job_label[ max_job ];
  112. new job_pickup[ max_job ];
  113. new Text3D:oprema_label[ max_job ];
  114. new oprema_pickup[ max_job ];
  115.  
  116. //player_variables
  117.  
  118. new fotograf[ MAX_PLAYERS ];
  119. new usaovozilo[ MAX_PLAYERS ];
  120. new uzeoopremu[ MAX_PLAYERS ];
  121. new job_cp[ MAX_PLAYERS ];
  122. new slika[ MAX_PLAYERS ];
  123. new edit[ MAX_PLAYERS ];
  124.  
  125. //player_textdraw
  126.  
  127. new PlayerText:job_tde[ MAX_PLAYERS ][ 3 ];
  128. new PlayerBar:job_bar[ MAX_PLAYERS ];
  129.  
  130. //callbacks
  131.  
  132. public OnGameModeInit() {
  133.  
  134.     create_actor();
  135.     // ====================================================================== //
  136.     create_object(); //kreira mapu posla
  137.     // ====================================================================== //
  138.     return 1;
  139. }
  140.  
  141. // ========================================================================== //
  142.  
  143.  
  144. public OnPlayerConnect( playerid ) {
  145.  
  146.     create_pvar( playerid );
  147.     create_job_td( playerid );
  148.     create_bar( playerid );
  149.     // ====================================================================== //
  150.     remove_object( playerid ); //brise nepotrebne objekte
  151.     // ====================================================================== //
  152.     for( new j = 0; j < max_job; j++ ) {
  153.  
  154.         new jFile[ max_string-78 ];
  155.         format( jFile, sizeof( jFile ), job_file, j );
  156.         if( fexist( jFile )) {
  157.  
  158.             INI_ParseFile( jFile, "load_job", .bExtra = true, .extra = j );
  159.             create_job( j ); create_equipment( j );
  160.         }
  161.     }
  162.     // ====================================================================== //
  163.     for( new v = 0; v < max_job_vehicle; v++ ) {
  164.  
  165.         new vFile[ max_string-78 ];
  166.         format( vFile, sizeof( vFile ), vehicle_file, v );
  167.         if( fexist( vFile )) {
  168.  
  169.             INI_ParseFile( vFile, "load_vehicle", .bExtra = true, .extra = v );
  170.             create_vehicle( v );
  171.         }
  172.     }
  173.     // ====================================================================== //
  174.     return ( 1 );
  175. }
  176.  
  177. // ========================================================================== //
  178.  
  179. public OnPlayerKeyStateChange( playerid, newkeys, oldkeys ) {
  180.  
  181.     if(pressed(KEY_YES)) {
  182.  
  183.         if( edit[ playerid ] == 1 ) {
  184.  
  185.             h_dialogshow( playerid, equipment_dialog, DIALOG_STYLE_INPUT, job_style, "Unesite ID job-a za kojeg zelite postaviti mjesto uzimanja opreme", unesi, odustani );
  186.         }
  187.     }
  188.     // ====================================================================== //
  189.     if( slika[ playerid ] == 1 ) {
  190.  
  191.         if(pressed(KEY_AIM | KEY_FIRE)) {
  192.  
  193.             job( playerid, " Fotografisali ste turistu.. Pratite checkpoint na vasem GPS-u za sljedecu lokaciju " );
  194.             slika[ playerid ] = 0;
  195.             SetPlayerCheckpoint( playerid, 720.7773, -1847.0266, 11.8370, 1.5 );
  196.             job_cp[ playerid ] = 2;
  197.             // ============================================================== //
  198.             new string[ max_string-123 ], value = 15; format( string, sizeof( string ), "%d%", value );
  199.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  200.             SetPlayerProgressBarValue( playerid, job_bar[playerid], value );
  201.             PlayerTextDrawShow( playerid, job_tde[ playerid ][ 2 ] );
  202.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  203.             // ============================================================== //
  204.         }
  205.     }
  206.     // ====================================================================== //
  207.     if( slika[ playerid ] == 2 ) {
  208.  
  209.         if(pressed(KEY_AIM | KEY_FIRE)) {
  210.  
  211.             job( playerid, " Fotografisali ste San Andreas modela.. Pratite checkpoint na vasem GPS-u za sljedecu lokaciju " );
  212.             slika[ playerid ] = 0;
  213.             SetPlayerCheckpoint( playerid, 1242.9773, -1831.4207, 13.3990, 1.5 );
  214.             job_cp[ playerid ] = 3;
  215.             // ============================================================== //
  216.             new string[ max_string-123 ], value = 30; format( string, sizeof( string ), "%d%", value );
  217.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  218.             SetPlayerProgressBarValue( playerid, job_bar[ playerid ], value );
  219.             PlayerTextDrawShow( playerid, job_tde[ playerid ][ 2 ] );
  220.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  221.             // ============================================================== //
  222.         }
  223.     }
  224.     // ====================================================================== //
  225.     if( slika[ playerid ] == 3 )
  226.     {
  227.         if(pressed(KEY_AIM | KEY_FIRE))
  228.         {
  229.             job( playerid, " Fotografisali ste Old Timer vehicle.. Pratite checkpoint na vasem GPS-u za sljedecu lokaciju " );
  230.             slika[ playerid ] = 0;
  231.             SetPlayerCheckpoint( playerid, 1196.8201, -2037.0986, 69.0078, 1.5 );
  232.             job_cp[ playerid ] = 4;
  233.             // ============================================================== //
  234.             new string[ max_string-123 ], value = 45; format( string, sizeof( string ), "%d%", value );
  235.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  236.             SetPlayerProgressBarValue( playerid, job_bar[ playerid ], value );
  237.             PlayerTextDrawShow( playerid, job_tde[ playerid ][ 2 ] );
  238.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  239.             // ============================================================== //
  240.         }
  241.     }
  242.     // ====================================================================== //
  243.     if( slika[ playerid ] == 4 ) {
  244.  
  245.         if(pressed(KEY_AIM | KEY_FIRE)) {
  246.  
  247.             job( playerid, " Fotografisali ste White House.. Pratite checkpoint na vasem GPS-u za sljedecu lokaciju " );
  248.             slika[ playerid ] = 0;
  249.             SetPlayerCheckpoint( playerid, 1890.4421, -1161.0269, 24.1184, 1.5 );
  250.             job_cp[ playerid ] = 5;
  251.             // ============================================================== //
  252.             new string[ max_string-123 ], value = 60; format( string, sizeof( string ), "%d%", value );
  253.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  254.             SetPlayerProgressBarValue( playerid, job_bar[ playerid ], value );
  255.             PlayerTextDrawShow( playerid, job_tde[ playerid ][ 2 ] );
  256.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  257.             // ============================================================== //
  258.         }
  259.     }
  260.     // ====================================================================== //
  261.     if( slika[playerid ] == 5 ) {
  262.  
  263.         if(pressed(KEY_AIM | KEY_FIRE)) {
  264.  
  265.             job( playerid, " Fotografisali ste Gleen Park.. Pratite checkpoint na vasem GPS-u za sljedecu lokaciju " );
  266.             slika[ playerid ] = 0;
  267.             SetPlayerCheckpoint( playerid, 1374.7612, -951.0601, 34.1875, 1.5 );
  268.             job_cp[ playerid ] = 6;
  269.             // ============================================================== //
  270.             new string[ max_string-123 ], value = 75; format( string, sizeof( string ), "%d%", value );
  271.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  272.             SetPlayerProgressBarValue( playerid, job_bar[ playerid ], value );
  273.             PlayerTextDrawShow( playerid, job_tde[ playerid ][ 2 ] );
  274.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  275.             // ============================================================== //
  276.         }
  277.     }
  278.     // ====================================================================== //
  279.     if( slika[ playerid ] == 6 ) {
  280.  
  281.         if(pressed(KEY_AIM | KEY_FIRE)) {
  282.  
  283.             job( playerid, " Fotografisali ste Vinewood.. Pratite checkpoint na vasem GPS-u za sljedecu lokaciju " );
  284.             slika[ playerid ] = 0;
  285.             SetPlayerCheckpoint( playerid, 1225.1443,-1697.4547,13.5677, 1.0 );
  286.             job_cp[ playerid ] = 7;
  287.             // ============================================================== //
  288.             new string[ max_string-123 ], value = 95; format( string, sizeof( string ), "%d%", value );
  289.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  290.             SetPlayerProgressBarValue( playerid, job_bar[ playerid ], value );
  291.             PlayerTextDrawShow( playerid, job_tde[ playerid ][ 2 ] );
  292.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  293.             // ============================================================== //
  294.         }
  295.     }
  296.     // ====================================================================== //
  297.     return ( 1 );
  298. }
  299.  
  300. // ========================================================================== //
  301.  
  302. public OnPlayerEnterCheckpoint( playerid ) {
  303.  
  304.     // ====================================================================== //
  305.     if( job_cp[ playerid ] == 1 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  306.  
  307.         if( IsPlayerInRangeOfPoint( playerid, 1.5, 550.0431, -1890.8035, 3.4075 )) {
  308.  
  309.             DisablePlayerCheckpoint( playerid );
  310.             slika[ playerid ] = 1;
  311.             scm( playerid, -1, ""COL_MAIN"(( "COL_WHITE"Stigli ste na odrediste.. Sada slikajte turistu - 'CAPS LOOK & LCRTL' "COL_MAIN"))" );
  312.         }
  313.     }
  314.     // ====================================================================== //
  315.     if( job_cp[ playerid ] == 2 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  316.  
  317.         if( IsPlayerInRangeOfPoint( playerid, 1.5, 720.7773, -1847.0266, 11.8370 )) {
  318.             DisablePlayerCheckpoint( playerid );
  319.             slika[ playerid ] = 2;
  320.             scm( playerid, -1, ""COL_MAIN"(( "COL_WHITE"Stigli ste na odrediste.. Sada slikajte San Andreas modela - 'CAPS LOOK & LCRTL' "COL_MAIN"))" );
  321.         }
  322.     }
  323.     // ====================================================================== //
  324.     if( job_cp[ playerid ] == 3 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  325.  
  326.         if( IsPlayerInRangeOfPoint( playerid, 1.5, 1242.9773, -1831.4207, 13.3990 )) {
  327.  
  328.             DisablePlayerCheckpoint( playerid );
  329.             slika[ playerid ] = 3;
  330.             scm( playerid, -1, ""COL_MAIN"(( "COL_WHITE"Stigli ste na odrediste.. Sada slikajte Old Timer vehicle - 'CAPS LOOK & LCRTL' "COL_MAIN"))" );
  331.         }
  332.     }
  333.     // ====================================================================== //
  334.     if(job_cp[ playerid ] == 4 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  335.  
  336.         if( IsPlayerInRangeOfPoint( playerid, 1.5, 1196.8201, -2037.0986, 69.0078 )) {
  337.  
  338.             DisablePlayerCheckpoint( playerid );
  339.             slika[ playerid ] = 4;
  340.             scm( playerid, -1, ""COL_MAIN"(( "COL_WHITE"Stigli ste na odrediste.. Sada slikajte White House - 'CAPS LOOK & LCRTL' "COL_MAIN"))" );
  341.         }
  342.     }
  343.     // ====================================================================== //
  344.     if( job_cp[ playerid ] == 5 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  345.  
  346.         if( IsPlayerInRangeOfPoint( playerid, 1.5, 1890.4421, -1161.0269, 24.1184 )) {
  347.  
  348.             DisablePlayerCheckpoint( playerid );
  349.             slika[ playerid ] = 5;
  350.             scm( playerid, -1, ""COL_MAIN"(( "COL_WHITE"Stigli ste na odrediste.. Sada slikajte Gleen Park - 'CAPS LOOK & LCRTL' "COL_MAIN"))" );
  351.         }
  352.     }
  353.     // ====================================================================== //
  354.     if(job_cp[ playerid ] == 6 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  355.  
  356.         if( IsPlayerInRangeOfPoint( playerid, 1.5, 1374.7612, -951.0601, 34.1875 )) {
  357.  
  358.             DisablePlayerCheckpoint( playerid );
  359.             slika[ playerid ] = 6;
  360.             scm( playerid, -1, ""COL_MAIN"(( "COL_WHITE"Stigli ste na odrediste.. Sada slikajte Vinewood - 'CAPS LOOK & LCRTL' "COL_MAIN"))" );
  361.         }
  362.     }
  363.     // ====================================================================== //
  364.     if( job_cp[ playerid ] == 7 && GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) {
  365.  
  366.         if( IsPlayerInRangeOfPoint( playerid, 1.0, 1225.1443,-1697.4547,13.5677 )) {
  367.  
  368.             new jfile[ max_string-48 ], hr = ( 1 );
  369.             format( jfile, sizeof( jfile ), job_file, hr );
  370.             DisablePlayerCheckpoint( playerid );
  371.             job( playerid, "Cestitamo. Uspjesno ste odradili posao." );
  372.             new job_string[ max_string-88 ]; format( job_string, sizeof( job_string ), "~r~Good job~n~~w~%d+bonus:%d", Job_Info[ hr ][ jPay ], Job_Info[ hr ][ jBonus ] );
  373.             GameTextForPlayer( playerid, job_string, 8000, 1 );
  374.             job_cp[ playerid ] = 0; slika[ playerid ] = 0; uzeoopremu[ playerid ] = 0;
  375.             ResetPlayerWeapons( playerid );
  376.             GivePlayerMoney( playerid, Job_Info[ hr ][ jPay ]+Job_Info[ hr ][ jBonus ] );
  377.             SetPlayerSkin( playerid, 101 );
  378.             // ============================================================== //
  379.             DestroyPlayerProgressBar( playerid, job_bar[ playerid ] );
  380.             // ============================================================== //
  381.             for( new i = 0; i < 3; i++ ) {
  382.  
  383.                 PlayerTextDrawHide( playerid, job_tde[ playerid ][ i ] );
  384.             }
  385.             // ============================================================== //
  386.         }
  387.     }
  388.     // ====================================================================== //
  389.     return ( 1 );
  390. }
  391.  
  392. //commands
  393.  
  394. cmd:skin(playerid, params[]) {
  395.  
  396.     SetPlayerSkin(playerid, 101);
  397. }
  398.  
  399. cmd:portjob( playerid, params[] ) {
  400.  
  401.     SetPlayerPos( playerid, 1252.0038, -1711.8047, 13.2577 );
  402.     return ( 1 );
  403. }
  404.  
  405. cmd:createjob( playerid, params[] ) {
  406.  
  407.     if( !IsPlayerAdmin( playerid )) return error( playerid, "Morate biti ulogovani kao RCON administrator" ); {
  408.  
  409.         // ================================================================== //
  410.         new job_id = Next_Job(), job_skin, job_pay, Float:pos[ 3 ], job_string[ max_string ];
  411.         // ================================================================== //
  412.         if( job_id < 1 || job_id >= max_job ) return error( playerid, "Vec ste kreirali posao ili ste dostigli limit kreiranja posla." ); {
  413.  
  414.             if( sscanf( params, "ii", job_skin, job_pay )) {
  415.  
  416.                 scm( playerid, -1, "____________________________________________" );
  417.                 scm( playerid, -1, "" );
  418.                 command( playerid, "/createjob { job_skin } { job_pay }" );
  419.                 scm( playerid, -1, "____________________________________________" );
  420.                 return ( 1 );
  421.             }
  422.             // ================================================================== //
  423.             GetPlayerPos( playerid, pos[0], pos[1], pos[2] );
  424.             // ================================================================== //
  425.             Job_Info[ job_id ][ jX ] = pos[ 0 ];
  426.             Job_Info[ job_id ][ jY ] = pos[ 1 ];
  427.             Job_Info[ job_id ][ jZ ] = pos[ 2 ];
  428.             Job_Info[ job_id ][ Job_Pickup ] = 1210;
  429.             Job_Info[ job_id ][ jKreiran ] = 1;
  430.             Job_Info[ job_id ][ jSkin ] = job_skin;
  431.             Job_Info[ job_id ][ jPay ] = job_pay;
  432.             // =============================================================== //
  433.             edit[ playerid ] = 1;
  434.             // ================================================================== //
  435.             create_job( job_id );
  436.             // ================================================================== //
  437.             format( job_string, sizeof( job_string ), ""COL_3"* Uspjesno ste kreirali posao "COL_WHITE"ID: %d"COL_3", sada kreirajte mjesto za uzimanje opreme "COL_WHITE"'Y' "COL_3"*", job_id );
  438.             scm( playerid,  -1, job_string );
  439.             // ================================================================== //
  440.             Save_Job( job_id ); //saving job
  441.             // ================================================================== //
  442.         }
  443.     }
  444.     return ( 1 );
  445. }
  446.  
  447. alias:createjob( "kreirajposao" );
  448.  
  449. // ========================================================================== //
  450.  
  451. cmd:getjob( playerid, params[] ) {
  452.  
  453.     if( fotograf[ playerid ] == 1 ) return error( playerid, "Vec si zaposlen kao fotograf" ); {
  454.  
  455.         // ================================================================== //
  456.         new jFile[ max_string-78 ], hr = ( 1 );
  457.         format( jFile, sizeof( jFile ), job_file, hr ); {
  458.  
  459.             if( !IsPlayerInRangeOfPoint( playerid, 1.5, Job_Info[ hr ][ jX ], Job_Info[ hr ][ jY ], Job_Info[ hr ][ jZ ] )) return error( playerid, "Niste na mjestu za zaposljenje" ); {
  460.                 new dialog_string[ max_string ];
  461.                 format( dialog_string, sizeof( dialog_string ), ""COL_WHITE"\nDa li ste sigurni da se zelite zaposliti kao fotograf?\n"COL_3"Plata: "COL_WHITE"%d$ + bonus", Job_Info[ hr ][ jPay ] );
  462.                 h_dialogshow( playerid, job_menu, DIALOG_STYLE_MSGBOX, job_style, dialog_string, odaberi, odustani );
  463.             }
  464.         }
  465.     }
  466.     return ( 1 );
  467. }
  468.  
  469. alias:getjob( "zaposlise" );
  470.  
  471. // ========================================================================== //
  472.  
  473. cmd:oprema( playerid, params[] ) {
  474.  
  475.     // ====================================================================== //
  476.     new jFile[ max_string-88 ], hr = ( 1 );
  477.     format( jFile, sizeof( jFile ), job_file, hr ); {
  478.  
  479.         if( !IsPlayerInRangeOfPoint( playerid, 1.5, Job_Info[ hr ][ oX ], Job_Info[ hr ][ oY ], Job_Info[ hr ][ oZ ] )) return error( playerid, "Niste na mjestu za uzimanje opreme!" ); {
  480.  
  481.             if( fotograf[ playerid ] == 1 ) {
  482.  
  483.                 // ========================================================== //
  484.                 GivePlayerWeapon( playerid, 43, 15 );
  485.                 // ========================================================== //
  486.                 SetPlayerSkin( playerid, Job_Info[ hr ][ jSkin ] );
  487.                 // ========================================================== //
  488.                 scm( playerid, col_2, "* Uzeli ste opremu ( Canon 70D i potrebne objektive ) .. Sada pokrenite posao komandom /job *" );
  489.                 // ========================================================== //
  490.                 uzeoopremu[ playerid ] = 1;
  491.                 // ========================================================== //
  492.             }
  493.         }
  494.     }
  495.     return ( 1 );
  496. }
  497.  
  498. alias:oprema( "equipment" );
  499.  
  500. // ========================================================================== //
  501.  
  502. cmd:job( playerid, params[] ) {
  503.  
  504.     if( fotograf[ playerid ] != 1 ) return error( playerid, "Niste zaposljeni kao fotograf" ); {
  505.  
  506.         if( uzeoopremu[ playerid ] != 1 ) return error( playerid, "Ne mozes raditi posao dok ne uzmes opremu" ); {
  507.  
  508.             // ============================================================== //
  509.             new string[ max_string-123 ], value = 0; format( string, sizeof( string ), "%d%", value );
  510.             PlayerTextDrawSetString( playerid, job_tde[ playerid ][ 2 ], string );
  511.             SetPlayerProgressBarValue( playerid, job_bar[ playerid ], value );
  512.             ShowPlayerProgressBar( playerid, job_bar[ playerid ] );
  513.             // ============================================================== //
  514.             for( new i = 0; i < 3; i++ ) {
  515.  
  516.                 PlayerTextDrawShow( playerid, job_tde[ playerid ][ i ] );
  517.             }
  518.             // ============================================================== //
  519.             SetPlayerCheckpoint( playerid, 550.0431, -1890.8035, 3.4075, 1.5 );
  520.             job( playerid, "* Pokrenuo si posao. Prati checkpoint na vasem GPS-u *" );
  521.             job_cp[ playerid ]  = 1;
  522.         }
  523.     }
  524.     return ( 1 );
  525. }
  526.  
  527. alias:job( "posao" );
  528.  
  529. // ========================================================================== //
  530.  
  531. cmd:createvehicle( playerid, params[] ) {
  532.  
  533.     if( !IsPlayerAdmin( playerid )) return error( playerid, "Morate biti ulogovani kao RCON administrator" ); {
  534.  
  535.         // ================================================================== //
  536.         new Vehicle_ID = Next_Vehicle(), Float:veh_pos[ 3 ], string[ max_string ];
  537.         // ================================================================== //
  538.         if( Vehicle_ID < 1 || Vehicle_ID >= max_job_vehicle ) return error( playerid, "Dostigli ste limit kreiranja vozila." ); {
  539.  
  540.             // ====================================================== //
  541.             GetPlayerPos( playerid, veh_pos[ 0 ], veh_pos[ 1 ], veh_pos[ 2 ] );
  542.             // ====================================================== //
  543.             Vehicle_Info[ Vehicle_ID ][ vehicle_id ] = vehicle_id;
  544.             Vehicle_Info[ Vehicle_ID ][ vehicle_X ] = veh_pos[ 0 ];
  545.             Vehicle_Info[ Vehicle_ID ][ vehicle_Y ] = veh_pos[ 1 ];
  546.             Vehicle_Info[ Vehicle_ID ][ vehicle_Z ] = veh_pos[ 2 ];
  547.             Vehicle_Info[ Vehicle_ID ][ veh_id ] = Vehicle_ID;
  548.             // ====================================================== //
  549.             Save_Vehicle( Vehicle_ID );
  550.             // ====================================================== //
  551.             create_vehicle( Vehicle_ID );
  552.             // ====================================================== //
  553.             format( string, sizeof( string ), ""COL_3"Uspjesno ste kreirali vozilo "COL_WHITE"ID: %d || VEH_ID: %d "COL_3"za posao fotografa.", Vehicle_ID, vehicle_id ); scm( playerid, -1, string );
  554.             // ====================================================== //
  555.  
  556.         }
  557.     }
  558.     return ( 1 );
  559. }
  560.  
  561. alias:createvehicle( "kreirajvozilo" );
  562.  
  563. // ========================================================================== //
  564.  
  565. cmd:editjob( playerid, params[] ) {
  566.  
  567.     if( !IsPlayerAdmin( playerid )) return error( playerid, "Morate biti ulogovani kao RCON administrator" ); {
  568.  
  569.         h_dialogshow( playerid, job_edit, DIALOG_STYLE_LIST, job_style, "Job_Position\nJob_Pickup\nJob_Skin\nJob_Pay\nJob_Bonus\nOprema_Position\nOprema_Pickup\nVehicle_Park", odaberi, odustani );
  570.     }
  571.     return ( 1 );
  572. }
  573.  
  574. alias:editjob( "editposao" );
  575.  
  576. // ========================================================================== //
  577.  
  578. cmd:delete( playerid, params[] ) {
  579.  
  580.     if( !IsPlayerAdmin( playerid )) return error( playerid, "Morate biti ulogovani kao RCON administrator" ); {
  581.  
  582.         new delete_type, delete_id, dFile[ max_string-68 ], d_string[ max_string-58 ];
  583.         if( sscanf( params, "ii", delete_type, delete_id )) {
  584.  
  585.             scm(  playerid, -1, "_______________________________________________" );
  586.             scm( playerid, -1, "" );
  587.             command( playerid, "/delete { delete_type }, { delete_id }" );
  588.             scm( playerid, -1, "DELETE_TYPE: 1.job - 2.vehicle" );
  589.             scm( playerid, -1, "________________________________________________");
  590.             return ( 1 );
  591.         }
  592.         if( delete_type == 1 ) {
  593.  
  594.             format( dFile, sizeof(dFile), job_file, delete_id ); {
  595.  
  596.                 if( Job_Info[ delete_id ][ jKreiran ] == 1 ) {
  597.  
  598.                     if( !fexist( dFile )) return error( playerid, "ID tog job-aa ne postoji!" ); {
  599.  
  600.                         fremove( dFile );
  601.                         // ================================================== //
  602.                         DestroyDynamicPickup( job_pickup[ delete_id ] ); DestroyDynamicPickup( oprema_pickup[ delete_id ] );
  603.                         // ================================================== //
  604.                         Delete3DTextLabel( job_label[ delete_id ] ); Delete3DTextLabel( oprema_label[ delete_id ] );
  605.                         // ================================================== //
  606.                         format( d_string, sizeof( d_string ), ""COL_3"* Usjesno ste obrisali "COL_WHITE"job_id: %d "COL_3"*", delete_id ); scm( playerid, -1, d_string );
  607.                     }
  608.  
  609.                 }
  610.             }
  611.  
  612.         }
  613.         else if( delete_type == 2) {
  614.  
  615.             format( dFile, sizeof( dFile ), vehicle_file, delete_id ); {
  616.  
  617.                 // ========================================================== //
  618.                 if( !fexist( dFile )) error( playerid, "ID tog vozila ne postoji!" ); {
  619.  
  620.                     fremove( dFile );
  621.                     // ========================================================== //
  622.                     new veeh_id = GetPlayerVehicleID( playerid );
  623.                     // ========================================================== //
  624.                     DestroyVehicle( veeh_id );
  625.                     // ========================================================== //
  626.                     Delete3DTextLabel( veh_label[ delete_id ] );
  627.                     // ========================================================== //
  628.                     format( d_string, sizeof( d_string ), ""COL_3"* Uspjesno ste obrisali "COL_WHITE"vehicle_id %d "COL_3"*", delete_id ); scm( playerid, -1, d_string );
  629.                 }
  630.             }
  631.         }
  632.  
  633.     }
  634.     return ( 1 );
  635. }
  636.  
  637. //stocks
  638.  
  639. stock Next_Job() {
  640.  
  641.     new id = -1;
  642.     for( new loop = ( 0 ), provjera = ( -1 ), Data_[ 64 ] = "\0"; loop != max_job; ++ loop ) {
  643.  
  644.        provjera = ( loop + 1 );
  645.        format( Data_, ( sizeof Data_ ), job_file, provjera );
  646.        if( !fexist( Data_ )) {
  647.  
  648.           id = ( provjera );
  649.           break;
  650.        }
  651.     }
  652.     return id;
  653. }
  654.  
  655. // ========================================================================== //
  656.  
  657. stock Next_Vehicle() {
  658.  
  659.     new id = -1;
  660.     for( new loop = ( 0 ), provjera = ( -1 ), Data_[ 64 ] = "\0"; loop != max_job_vehicle; ++ loop ) {
  661.  
  662.        provjera = ( loop + 1 );
  663.        format( Data_, ( sizeof Data_ ), vehicle_file, provjera );
  664.        if( !fexist( Data_ )) {
  665.  
  666.           id = ( provjera );
  667.           break;
  668.        }
  669.     }
  670.     return id;
  671. }
  672.  
  673. // ========================================================================== //
  674.  
  675. stock Save_Job( job_id ) {
  676.  
  677.     new jFile[ max_string ];
  678.     format( jFile, sizeof( jFile ), job_file, job_id );
  679.     new INI:File = INI_Open( jFile );
  680.     INI_WriteFloat( File,"job_X", Job_Info[ job_id ][ jX ] );
  681.     INI_WriteFloat( File,"job_Y", Job_Info[ job_id ][ jY ] );
  682.     INI_WriteFloat( File,"job_Z", Job_Info[ job_id ][ jZ ] );
  683.     INI_WriteFloat( File,"oprema_X", Job_Info[ job_id ][ oX ] );
  684.     INI_WriteFloat( File,"oprema_Y", Job_Info[ job_id ][ oY ] );
  685.     INI_WriteFloat( File,"oprema_Z", Job_Info[ job_id ][ oZ ] );
  686.     INI_WriteInt( File,"Job_Pickup", Job_Info[ job_id ][ Job_Pickup ] );
  687.     INI_WriteInt( File,"Oprema_Pickup", Job_Info[ job_id ][ Oprema_Pickup ] );
  688.     INI_WriteInt( File,"Pay", Job_Info[ job_id ][ jPay ] );
  689.     INI_WriteInt( File,"Bonus", Job_Info[ job_id ][ jBonus ] );
  690.     INI_WriteInt( File,"Skin", Job_Info[ job_id ][ jSkin ] );
  691.     INI_WriteInt( File,"Kreiran", Job_Info[ job_id ][ jKreiran ] );
  692.     INI_Close( File );
  693.     return ( 1 );
  694. }
  695.  
  696. // ========================================================================== //
  697.  
  698. stock Save_Vehicle( v_id ) {
  699.  
  700.     new vFile[ max_string ];
  701.     format( vFile, sizeof( vFile ), vehicle_file, v_id );
  702.     new INI:File = INI_Open( vFile );
  703.     INI_WriteFloat( File,"vehicle_X", Vehicle_Info[ v_id ][ vehicle_X ] );
  704.     INI_WriteFloat( File,"vehicle_Y", Vehicle_Info[ v_id ][ vehicle_Y ] );
  705.     INI_WriteFloat( File,"vehicle_Z", Vehicle_Info[ v_id ][ vehicle_Z ] );
  706.     INI_WriteFloat( File,"vehicle_R", Vehicle_Info[ v_id ][ vehicle_R ] );
  707.     INI_WriteInt( File,"Vehicle_ID", Vehicle_Info[ v_id ][ vehicle_id ] );
  708.     INI_WriteInt( File,"v_ID", Vehicle_Info[ v_id ][ veh_id ] );
  709.     INI_Close( File );
  710.     return ( 1 );
  711. }
  712.  
  713. // ========================================================================== //
  714.  
  715. stock create_actor() {
  716.  
  717.     // ====================================================================== //
  718.     new actor_id[ 4 ], actor_string[ max_string-78 ], actor_string_2[ max_string-78 ];
  719.     // ====================================================================== //
  720.     actor_id[ 1 ] = CreateDynamicActor( 26, 546.7336, -1896.5516, 2.8872, 310.3488, 1 );
  721.     // ====================================================================== //
  722.     format( actor_string, sizeof( actor_string ), ""COL_3"[ TURIST ]\n"COL_WHITE"HrustanoviK" );
  723.     CreateDynamic3DTextLabel( actor_string, 0x1D9F00AA, 546.7336, -1896.5516, 2.8872+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0, 0, -1 );
  724.     // ====================================================================== //
  725.     actor_id[ 2 ] = CreateDynamicActor( 56, 721.4601, -1855.2256, 11.2961, 323.0295, 1 );
  726.     // ====================================================================== //
  727.     format( actor_string_2, sizeof( actor_string_2 ), ""COL_3"[ MODEL ]\n"COL_WHITE"Michelle_Cannes" );
  728.     CreateDynamic3DTextLabel( actor_string_2, 0x1D9F00AA, 721.4601, -1855.2256, 11.2961+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0, 0, -1 );
  729.     // ====================================================================== //
  730.     actor_id[ 3 ] = CreateDynamicActor( 13, 1226.7090, -1699.7235, 13.5677, 26.9832, 1);
  731.     // ====================================================================== //
  732.     return ( 1 );
  733. }
  734.  
  735. // ========================================================================== //
  736.  
  737. stock create_job( job_id ) {
  738.  
  739.     if( Job_Info[ job_id ][ jKreiran ] == 1 ) {
  740.  
  741.         job_pickup[ job_id ] = CreateDynamicPickup( Job_Info[ job_id ][ Job_Pickup ], 1, Job_Info[ job_id ][ jX ], Job_Info[ job_id ][ jY ], Job_Info[ job_id ][ jZ ], -1 );
  742.         //  ============================================================= //
  743.         new s_label[ max_string ], job_name[ max_string-108 ] = "Photographer job"; format( s_label, sizeof( s_label ), ""COL_3"(( "COL_WHITE"%s "COL_3"))\n\n"COL_WHITE"Da se zaposlite koristite "COL_3"/getjob", job_name );
  744.         job_label[ job_id ] = Create3DTextLabel( s_label, 0x1D9F00AA, Job_Info[ job_id ][ jX ], Job_Info[ job_id ][ jY ], Job_Info[ job_id ][ jZ ], 8.0, 0, 0 );
  745.     }
  746. }
  747.  
  748. // ========================================================================== //
  749.  
  750. stock create_equipment( equipment_id ) {
  751.  
  752.     if( Job_Info[ equipment_id ][ jKreiran ] == 1 ) {
  753.  
  754.         oprema_pickup[ equipment_id ] = CreateDynamicPickup( Job_Info[ equipment_id ][ Oprema_Pickup ], 1, Job_Info[ equipment_id ][ oX ], Job_Info[ equipment_id ][ oY ], Job_Info[ equipment_id ][ oZ ], -1 );
  755.         //  ============================================================= //
  756.         new s_label[ max_string ], job_name[ max_string-108 ] = "Photographer job"; format( s_label, sizeof( s_label ), ""COL_3"(( "COL_WHITE"%s "COL_3"))\n\n"COL_WHITE"Da uzmete opremu koristite "COL_3"/oprema", job_name );
  757.         oprema_label[ equipment_id ] = Create3DTextLabel( s_label, 0x1D9F00AA, Job_Info[ equipment_id ][ oX ], Job_Info[ equipment_id ][ oY ], Job_Info[ equipment_id ][ oZ ], 8.0, 0, 0 );
  758.     }
  759. }
  760.  
  761. // ========================================================================== //
  762.  
  763. stock create_vehicle( v_id ) {
  764.  
  765.     new h_veh = CreateVehicle( Vehicle_Info[ v_id ][ vehicle_id ], Vehicle_Info[ v_id ][ vehicle_X ], Vehicle_Info[ v_id ][ vehicle_Y ], Vehicle_Info[ v_id ][ vehicle_Z ], Vehicle_Info[ v_id ][ vehicle_R ], 0, 0, 2400, 0 );
  766.     // ====================================================== //
  767.     new veh_string[ max_string-58 ]; format( veh_string, sizeof( veh_string ), ""COL_MAIN"(( "COL_WHITE"Photographer vehicle: %d "COL_MAIN"))", Vehicle_Info[ v_id ][ veh_id ] );
  768.     veh_label[ v_id ] = Create3DTextLabel( veh_string, 0x1D9F00AA, 0.0, 0.0, 0.0, 20.0, 0, 0 );
  769.     Attach3DTextLabelToVehicle( veh_label[ v_id ], h_veh, 0.0, 0.0, 0.0 );
  770. }
  771.  
  772. // ========================================================================== //
  773.  
  774. stock create_job_td( playerid ) {
  775.  
  776.     job_tde[ playerid ][ 0 ] = CreatePlayerTextDraw( playerid, 150.380432, 426.350280, "PHOTOGRAPHER_JOB" );
  777.     PlayerTextDrawLetterSize( playerid, job_tde[ playerid ][ 0 ], 0.179001, 0.800000 );
  778.     PlayerTextDrawAlignment( playerid, job_tde[ playerid ][ 0 ], 1 );
  779.     PlayerTextDrawColor( playerid, job_tde[ playerid ][ 0 ], -1 );
  780.     PlayerTextDrawSetShadow( playerid, job_tde[ playerid] [ 0 ], 0 );
  781.     PlayerTextDrawSetOutline( playerid, job_tde[ playerid ][ 0 ], 1 );
  782.     PlayerTextDrawBackgroundColor( playerid, job_tde[ playerid ][ 0 ], 255 );
  783.     PlayerTextDrawFont( playerid, job_tde[playerid][ 0 ], 2) ;
  784.     PlayerTextDrawSetProportional( playerid, job_tde[ playerid ][ 0 ], 1 );
  785.     PlayerTextDrawSetShadow( playerid, job_tde[ playerid ][ 0 ], 0 );
  786.  
  787.     job_tde[ playerid ][ 1 ] = CreatePlayerTextDraw( playerid, 188.162536, 385.416778, "" );
  788.     PlayerTextDrawLetterSize( playerid, job_tde[ playerid ][ 1 ], 0.000000, 0.000000 );
  789.     PlayerTextDrawTextSize( playerid, job_tde[ playerid ][ 1 ], 55.000000, 73.000000 );
  790.     PlayerTextDrawAlignment( playerid, job_tde[ playerid ][ 1 ], 1 );
  791.     PlayerTextDrawColor( playerid, job_tde[ playerid ][ 1 ], -1 );
  792.     PlayerTextDrawSetShadow( playerid, job_tde[ playerid ][ 1 ], 0 );
  793.     PlayerTextDrawSetOutline( playerid, job_tde[ playerid ][ 1 ], 0 );
  794.     PlayerTextDrawBackgroundColor(playerid, job_tde[ playerid ][ 1 ], 0 );
  795.     PlayerTextDrawFont( playerid, job_tde[ playerid ][ 1 ], 5 );
  796.     PlayerTextDrawSetProportional( playerid, job_tde[ playerid ][ 1 ], 0 );
  797.     PlayerTextDrawSetShadow( playerid, job_tde[ playerid ][ 1 ], 0 );
  798.     PlayerTextDrawSetPreviewModel( playerid, job_tde[ playerid ][ 1 ], 367 );
  799.     PlayerTextDrawSetPreviewRot( playerid, job_tde[ playerid ][ 1 ], 0.000000, 0.000000, 50.000000, 1.000000 );
  800.  
  801.     job_tde[ playerid ][ 2 ] = CreatePlayerTextDraw( playerid, 176.149337, 407.000030, "85%" );
  802.     PlayerTextDrawLetterSize( playerid, job_tde[ playerid ][ 2 ], 0.152999, 0.649999 );
  803.     PlayerTextDrawAlignment( playerid, job_tde[ playerid ][ 2 ], 2 );
  804.     PlayerTextDrawColor( playerid, job_tde[ playerid ][ 2 ], -1 );
  805.     PlayerTextDrawSetShadow( playerid, job_tde[ playerid ][ 2 ], 0 );
  806.     PlayerTextDrawSetOutline( playerid, job_tde[ playerid ][ 2 ], 1 );
  807.     PlayerTextDrawBackgroundColor( playerid, job_tde[ playerid ][ 2 ], 255 );
  808.     PlayerTextDrawFont( playerid, job_tde[ playerid ][ 2 ], 1 );
  809.     PlayerTextDrawSetProportional( playerid, job_tde[ playerid ][ 2 ], 1 );
  810.     PlayerTextDrawSetShadow( playerid, job_tde[ playerid ][ 2 ], 0 );
  811.     return ( 1 );
  812. }
  813.  
  814. // ========================================================================== //
  815.  
  816. stock create_bar( playerid ) {
  817.  
  818.     job_bar[ playerid ] = CreatePlayerProgressBar( playerid, 156.000000, 419.000000, 40.000000, 1.700000, 191427839, 100.0000, 0 );
  819.     return ( 1 );
  820. }
  821.  
  822. // ========================================================================== //
  823.  
  824. stock create_pvar( playerid ) {
  825.  
  826.     fotograf[ playerid ] = 0;
  827.     slika[ playerid ] = 0;
  828.     usaovozilo[ playerid ] = -1;
  829.     uzeoopremu[ playerid ] = 0;
  830.     job_cp[ playerid ] = 0;
  831.     edit[ playerid ] = 0;
  832.  
  833. }
  834.  
  835. //function
  836.  
  837. function load_job( job_id, name[], value[] ) {
  838.  
  839.     INI_Float( "job_X", Job_Info[ job_id ][ jX ] );
  840.     INI_Float( "job_Y", Job_Info[ job_id ][ jY ] );
  841.     INI_Float( "job_Z", Job_Info[ job_id ][ jZ ] );
  842.     INI_Int( "Job_Pickup", Job_Info[ job_id ][ Job_Pickup ] );
  843.     INI_Float( "oprema_X", Job_Info[ job_id ][ oX ] );
  844.     INI_Float( "oprema_Y", Job_Info[ job_id ][ oY ] );
  845.     INI_Float( "oprema_Z", Job_Info[ job_id ][ oZ ] );
  846.     INI_Int( "Oprema_Pickup", Job_Info[ job_id ][ Oprema_Pickup ] );
  847.     INI_Int( "Kreiran", Job_Info[ job_id ][ jKreiran ] );
  848.     INI_Int( "Pay", Job_Info[ job_id ][ jPay ] );
  849.     INI_Int( "Bonus", Job_Info[ job_id ][ jBonus ] );
  850.     INI_Int( "Skin", Job_Info[ job_id ][ jSkin ] );
  851.     return ( 1 );
  852. }
  853.  
  854. // ========================================================================== //
  855.  
  856. function load_vehicle( v_id, name[], value[] ) {
  857.  
  858.     INI_Float( "vehicle_X", Vehicle_Info[ v_id ][ vehicle_X ] );
  859.     INI_Float( "vehicle_Y", Vehicle_Info[ v_id ][ vehicle_Y]  );
  860.     INI_Float( "vehicle_Z", Vehicle_Info[ v_id ][ vehicle_Z ] );
  861.     INI_Float( "vehicle_R", Vehicle_Info[ v_id ][ vehicle_R ] );
  862.     INI_Int( "Vehicle_ID", Vehicle_Info[ v_id ][ vehicle_id ] );
  863.     INI_Int( "v_ID", Vehicle_Info[ v_id ][ veh_id ] );
  864.     return ( 1 );
  865. }
  866.  
  867. //dialogs
  868.  
  869. Dialog:equipment_dialog( playerid, response, listitem, inputtext[] ) {
  870.  
  871.     if( response ) {
  872.  
  873.         new efile[ max_string ], job_id, Float:pos[ 3 ];
  874.         // ================================================================== //
  875.         if( strfind( inputtext, "%", true) != -1 ) return error( playerid, "Koristite samo brojeve!" ); {
  876.  
  877.             if( sscanf( inputtext, "i", job_id )) return h_dialogshow( playerid, equipment_dialog, DIALOG_STYLE_INPUT, job_style, "Unesite ID job-a za kojeg zelite postaviti mjesto uzimanja opreme", unesi, odustani );
  878.             // ================================================================== //
  879.             format( efile, sizeof( efile ), job_file, job_id );
  880.             if( !fexist( efile )) return error( playerid, "ID tog job-a ne postoji" ); {
  881.  
  882.                 // ================================================================== //
  883.                 GetPlayerPos( playerid, pos[0], pos[1], pos[2] );
  884.                 // ================================================================== //
  885.                 Job_Info[ job_id ][ oX ] = pos[ 0 ];
  886.                 Job_Info[ job_id ][ oY ] = pos[ 1 ];
  887.                 Job_Info[ job_id ][ oZ ] = pos[ 2 ];
  888.                 Job_Info[ job_id ][ Oprema_Pickup ] = 1275;
  889.                 edit[ playerid ] = 0;
  890.                 // ================================================================== //
  891.                 create_equipment( job_id );
  892.                 // ================================================================== //
  893.                 scm( playerid, col_2, "* Uspjesno ste kreirali posao fotografa. Sada mozete koristiti dole navedene komande *" );
  894.                 command( playerid, "{ getjob }, { job }, { equipment }" );
  895.                 // ================================================================== //
  896.                 Save_Job( job_id ); //saving job
  897.             }
  898.         }
  899.     }
  900.     return ( 1 );
  901. }
  902.  
  903. // ========================================================================== //
  904.  
  905. Dialog:job_menu( playerid, response, listitem, inputtext[] ) {
  906.  
  907.         if( response ) {
  908.             // ================================================================== //
  909.             scm( playerid, col_2, "* Uspjesno ste se zaposlili kao fotograf. Srecno u daljem radu * " );
  910.             command( playerid, "{ job }, { equipment }" );
  911.             // ================================================================== //
  912.             fotograf[ playerid ] = 1;
  913.             // ================================================================== //
  914.         }
  915.         return ( 1 );
  916. }
  917.  
  918. // ========================================================================== //
  919.  
  920. Dialog:job_edit( playerid, response, listitem, inputtext[] ) {
  921.  
  922.     if( response ) {
  923.  
  924.         new jFile[ max_string-78 ], andr8 = ( 1 );
  925.         format( jFile, sizeof( jFile ), job_file, andr8 );
  926.         switch( listitem ) {
  927.  
  928.             case 0: {
  929.  
  930.                 new Float:pos[ 3 ];
  931.                 GetPlayerPos( playerid, pos[ 0 ], pos[ 1 ], pos[ 2 ] );
  932.                 Job_Info[ andr8 ][ jX ] = pos[ 0 ];
  933.                 Job_Info[ andr8 ][ jY ] = pos[ 1 ];
  934.                 Job_Info[ andr8 ][ jZ ] = pos[ 2 ];
  935.                 Delete3DTextLabel( job_label[ andr8 ] );
  936.                 DestroyDynamicPickup( job_pickup[ andr8 ] );
  937.                 Save_Job( andr8 ); create_job( andr8 );
  938.                 scm( playerid, col_2, "* Uspjesno promjenjena pozicija posla *" );
  939.  
  940.             }
  941.             case 1: {
  942.  
  943.                 h_dialogshow( playerid, job_pickup, DIALOG_STYLE_INPUT, job_style, "Unesite novi PickupID za postavljanje posla", unesi, odustani );
  944.             }
  945.             case 2: {
  946.  
  947.                 h_dialogshow( playerid, job_skin, DIALOG_STYLE_INPUT, job_style, "Unesite novi SkinID za postavljanje posla", unesi, odustani );
  948.             }
  949.             case 3: {
  950.  
  951.                 h_dialogshow( playerid, job_pay, DIALOG_STYLE_INPUT, job_style, "Unesite sumu novca za placu da postavite posao", unesi, odustani );
  952.             }
  953.             case 4: {
  954.  
  955.                 h_dialogshow( playerid, job_bonus, DIALOG_STYLE_INPUT, job_style, "Unesite sumu novca za bonus da postavite posao", unesi, odustani );
  956.             }
  957.             case 5: {
  958.  
  959.                 new Float:pos[ 3 ];
  960.                 GetPlayerPos( playerid, pos[ 0 ], pos[ 1 ], pos[ 2 ] );
  961.                 Job_Info[ andr8 ][ oX ] = pos[ 0 ];
  962.                 Job_Info[ andr8 ][ oY ] = pos[ 1 ];
  963.                 Job_Info[ andr8 ][ oZ ] = pos[ 2 ];
  964.                 Delete3DTextLabel( oprema_label[ andr8 ] );
  965.                 DestroyDynamicPickup( oprema_pickup[ andr8 ] );
  966.                 Save_Job( andr8 ); create_equipment( andr8 );
  967.                 scm( playerid, col_2, "* Uspjesno ste promjenili poziciju za uzimanje opreme *" );
  968.             }
  969.             case 6: {
  970.  
  971.                 h_dialogshow( playerid, oprema_pickup, DIALOG_STYLE_INPUT, job_style, "Unesite ID pickupa kojeg zelite kreirati za uzimanje opreme", unesi, odustani );
  972.             }
  973.             case 7: {
  974.  
  975.                  h_dialogshow( playerid, vehicle_park, DIALOG_STYLE_INPUT, job_style, "Unesite ID vozila kojeg zelite parkirat", unesi, odustani );
  976.             }
  977.         }
  978.     }
  979.     return ( 1 );
  980. }
  981.  
  982. // ========================================================================== //
  983.  
  984. Dialog:job_pickup( playerid, response, listitem, inputtext[] ) {
  985.  
  986.     if( response ) {
  987.         new jFile[ max_string-28 ], j_pickup, ehr = ( 1 );
  988.         format( jFile, sizeof( jFile ), job_file,  ehr );
  989.         if( sscanf( inputtext, "i", j_pickup )) return h_dialogshow( playerid, job_pickup, DIALOG_STYLE_INPUT, job_style, "Unesite novi PickupID za postavljanje posla", unesi, odustani ); {
  990.             Job_Info[ ehr ][ Job_Pickup ] = j_pickup;
  991.             new e_str[ max_string-48 ]; format( e_str, sizeof( e_str ), ""COL_3"* Uspjesno ste promjenuli Job_Pickup ID u "COL_WHITE"Pickup_ID: %d "COL_3"*", j_pickup );
  992.             scm( playerid, -1, e_str ); Save_Job( ehr ); create_job( ehr );
  993.         }
  994.     }
  995.     return ( 1 );
  996. }
  997.  
  998. Dialog:job_skin( playerid, response, listitem, inputtext[] ) {
  999.  
  1000.     if( response ) {
  1001.  
  1002.         new jFile[ max_string-28 ], job_skin, ehr = ( 1 );
  1003.         format( jFile, sizeof( jFile ), job_file,  ehr );
  1004.         if( sscanf( inputtext, "i", job_skin )) return h_dialogshow( playerid, job_skin, DIALOG_STYLE_INPUT, job_style, "Unesite novi SkinID za postavljanje posla", unesi, odustani ); {
  1005.  
  1006.             Job_Info[ ehr ][ jSkin ] = job_skin;
  1007.             new e_str[ max_string-48 ]; format( e_str, sizeof( e_str ), ""COL_3"* Uspjesno ste promjenuli Skin_ID u "COL_WHITE"Skin_ID: %d "COL_3"*", job_skin );
  1008.             scm( playerid, -1, e_str ); Save_Job( ehr );
  1009.         }
  1010.     }
  1011.     return ( 1 );
  1012. }
  1013.  
  1014. // ========================================================================== //
  1015.  
  1016. Dialog:job_pay( playerid, response, listitem, inputtext[] ) {
  1017.  
  1018.     if( response ) {
  1019.  
  1020.         new jFile[ max_string-28 ], job_pay, ehr = ( 1 );
  1021.         format( jFile, sizeof( jFile ), job_file,  ehr );
  1022.         if( sscanf( inputtext, "i", job_pay )) return h_dialogshow( playerid, job_pay, DIALOG_STYLE_INPUT, job_style, "Unesite sumu novca za placu da postavite posao", unesi, odustani ); {
  1023.  
  1024.             Job_Info[ ehr ][ jPay ] = job_pay;
  1025.             new e_str[ max_string-48 ]; format( e_str, sizeof( e_str ), ""COL_3"* Uspjesno ste promjenuli pocetnu platu posla "COL_WHITE"Pay: %d$ "COL_3"*", job_pay );
  1026.             scm( playerid, -1, e_str ); Save_Job( ehr );
  1027.         }
  1028.     }
  1029.     return ( 1 );
  1030. }
  1031.  
  1032. // ========================================================================== //
  1033.  
  1034. Dialog:job_bonus( playerid, response, listitem, inputtext[] ) {
  1035.  
  1036.     if( response ) {
  1037.  
  1038.         new jFile[ 80 ], job_bonus, ehr = ( 1 );
  1039.         format( jFile, sizeof( jFile ), job_file,  ehr );
  1040.         if( sscanf( inputtext, "i", job_bonus )) return h_dialogshow( playerid, job_pay, DIALOG_STYLE_INPUT, job_style, "Unesite sumu novca za placu da postavite posao", unesi, odustani ); {
  1041.  
  1042.             Job_Info[ ehr ][ jBonus ] = job_bonus;
  1043.             new e_str[ 80 ]; format( e_str, sizeof( e_str ), ""COL_3"* Uspjesno ste promjenuli bonus posla "COL_WHITE"Bonus: %d$ "COL_3"*", job_bonus );
  1044.             scm( playerid, -1, e_str ); Save_Job( ehr );
  1045.         }
  1046.     }
  1047.     return ( 1 );
  1048. }
  1049.  
  1050. // ========================================================================== //
  1051.  
  1052. Dialog:oprema_pickup( playerid, response, listitem, inputtext[] ) {
  1053.  
  1054.     if( response ) {
  1055.  
  1056.         new jFile[ max_string-28 ], oprem_pickup, ehr = ( 1 );
  1057.         format( jFile, sizeof( jFile ), job_file,  ehr );
  1058.         if( sscanf( inputtext, "i", oprem_pickup )) return h_dialogshow( playerid, oprema_pickup, DIALOG_STYLE_INPUT, job_style, "Unesite Pickup_ID opreme za postavljanje posla", unesi, odustani ); {
  1059.  
  1060.             Job_Info[ ehr ][ Oprema_Pickup ] = oprem_pickup;
  1061.             new e_str[ max_string-48 ]; format( e_str, sizeof( e_str ), ""COL_3"* Uspjesno ste promjenuli Oprema_Pickup ID u "COL_WHITE"Pickup_ID: %d "COL_3"*", oprem_pickup );
  1062.             scm(playerid, -1, e_str); Save_Job( ehr ); create_equipment( ehr );
  1063.         }
  1064.     }
  1065.     return ( 1 );
  1066. }
  1067.  
  1068. // ========================================================================== //
  1069.  
  1070. Dialog:vehicle_park( playerid, response, listitem, inputtext[] ) {
  1071.  
  1072.     if( response ) {
  1073.  
  1074.         new i, Float:pos[ 4 ], vFile[ max_string-48 ];
  1075.         if( sscanf( inputtext, "i", i )) return h_dialogshow( playerid, vehicle_id, DIALOG_STYLE_INPUT, job_style, "Unesite ID vozila za posao", unesi, odustani ); {
  1076.  
  1077.             format( vFile, sizeof( vFile ), vehicle_file, i );
  1078.             if( !fexist( vFile )) return error( playerid, "ID tog rent vozila ne postoji!" );
  1079.             new v_id = GetPlayerVehicleID( playerid );
  1080.             GetVehicleZAngle( v_id, pos[ 3 ] );
  1081.             GetVehiclePos( v_id, pos[ 0 ], pos[ 1 ], pos[ 2 ] );
  1082.             Vehicle_Info[ i ][ vehicle_X ] = pos[ 0 ];
  1083.             Vehicle_Info[ i ][ vehicle_Y ] = pos[ 1 ];
  1084.             Vehicle_Info[ i ][ vehicle_Z ] = pos[ 2 ];
  1085.             Vehicle_Info[ i ][ vehicle_R ] = pos[ 3 ];
  1086.             DestroyVehicle( v_id );
  1087.             new e_str[ max_string-48 ]; format( e_str, sizeof( e_str ), ""COL_3"* Uspjesno ste parkirali "COL_WHITE"Vehicle_ID: %d "COL_3"*", Vehicle_Info[ i ][ veh_id ] );
  1088.             scm( playerid, -1, e_str ); Save_Vehicle( i ); create_vehicle( i );
  1089.         }
  1090.     }
  1091.     return ( 1 );
  1092. }
  1093.  
  1094. // ========================================================================== //
  1095.  
  1096. /*comment:
  1097.  
  1098.     dodati provjere da se samo brojevi mogu pisati u dialog
  1099.  
  1100. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement