SA-MP Forums Archive
Проблема с бензином - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Проблема с бензином (/showthread.php?tid=254171)



Проблема с бензином - mid119 - 09.05.2011

Всем привет , помогите пожалуйста решить проблему у меня когда я сижу авто(движок заведен, если даже не заведен будет то тож так же) бензин прибавляется , у меня щас когда я еду отнимается по 0,1 литру а когда стою на месте и сижу(хоть на пассажирском хоть на водительском) и у меня прибавляется по 1 литру , вот мои коды:
pawn Код:
public CheckGas()
{
    new string[256];
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        if(IsPlayerConnected(i))
        {
            if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
            {
                new vehicle = GetPlayerVehicleID(i);
                if(Gas[vehicle] >= 1)
                {
                    if(Gas[vehicle] <= 10)
                    {
                        PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0);
                        if(gGas[i] == 1) {
                            GameTextForPlayer(i,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~Fuel is low",5000,3);
                        }
                    }
                    if(gGas[i] == 1) {
                    if(IsAPlane(vehicle) || IsABoat(vehicle) || IsABike(vehicle) || IsAHarvest(vehicle) || IsADrugHarvest(vehicle) || IsASweeper(vehicle))
                    {
                        format(string, sizeof(string), "~b~~n~~n~~n~~n~~n~~n~~n~~n~~n~Fuel:~w~ N/A");
                    }
                    else
                    {
                        format(string, sizeof(string), "~b~~n~~n~~n~~n~~n~~n~~n~~n~~n~Fuel:~w~ %.1f",Gas[vehicle]);
                    }
                    GameTextForPlayer(i,string,20500,3); }
                      if(IsAPlane(vehicle) || IsABoat(vehicle) || IsABike(vehicle) || IsAHarvest(vehicle) || IsADrugHarvest(vehicle) || IsASweeper(vehicle) || engineOn[vehicle] == 0) {  }
                      else { Gas[vehicle] -= 0.1; }
                }
                else
                {
                    NoFuel[i] = 1;
                    TogglePlayerControllable(i, 0);
                    GameTextForPlayer(i,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~No fuel in Vehicle",1500,3);
                }
            }
        }
    }
    return 1;
}
pawn Код:
public StoppedVehicle()
{
    new Float:x,Float:y,Float:z;
    new Float:distance,value;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInAnyVehicle(i))
            {
                new VID;
                VID = GetPlayerVehicleID(i);
                GetPlayerPos(i, x, y, z);
                distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
                value = floatround(distance * 3600);
                if(UpdateSeconds > 1)
                {
                    value = floatround(value / UpdateSeconds);
                }
                if(SpeedMode)
                {
                }
                if(value == 0)
                {
                    Gas[VID]++;//Gas[VID]++;
                }
                SavePlayerPos[i][LastX] = x;
                SavePlayerPos[i][LastY] = y;
                SavePlayerPos[i][LastZ] = z;
            }
        }
    }
    return 1;
}
pawn Код:
public CheckStatus()
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInAnyVehicle(i))
            {
                if(TextShow[i] == false)
                {
                    TextDrawShowForPlayer(i, Text:Black0);
                    TextDrawShowForPlayer(i, Text:Black1);
                    TextDrawShowForPlayer(i, Text:Black2);
                    TextDrawShowForPlayer(i, Text:Black3);
                    TextDrawShowForPlayer(i, Text:LightBlack);
                    TextShow[i] = true;
                }
                new String[128];
                new Float:X, Float:Y, Float:Z, Float:Speed;
                new vehicle = GetPlayerVehicleID(i);
                GetVehicleVelocity(GetPlayerVehicleID(i), X, Y, Z);
                Speed = floatmul(floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)),  floatpower(Z, 2))), 100.0);
                format(String,sizeof(String),"~b~ D-Board~n~~r~Fuel: ~w~%.1f~n~~r~km/h: ~w~%i", Gas[vehicle], floatround(Speed, floatround_floor));
                if(VHSCreated[i] == true)
                {
                    TextDrawDestroy(VHS[i]);
                }
                VHS[i] = TextDrawCreate(541.000000,137.000000,String);
                TextDrawAlignment(VHS[i],0);
                TextDrawBackgroundColor(VHS[i],0x000000ff);
                TextDrawFont(VHS[i],1);
                TextDrawLetterSize(VHS[i],0.299999,1.000000);
                TextDrawColor(VHS[i],0xffffffff);
                TextDrawSetOutline(VHS[i],1);
                TextDrawSetProportional(VHS[i],1);
                TextDrawSetShadow(VHS[i],1);
                TextDrawShowForPlayer(i, VHS[i]);
                VHSCreated[i] = true;

            }
            else
            {
                if(TextShow[i] == true)
                {
                    TextDrawHideForPlayer(i, Text:Black0);
                    TextDrawHideForPlayer(i, Text:Black1);
                    TextDrawHideForPlayer(i, Text:Black2);
                    TextDrawHideForPlayer(i, Text:Black3);
                    TextDrawHideForPlayer(i, Text:LightBlack);
                    TextDrawHideForPlayer(i, Text:VHS[i]);
                    TextShow[i] = false;
                }
            }
        }
    }
}
помогите пожалуйста я искал на форумах но ответа найти не могу...


Re: Проблема с бензином - Fro1sha - 09.05.2011

pawn Код:
if(value == 0)
                {
                    //Gas[VID]++;//Gas[VID]++;
                }



Re: Проблема с бензином - mid119 - 09.05.2011

Fro1sha - братан спасибо тебе большое , блин как я сам не догадался , я просто менял Gas[VID]--;
и не помогало ...