Fuel Help
#1

Ok I have problem with /buyfuel When using /buyfuel it says Refuelling but then your car freezes and you cant get out or nothing once its done.

Code:
pawn Код:
if ( (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) && oldstate == PLAYER_STATE_ONFOOT ) {

        new str[50];
        new vid = GetPlayerVehicleID(playerid);
        SendClientMessage(playerid,-1,"");
        SetTimer("fuel2", 10000, 0);
        format(str, sizeof(str), "Vehicle: %s", CarName[GetVehicleModel(vid)-400]);
        speedo1[playerid] = TextDrawCreate(132.000000, 407.000000, " ");
        TextDrawBackgroundColor(speedo1[playerid], 255);
        TextDrawFont(speedo1[playerid], 2);
        TextDrawLetterSize(speedo1[playerid], 0.310000, 1.500000);
        TextDrawColor(speedo1[playerid], -1);
        TextDrawSetOutline(speedo1[playerid], 0);
        TextDrawSetProportional(speedo1[playerid], 1);
        TextDrawSetShadow(speedo1[playerid], 1);
        TextDrawShowForPlayer(playerid, Textdraw55);
        TextDrawShowForPlayer(playerid, speedo1[playerid]);

        new Float:vh;
        GetVehicleHealth(vid, vh);
        new h = floatround(vh) / 10;
        format(str, sizeof(str), "Fuel: ~g~%d", h);
        speedo2[playerid] = TextDrawCreate(491.000000, 407.000000, " ");
        TextDrawBackgroundColor(speedo2[playerid], 255);
        TextDrawFont(speedo2[playerid], 2);
        TextDrawLetterSize(speedo2[playerid], 0.310000, 1.500000);
        TextDrawColor(speedo2[playerid], -1);
        TextDrawSetOutline(speedo2[playerid], 0);
        TextDrawSetProportional(speedo2[playerid], 1);
        TextDrawSetShadow(speedo2[playerid], 1);
        TextDrawShowForPlayer(playerid, speedo2[playerid]);


        new Float:s = GetPlayerSpeed(playerid);
        new ss = floatround(s);
        format(str, sizeof(str), "Speed: ~%s~%d km/h", DamageColor(h), ss);
        speedo3[playerid] = TextDrawCreate(300.000000, 407.000000, "~g~Speed:~r~");
        TextDrawBackgroundColor(speedo3[playerid], 255);
        TextDrawFont(speedo3[playerid], 2);
        TextDrawLetterSize(speedo3[playerid], 0.310000, 1.500000);
        TextDrawColor(speedo3[playerid], -1);
        TextDrawSetOutline(speedo3[playerid], 0);
        TextDrawSetProportional(speedo3[playerid], 1);
        TextDrawSetShadow(speedo3[playerid], 1);
        TextDrawShowForPlayer(playerid, speedo3[playerid]);
        TextDrawShowForPlayer(playerid, stats);
       
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        PlayerPos[0][playerid] = x;
        PlayerPos[1][playerid] = y;
        PlayerPos[2][playerid] = z;
    }
    if (newstate == PLAYER_STATE_ONFOOT && ( oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_ONFOOT ) ) {
        TextDrawHideForPlayer(playerid, speedo1[playerid]);
        TextDrawHideForPlayer(playerid, speedo2[playerid]);
        TextDrawHideForPlayer(playerid, speedo3[playerid]);
    }
        return 1;
    }


Command:
pawn Код:
CMD:buyfuel(playerid, params[])
{
    SendClientMessage(playerid, COLOR_ORANGE, "ReFueling... Please Wait");
    TogglePlayerControllable(playerid,0);
    SetTimer("Fuel", 10000, 0);
    return 1;
Reply
#2

Show us the callback called fuel.
Maybe you not doing the TogglePlayerControllable there.
Reply
#3

Quote:
Originally Posted by Romel
Посмотреть сообщение
Show us the callback called fuel.
Maybe you not doing the TogglePlayerControllable there.
What do you mean...
Reply
#4

I mean,
Do you make sure you unfreeze the player in the public callback Fuel.
Reply
#5

Quote:
Originally Posted by Romel
Посмотреть сообщение
I mean,
Do you make sure you unfreeze the player in the public callback Fuel.
pawn Код:
public Fuel(playerid)
{
new Float:health;
new veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(GetPlayerMoney(playerid) - 578 <578) return SendClientMessage(playerid,0xFFC800FF,"You cannot buy fuel, you dont have enough money!");
GivePlayerMoney(playerid,-578);
SetVehicleHealth(veh,1000);
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid, 0x33AA33AA, "You Have bought a full fuel (Price: 578$)");
return 1;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)