Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: .Drakula. poslato Decembar 02, 2017, 23:13:11 POSLE PODNE

Naslov: oko sistema goriva
Poruka od: .Drakula. poslato Decembar 02, 2017, 23:13:11 POSLE PODNE
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]:/
Naslov: Odg: oko sistema goriva
Poruka od: Slade poslato Decembar 02, 2017, 23:28:48 POSLE PODNE
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.
Naslov: Odg: oko sistema goriva
Poruka od: .Drakula. poslato Decembar 03, 2017, 00:53:55 PRE PODNE
Izvini druze nisam te bas razumeo lepo, sta ja tacno sada da izmenim.
Mozes li da mi pojasnis malo.
Naslov: Odg: oko sistema goriva
Poruka od: .Drakula. poslato Decembar 04, 2017, 16:40:36 POSLE PODNE
Moze li mi neko pojasniti malo nije mi bas jasno. Pls.
Naslov: Odg: oko sistema goriva
Poruka od: Łuk@ poslato Decembar 04, 2017, 19:36:18 POSLE PODNE
zabranjen bump ako nisu prosla 24h