Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Pabloo poslato April 12, 2020, 23:28:58 POSLE PODNE

Naslov: Problem sa TextDrawovima koji se klikcu
Poruka od: Pabloo poslato April 12, 2020, 23:28:58 POSLE PODNE
Problem(error/warning): Pozdrav imam problem sa TDovima znaci , do pre neki dan je sve radilo ali od danas svaki TD koji moze da se klikce ne radi ne znam do cega je problem do nekog plugina mozda da ga update ili ?
Dio skripte: [pawn]vaš ///[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): ///
Slika/video ingame problema(obavezno ako je ingame problem): /////
Naslov: Odg: Problem sa TextDrawovima koji se klikcu
Poruka od: Galardo poslato April 12, 2020, 23:33:10 POSLE PODNE
jesi li jos nesto ubacio na taster koji je namijenjen za clickable tdove?
Naslov: Odg: Problem sa TextDrawovima koji se klikcu
Poruka od: ʙᴜsᴛᴇʀ ᴄᴏɴɴᴇʟʟʏ poslato April 12, 2020, 23:39:03 POSLE PODNE
Nemoguce da je samo od sebe, verovatno si nesto cackao. :-\
Nadji ovo u skripti: "OnPlayerClickPlayerTextDraw", onda pronadjes neki tekst vezan za dialog za upisivanje lozinke i ostalo, npr. "U prazni prostor ispod unesite vase godine, ja kada to ukucam izadje mi ovo: [pawn]       if( playertextid == RegisterTD[ playerid ][ 7 ] ) {
           SPD( playerid, dialog_AGE, DSI, "Godine", "U prazni prostor ispod unesite vase godine\nMinimalno 12 maximalno 70", "Unos", "Izadji" );
            return true;
      }[/pawn]
Ta prva linija: "if( playertextid == RegisterTD[ playerid ][ 7 ] ) {", ti pokazuje koji TD za sta se vezuje, npr. RegisterTD broj 7 se vezuje za dialog za godine pri regitraciji, mozes da vidis kod tebe kako je i to podesis. ;)
Naslov: Odg: Problem sa TextDrawovima koji se klikcu
Poruka od: Pabloo poslato April 13, 2020, 00:03:52 PRE PODNE
Citat: Galardo poslato April 12, 2020, 23:33:10 POSLE PODNE
jesi li jos nesto ubacio na taster koji je namijenjen za clickable tdove?
ubacivao sam neograniceni nitro na levi klik , i ti TDovi bukvalno svi koji si klikcu na levi klik nece msm kliknes ti ali se nista ne desava
Naslov: Odg: Problem sa TextDrawovima koji se klikcu
Poruka od: Galardo poslato April 13, 2020, 00:07:23 PRE PODNE
Citat: Pabloo poslato April 13, 2020, 00:03:52 PRE PODNE
ubacivao sam neograniceni nitro na levi klik , i ti TDovi bukvalno svi koji si klikcu na levi klik nece msm kliknes ti ali se nista ne desava
daj mi code od OnPlayerKeyStateChange
Naslov: Odg: Problem sa TextDrawovima koji se klikcu
Poruka od: Pabloo poslato April 13, 2020, 00:12:48 PRE PODNE
[pawn]public OnPlayerKeyStateChange( playerid, newkeys, oldkeys ) {

    #if ZIMSKI_MOD == 1
    if( Snow_F[ playerid ] ) {

      if( Shoot[ playerid ] == 0 ) {

         if( newkeys & 128 ) {

            if( Charged[ playerid ] == 1 ) return CheckSnow( playerid );
            else if( Charged[ playerid ] == 0 ) return ApplyAnimation( playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0 ), Charged[ playerid ] = 1;
         }
      }
   }
   return 1;
}

   #endif

    if( PRESSED( KEY_SUBMISSION ) ) {
        if( IsPlayerInAnyVehicle( playerid ) && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) {
           new vehicle = GetPlayerVehicleID( playerid ),
            engine,lights,alarm,doors,bonnet,boot,objective;

          if( vCanDrive[ vehicle ] == 0 ) return SendErrorMessage( playerid, "Ovo vozilo je unisteno i ne moze se pokrenuti.");
          if( IsVehicleBajs( vehicle ) ) return SendErrorMessage( playerid, "Stvarno mislis upaliti biciklu? " );
         if( Fuel[ vehicle ] == 0 ) return SendErrorMessage( playerid, "Vozilo nema goriva ne mozete ga upaliti." );

         if( VehicleInfo[ vehicle ][ vUsage ] == PRIVATNO_VOZILO ) {

            if( PlayerInfo[ playerid ][ xAdmin ] >= 5 ) { }
            else {

                new slot = -1;
                for( new j = 0; j < MAX_VEH_SLOT; j ++ ) {
                  if( player_veh[ playerid ][ vehicle_id ][ j ] != -1 && player_veh[ playerid ][ vehicle_id ][ j ] == vehicle  ) {
                       slot = j;
                     break;
                  }
               }
               if( slot == -1 ) {
                   if( PlayerInfo[ playerid ][ xRezervniKljucevi ] == VehicleInfo[ vehicle ][ vSqlID ] ) { }
                    else return SendErrorMessage( playerid, "Nemate kljuceve ovog vozila." );
                }
            }

               GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
            if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

               format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
            PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
            SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
            SetPVarInt( playerid, "StartingVehicle", 1 );

         }
           else if( VehicleInfo[ vehicle ][ vUsage ] == ORGANIZACIJSKO_VOZILO ) {
            if( VehicleInfo[ vehicle ][ vOrganization ] == PlayerInfo[ playerid ][ xClan ] || PlayerInfo[ playerid ][ xAdmin ] >= 5 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );

            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");

            }
           }
           else if( VehicleInfo[ vehicle ][ vUsage ] == POSLOVNO_VOZILO ) {

            if( VehicleInfo[ vehicle ][ vJob ] == PlayerInfo[ playerid ][ xPosao ] || PlayerInfo[ playerid ][ xAdmin ] >= 5 ) {
                GetVehicleParamsEx(vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
                if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

               format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );

            }
            else {
                SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
         }
         else if( VehicleInfo[ vehicle ][ vUsage ] == RENTANO_VOZILO ) {
            if( Rentano[ playerid ] == vehicle || PlayerInfo[ playerid ][ xAdmin ] >= 5 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );
                  if( Maskuse[ playerid ] == true )
                     format( globalstring, sizeof( globalstring ), "* Maska_%d pokusava pokrenuti motor.", PlayerInfo[ playerid ][ xMaskID ] );
                  else
                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );

            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");

            }
           }
