oko sistema goriva

Započeo .Drakula., Decembar 02, 2017, 23:13:11 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:Licna skripta
Detaljan opis problema:Napravio sam vrste goriva i odredio koja vozila koju vrstu goriva koristi, napravio sam i komandu sve lepo sredio, napravio i dialoze, ali problem je u tome, kada igrac odabere pogresnu vrstu goriva treba mu se pojaviti poruka pogresili ste vrstu goriva. Kada igrac odabere bilo koju vrstu goriva njemu se sipa gorivo koje njegovo vozilo koristi, nema poruke.
Zelim da odradim sa skripta prepozna koju vrstu goriva koristi igracevo vozilo i da ako igrac odabere tacno da mu se puni gorivo ,a ako odabere pogresno da mu se pojavi poruka. Ako neko zna i zeli da pomogne zamolio bih vas.
Sve dodatno sto bude potrebno dostavicu.
Dio skripte:
[/GetVehicleFuelType( vehicle ) {
new fueltypeName[14] = "Euro Super 98";

    if( Super98( vehicle ) ) fueltypeName = "Super 98";
else if( Super95( vehicle ) ) fueltypeName = "Super 95";
    else if( EuroDizel( vehicle ) ) fueltypeName = "Euro Dizel";
    else if( Dizel( vehicle ) ) fueltypeName = "Dizel";
    else if( LozUlje( vehicle ) ) fueltypeName = "Loz Ulje";
    else if( Plin( vehicle ) ) fueltypeName = "Plin";
    else if( Kerozin( vehicle ) ) fueltypeName = "Kerozin";
   
return fueltypeName;
}]

Ovde je problem, oko punjenja goriva.
[code] [/public Fillup( playerid, fuel )
{
new VID = GetPlayerVehicleID( playerid ),
    vehicleid;
    TogglePlayerControllable( playerid, true );

    Fuel[ VID ] += fuel;
    FuelTime[ VID ] = 0;
   
    ServerInfo[ Gorivo ] -= fuel;
    SaveServerStats( );
    UpdateGorivoLabel( );
   
    PuniGorivo[ playerid ] = false;

    VehicleInfo[ ScriptIDVozila[ VID ] ][ vFuel ] = Fuel[ VID ];

GetVehicleFuelType( vehicleid ) {
if( Super98 == true ) {
SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*142 );
DajIgracuNovac( playerid, -( fuel*142 ) );
BussinesPumpaMoney( playerid, fuel*71 );
}
else if( Super95 == true ) {
SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*135 );
DajIgracuNovac( playerid, -( fuel*135 ) );
BussinesPumpaMoney( playerid, fuel*67 );
}
else if( EuroDizel == true ) {
SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*140 );
DajIgracuNovac( playerid, -( fuel*140 ) );
BussinesPumpaMoney( playerid, fuel*70 );
}
else if( Dizel == true ) {
SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*130 );
DajIgracuNovac( playerid, -( fuel*130 ) );
BussinesPumpaMoney( playerid, fuel*65 );
}
else if( LozUlje == true ) {
SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*105 );
DajIgracuNovac( playerid, -( fuel*105 ) );
BussinesPumpaMoney( playerid, fuel*52 );
}
else if( Plin == true ) {
SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*75 );
DajIgracuNovac( playerid, -( fuel*75 ) );
BussinesPumpaMoney( playerid, fuel*37 );
}
else if( Kerozin == true ) {
    SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*240 );
DajIgracuNovac( playerid, -( fuel*240 ) );
BussinesPumpaMoney( playerid, fuel*120 );
}
else {
                   SendClientMessageEx( playerid, CRVENA, "Odabrali ste pogresnu vrstu goriva za vase vozilo.");
}
}
}]
[b]Neke slike/video za lakse dobivanje pomoci(neobavezno)[/b]:/
Poslednja Izmena: Decembar 02, 2017, 23:18:25 POSLE PODNE od Dragan_Milosavljevic

U trenutnoj 'GetVehicleFuelType' funkciji ti je output tekst, tako da to neće funkcionirati.



Ako želiš preko bool varijable, i odradi tako, i savjetujem da ne koristiš globalne, nego zasebno za igrača, primjer:
[pawn]new bool:Fuel_Type[ MAX_PLAYERS ][ 7 ]; //7 vrsta
RefreshPlayerVehFuelType( playerid ) {
    for(new i; i < 7; i++) { Fuel_Type[ playerid ][ i ] = false; }
    if( Super98( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 0 ] = true;
    else if( Super95( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 1 ] = true;
    else if( EuroDizel( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 2 ] = true;
    else if( Dizel( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 3 ] = true;
    else if( LozUlje( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 4 ] = true;
    else if( Plin( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 5 ] = true;
    else if( Kerozin( GetPlayerVehicleID( playerid) ) ) Fuel_Type[ playerid ][ 6 ] = true;
}[/pawn]

Primjer provjere:
[pawn]RefreshPlayerVehFuelType( playerid );
if(Fuel_Type[ playerid ][ 0 ]) {
   SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*142 );
   DajIgracuNovac( playerid, -( fuel*142 ) );
   BussinesPumpaMoney( playerid, fuel*71 );
}
else if(Fuel_Type[ playerid ][ 1 ]) {
   SendClientMessageEx( playerid, SVETLOPLAVA, "* Gorivo natoceno za: %d dinara.", fuel*135 );
   DajIgracuNovac( playerid, -( fuel*135 ) );
   BussinesPumpaMoney( playerid, fuel*67 );
}[/pawn]

I tako dalje.

Izvini druze nisam te bas razumeo lepo, sta ja tacno sada da izmenim.
Mozes li da mi pojasnis malo.

Moze li mi neko pojasniti malo nije mi bas jasno. Pls.

zabranjen bump ako nisu prosla 24h
heroin rap - Moskri u kuci, od sledece lajne glava ce mi puci