Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2019
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.00 KB | None | 0 0
  1. #if defined XScript2k19
  2. DINAMICNO KREIRANJE FONTANA
  3. IZRADIO: XALAZY SCRIPT
  4. VREME IZRADE: OKO POLA SATA
  5. CREDITS: //
  6. LINIJA: 175
  7. //XScript2k19
  8. #endif
  9. //================================[ INCLUDE ]=================================//
  10. #include < a_samp >
  11. #include < YSI\y_ini >
  12. #include < Pawn.CMD >
  13. #include < sscanf2 >
  14. //=================================[ DEFINE ]=================================//
  15. #define MAX_FONTANA 50
  16. #define FontaneFile "/Fontane/Fontana_%d.ini"
  17. #undef MAX_PLAYERS
  18. #define MAX_PLAYERS 50 //edit
  19. #define SCM SendClientMessage
  20. //============================================================================//
  21. enum fInfo {
  22.  
  23. Float:PosX,
  24. Float:PosY,
  25. Float:PosZ,
  26. Float:RotX,
  27. Float:RotY,
  28. Float:RotZ,
  29. fVrsta
  30. }
  31. enum { dialog_KREIRAJFONTANU }
  32. //============================================================================//
  33. new FontanaInfo[ MAX_FONTANA ][ fInfo ], Fontana_object[ sizeof(FontanaInfo) ],
  34. Text3D:FontanaLabel[ sizeof(FontanaInfo) ], KreiraFontanu[ MAX_PLAYERS ];
  35. //============================================================================//
  36. forward UcitajFontane(id, name[], value[]);
  37. public UcitajFontane(id, name[], value[]) {
  38.  
  39. INI_Float("X", FontanaInfo[ id ][ PosX ]);
  40. INI_Float("Y", FontanaInfo[ id ][ PosY ]);
  41. INI_Float("Z", FontanaInfo[ id ][ PosZ ]);
  42. INI_Float("X", FontanaInfo[ id ][ RotX ]);
  43. INI_Float("Y", FontanaInfo[ id ][ RotY ]);
  44. INI_Float("Z", FontanaInfo[ id ][ RotZ ]);
  45. INI_Int("vrsta", FontanaInfo[ id ][ fVrsta ]);
  46. return true;
  47. }
  48. //============================================================================//
  49. stock next_Fontana_ID(const len) {
  50. new Fontana_ID = (-1);
  51. for( new loop = ( 0 ), store_check = ( -1 ), Data_[ 64 ] = "\0"; loop != len; ++ loop ) {
  52. store_check = ( loop+1 );
  53. format( Data_, ( sizeof Data_ ), FontaneFile, store_check );
  54. if(!fexist(Data_)) {
  55. Fontana_ID = ( store_check );
  56. break;
  57. }
  58. }
  59. return ( Fontana_ID );
  60. }
  61. //============================================================================//
  62. stock SacuvajFontane(id) {
  63.  
  64. new Fontana_File[ 60 ];
  65. format(Fontana_File, sizeof(Fontana_File), FontaneFile, id);
  66. new INI:File = INI_Open(Fontana_File);
  67. INI_WriteFloat( File, "X", FontanaInfo[ id ][ PosX ]);
  68. INI_WriteFloat( File, "Y", FontanaInfo[ id ][ PosY ]);
  69. INI_WriteFloat( File, "Z", FontanaInfo[ id ][ PosZ ]);
  70. INI_WriteFloat( File, "X", FontanaInfo[ id ][ RotX ]);
  71. INI_WriteFloat( File, "Y", FontanaInfo[ id ][ RotY ]);
  72. INI_WriteFloat( File, "Z", FontanaInfo[ id ][ RotZ ]);
  73. INI_WriteInt( File, "vrsta", FontanaInfo[ id ][ fVrsta ]);
  74. INI_Close(File);
  75. }
  76. //============================================================================//
  77. main () {
  78. print("//========================[ FONTANE ]========================//" );
  79. print(" FILTERSKRIPTA BY XALAZY SCRIPT" );
  80. print(" #XScript2k19" );
  81. print("//========================[ FONTANE ]========================//" );
  82. }
  83. public OnFilterScriptInit() {
  84. for(new i; i < MAX_FONTANA; i++) {
  85. new fFilee[ 50 ];
  86. format(fFilee, sizeof(FontanaInfo), FontaneFile, i);
  87. if(fexist(fFilee)) {
  88. INI_ParseFile(fFilee, "UcitajFontane", .bExtra = true, .extra = i);
  89. if( FontanaInfo[ i ][ fVrsta ] == 1 ) {
  90. Fontana_object[ i ] = CreateObject( 9833 , FontanaInfo[ i ][ PosX ], FontanaInfo[ i ][ PosY ], FontanaInfo[ i ][ PosZ ], FontanaInfo[ i ][ RotX ], FontanaInfo[ i ][ RotY ], FontanaInfo[ i ][ RotZ ], 300.0 );
  91. }
  92. else if( FontanaInfo[ i ][ fVrsta ] == 2 ) {
  93. Fontana_object[ i ] = CreateObject( 3515 , FontanaInfo[ i ][ PosX ], FontanaInfo[ i ][ PosY ], FontanaInfo[ i ][ PosZ ], FontanaInfo[ i ][ RotX ], FontanaInfo[ i ][ RotY ], FontanaInfo[ i ][ RotZ ], 300.0 );
  94. }
  95. else if( FontanaInfo[ i ][ fVrsta ] == 3 ) {
  96. Fontana_object[ i ] = CreateObject( 6965 , FontanaInfo[ i ][ PosX ], FontanaInfo[ i ][ PosY ], FontanaInfo[ i ][ PosZ ], FontanaInfo[ i ][ RotX ], FontanaInfo[ i ][ RotY ], FontanaInfo[ i ][ RotZ ], 300.0 );
  97. }
  98. FontanaLabel[ i ] = Create3DTextLabel( "{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0xFFFFFFFF, FontanaInfo[ i ][ PosX ], FontanaInfo[ i ][ PosY ], FontanaInfo[ i ][ PosZ ], 10.0, 0, 0 );
  99. }
  100. }
  101. return true;
  102. }
  103. public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] ) {
  104. if( dialogid == dialog_KREIRAJFONTANU ) {
  105. if( !response ) return true;
  106. new Float:X,Float:Y,Float:Z, vrsta, i = next_Fontana_ID( MAX_FONTANA );
  107. if( sscanf( inputtext, "i", vrsta )) {
  108. ShowPlayerDialog( playerid, dialog_KREIRAJFONTANU, DIALOG_STYLE_INPUT, "{0070D0}Kreiranje Fontane - {FFFFFF}Kreiraj Fontanu",
  109. "{0070D0}- {FFFFFF}U prazno polje ispod unesite vrstu fontane. (Vrste: 1, 2, 3)", "{0070D0}Potvrdi", "Izlaz" );
  110. }
  111. GetPlayerPos(playerid, X,Y,Z);
  112. FontanaInfo[ i ][ fVrsta ] = vrsta;
  113. if( vrsta == 1 ) {
  114. Fontana_object[ i ] = CreateObject(9833, X,Y,Z, 0.0,0.0,0.0, 300.0);
  115. EditObject(playerid, Fontana_object[ i ]);
  116. KreiraFontanu[ playerid ] = i;
  117. SendClientMessage(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Uspesno ste poceli kreiranje fontane.");
  118. }
  119. else if( vrsta == 2 ) {
  120. Fontana_object[ i ] = CreateObject(3515, X,Y,Z, 0.0,0.0,0.0, 300.0);
  121. EditObject(playerid, Fontana_object[ i ]);
  122. KreiraFontanu[ playerid ] = i;
  123. SendClientMessage(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Uspesno ste poceli kreiranje fontane.");
  124. }
  125. else if( vrsta == 3 ) {
  126. Fontana_object[ i ] = CreateObject(6965, X,Y,Z, 0.0,0.0,0.0, 300.0);
  127. EditObject(playerid, Fontana_object[ i ]);
  128. KreiraFontanu[ playerid ] = i;
  129. SendClientMessage(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Uspesno ste poceli kreiranje fontane.");
  130. }
  131. }
  132. return true;
  133. }
  134. public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ) {
  135.  
  136. if(response == EDIT_RESPONSE_FINAL) {
  137. if(KreiraFontanu[ playerid ] != 0) {
  138. FontanaInfo[ KreiraFontanu[ playerid ] ][ PosX ] = fX;
  139. FontanaInfo[ KreiraFontanu[ playerid ] ][ PosY ] = fY;
  140. FontanaInfo[ KreiraFontanu[ playerid ] ][ PosZ ] = fZ;
  141. FontanaInfo[ KreiraFontanu[ playerid ] ][ RotX ] = fRotX;
  142. FontanaInfo[ KreiraFontanu[ playerid ] ][ RotY ] = fRotY;
  143. FontanaInfo[ KreiraFontanu[ playerid ] ][ RotZ ] = fRotZ;
  144. if( FontanaInfo[ KreiraFontanu[ playerid ] ][ fVrsta ] == 1 ) {
  145. DestroyObject(Fontana_object[ KreiraFontanu[ playerid ] ]);
  146. Fontana_object[ KreiraFontanu[ playerid ] ] = CreateObject(9833, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
  147. FontanaLabel[ KreiraFontanu[ playerid ] ] = Create3DTextLabel("{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
  148. SacuvajFontane(KreiraFontanu[ playerid ]);
  149. SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Zavrsili ste kreiranje fontane.");
  150. }
  151. else if( FontanaInfo[ KreiraFontanu[ playerid ] ][ fVrsta ] == 2 ) {
  152. DestroyObject(Fontana_object[ KreiraFontanu[ playerid ] ]);
  153. Fontana_object[ KreiraFontanu[ playerid ] ] = CreateObject(3515, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
  154. FontanaLabel[ KreiraFontanu[ playerid ] ] = Create3DTextLabel("{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
  155. SacuvajFontane(KreiraFontanu[ playerid ]);
  156. SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Zavrsili ste kreiranje fontane.");
  157. }
  158. else if( FontanaInfo[ KreiraFontanu[ playerid ] ][ fVrsta ] == 3 ) {
  159. DestroyObject(Fontana_object[ KreiraFontanu[ playerid ] ]);
  160. Fontana_object[ KreiraFontanu[ playerid ] ] = CreateObject(6965, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
  161. FontanaLabel[ KreiraFontanu[ playerid ] ] = Create3DTextLabel("{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
  162. SacuvajFontane(KreiraFontanu[ playerid ]);
  163. SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Zavrsili ste kreiranje fontane.");
  164. }
  165.  
  166. }
  167. }
  168. return true;
  169. }
  170. CMD:kreirajfontanu( playerid, params[] ) {
  171. if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Morate se ulogovati na rcon.");
  172. ShowPlayerDialog( playerid, dialog_KREIRAJFONTANU, DIALOG_STYLE_INPUT, "{0070D0}Kreiranje Fontane - {FFFFFF}Kreiraj Fontanu",
  173. "{0070D0}- {FFFFFF}U prazno polje ispod unesite vrstu fontane. (Vrste: 1, 2, 3)", "{0070D0}Potvrdi", "Izlaz" );
  174. return true;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement