[Ajuda] Comando /abastecer
#1

Fiz um comando /abastecer, mais estou confuso em uma coisa.Exemplo:
O player tem di gasolina = 50 litros e digitou /abastecer 60 litros..
Ai ele vai ficar com 110 litros, mais o maximo й so 100.
Como que faзo para fazer isso? Tipo

gasolina + valorabastecido <= 100; Ai caso a gasolina q ele tem, mais o tanto q ele for abastecer for maior q 100, ele nao vai abastecer. Como faзo??

Ai tipo, outro, caso ele abastecer com 60, como faзo para ele abastecer 50 ate enxer o tanque e nao abastecer os outros 10 ?
Reply
#2

if(Gas1+Gas2 > 100) return SendClientMessage(playerid, Cor, "Valor invalido o mбximo й 100");

Gas1 = Quantidade de gasolina que ele tб pondo.
Gas2 = Quantidade que ele jб tem.

Mude os nomes e aplique em seu GM na prуxima poste parte do cуdigo.
Reply
#3

Voce tera que Getar a Gasolina do Player e depois criar um if para verificar se com + o valor que ele quer da mais de 100.
Posta sua variavel Gasolina ai.
Reply
#4

pawn Код:
if(VariavelQueDefineAGasolinaDoCarro[carid]+QuantidadeQueAPessoaDigitou > 100) return SendClientMessage(playerid, -1 "Sу cabem 100 litros no tanque do seu veiculo!");
Reply
#5

Obrigado a todos que mim ajudaram. Ja conseguir, so nao estou conseguindo pra quando a gasolina acabar, o carro parar de rodar. Ele para, mais si ele trocar de carro, funciona normal. Olha:

Код:
            new idcarro = GetPlayerVehicleID(playerid);
	    new engine,lights,alarm,doors,bonnet,boot,objective;
            GetVehicleParamsEx(idcarro, engine, lights, alarm, doors, bonnet, boot, objective);
            SetVehicleParamsEx(idcarro, 0, lights, alarm, doors, bonnet, boot, objective);
Reply
#6

n entendi sua duvida... parar de rodar
Reply
#7

Exemplo, a gasolina acaba. Ai o carro continua funcionando normal. Quando a gasolina acabar, ele parar de funcionar.

Код:
if(Gasosa[playerid] == 0 && Avisado[playerid] == false) {
                SendClientMessage(playerid,0xFFFF00AA,"Voce esta sem gasolina.");
                Avisado[playerid] = true;
                new idcarro = GetPlayerVehicleID(playerid);
			    new engine,lights,alarm,doors,bonnet,boot,objective;
            	GetVehicleParamsEx(idcarro, engine, lights, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(idcarro, 0, lights, alarm, doors, bonnet, boot, objective);
				}else{
					new idcarro = GetPlayerVehicleID(playerid);
			    	new engine,lights,alarm,doors,bonnet,boot,objective;
            		GetVehicleParamsEx(idcarro, engine, lights, alarm, doors, bonnet, boot, objective);
                	SetVehicleParamsEx(idcarro, 1, lights, alarm, doors, bonnet, boot, objective);
Reply
#8

pawn Код:
if(vardagasolina <= 0) TooglePlayerControllable(playerid, 0);

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SECONDARY_ATTACK && IsPlayerInAnyVehicle(playerid))
    {
        TooglePlayerControllable(playerid, 1), RemovePlayerFromVehicle(playerid);
Seria isso? Enfim, acho que se o problema й ele entrar em outro veнculo e funcionar ou vocк tб aplicando а player em vez de veнculo ou o outro veнculo tem gasosa.
Reply
#9

Nao. Gostaria de aplicar ao player. Exemplo, se ele tem 10 litros. Ele pode dirigir qualquer veiculo.
Agora se ele nao tiver nenhum litro, ele nao pode dirigir nenhum. E nao quero que ele seja injetado do carro, apenas que desligue o motor.
Reply
#10

pawn Код:
//na public onplayerstatechange
if(newstate == PLAYER_STATE_DRIVER && VariavelQueDefineAGasolinaDoPlayer[playerid] == 0)
{
new engine,lights,alarm,doors,bonnet,boot,objective,idcarro;
idcarro = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(idcarro, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(idcarro, 0, lights, alarm, doors, bonnet, boot, objective);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)