Как-то захотелось с утра пописать (или пописать)... Понамёкиваю, никакой конкретики, но всё достаточно просто... public OnPlayerStateChange(playerid, newstate, oldstate)
new vm = GetVehicleModel(GetPlayerVehicleID(playerid));
if(newstate == PLAYER_STATE_PASSENGER && (vm==438||vm==420))//сюда вписать модельки автобусов или чего попало
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
if(GetPlayerVehicleID(i) == GetPlayerVehicleID(playerid))
{
GivePlayerMoney(playerid,-3000);
GivePlayerMoney(i,3000);
}
}
}
}
Для красоты можно добавить RemovePlayerFromVehicle(playerid); если никого нет за рулём...
А шоб деньги переводило в конце пути... Эт надо проверку по координатам и пару переменных писать... Лень!
p.s.
если подумать... надо делать проверку по десятку чекпойнтам и бабки за проезд накапливать в глобальную переменную типа
buswork[playerid], мол, на каждом чеке надо постоять секунд 5-10 и если на всех водила буса не постоял то денег не давать! а то эти паррразиты несходя с места бабки качать левыми акками будут!