Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if defined XScript2k19
- DINAMICNO KREIRANJE TRAFIKE
- IZRADIO: XALAZY SCRIPT
- VREME IZRADE: OKO POLA SATA
- CREDITS: //
- LINIJA: 153
- //XScript2k19
- #endif
- //================================[ INCLUDE ]=================================//
- #include < a_samp >
- #include < YSI\y_ini >
- #include < Pawn.CMD >
- //=================================[ DEFINE ]=================================//
- #define MAX_TRAFIKA 50
- #define TRAFIKE_FILE "/Trafike/Trafika_%d.ini"
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 50 //edit
- #define SCM SendClientMessage
- enum { dialog_TRAFIKA }
- //============================================================================//
- enum trafikaInfo {
- Float:PosX,
- Float:PosY,
- Float:PosZ,
- Float:RotX,
- Float:RotY,
- Float:RotZ
- }
- //============================================================================//
- new TrafikaInfo[ MAX_TRAFIKA ][ trafikaInfo ], trafika_object[ sizeof(TrafikaInfo) ],
- Text3D:TrafikaLabel[ sizeof(TrafikaInfo) ], KreiraTrafiku[ MAX_PLAYERS ];
- //============================================================================//
- forward ucitaj_trafiku(id, name[], value[]);
- public ucitaj_trafiku(id, name[], value[]) {
- INI_Float("X", TrafikaInfo[ id ][ PosX ]);
- INI_Float("Y", TrafikaInfo[ id ][ PosY ]);
- INI_Float("Z", TrafikaInfo[ id ][ PosZ ]);
- INI_Float("X", TrafikaInfo[ id ][ RotX ]);
- INI_Float("Y", TrafikaInfo[ id ][ RotY ]);
- INI_Float("Z", TrafikaInfo[ id ][ RotZ ]);
- return true;
- }
- //============================================================================//
- stock next_trafika_ID(const len) {
- new trafika_ID = (-1);
- for( new loop = ( 0 ), store_check = ( -1 ), Data_[ 64 ] = "\0"; loop != len; ++ loop ) {
- store_check = ( loop+1 );
- format( Data_, ( sizeof Data_ ), TRAFIKE_FILE, store_check );
- if(!fexist(Data_)) {
- trafika_ID = ( store_check );
- break;
- }
- }
- return ( trafika_ID );
- }
- //============================================================================//
- stock sacuvaj_trafiku(id) {
- new trafika_File[ 60 ];
- format(trafika_File, sizeof(trafika_File), TRAFIKE_FILE, id);
- new INI:File = INI_Open(trafika_File);
- INI_WriteFloat(File, "X", TrafikaInfo[ id ][ PosX ]);
- INI_WriteFloat(File, "Y", TrafikaInfo[ id ][ PosY ]);
- INI_WriteFloat(File, "Z", TrafikaInfo[ id ][ PosZ ]);
- INI_WriteFloat(File, "X", TrafikaInfo[ id ][ RotX ]);
- INI_WriteFloat(File, "Y", TrafikaInfo[ id ][ RotY ]);
- INI_WriteFloat(File, "Z", TrafikaInfo[ id ][ RotZ ]);
- INI_Close(File);
- }
- //============================================================================//
- main () {
- print("//========================[ TRAFIKE ]========================//" );
- print(" FILTERSKRIPTA BY XALAZY SCRIPT" );
- print(" #XScript2k19" );
- print("//========================[ TRAFIKE ]========================//" );
- }
- public OnFilterScriptInit() {
- for(new i; i < MAX_TRAFIKA; i++) {
- new trafike_File[ 50 ];
- format(trafike_File, sizeof(trafike_File), TRAFIKE_FILE, i);
- if(fexist(trafike_File)) {
- INI_ParseFile(trafike_File, "ucitaj_trafiku", .bExtra = true, .extra = i);
- trafika_object[ i ] = CreateObject(1571, TrafikaInfo[ i ][ PosX ], TrafikaInfo[ i ][ PosY ], TrafikaInfo[ i ][ PosZ ], TrafikaInfo[ i ][ RotX ], TrafikaInfo[ i ][ RotY ], TrafikaInfo[ i ][ RotZ ], 300.0);
- TrafikaLabel[ i ] = Create3DTextLabel("{008467}[ TRAFIKA ]\n{FFFFFF}- {008467}/trafika {FFFFFF}-", 0xFFFFFFFF, TrafikaInfo[ i ][ PosX ], TrafikaInfo[ i ][ PosY ], TrafikaInfo[ i ][ PosZ ], 10.0, 0, 0);
- }
- }
- 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(KreiraTrafiku[ playerid ] != 0) {
- TrafikaInfo[ KreiraTrafiku[ playerid ] ][ PosX ] = fX;
- TrafikaInfo[ KreiraTrafiku[ playerid ] ][ PosY ] = fY;
- TrafikaInfo[ KreiraTrafiku[ playerid ] ][ PosZ ] = fZ;
- TrafikaInfo[ KreiraTrafiku[ playerid ] ][ RotX ] = fRotX;
- TrafikaInfo[ KreiraTrafiku[ playerid ] ][ RotY ] = fRotY;
- TrafikaInfo[ KreiraTrafiku[ playerid ] ][ RotZ ] = fRotZ;
- DestroyObject(trafika_object[ KreiraTrafiku[ playerid ] ]);
- trafika_object[ KreiraTrafiku[ playerid ] ] = CreateObject(1571, fX,fY,fZ, fRotX,fRotY,fRotZ, 300.0);
- TrafikaLabel[ KreiraTrafiku[ playerid ] ] = Create3DTextLabel("{008467}[ TRAFIKA ]\n{FFFFFF}- {008467}/trafika {FFFFFF}-", 0x008080FF, fX,fY,fZ, 10.0, 0, 0);
- sacuvaj_trafiku(KreiraTrafiku[ playerid ]);
- SCM(playerid, -1, "{008467}[ TRAFIKA ]: {FFFFFF}Zavrsili ste kreiranje trafike.");
- }
- }
- return true;
- }
- public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] ) {
- if( dialogid == dialog_TRAFIKA ) {
- if( !response ) return true;
- switch( listitem ) {
- case 0: {
- if( GetPlayerMoney( playerid ) < 50 ) return SCM( playerid, -1, "{008467}[ {FFFFFF}TRAFIKA {008467}]: {FFFFFF}Nemas dovoljno novca." );
- SCM( playerid, -1, "{008467}[ {FFFFFF}TRAFIKA {008467}]: {FFFFFF}Kupili ste cokoladicu." );
- SetPlayerHealth( playerid, 50.0 );
- GivePlayerMoney( playerid, -50 );
- }
- case 1: {
- if( GetPlayerMoney( playerid ) < 500 ) return SCM( playerid, -1, "{008467}[ {FFFFFF}TRAFIKA {008467}]: {FFFFFF}Nemas dovoljno novca." );
- SCM( playerid, -1, "{008467}[ {FFFFFF}TRAFIKA {008467}]: {FFFFFF}Kupili ste pomfrit." );
- SetPlayerHealth( playerid, 99.0 );
- GivePlayerMoney( playerid, -500 );
- }
- }
- }
- return true;
- }
- CMD:kreirajtrafiku( playerid, params[] ) {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "{008467}[ TRAFIKA ]: {FFFFFF}Morate se ulogovati na rcon.");
- new Float:X,Float:Y,Float:Z, i = next_trafika_ID( MAX_TRAFIKA );
- GetPlayerPos(playerid, X,Y,Z);
- trafika_object[ i ] = CreateObject(1571, X,Y,Z, 0.0,0.0,0.0, 300.0);
- EditObject(playerid, trafika_object[ i ]);
- KreiraTrafiku[ playerid ] = i;
- SendClientMessage(playerid, -1, "{008467}[ TRAFIKA ]: {FFFFFF}Uspesno ste poceli kreiranje trafike.");
- return true;
- }
- CMD:trafika( playerid, params[] ) {
- for( new i; i < MAX_TRAFIKA; i++ ) {
- if( IsPlayerInRangeOfPoint( playerid, 3.0, TrafikaInfo[ i ][ PosX ], TrafikaInfo[ i ][ PosY ], TrafikaInfo[ i ][ PosZ ] )) {
- ShowPlayerDialog(playerid, dialog_TRAFIKA, DIALOG_STYLE_TABLIST_HEADERS, "{008467}- {FFFFFF}TRAFIKA {008467}-",
- "Vrsta\tKolicina\tCena\n\
- Cokoladica\t1 cokoladica\t$50\n\
- Pomrfit\t1 pomfrit\t$500",
- "{008467}Potvrdi", "Izlaz");
- }
- }
- return true;
- }
- CMD:dajnovac( playerid, params[] ) return GivePlayerMoney( playerid, 5000 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement