multiple ifs
#1

How do i make the script check multiple ifs in one checkpoint, it has supposed to be like this:
-must check if theyre driving a roadtrain(515), linerunner(403) or a tanker(514)
-and check if theres a trailer attached
here's the code i used:
pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(IsPlayerInVehicle(playerid, 514))//how do i make multiple car ids to check...
    if(IsPlayerInVehicle(playerid, 515))//
    if(IsPlayerInVehicle(playerid, 403))//
    if(IsTrailerAttachedToVehicle(playerid))//... and check if there's a trailer attached...
    {                                   //...all at the same time?
        SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
        GivePlayerMoney(playerid, 1700);
        DisablePlayerCheckpoint(playerid);
        }else{
        SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
        return 1;
    }

    return 1;
}

please help me
Reply
#2

If you are checking this several places, it could be smart making an array. For now this should work just fine:
pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(IsPlayerInVehicle(playerid, 514) || IsPlayerInVehicle(playerid, 515) || IsPlayerInVehicle(playerid, 403) && IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))
    {
        SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
        GivePlayerMoney(playerid, 1700);
        DisablePlayerCheckpoint(playerid);
        return 1;
    }
    else SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
    return 1;
}
Reply
#3

What is IFS?
Reply
#4

Код:
public OnPlayerEnterCheckpoint(playerid)
{
	if(IsPlayerInVehicle(playerid, 514))
	{
		if(IsTrailerAttachedToVehicle(playerid))
		{
		SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
		GivePlayerMoney(playerid, 1700);
		DisablePlayerCheckpoint(playerid);
		}
		else return SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
	}
	else if(IsPlayerInVehicle(playerid, 515))
	{
		if(IsTrailerAttachedToVehicle(playerid))
		{
		SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
		GivePlayerMoney(playerid, 1700);
		DisablePlayerCheckpoint(playerid);
		}
                  else return SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
	}
	else if(IsPlayerInVehicle(playerid, 403))
	{
		if(IsTrailerAttachedToVehicle(playerid))
		{
		SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
		GivePlayerMoney(playerid, 1700);
		DisablePlayerCheckpoint(playerid);
		}
		else return SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
	}
	return 1;
}
Reply
#5

something like this
pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    new truckid;
    truckid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(truckid) == 403 || GetVehicleModel(truckid) == 514 || GetVehicleModel(truckid) == 515 && IsTrailerAttachedToVehicle(playerid))
    {
        SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
        GivePlayerMoney(playerid, 1700);
        DisablePlayerCheckpoint(playerid);
        }else{
        SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
        return 1;
    }

    return 1;
}
@not available and jamesbond. IsPlayerInVehicle will check the Vehicle ID not the model id..
#victious he meant if's.
Reply
#6

Oh. Didn't even consider it being models and not IDs. This should be the best solution then:
pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    new
        truckid = GetPlayerVehicleID(playerid)
    ;
    if(GetVehicleModel(truckid) == 403 || GetVehicleModel(truckid) == 514 || GetVehicleModel(truckid) == 515 && IsTrailerAttachedToVehicle(truckid))
    {
        SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
        GivePlayerMoney(playerid, 1700);
        DisablePlayerCheckpoint(playerid);
        return 1;
    }
    else SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
    return 1;
}
Reply
#7

all of those didnt work.. now trying not available's last one

EDIT: your last one didnt work,
the vehicle ids worked but i could enter the checkpoint without trailer and still get $1700
Reply
#8

Try this one:
pawn Код:
OnPlayerEnterCheckpoint(playerid)
{
    new
        truckid = GetPlayerVehicleID(playerid)
    ;
    if(GetVehicleModel(truckid) == 403 || GetVehicleModel(truckid) == 514 || GetVehicleModel(truckid) == 515 && IsTrailerAttachedToVehicle(truckid))
    {
        SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
        GivePlayerMoney(playerid, 1700);
        DisablePlayerCheckpoint(playerid);
        return 1;
    }
    else SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
    return 1;
}
Reply
#9

pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    new vehid = GetPlayerVehicleID(playerid),
    model = GetVehicleModel(vehid);

    switch(model)
    {
        case 514,515,403:
        {
            if(!IsTrailerAttachedToVehicle(vehid))
            {
                SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
                return 1;
            }
            SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
            GivePlayerMoney(playerid, 1700);
            DisablePlayerCheckpoint(playerid);
            return 1;
        }
        default:SendClientMessage(playerid, 0xAA3333AA, "That's the wrong vehicle.");
    }
    return 1;
}
Reply
#10

Quote:
Originally Posted by Backwardsman97
Посмотреть сообщение
pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    new vehid = GetPlayerVehicleID(playerid),
    model = GetVehicleModel(vehid);

    switch(model)
    {
        case 514,515,403:
        {
            if(!IsTrailerAttachedToVehicle(vehid))
            {
                SendClientMessage(playerid, 0xAA3333AA, "Hey! Where's your truck?");
                return 1;
            }
            SendClientMessage(playerid, 0x33AA33AA, "Thank you! Here's $1.700!");
            GivePlayerMoney(playerid, 1700);
            DisablePlayerCheckpoint(playerid);
            return 1;
        }
        default:SendClientMessage(playerid, 0xAA3333AA, "That's the wrong vehicle.");
    }
    return 1;
}
its working thank you very much and everyone else for your effort though
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)