Advertisement
Guest User

Sistem Kapije by: Shadow v0.0.1

a guest
Jun 9th, 2019
565
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 14.38 KB | None | 0 0
  1. /*                                                                                     
  2.                                                                                
  3.                                                                                
  4.      stem  s  mSiste    temS  t  SistemSistem istemSistem   temSi       temSi  
  5.    istemSiste Sistem  stemSistem istemSistemS stemSistemSi  emSis       emSis  
  6.   istem  stem  stem  stemS  temS ste  ist  Si temS    mSis    iste      mSi    
  7.   stemS         emS  temSi            ste      mSi            stemS    mSis    
  8.    emSis       emS    mSist           tem      Sistem         temSi    S st    
  9.       stemS     Sis      temSi        em       istemSi        emSist  Si te    
  10.        emSi     is        mSis        mSi      stemSis        mS stem is em    
  11.         Sist    st         iste       Sis      tem            Si temSis  mSi  
  12.   iste  iste   stem  stem  stem       ist      emSi    Sis    ist mSist mSis  
  13.   stemSistem  stemSi temSistemS     SistemS   emSiste Sist  Sistem ist mSiste  
  14.   temSistem   temSistemSistemS      istemSi   mSistemSiste   stemS st  Sistem  
  15.                                                                                                                                                                                                                                                                                                                            
  16.    Kapije   ije       api        KapijeKapi   apijeK    eKapi eKapijeKapi    
  17.    eKapi    pij      eKapi        KapijeKapi  Kapije    jeKap jeKapijeKapi  
  18.     eKa    Ka        jeKap        eKap    api  Kapi      jeK  ijeK    eKap  
  19.     jeK   je        pijeKa        jeKapijeKap   Kap      ije   ije          
  20.     ijeKapi         api eKa       ijeKapijeK   jeK       pij   pijeKa        
  21.     pijeKap        eKapijeKa      pijeKapij     jeK      api   apijeKa      
  22.     apijeKa        jeKapijeK      api           ij   pi  Kap   KapijeK      
  23.     Kap  eKa      pije   ijeK     Kap           pi   ap  eKa   eKa          
  24.     eKa  jeK      api     ije     eKa          Kapi  Kapije    jeKa    Kap  
  25.    ijeKa ijeKapijeKapi   apijeK  ijeKap       jeKapi eKapij   pijeKap jeKa  
  26.   apijeK pijeKapijeKap   Kapije  pijeKa       ijeKapi eKap    apijeKapijeK                                                                                                                                      
  27.                                                                                                                                                                                                                                                                  
  28.   : ShadowBy   hadow  : Sh                : Sh  o  y: Sh   wBy: S       : S         ShadowB        wBy: S   owBy:  hado  y: Sh    
  29.   : ShadowBy:  hado   : Sh              By: Shadow y: Sh   wBy:        y: Sh        ShadowBy:     owBy: Sh  owBy:  hado  y: Sh    
  30.   : Sha   By:    dow  :                wBy:   adow  : S     By:        y: Sh        ShadowBy:    dowB   Sha  wBy:  hado  y: S    
  31.     Sha   By:     ow y:    dow         wBy:         : S     By:       By: Sh        Shad   y: S  dow    Sha   By:   ado  y:      
  32.     ShadowBy:     owBy:    dow          By: S       : S     By:       By: Sha        had   y: S adow    Shad  By:  hado  y:      
  33.     ShadowBy:      wBy     dow              Shad    : ShadowBy:      wBy: Shad       had    : S adow    Shad   y:  hadowBy:      
  34.     ShadowBy: S    wBy                      Shad    : Sha o By:      wBy: Shad       had   y: S  dow    Sha    y: ShadowBy:      
  35.     Sha    y: S    wBy     dowB              hado   : S     By:     owBy   hado     Shad  By: S  dow    Sha     : ShadowBy:      
  36.     ShadowBy: S    wBy     dowB        wBy:  hado   : S     By:     owB     ado     ShadowBy: S  dowB   Sha       Sh  owBy        
  37.   : ShadowBy:     owBy:     owB        wBy: Shado  y: Sh   wBy:   adowBy   hadowB   ShadowBy:     owBy: Sh        S   owBy        
  38.   : ShadowBy:     owBy:                wBy: Shad   y: Sh   wBy:   adowBy   hadowB   ShadowBy       wBy: S         S    wB                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           */
  39. #define FILTERSCRIPT
  40. #define MAX_KAPIJA 1000
  41. #include < a_samp >
  42. #include < zcmd >
  43. #include < sscanf2 >
  44. #include < foreach >
  45. #include < a_mysql >
  46. #include < YSI\y_iterate >
  47. #include < streamer >
  48. static Iterator:Kapije < MAX_KAPIJA >, ObjektKapije[ MAX_KAPIJA ], Float:KapijaPos[ MAX_KAPIJA ] [ 6 ], EditujeKapiju[ MAX_PLAYERS ], ObjekatKapijeID[ MAX_KAPIJA ], KapijaINT[ MAX_KAPIJA ], KapijaVW[ MAX_KAPIJA ],
  49.     EditujeKapijuRot[ MAX_PLAYERS ], Float:KapijaPosRot[ MAX_KAPIJA ] [ 6 ], bool:KapijaPomjerena[ MAX_KAPIJA ];
  50. new VasSQL;
  51. forward UcitajKapije();
  52. public UcitajKapije()
  53. {
  54.     new rows = cache_get_row_count( );
  55.     if( rows )
  56.     {
  57.         new id, loaded;
  58.         while( loaded < rows )
  59.         {
  60.             id = cache_get_field_content_int( loaded, "ID" );
  61.             ObjekatKapijeID[ id ] = cache_get_field_content_int( loaded, "Objekt" );
  62.             KapijaVW[ id ] = cache_get_field_content_int( loaded, "VW" );
  63.             KapijaINT[ id ] = cache_get_field_content_int( loaded, "INT" );
  64.             KapijaPos[ id ] [ 0 ] = cache_get_field_content_float( loaded, "X" );
  65.             KapijaPos[ id ] [ 1 ] = cache_get_field_content_float( loaded, "Y" );
  66.             KapijaPos[ id ] [ 2 ] = cache_get_field_content_float( loaded, "Z" );
  67.             KapijaPos[ id ] [ 3 ] = cache_get_field_content_float( loaded, "rX" );
  68.             KapijaPos[ id ] [ 4 ] = cache_get_field_content_float( loaded, "rY" );
  69.             KapijaPos[ id ] [ 5 ] = cache_get_field_content_float( loaded, "rZ" );
  70.             KapijaPosRot[ id ] [ 0 ] = cache_get_field_content_float( loaded, "XX" );
  71.             KapijaPosRot[ id ] [ 1 ] = cache_get_field_content_float( loaded, "YY" );
  72.             KapijaPosRot[ id ] [ 2 ] = cache_get_field_content_float( loaded, "ZZ" );
  73.             KapijaPosRot[ id ] [ 3 ] = cache_get_field_content_float( loaded, "rrX" );
  74.             KapijaPosRot[ id ] [ 4 ] = cache_get_field_content_float( loaded, "rrY" );
  75.             KapijaPosRot[ id ] [ 5 ] = cache_get_field_content_float( loaded, "rrZ" );
  76.             ObjektKapije[ id ] = CreateDynamicObject( ObjekatKapijeID[ id ], KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ], KapijaPos[ id ] [ 3 ], KapijaPos[ id ] [ 4 ], KapijaPos[ id ] [ 5 ],
  77.                 KapijaVW[ id ], KapijaINT[ id ] );
  78.             KapijaPomjerena[ id ] = false;
  79.             Iter_Add( Kapije, id );
  80.             loaded++;
  81.         }
  82.         printf( "Ucitano %d kapija.", loaded );
  83.     }  
  84.     else
  85.     {
  86.         print( "Nisam uspio ucitati ni jednu kapiju!" );
  87.     }
  88.     return 1;
  89. }
  90. public OnFilterScriptInit()
  91. {
  92.     print( "\n--------------------------------------" );
  93.     print( " Kapija system by: Shadow/Valentin");
  94.     print( " Vlasnik servera: San Andreas Role Play( ENGLESKI SERVER )" );
  95.     print( "--------------------------------------\n" );
  96.     VasSQL = mysql_connect( "localhost", "root", "kapije", "" );
  97.     mysql_log();
  98.     if( mysql_errno( VasSQL ) != 0 )
  99.     {
  100.         print("Nisam uspio uspostaviti vezu sa mySQL-om" );
  101.     }
  102.     else
  103.     {
  104.         print( "Uspio sam uspostaviti vezu sa mySQL-om" );  
  105.     }
  106.     mysql_tquery( VasSQL, "SELECT * FROM `kapije`", "UcitajKapije" );
  107.     return 1;
  108. }
  109. public OnFilterScriptExit( )
  110. {
  111.     for( new i = 0; i < MAX_KAPIJA; i++ )
  112.     {
  113.         DestroyDynamicObject( ObjektKapije[ i ] );
  114.     }
  115.     return 1;
  116. }
  117. public OnPlayerEditDynamicObject( playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz )
  118. {
  119.     static id;
  120.     if( response == EDIT_RESPONSE_FINAL )
  121.     {
  122.         if( EditujeKapiju[ playerid ] != -1 )
  123.         {
  124.             id = EditujeKapiju[ playerid ];
  125.             DestroyDynamicObject( ObjektKapije[ id ] );
  126.             KapijaPos[ id ] [ 0 ] = x;
  127.             KapijaPos[ id ] [ 1 ] = y;
  128.             KapijaPos[ id ] [ 2 ] = z;
  129.             KapijaPos[ id ] [ 3 ] = rx;
  130.             KapijaPos[ id ] [ 4 ] = ry;
  131.             KapijaPos[ id ] [ 5 ] = rz;
  132.             ObjektKapije[ id ] = CreateDynamicObject( ObjekatKapijeID[ id ], KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ], KapijaPos[ id ] [ 3 ], KapijaPos[ id ] [ 4 ], KapijaPos[ id ] [ 5 ],
  133.                 GetPlayerVirtualWorld( playerid ), GetPlayerInterior( playerid ) );
  134.             EditujeKapijuRot[ playerid ] = id;
  135.             EditDynamicObject( playerid, ObjektKapije[ id ] );
  136.             EditujeKapiju[ playerid ] = -1;
  137.             SendClientMessage( playerid, -1, "Pozicija kapije je uspjesno namjestena!" );
  138.             SendClientMessage( playerid, -1, "Sada odaberite zeljenu lokaciju gdje hocete da se kapija pomice!" );
  139.         }
  140.         else if( EditujeKapijuRot[ playerid ] != -1 )
  141.         {
  142.             static query[ 500 ];
  143.             id = EditujeKapijuRot[ playerid ];
  144.             DestroyDynamicObject( ObjektKapije[ id ] );
  145.             KapijaPosRot[ id ] [ 0 ] = x;
  146.             KapijaPosRot[ id ] [ 1 ] = y;
  147.             KapijaPosRot[ id ] [ 2 ] = z;
  148.             KapijaPosRot[ id ] [ 3 ] = rx;
  149.             KapijaPosRot[ id ] [ 4 ] = ry;
  150.             KapijaPosRot[ id ] [ 5 ] = rz;
  151.             KapijaINT[ id ] = GetPlayerInterior( playerid );
  152.             KapijaVW[ id ] = GetPlayerVirtualWorld( playerid );
  153.             ObjektKapije[ id ] = CreateDynamicObject( ObjekatKapijeID[ id ], KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ], KapijaPos[ id ] [ 3 ], KapijaPos[ id ] [ 4 ], KapijaPos[ id ] [ 5 ],
  154.                 KapijaVW[ id ], KapijaINT[ id ] );
  155.             SendClientMessage( playerid, -1, "Kapija ce se pomjeriti na lokaciju koju ste odabrali!" );
  156.             KapijaPomjerena[ id ] = false;
  157.             mysql_format( VasSQL, query, sizeof( query ), "INSERT INTO `kapije`(`ID`, `X`, `Y`, `Z`, `rX`, `rY`, `rZ`, `XX`, `YY`, `ZZ`, `rrX`, `rrY`, `rrZ`,`Objekt`, `VW`, `INT`)\
  158.                                                                         VALUES ('%d', '%f','%f','%f','%f', '%f', '%f', '%f', '%f', '%f', '%f', '%f',   '%f', '%d', '%d', '%d')",
  159.                 id, KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ], KapijaPos[ id ] [ 3 ], KapijaPos[ id ] [ 4 ], KapijaPos[ id ] [ 5 ], KapijaPosRot[ id ] [ 0 ], KapijaPosRot[ id ] [ 1 ], KapijaPosRot[ id ] [ 2 ],
  160.                 KapijaPosRot[ id ] [ 3 ], KapijaPosRot[ id ] [ 4 ], KapijaPosRot[ id ] [ 5 ], ObjekatKapijeID[ id ], KapijaVW[ id ], KapijaINT[ id ] );
  161.             mysql_tquery( VasSQL, query );
  162.             EditujeKapijuRot[ playerid ] = -1;
  163.         }
  164.     }
  165.     else if( response == EDIT_RESPONSE_CANCEL )
  166.     {
  167.         if( EditujeKapiju[ playerid ] != -1 )
  168.         {
  169.             id = EditujeKapiju[ playerid ];
  170.             SendClientMessage( playerid, -1, "Pritisnio si ''ESC'', stoga je kapija izbrisana!" );
  171.             DestroyDynamicObject( ObjektKapije[ id ] );
  172.             Iter_Remove( Kapije, id );
  173.             EditujeKapiju[ playerid ] = -1;
  174.         }
  175.         else if( EditujeKapijuRot[ playerid ] != -1 )
  176.         {
  177.             id = EditujeKapijuRot[ playerid ];
  178.             SendClientMessage( playerid, -1, "Pritisnio si ''ESC'', stoga je kapija izbrisana!" );
  179.             DestroyDynamicObject( ObjektKapije[ id ] );
  180.             Iter_Remove( Kapije, id );
  181.             EditujeKapijuRot[ playerid ] = -1;
  182.         }
  183.     }
  184.     return 1;
  185. }
  186. stock IzbrisiKapiju( KapijaID, playerid )
  187. {
  188.     static query[ 128 ], str[ 128 ];
  189.     KapijaPos[ KapijaID ] [ 0 ] = 0;
  190.     KapijaPos[ KapijaID ] [ 1 ] = 0;
  191.     KapijaPos[ KapijaID ] [ 2 ] = 0;
  192.     KapijaPos[ KapijaID ] [ 3 ] = 0;
  193.     KapijaPos[ KapijaID ] [ 4 ] = 0;
  194.     KapijaPos[ KapijaID ] [ 5 ] = 0;
  195.     KapijaPosRot[ KapijaID ] [ 0 ] = 0;
  196.     KapijaPosRot[ KapijaID ] [ 1 ] = 0;
  197.     KapijaPosRot[ KapijaID ] [ 2 ] = 0;
  198.     KapijaPosRot[ KapijaID ] [ 3 ] = 0;
  199.     KapijaPosRot[ KapijaID ] [ 4 ] = 0;
  200.     KapijaPosRot[ KapijaID ] [ 5 ] = 0;
  201.     ObjekatKapijeID[ KapijaID ] = INVALID_OBJECT_ID;
  202.     KapijaVW[ KapijaID ] = -1;
  203.     KapijaINT[ KapijaID ] = -1;
  204.     DestroyDynamicObject( ObjektKapije[ KapijaID ] );
  205.     Iter_Remove( Kapije, KapijaID );
  206.     mysql_format( VasSQL, query, sizeof( query ), "DELETE FROM `kapije` WHERE `ID`='%d'", KapijaID );
  207.     mysql_tquery( VasSQL, query );
  208.     format( str, sizeof( str ), "Uspjesno si izbrisao kapiju id: %d", KapijaID );
  209.     SendClientMessage( playerid, -1, str );
  210.     return 1;
  211. }
  212. CMD:napravikapiju( playerid, params[ ] )
  213. {
  214.     static ObjektID, id, Float:x, Float:y, Float:z, str[ 128 ];
  215.     id = Iter_Free( Kapije );
  216.     if( sscanf( params, "d", ObjektID ) ) SendClientMessage( playerid, -1, "{00FF00}Usage:{FFFFFF} /napravikapiju [Objekt ID]" );
  217.     else if( ObjektID == INVALID_OBJECT_ID ) SendClientMessage( playerid, -1, "Taj ID koji ste ukucali je {FF0000}INVALID" );
  218.     else if( id > MAX_KAPIJA ) SendClientMessage( playerid, -1, "{FF0000}Error:{FFFFFF} MAX_KAPIJA je 1000 dosegnuto!" );
  219.     else
  220.     {
  221.         GetPlayerPos( playerid, x, y, z );
  222.         ObjektKapije[ id ] = id;
  223.         KapijaPos[ id ] [ 0 ] = x;
  224.         KapijaPos[ id ] [ 1 ] = y;
  225.         KapijaPos[ id ] [ 2 ] = z;
  226.         ObjekatKapijeID[ id ] = ObjektID;
  227.         KapijaINT[ id ] = GetPlayerInterior( playerid );
  228.         KapijaVW[ id ] = GetPlayerVirtualWorld( playerid );
  229.         ObjektKapije[ id ] = CreateDynamicObject( ObjekatKapijeID[ id ], KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ], 0, 0, 0, GetPlayerVirtualWorld( playerid ), GetPlayerInterior( playerid ) );
  230.         EditDynamicObject( playerid, ObjektKapije[ id ] );
  231.         Iter_Add( Kapije, id );
  232.         EditujeKapiju[ playerid ] = id;
  233.         format( str, sizeof( str ), "Uspjesno ste napravili kapiju ID: %d, objekt ID: %d", ObjektID, id );
  234.         SendClientMessage( playerid, -1, str );
  235.     }
  236.     return 1;
  237. }
  238. CMD:izbrisikapiju( playerid, params[ ] )
  239. {
  240.     static id;
  241.     if( sscanf( params, "d", id ) ) SendClientMessage( playerid, -1, "{FF00FF}Usage:{FFFFFF} /izbrisikapiju [Kapija ID]" );
  242.     else if( !Iter_Contains( Kapije, id ) ) SendClientMessage( playerid, -1, "Kapiju koju ste ukucali {FF0000}NE POSTOJI{FFFFFF}!" );
  243.     else
  244.     {
  245.         IzbrisiKapiju( id, playerid );
  246.     }
  247.     return 1;
  248. }
  249. CMD:kapija( playerid )
  250. {
  251.     for( new id = 0; id < MAX_KAPIJA; id++ )
  252.     {
  253.         if( IsPlayerInRangeOfPoint( playerid, 5.0, KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ] ) )
  254.         {
  255.             if( KapijaPomjerena[ id ] == false )
  256.             {
  257.                 MoveDynamicObject( ObjektKapije[ id ], KapijaPosRot[ id ] [ 0 ], KapijaPosRot[ id ] [ 1 ], KapijaPosRot[ id ] [ 2 ], 5.0, KapijaPosRot[ id ] [ 3 ], KapijaPosRot[ id ] [ 4 ], KapijaPosRot[ id ] [ 5 ] );
  258.                 KapijaPomjerena[ id ] = true;
  259.             }
  260.             else if( KapijaPomjerena[ id ] == true )
  261.             {
  262.                 MoveDynamicObject( ObjektKapije[ id ], KapijaPos[ id ] [ 0 ], KapijaPos[ id ] [ 1 ], KapijaPos[ id ] [ 2 ], 5.0, KapijaPos[ id ] [ 3 ], KapijaPos[ id ] [ 4 ], KapijaPos[ id ] [ 5 ] );
  263.                 KapijaPomjerena[ id ] = false;
  264.             }
  265.             return 1;
  266.         }
  267.     }
  268.     return 1;
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement