Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Hordas poslato Jun 07, 2021, 00:02:48 PRE PODNE

Naslov: Pomoc
Poruka od: Hordas poslato Jun 07, 2021, 00:02:48 PRE PODNE
Problem(error/warning): Imam problem sa rentom, ne izlazi mi dialog kada zelim da rentam samo upalim vozilo i mogu ici ne moram platiti i kada ga hocu lijepo parkirati sa /apark cmd  ima problem
ukoliko treba neka linija pisite.
Deo skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Naslov: Odg: Pomoc
Poruka od: __vedran.xyz77 poslato Jun 07, 2021, 09:46:42 PRE PODNE
Pa daj nam rent dialog daj nam rent komandu ne mozemo nagadjati imena varijabli
Naslov: Odg: Pomoc
Poruka od: Hordas poslato Jun 07, 2021, 09:50:43 PRE PODNE
Citat: __vedran.xyz77 poslato Jun 07, 2021, 09:46:42 PRE PODNE
Pa daj nam rent dialog daj nam rent komandu ne mozemo nagadjati imena varijabli
[pawn]CMD:rent( playerid, params[] ) {
    if( TipVozila[ GetPlayerVehicleID( playerid ) ] == RENTANO_VOZILO ) {
      if( Rentano[ playerid ] != GetPlayerVehicleID( playerid ) ) {

         new price;
         if( IsVehicleBajs( GetPlayerVehicleID( playerid ) ) ) price = 200;
         else if( IsVehicleMotor( GetPlayerVehicleID( playerid ) ) ) price = 300;
         else if( IsVehicleAuto( GetPlayerVehicleID( playerid ) ) ) price = 400;
          new string[ 512 ];
         format( string, sizeof( string ), ""col_white"Usli ste u rent vozilo.\n\n\
                 "col_white"Vozilo mozete rentati maksimalno 45 minuta.\n\n\
                 "col_white"1 minut je $%d.\n\n\
                 "col_white"Unesite koliko minuta zelite da rentate ovo vozilo.\n\n\
               "col_white"Ukoliko zelite rentati ovo vozilo mozete koristiti sledece komande:\n\n\
               "col_white"/lock /unrent", price );
         SPD( playerid, dialog_RENTANJE, DSI, D_NASLOV, string, "Rentaj", D_ODUSTANI );
      }
   }
    return 1;
}[/pawn]