/*
           else if( VehicleInfo[ vehicle ][ vUsage ] == JEDNOKRATNA_VOZILO ) {
            if( PlayerInfo[ playerid ][ xGradRank ] == GRAD_DRIVER || PlayerInfo[ playerid ][ xGradRank ] == GRAD_LDRIVER || PlayerInfo[ playerid ][ xAdmin ] >= 5 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );

            }
            else {
               SendErrorMessage( playerid, "Nemate kljuceve od ovog vozila ili uniformu vozaca gradonacelnika!");

            }
           }
*/
           else if( VehicleInfo[ vehicle ][ vUsage ] == IZLOZBENO_VOZILO ) {
            if( PlayerInfo[ playerid ][ xAdmin ] == 7 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );
            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
           }
           else if( VehicleInfo[ vehicle ][ vUsage ] == ADMIN_VOZILO ) {
            if( PlayerInfo[ playerid ][ xAdmin ] >= 1 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );
               return 1;
            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
           }
           else if( VehicleInfo[ vehicle ][ vUsage ] == HELPER_VOZILO ) {
            if( PlayerInfo[ playerid ][ xAdmin ] >= 1 || PlayerInfo[ playerid ][ xHelper ] >= 1 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );
               return 1;
            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
           }
         else if( VehicleInfo[ vehicle ][ vUsage ] == PROMOTER_VOZILO ) {
            if( PlayerInfo[ playerid ][ xAdmin ] >= 5 || PlayerInfo[ playerid ][ xPromoter ] >= 1 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

               format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );
               return 1;
            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
           }
           else if( VehicleInfo[ vehicle ][ vUsage ] == VIP_VOZILO ) {
            if( PlayerInfo[ playerid ][ xAdmin ] >= 5 || PlayerInfo[ playerid ][ xVIPLevel ] >= 1 ) {
                GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

               format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );
               return 1;
            }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
           }
         else if( VehicleInfo[ vehicle ][ vUsage ] == POLAGANJE_VOZILO ) {
             if( PlayerInfo[ playerid ][ xAdmin ] >= 5 || Polaganje[ playerid ] >= 1 ) {
                 GetVehicleParamsEx( vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
               if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

                  format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );
               return 1;
             }
            else {
               SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
           }
           else if( VehicleInfo[ vehicle ][ vUsage ] == PUMPA_VOZILO ) {

            if( VehicleInfo[ vehicle ][ vFuelStation ] == PlayerInfo[ playerid ][ xFirmaID ] || PlayerInfo[ playerid ][ xAdmin ] >= 5 ) {
                GetVehicleParamsEx(vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
                if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

               format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
               PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
               SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
               SetPVarInt( playerid, "StartingVehicle", 1 );

            }
            else {
                SendErrorMessage( playerid, "Nemate kljuc ovog vozila.");
            }
         }
         else {
            GetVehicleParamsEx(vehicle,engine, lights, alarm, doors, bonnet, boot, objective );
             if( engine == 1 ) return SendErrorMessage( playerid, "Motor vozila je vec upaljen." );

            format( globalstring, sizeof( globalstring ), "* %s pokusava pokrenuti motor.", RPImeIgraca( playerid ) );
            PorukaRadius( 20.0, playerid, globalstring, LJUBICASTA );
            SetTimerEx( "VehicleEngineStart", 1000, 0, "i", playerid );
            SetPVarInt( playerid, "StartingVehicle", 1 );

          }
      }
    }


    if( takingselfie[ playerid ] ) {

      if( PRESSED( KEY_ANALOG_RIGHT ) ) {

         GetPlayerPos(playerid,lX[ playerid ],lY[ playerid ],lZ[ playerid ]);
         static Float: n1X, Float: n1Y;
          if(Degree[ playerid ] >= 360) Degree[ playerid ] = 0;
          Degree[ playerid ] += SelfieSpeed;
          n1X = lX[ playerid ] + SelfieRadius * floatcos(Degree[ playerid ], degrees);
          n1Y = lY[ playerid ] + SelfieRadius * floatsin(Degree[ playerid ], degrees);
          SetPlayerCameraPos(playerid, n1X, n1Y, lZ[ playerid ] + SelfieHeight);
          SetPlayerCameraLookAt(playerid, lX[ playerid ], lY[ playerid ], lZ[ playerid ]+1);
          SetPlayerFacingAngle(playerid, Degree[ playerid ] - 90.0);
      }
      if( PRESSED( KEY_ANALOG_LEFT ) ) {

          GetPlayerPos(playerid,lX[ playerid ],lY[ playerid ],lZ[ playerid ]);
         static Float: n1X, Float: n1Y;
          if(Degree[ playerid ] >= 360) Degree[ playerid ] = 0;
          Degree[ playerid ] -= SelfieSpeed;
          n1X = lX[ playerid ] + SelfieRadius * floatcos(Degree[ playerid ], degrees);
          n1Y = lY[ playerid ] + SelfieRadius * floatsin(Degree[ playerid ], degrees);
          SetPlayerCameraPos(playerid, n1X, n1Y, lZ[ playerid ] + SelfieHeight);
          SetPlayerCameraLookAt(playerid, lX[ playerid ], lY[ playerid ], lZ[ playerid ]+1);
          SetPlayerFacingAngle(playerid, Degree[ playerid ] - 90.0);
      }
   }

    if( PlayerInfo[ playerid ][ xPosao ] == POSAO_RIBAR && fishermanInfo[ playerid ][ Fishing ] && (PRESSED(KEY_SPRINT) || PRESSED(KEY_JUMP) || PRESSED(KEY_FIRE) || PRESSED(KEY_SECONDARY_ATTACK ) ) ) {
      ApplyAnimation(playerid, "SWORD", "sword_IDLE", 50.0, 0, 1, 1, 1, 1);
   }

    if( HOLDING( KEY_FIRE ) ) {
        new autoid = GetPVarInt( playerid, "ResprayvID" );
        new igrac = GetPVarInt( playerid, "ResprayDozvola" );
        if( igrac != -1 && GetPVarInt( playerid, "RespraySpray" ) == 1 && ResprayColor1[ playerid ] != -1 && ResprayColor2[ playerid ] != -1 && GetWeapon( playerid ) == 41 && IsPlayerNearPlayer( 10.0, playerid, igrac ) && IsPlayerInAnyVehicle( igrac ) )
        {
            if( IsPlayerInRangeOfPoint( playerid, 15.0, 1978.9244, -1585.0405, 13.3126 ) && IsPlayerInRangeOfPoint( igrac, 15.0, 1978.9244, -1585.0405, 13.3126 ) && PlayerInfo[ playerid ][ xMDelovi ] >= 5  && strcmp( ImeIgraca( igrac ), VehicleInfo[ autoid ][ vOwner ], true) == 0 && IsPlayerFacingVehicle( playerid, GetPlayerVehicleID( igrac ) ) )
         {
               FarbanjeTimer[ playerid ] = SetTimerEx( "ResprayTimer", 3000, 0, "ii", igrac, autoid );
         }
        }
    }

    if( newkeys & KEY_ACTION ) {

       if( IsPlayerInAnyVehicle( playerid ) ) {

          if( IsVehicleBajs( GetPlayerVehicleID( playerid ) ) ) {

             if( BikeBH[ playerid ] == 0 ) {

                if( PlayerInfo[ playerid ][ xAdmin ] > 0 ) { }
                  else {

                   SendErrorMessage( playerid, "Ne mzoete skakati sa biciklom!");
                   SetTimerEx( "BikeBunnyHop", 2000, false, "i", playerid );
                   BikeBH[ playerid ] = 1;
                   new Float:Pos[ 3 ];
                   GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
                   KGEyes_SetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ]+2 );
                }
             }
          }
       }
    }

    if( newkeys == KEY_SECONDARY_ATTACK ) {
        if( GetPlayerState( playerid ) == 1 ) UlazIzlaz( playerid );

        if( GetPlayerSpecialAction( playerid ) != SPECIAL_ACTION_NONE && GetPlayerSpecialAction( playerid ) != SPECIAL_ACTION_CUFFED  ) {
            SetPlayerSpecialAction( playerid, SPECIAL_ACTION_NONE );
        }
   }

   if( newkeys & KEY_SPRINT ) {

       if( Gambling[ playerid ] == 1 ) {
           new kesmoney = PlayerInfo[ playerid ][xNovac];
           if(Bet[ playerid ] > kesmoney+Balance[ playerid ] ) {

               GameTextForPlayer( playerid, "~r~Nemas dovoljno novca!", 5000, 4 );
               return 1;
           }

           if( Balance[ playerid ] - Bet[ playerid ] < 0 ) {

               GameTextForPlayer( playerid, "~r~Imas premalo na racunu!", 5000, 4);
               return 1;
           }

           SlotCounter[ playerid ] = 30+random( 18 );
            SlotTimer[ playerid ] = SetTimerEx( "Gambler", 100, 1, "d", playerid );
            Gambling[ playerid ] = 2;

            Balance[ playerid ] -= Bet[ playerid ];

            new prefix[ 4 ];
           if( Balance[ playerid ] == 0) strcat( prefix,"~y~" );
           if( Balance[ playerid ]  > 0) strcat( prefix,"~g~" );
           if( Balance[ playerid ]  < 0) strcat( prefix,"~r~" );

         UpdateBetText( playerid );

            TextDrawHideForPlayer( playerid, ReadyText );
       }
   }
   if(newkeys & KEY_JUMP)
   {
       if(Gambling[ playerid ] == 1)
       {
          Bet[ playerid ] = GetNextValidBet(Bet[ playerid ]);
          UpdateBetText(playerid);
       }
   }

   if( ( newkeys==KEY_SECONDARY_ATTACK ) && GetPVarInt( playerid, "gSmoking") > 0 )
    {
        if(GetPVarInt( playerid, "gSmoking") == 1)
        {
           SetPlayerSpecialAction( playerid,0 );
           SetPVarInt( playerid, "gSmoking", 0 );
           format( globalstring, sizeof( globalstring ), "** %s baca cigaretu na pod.", RPImeIgraca( playerid ) );
           PorukaRadius( 15.0, playerid, globalstring, LJUBICASTA );
      }
      else if(GetPVarInt( playerid, "gSmoking") == 2)
      {
            SetPlayerSpecialAction( playerid,0 );
           SetPVarInt( playerid, "gSmoking", 0 );
           format( globalstring, sizeof( globalstring ), "** %s baca joint na pod.", RPImeIgraca( playerid ) );
           PorukaRadius( 15.0, playerid, globalstring, LJUBICASTA );
      }

    }
    else if( ( newkeys == KEY_SECONDARY_ATTACK ) && InAmbu[ playerid ] != -1 && IsPlayerInRangeOfPoint( playerid, 1.5, 2003.2792, 2283.7454, 1011.1256 ) )
   {
      new Float:vehPos[ 3 ];
      getPosBehindVehicle( InAmbu[ playerid ], vehPos[ 0 ], vehPos[ 1 ], vehPos[ 2 ], 0.0 );
      KGEyes_SetPlayerPos( playerid, vehPos[ 0 ], vehPos[ 1 ], vehPos[ 2 ] );
      SetPlayerInterior( playerid, 0 );
      InAmbu[ playerid ] = -1;
   }
    else if( PRESSED( KEY_FIRE ) ) {
        if( PlayerCreateEvent[ playerid ] ) {

         if( EventCP[ playerid ] == 1 ) {
            new dFile[ 32 ], Float:Pos[ 4 ];
            GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
            GetPlayerFacingAngle( playerid, Pos[ 3 ] );
            format( dFile, 35, F_EVENT, EventID[ playerid ] );
                if( EventCarsCreate[ playerid ] == 1 ) {
               new
                  INI:File = INI_Open( dFile );

                 INI_WriteString( File, "Name", EventName[ playerid ] );
                INI_WriteFloat( File, "TCPX", Pos[ 0 ] );
                INI_WriteFloat( File, "TCPY", Pos[ 1 ] );
                INI_WriteFloat( File, "TCPZ", Pos[ 2 ] );
                INI_WriteFloat( File, "TCPA", Pos[ 3 ] );
                INI_WriteInt( File, "Veh", EventVehID[ playerid ] );
                INI_Close( File );
                 format( Event[ EventID[ playerid ] ][ Name ], 64, "%s", EventName[ playerid ] );
               Event[ EventID[ playerid ] ][ TCPX ] = Pos[ 0 ];
               Event[ EventID[ playerid ] ][ TCPY ] = Pos[ 1 ];
               Event[ EventID[ playerid ] ][ TCPZ ] = Pos[ 2 ];
               Event[ EventID[ playerid ] ][ TCPA ] = Pos[ 3 ];
               Event[ EventID[ playerid ] ][ VehID ] = EventVehID[ playerid ];
               SCM( playerid, ZUTA, "Postavio si red za vozila 1." );
               EventCarsCreate[ playerid ]++;
            }
            else if( EventCarsCreate[ playerid ] == 2 ) {
                    new
                  INI:File = INI_Open( dFile );

                INI_WriteFloat( File, "TCPX2", Pos[ 0 ] );
                INI_WriteFloat( File, "TCPY2", Pos[ 1 ] );
                INI_WriteFloat( File, "TCPZ2", Pos[ 2 ] );
                INI_WriteFloat( File, "TCPA2", Pos[ 3 ] );
                INI_Close( File );
               EventCP[ playerid ]++;
               EventCarsCreate[ playerid ] = 0;
               Event[ EventID[ playerid ] ][ TCPX2 ] = Pos[ 0 ];
               Event[ EventID[ playerid ] ][ TCPY2 ] = Pos[ 1 ];
               Event[ EventID[ playerid ] ][ TCPZ2 ] = Pos[ 2 ];
               Event[ EventID[ playerid ] ][ TCPA2 ] = Pos[ 3 ];
               SCM( playerid, ZUTA, "Postavio si red za vozila 2." );
               SCM( playerid, ZUTA, "Koristi LMB(levi klik misa) za postavljanje checkpointa. Kada zavrsis ukucaj /ezavrsi.");
            }
         }
         else if( EventCP[ playerid ] > 1 ) {
            new dFile[ 32 ], Float:Pos[ 3 ], string[ 6 ];
            GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
            format( dFile, 35, F_EVENT, EventID[ playerid ] );

            new
               INI:File = INI_Open( dFile );

              format( string, 6, "CPX%d", EventCP[ playerid ] );
             INI_WriteFloat( File, string, Pos[ 0 ] );
            CheckPoint[ EventID[ playerid ] ][ EventCP[ playerid ] ][ CPX ] = Pos[ 0 ];

             format( string, 6, "CPY%d", EventCP[ playerid ] );
             INI_WriteFloat( File, string, Pos[ 1 ] );
             CheckPoint[ EventID[ playerid ] ][ EventCP[ playerid ] ][ CPY ] = Pos[ 1 ];

             format( string, 6, "CPZ%d",EventCP[ playerid ] );
             INI_WriteFloat( File, string, Pos[ 2 ] );
            CheckPoint[ EventID[ playerid ] ][ EventCP[ playerid ] ][ CPZ ] = Pos[ 2 ];

             INI_Close( File );
             SendClientMessageEx( playerid, ZUTA, "Postavio si Checkpoint %d.", EventCP[ playerid ]-1 );
             EventCP[ playerid ]++;
         }
      }

      if( CreatingThing[ playerid ] == 1 ) {
          new Float:Pos[ 3 ];
         GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );

         if( IsCordsInOtherField( Pos[ 0 ], Pos[ 1 ] ) != -1 ) return SendErrorMessage( playerid, "Ne mozes da postavis u drugom imanju." );

           CreatingPos[ playerid ][ 0 ] = Pos[ 0 ];
           CreatingPos[ playerid ][ 1 ] = Pos[ 1 ];
            SendInfoMessage( playerid, "Koristi "col_white"LMB"col_server" da postavis pozicije." );
           SendInfoMessage( playerid, "Sada sacuvaj poziciju desnog gornjeg ugla polja." );
           CreatingThing[ playerid ]++;
        }
        else if( CreatingThing[ playerid ] == 2 ) {
            new Float:Pos[ 4 ];
            new id = NextFieldID( MAX_FIELDS );

         if( id == -1 ) return SendErrorMessage( playerid, "Vec ima maksimalni broj imanja." );

         GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
         GetPlayerFacingAngle( playerid, Pos[ 3 ] );

         if( IsCordsInOtherField( Pos[ 0 ], Pos[ 1 ] ) != -1 ) return SendErrorMessage( playerid, "Ne mozes da postavis u drugom imanju." );

           CreatingPos[ playerid ][ 2 ] = Pos[ 0 ];
           CreatingPos[ playerid ][ 3 ] = Pos[ 1 ];
           CreatingThing[ playerid ] = -1;
            CreatingField[ playerid ] = id;

            ResetField( id );

            if( CreatingPos[ playerid ][ 0 ] > CreatingPos[ playerid ][ 2 ] ) {
             fieldInfo[ id ][ fieldMaxX ] = CreatingPos[ playerid ][ 0 ];
            fieldInfo[ id ][ fieldMinX ] = CreatingPos[ playerid ][ 2 ];
         }
         else if( CreatingPos[ playerid ][ 2 ] > CreatingPos[ playerid ][ 0 ] ) {
             fieldInfo[ id ][ fieldMaxX ] = CreatingPos[ playerid ][ 2 ];
            fieldInfo[ id ][ fieldMinX ] = CreatingPos[ playerid ][ 0 ];
         }

         if( CreatingPos[ playerid ][ 1 ] > CreatingPos[ playerid ][ 3 ] ) {
             fieldInfo[ id ][ fieldMaxY ] = CreatingPos[ playerid ][ 1 ];
            fieldInfo[ id ][ fieldMinY ] = CreatingPos[ playerid ][ 3 ];
         }
         else if( CreatingPos[ playerid ][ 3 ] > CreatingPos[ playerid ][ 1 ] ) {
             fieldInfo[ id ][ fieldMaxY ] = CreatingPos[ playerid ][ 3 ];
            fieldInfo[ id ][ fieldMinY ] = CreatingPos[ playerid ][ 1 ];
         }

         fieldInfo[ id ][ fieldObject ] = CreateDynamicObject( 19470, Pos[ 0 ]+2, Pos[ 1 ], Pos[ 2 ]+ 0.6, 0.0, 0.0, Pos[ 3 ] , 0, 0, -1, 200.0 );
            Streamer_Update( playerid );
         EditDynamicObject( playerid, fieldInfo[ id ][ fieldObject ] );

            fieldInfo[ id ][ fieldRectAngle ] = CreateDynamicRectangle( fieldInfo[ id ][ fieldMinX ], fieldInfo[ id ][ fieldMinY ], fieldInfo[ id ][ fieldMaxX ], fieldInfo[ id ][ fieldMaxY ], -1, -1, -1 );
         Field_Save( id );

         SendInfoMessage( playerid, "Uspesno si sacuvao pozicije, sada sacuvaj poziciju objekta koji oznacava da je imanje na prodaju." );
        }[/pawn]
Citat: Galardo poslato April 13, 2020, 00:07:23 PRE PODNE
daj mi code od OnPlayerKeyStateChange