Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Risticc poslato Februar 20, 2024, 22:52:45 POSLE PODNE

Naslov: Savet
Poruka od: Risticc poslato Februar 20, 2024, 22:52:45 POSLE PODNE
Pitanje/savet: E ovako, napravio sam da se pojavi textdraw u kome pise da ugasite vozilo upisite /ugasi, ili ako je ugaseno vozilo onda /upali
Opširnije: Interesuje me, da li postoji neki bolji nacin da se ovo uradi, mislim ovo moje radi perfektno, ali bih zeleo da naucim oko optimizacije koda itd, da ga skratim sto vise, a da pristup ostane isti... Nije uopste ni sad dugacak kod, ali verujem da ovo moze da se uradi dosta lakse..

Trenutni kod je ovakav:

[pawn]
if( engine == 0 ) {
         SCM(playerid,  SERVER_COLOR, "{FFFFFF}Da upalite vozilo koristite "col_white"/upali "col_server"ili taster "col_white"2.");
            PaljenjeVozila(playerid);
            SetTimerEx("GasenjeVozila", 3000, false, "i", playerid);
         SCM(playerid,  SERVER_COLOR, "{FFFFFF}Da upalite/ugasite tempomat koristite taster "col_server"'LEFT CRTL'"col_white"." );
      }
      else GasenjeVozila(playerid); SetTimerEx("GasenjeVozila", 3000, false, "i", playerid);

forward PaljenjeVozila(playerid);
public PaljenjeVozila(playerid)
{
    VoziloTag[playerid] = 1;
   PlayerTextDrawShow( playerid, VoziloText[ playerid ][ 1 ] );
   SetTimerEx("TekstTimer", 3000, false, "ii", playerid, 0);
    return 1;
}

forward GasenjeVozila(playerid);
public GasenjeVozila(playerid)
{
   PlayerTextDrawShow( playerid, VoziloText[ playerid ][ 0 ] );
   SetTimerEx("TekstTimer", 3000, false, "ii", playerid, 0);
    return 1;
}
forward TekstTimer(playerid);
public TekstTimer(playerid)
{
    VoziloTag[playerid] = 0;
   PlayerTextDrawHide( playerid, VoziloText[ playerid ][ 0 ] );
   PlayerTextDrawHide( playerid, VoziloText[ playerid ][ 1 ] );
    return 1;
}
[/pawn]

Zamolio bih da ne bude bilo kakvih uvreda ako je nesto nepravilno uradjeno itd, tu sam da pitam... Hvala svima!
Naslov: Odg: Savet
Poruka od: pawn.dev poslato Februar 21, 2024, 14:27:03 POSLE PODNE
Nemam osnovu sa kojom bih mogao da ti uradim code ili dam smernice, jer ne znam sta ti je sta i kako definisano.

Univerzalno :

[pawn]
            GetVehicleParamsEx(veh, engine, lights, alarm, doors, bonnet, boot, objective);

            if(engine == VEHICLE_PARAMS_OFF)
            {
                SetVehicleParamsEx(veh, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
            }
            else
            {
                SetVehicleParamsEx(veh, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
            }

            new str[60];
            format(str, sizeof(str),"% si motor.", (engine == VEHICLE_PARAMS_OFF) ? "Upalio" : "Ugasio");
            SendClientMessage(playerid, -1, str);
[/pawn]
Naslov: Odg: Savet
Poruka od: Risticc poslato Februar 21, 2024, 14:43:15 POSLE PODNE
Vazi, iskoristicu ovo hvala. Lock.