[pawn]   else if( dialogid == dialog_RENTANJE ) {

      if( response ) {

         new vreme, price;

         if( IsVehicleBajs( GetPlayerVehicleID( playerid ) ) ) price = 200;
         else if( IsVehicleMotor( GetPlayerVehicleID( playerid ) ) ) price = 300;
         else if( IsVehicleAuto( GetPlayerVehicleID( playerid ) ) ) price = 400;

          if( sscanf( inputtext, "i", vreme ) ) {

              new string[ 512 ];
            format( string, sizeof( string ), ""col_srvboja"Internal rent firma.\n\n\
                    "col_white"1 minut je %d$.\n\n\
                    "col_white"Unesite koliko minuta zelite da rentate ovo vozilo.\n\n\
                  "col_white"Ukoliko zelite rentati ovo vozilo mozete koristiti sledece komande:\n\n\
                  "col_srvboja"/lock /unrent", price );
            SPD( playerid, dialog_RENTANJE, DSI, D_NASLOV, string, "Rentaj", D_ODUSTANI );

              return 1;
          }

          if( vreme < 1 || vreme > 45 ) return ERROR( playerid, "Ne mozes ispod 1 ili iznad 45 min." ), Traxx_RemovePlayerFromVehicle( playerid ), TogglePlayerControllable( playerid, true );

           new engine, lights, alarm, doors, bonnet, boot, objective;
           GetVehicleParamsEx( GetPlayerVehicleID( playerid ), engine, lights, alarm, doors, bonnet, boot, objective );

           if( Rentano[ playerid ] != -1 ) return ERROR( playerid, "Vec si rentao neko vozilo."), Traxx_RemovePlayerFromVehicle( playerid ), TogglePlayerControllable( playerid, true );
           if( !IsPlayerInAnyVehicle(playerid)) return ERROR( playerid, "Morate biti u vozilu!");
         if( GetPlayerState(playerid) != PLAYER_STATE_DRIVER ) return ERROR( playerid, "Morate biti na mestu vozaca!");

         foreach( Player, i ) {

              if( Rentano[ i ] == GetPlayerVehicleID( playerid ) ) {

                 ERROR( playerid, "To vozilo je vec rentano!" );
                 Traxx_RemovePlayerFromVehicle( playerid ); TogglePlayerControllable( playerid, true );
                 return 1;
                }
          }

          if( PlayerInfo[ playerid ][ xNovac ] < price*vreme ) return ERROR( playerid, "Nemas dovoljno novca(%d$)!", price*vreme ), Traxx_RemovePlayerFromVehicle( playerid ), TogglePlayerControllable( playerid, true );
          DajIgracuNovac( playerid, -price*vreme  );
          Rentano[ playerid ] = GetPlayerVehicleID( playerid );
          RentTimer[ playerid ] = SetTimerEx( "KrajRenta", vreme*60000, 0, "ii", playerid, GetPlayerVehicleID( playerid ) );

         if( IsVehicleBajs( GetPlayerVehicleID( playerid ) ) ) {
            SetVehicleParamsEx( GetPlayerVehicleID( playerid ), 1, lights, alarm, doors, bonnet, boot, objective );
            SendClientMessageEx( playerid, SIVA, "Rentao si biciklu sada mozete krenuti, rent ti je ogranicen na %d minuta!", vreme );
         }
         else if( IsVehicleMotor( GetPlayerVehicleID( playerid ) ) ) {
            SendClientMessageEx( playerid, SIVA, "Rentao si motor sada ga mozes upaliti, rent ti je ogranicen na %d minuta!", vreme );
         }
         else if( IsVehicleAuto( GetPlayerVehicleID( playerid ) ) ) {
            SendClientMessageEx( playerid, SIVA, "Rentao si vozilo sada ga mozes upaliti, rent ti je ogranicen na %d minuta!", vreme );
         }

         BussinesRentMoney( playerid, price*vreme );
       }
       else {

           Traxx_RemovePlayerFromVehicle( playerid ); TogglePlayerControllable( playerid, true );
           SCM( playerid, CRVENA, "Odbio si rentanje vozila!");[/pawn]
Ako jos nesto treba pisi.
Naslov: Odg: Pomoc
Poruka od: __vedran.xyz77 poslato Jun 07, 2021, 09:59:42 PRE PODNE
Imas li sta u OnPlayerStateChange vezano za rent ?
Naslov: Odg: Pomoc
Poruka od: _tayloR poslato Jun 07, 2021, 10:39:03 PRE PODNE
Frizaj ga na OnPlayerStateChange kad udje u rent i tjt i da mu ispise poruku da kuca /rent ili stavi samo kad udje da mu izbaci dialog
Naslov: Odg: Pomoc
Poruka od: Hordas poslato Jun 07, 2021, 12:22:56 POSLE PODNE
Citat: Taylor Morelli poslato Jun 07, 2021, 10:39:03 PRE PODNE
Frizaj ga na OnPlayerStateChange kad udje u rent i tjt i da mu ispise poruku da kuca /rent ili stavi samo kad udje da mu izbaci dialog
Kako da namjestim da mu izbaci dialog to je jedini problem?
Naslov: Odg: Pomoc
Poruka od: V01D poslato Jun 07, 2021, 15:13:34 POSLE PODNE
Pa, sve zavisi od toga kako si zapravo napravio to vozilo

Jedan primer :

[pawn]new rentVozilo = CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, addsiren=0); //Ako si kreirao ovako

public OnPlayerStateChange(playerid, newstate, oldstate) {

   if(newstate && PLAYER_STATE_DRIVER) { //Ako udje na mesto vozaca u nesto

      if(GetPlayerVehicleID(playerid) == rentVozilo) { //Ako je usao u rent vozilo

         //Uradis nesto, ili prikazes dialog
      }
   }

   return 1;
}[/pawn]
Naslov: Odg: Pomoc
Poruka od: __vedran.xyz77 poslato Jun 07, 2021, 23:03:15 POSLE PODNE
Citat: Hordas poslato Jun 07, 2021, 12:22:56 POSLE PODNE
Kako da namjestim da mu izbaci dialog to je jedini problem?
callcmd::rent(playerid, "");