Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if defined XScript2k19
- DINAMICNO KREIRANJE FONTANA
- IZRADIO: XALAZY SCRIPT
- VREME IZRADE: OKO POLA SATA
- CREDITS: //
- LINIJA: 175
- //XScript2k19
- #endif
- //================================[ INCLUDE ]=================================//
- #include < a_samp >
- #include < YSI\y_ini >
- #include < Pawn.CMD >
- #include < sscanf2 >
- //=================================[ DEFINE ]=================================//
- #define MAX_FONTANA 50
- #define FontaneFile "/Fontane/Fontana_%d.ini"
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 50 //edit
- #define SCM SendClientMessage
- //============================================================================//
- enum fInfo {
- Float:PosX,
- Float:PosY,
- Float:PosZ,
- Float:RotX,
- Float:RotY,
- Float:RotZ,
- fVrsta
- }
- enum { dialog_KREIRAJFONTANU }
- //============================================================================//
- new FontanaInfo[ MAX_FONTANA ][ fInfo ], Fontana_object[ sizeof(FontanaInfo) ],
- Text3D:FontanaLabel[ sizeof(FontanaInfo) ], KreiraFontanu[ MAX_PLAYERS ];
- //============================================================================//
- forward UcitajFontane(id, name[], value[]);
- public UcitajFontane(id, name[], value[]) {
- INI_Float("X", FontanaInfo[ id ][ PosX ]);
- INI_Float("Y", FontanaInfo[ id ][ PosY ]);
- INI_Float("Z", FontanaInfo[ id ][ PosZ ]);
- INI_Float("X", FontanaInfo[ id ][ RotX ]);
- INI_Float("Y", FontanaInfo[ id ][ RotY ]);
- INI_Float("Z", FontanaInfo[ id ][ RotZ ]);
- INI_Int("vrsta", FontanaInfo[ id ][ fVrsta ]);
- return true;
- }
- //============================================================================//
- stock next_Fontana_ID(const len) {
- new Fontana_ID = (-1);
- for( new loop = ( 0 ), store_check = ( -1 ), Data_[ 64 ] = "\0"; loop != len; ++ loop ) {
- store_check = ( loop+1 );
- format( Data_, ( sizeof Data_ ), FontaneFile, store_check );
- if(!fexist(Data_)) {
- Fontana_ID = ( store_check );
- break;
- }
- }
- return ( Fontana_ID );
- }
- //============================================================================//
- stock SacuvajFontane(id) {
- new Fontana_File[ 60 ];
- format(Fontana_File, sizeof(Fontana_File), FontaneFile, id);
- new INI:File = INI_Open(Fontana_File);
- INI_WriteFloat( File, "X", FontanaInfo[ id ][ PosX ]);
- INI_WriteFloat( File, "Y", FontanaInfo[ id ][ PosY ]);
- INI_WriteFloat( File, "Z", FontanaInfo[ id ][ PosZ ]);
- INI_WriteFloat( File, "X", FontanaInfo[ id ][ RotX ]);
- INI_WriteFloat( File, "Y", FontanaInfo[ id ][ RotY ]);
- INI_WriteFloat( File, "Z", FontanaInfo[ id ][ RotZ ]);
- INI_WriteInt( File, "vrsta", FontanaInfo[ id ][ fVrsta ]);
- INI_Close(File);
- }
- //============================================================================//
- main () {
- print("//========================[ FONTANE ]========================//" );
- print(" FILTERSKRIPTA BY XALAZY SCRIPT" );
- print(" #XScript2k19" );
- print("//========================[ FONTANE ]========================//" );
- }
- public OnFilterScriptInit() {
- for(new i; i < MAX_FONTANA; i++) {
- new fFilee[ 50 ];
- format(fFilee, sizeof(FontanaInfo), FontaneFile, i);
- if(fexist(fFilee)) {
- INI_ParseFile(fFilee, "UcitajFontane", .bExtra = true, .extra = i);
- if( FontanaInfo[ i ][ fVrsta ] == 1 ) {
- 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 );
- }
- else if( FontanaInfo[ i ][ fVrsta ] == 2 ) {
- 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 );
- }
- else if( FontanaInfo[ i ][ fVrsta ] == 3 ) {
- 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 );
- }
- 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 );
- }
- }
- return true;
- }
- public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] ) {
- if( dialogid == dialog_KREIRAJFONTANU ) {
- if( !response ) return true;
- new Float:X,Float:Y,Float:Z, vrsta, i = next_Fontana_ID( MAX_FONTANA );
- if( sscanf( inputtext, "i", vrsta )) {
- ShowPlayerDialog( playerid, dialog_KREIRAJFONTANU, DIALOG_STYLE_INPUT, "{0070D0}Kreiranje Fontane - {FFFFFF}Kreiraj Fontanu",
- "{0070D0}- {FFFFFF}U prazno polje ispod unesite vrstu fontane. (Vrste: 1, 2, 3)", "{0070D0}Potvrdi", "Izlaz" );
- }
- GetPlayerPos(playerid, X,Y,Z);
- FontanaInfo[ i ][ fVrsta ] = vrsta;
- if( vrsta == 1 ) {
- Fontana_object[ i ] = CreateObject(9833, X,Y,Z, 0.0,0.0,0.0, 300.0);
- EditObject(playerid, Fontana_object[ i ]);
- KreiraFontanu[ playerid ] = i;
- SendClientMessage(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Uspesno ste poceli kreiranje fontane.");
- }
- else if( vrsta == 2 ) {
- Fontana_object[ i ] = CreateObject(3515, X,Y,Z, 0.0,0.0,0.0, 300.0);
- EditObject(playerid, Fontana_object[ i ]);
- KreiraFontanu[ playerid ] = i;
- SendClientMessage(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Uspesno ste poceli kreiranje fontane.");
- }
- else if( vrsta == 3 ) {
- Fontana_object[ i ] = CreateObject(6965, X,Y,Z, 0.0,0.0,0.0, 300.0);
- EditObject(playerid, Fontana_object[ i ]);
- KreiraFontanu[ playerid ] = i;
- SendClientMessage(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Uspesno ste poceli kreiranje fontane.");
- }
- }
- return true;
- }
- public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ) {
- if(response == EDIT_RESPONSE_FINAL) {
- if(KreiraFontanu[ playerid ] != 0) {
- FontanaInfo[ KreiraFontanu[ playerid ] ][ PosX ] = fX;
- FontanaInfo[ KreiraFontanu[ playerid ] ][ PosY ] = fY;
- FontanaInfo[ KreiraFontanu[ playerid ] ][ PosZ ] = fZ;
- FontanaInfo[ KreiraFontanu[ playerid ] ][ RotX ] = fRotX;
- FontanaInfo[ KreiraFontanu[ playerid ] ][ RotY ] = fRotY;
- FontanaInfo[ KreiraFontanu[ playerid ] ][ RotZ ] = fRotZ;
- if( FontanaInfo[ KreiraFontanu[ playerid ] ][ fVrsta ] == 1 ) {
- DestroyObject(Fontana_object[ KreiraFontanu[ playerid ] ]);
- Fontana_object[ KreiraFontanu[ playerid ] ] = CreateObject(9833, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
- FontanaLabel[ KreiraFontanu[ playerid ] ] = Create3DTextLabel("{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
- SacuvajFontane(KreiraFontanu[ playerid ]);
- SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Zavrsili ste kreiranje fontane.");
- }
- else if( FontanaInfo[ KreiraFontanu[ playerid ] ][ fVrsta ] == 2 ) {
- DestroyObject(Fontana_object[ KreiraFontanu[ playerid ] ]);
- Fontana_object[ KreiraFontanu[ playerid ] ] = CreateObject(3515, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
- FontanaLabel[ KreiraFontanu[ playerid ] ] = Create3DTextLabel("{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
- SacuvajFontane(KreiraFontanu[ playerid ]);
- SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Zavrsili ste kreiranje fontane.");
- }
- else if( FontanaInfo[ KreiraFontanu[ playerid ] ][ fVrsta ] == 3 ) {
- DestroyObject(Fontana_object[ KreiraFontanu[ playerid ] ]);
- Fontana_object[ KreiraFontanu[ playerid ] ] = CreateObject(6965, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
- FontanaLabel[ KreiraFontanu[ playerid ] ] = Create3DTextLabel("{0070D0}|| FONTANA ||\n- {FFFFFF}Baci novcic i pozeli zeljicu {0070D0}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
- SacuvajFontane(KreiraFontanu[ playerid ]);
- SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Zavrsili ste kreiranje fontane.");
- }
- }
- }
- return true;
- }
- CMD:kreirajfontanu( playerid, params[] ) {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "{0070D0}[ Fontana ]: {FFFFFF}Morate se ulogovati na rcon.");
- ShowPlayerDialog( playerid, dialog_KREIRAJFONTANU, DIALOG_STYLE_INPUT, "{0070D0}Kreiranje Fontane - {FFFFFF}Kreiraj Fontanu",
- "{0070D0}- {FFFFFF}U prazno polje ispod unesite vrstu fontane. (Vrste: 1, 2, 3)", "{0070D0}Potvrdi", "Izlaz" );
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement