[Help] Pay money for entering NPC
#1

Hi guys
I made yesterday a 5 NPC's
Now I have 3 cab's
And I first wanted that you need to pay $200 for entering but then I saw on the forum a better idea of a ticket.
I made a command /buyticket that works
But when I bought it and entering a ticket it doenst say anything
And he also dont throw me out of the car when I don't have a ticket.
I have a feeling that he dont recognize the ID of the NPC car ID
MY NPC are like this:
ConnectNPC("Bustour1","bus1");
ConnectNPC("Bustour2","bus2");
ConnectNPC("Taxitour1","taxi1");
ConnectNPC("Taxitour2","taxi2");
ConnectNPC("Taxitour3","taxi3");
Bustour1Vehicle = CreateVehicle(437, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); //De positie van het voertuig maakt niet uit!
Bustour2Vehicle = CreateVehicle(437, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); //De positie van het voertuig maakt niet uit!
Taxitour1Vehicle = CreateVehicle(420, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); //De positie van het voertuig maakt niet uit!
Taxitour2Vehicle = CreateVehicle(420, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); //De positie van het voertuig maakt niet uit!
Taxitour3Vehicle = CreateVehicle(420, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); //De positie van het voertuig maakt niet uit!

I also tried in stead of car ID 420, Taxitour1/2/3vehicle

Код:
 if(newstate == PLAYER_STATE_PASSENGER)
	{
		if(GetVehicleModel(GetPlayerVehicleID(playerid) == 420))
		{
			if(cabticket[playerid] == 1)
			{
				cabticket[playerid] = 0;//takes the player ticket
				SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
			}
			else
			{
				SendClientMessage(playerid,0xFF0000AA,"You can not enter in cab sir, you have not a ticket!");
				RemovePlayerFromVehicle(playerid);
			}
		}
		if(GetVehicleModel(GetPlayerVehicleID(playerid) == 420))
		{
			if(cabticket[playerid] == 1)
			{
				cabticket[playerid] = 0;//takes the player ticket
				SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
			}
			else
			{
				SendClientMessage(playerid,0xFF0000AA,"You can not enter in cab sir, you have not a ticket!");
				RemovePlayerFromVehicle(playerid);
			}
		}
		if(GetVehicleModel(GetPlayerVehicleID(playerid) == 420))
		{
			if(cabticket[playerid] == 1)
			{
				cabticket[playerid] = 0;//takes the player ticket
				SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
			}
			else
			{
				SendClientMessage(playerid,0xFF0000AA,"You can not enter in cab sir, you have not a ticket!");
				RemovePlayerFromVehicle(playerid);
			}
		}
	}
Reply
#2

Quote:

if(newstate == PLAYER_STATE_PASSENGER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 420))
{
if(!GetPlayerMoney(playerid) < 199)
{
GivePlayerMoney(playerid,-200); // 200 is the amount you pay for the ride
SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
}
else
{
SendClientMessage(playerid,0xFF0000AA,"You can not enter the cab sir, you don't have enough money!");
RemovePlayerFromVehicle(playerid);
}
}
}

this will work
Reply
#3

It stil not work it is very strange but also when I enter just a normal cab My money will not be less.
I don't get why it does not work.. It should work right?
EDIT: I have change the Car ID to 522 to an NRG but it still don't work.
EDIT2: Now I tried this:
Код:
if(newstate == PLAYER_STATE_PASSENGER)
	{
		if(GetVehicleModel(GetPlayerVehicleID(playerid) == 420))
		{
			SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
		}
	}
And it stil doenst work, wtf am I missing here?
Reply
#4

Try this. I made it now and don't testing
Код:
if(newstate == PLAYER_STATE_PASSENGER){	
	for(new i = 0; i < MAX_PLAYERS; i++){
		if(IsPlayerNPC(i)){
			if (GetPlayerVehicleID(playerid)==GetPlayerVehicleID(i)){
				if(GetPlayerMoney(playerid) >= 200){
					GivePlayerMoney(playerid,-200);
					SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
				}else{
					SendClientMessage(playerid,0xFF0000AA,"You don't have enough money!");
					RemovePlayerFromVehicle(playerid);
				}
			}
		}
	}
}
Reply
#5

Oke I fixed it I have now this:
Код:
if(GetVehicleModel(vehicleid) == 420)
	{
		if(ispassenger == 0)
		{
		    new string[128];
		    
            SendClientMessage(playerid,COLOR_RED,"You are now cab driver");
            format(string, sizeof(string), "%s Is now a cab driver", playername);
    		SendClientMessageToAll(COLOR_RED, string);
			return 1;
		}
		else
		if(ispassenger == 1)
		{
      		if(cabticket[playerid] == 1)
			{
				GivePlayerMoney(playerid,-200); // 200 is the amount you pay for the ride
				SendClientMessage(playerid,0xFFFF00AA,"Welcome sir!");
				cabticket[playerid] = 0;//takes the player ticket
			}
			else
			{
				SendClientMessage(playerid,0xFF0000AA,"You can not enter the cab sir, you don't have a ticket!");
				RemovePlayerFromVehicle(playerid);
			}

		}
	}
But now I dont get removed from the vehicle.
Why not?
Reply
#6

It's show mwssage but no remove you ?
see if you don't have install some cheats or modification witch prevent remove from vehicle.

or you can try move player to same position
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)