Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public OnPlayerStateChange(playerid, newstate, oldstate){
- if(IsPlayerNPC(playerid))return 1;
- SavePlayer(playerid);
- SetDefaultMarker(playerid);
- new pid = playerid, msg[max_line];
- new vido = GetNearestVehicle(playerid,2.0);
- if(Watching[playerid] && newstate != PLAYER_STATE_SPECTATING) Watching[playerid] = 0;
- if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER) {
- for(new i=555; i<max_players; i++)
- if(Watching[i]==playerid) PlayerSpectatePlayer(i,playerid);
- TextDrawHideForPlayer(playerid, Speedometr[playerid]); // скроем текстдрав
- SaveVehicle(Vehicle[playerid]);
- Vehicle[playerid] = -1;
- if(bezopas[playerid]==1) bezopas[playerid] = 0;
- if(TaxiCar(vido)&& Taxi[pid] && VFaction[vido]==127 && HasCarKey(playerid,vido)){
- Delete3DTextLabel(td[vido]);
- GivePlayerCash(playerid,CassaBus[vido]);
- format(msg,max_line,"Вы получили $%i за работу.",CassaBus[vido]);
- Message(playerid,msg,clLime);
- CassaBus[vido] = 0;
- TaksaTaxi[vido]=0;
- }
- if(moto[playerid]==1){
- format(msg,max_line,"*У %s слетела каска.",GetName(playerid));
- HMessage(playerid,msg,distance_close,clPurple);
- bezopas[playerid] = 0;
- RemovePlayerAttachedObject(playerid, SLOT);
- moto[playerid] = 0;
- }
- if(VFaction[vido]==127 && IncasCar(vido) && HasCarKey(playerid,vido) && JobIncas[pid] && RentTime[vido]>0){
- Message(pid,"Вы не должны выходить из машины пока развозите деньги",clLightRed);
- RentTime[vido] = 3;
- IncasBank[playerid] = 0;
- }
- if(Jacking[playerid]) {
- Jacking[playerid] = 0;
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
- Engined[GetPlayerVehicleID(playerid)] = 0;
- }
- if(FMarker[playerid]==2) SetFactionMarker(playerid,0);
- } else if (newstate == PLAYER_STATE_DRIVER) {
- TextDrawShowForPlayer(playerid, Speedometr[playerid]); // Теперь он будет показываться
- if(RentPrice[GetPlayerVehicleID(playerid)] && !Rented[GetPlayerVehicleID(playerid)]) Message(playerid,"Этот транспорт выставлен на аренду,чтобы арендовать наберите /rent",clYellow);
- if(Engined[GetPlayerVehicleID(playerid)] == 0)Message(playerid,"Наберите /engine или кнопка(Alt) чтобы завести");
- if(Engined[GetPlayerVehicleID(playerid)] == 1)Message(playerid,"Наберите /engine или кнопка(Alt) чтобы заглушить");
- if(Kaska[playerid]==1 && Denga[playerid]==0){
- if((IsABike(GetPlayerVehicleID(playerid)) || IsAVelo(GetPlayerVehicleID(playerid))) && HasCarKey(playerid,GetPlayerVehicleID(playerid))){
- format(msg,max_line,"Надеть каску?");
- ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
- }
- }
- if(IsAVelo(GetPlayerVehicleID(playerid))){
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
- }
- Vehicle[playerid] = GetPlayerVehicleID(playerid);
- new vid = Vehicle[pid]; SaveVehicle(Vehicle[playerid]);
- for(new i=555; i<max_players; i++)
- if(Watching[i]==playerid) PlayerSpectateVehicle(i,vid);
- GetPlayerName(playerid,LastDriver[vid],max_name);
- if(PlayerWanted[playerid]) SetFactionMarker(playerid,3,2);
- //if(PJ[vid]) ChangeVehiclePaintjobEx(vid,PJ[vid]-1);
- new cat = GetVehicleCategory(vid);
- if(!HasLicense(pid,cat)){
- format(msg,max_line,"Bы не имеете прав этой категории (%s)",CatName[cat]);
- Message(pid,msg,clLightRed);
- RemovePlayerFromVehicle(pid);
- }
- if(VFaction[vid]!=127 && VFaction[vid]!=128 && VFaction[vid] != GetPlayerFaction(pid) && VFaction[vid]>0){
- Message(pid,"Вы не можете водить машины этой фракции",clLightRed);
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
- Engined[vid] = 0;
- RemovePlayerFromVehicle(pid);
- }else if(VFaction[vid]==127 && TagachCar(vid) && JobVodila[pid]==0){
- Message(pid,"Вы не дальнобойщик",clLightRed);
- RemovePlayerFromVehicle(pid);
- } else if(IsFaction(vid) && PlayerRank[playerid]<VRank[vid]){
- Message(playerid,"У вас слишком низкий ранг",clLightRed);
- RemovePlayerFromVehicle(playerid);
- } else if(VFaction[vid]==127 && MedicCar(vid) && JobMedik[pid]==0){
- Message(pid,"Вы не медик",clLightRed);
- RemovePlayerFromVehicle(pid);
- }else if(VFaction[vid]==127 && IncasCar(vid) && JobIncas[pid]==0){
- Message(pid,"Вы не работник инкасации",clLightRed);
- RemovePlayerFromVehicle(pid);
- }else if(VFaction[vid]==127 && BusCar(vid)){
- Message(pid,"Вы не водитель автобуса",clLightRed);
- RemovePlayerFromVehicle(pid);
- }else if(VFaction[vid]==127 && TaxiCar(vid) && Taxi[pid]==0){
- Message(pid,"Вы не таксист",clLightRed);
- RemovePlayerFromVehicle(pid);
- }else if(VFaction[vid]==127 && AutoDiller(vid) && JobGonshik[pid]==0){
- Message(pid,"Вы не перегонщик авто",clLightRed);
- RemovePlayerFromVehicle(pid);
- }else if(RentTime[vid] && !HasCarKey(pid,vid)){
- Message(pid,"У вас нет ключей от этого автомобиля",clLightRed);
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
- Engined[vid] = 0;}
- else if(!IsABike(GetPlayerVehicleID(playerid)) && !IsAVelo(GetPlayerVehicleID(playerid)) && HasCarKey(playerid,GetPlayerVehicleID(playerid))){
- format(msg,max_line,"Пристегнуть ремень безопасности?");
- ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
- return 1;
- }
- if(VFaction[vid]==128 && !HasCarKey(pid,vid)){
- Message(pid,"У вас нет ключей от этого автомобиля",clLightRed);
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
- Engined[vid] = 0;
- if(VSecurity[vid]==1){
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
- }
- new owner = FindPlayer(Owner[vid]);
- if(IsPlayerConnected(owner)){
- format(msg,max_line,"Kто-то залез в ваш автомобиль %s (id: %i)",
- CarName[GetVehicleModel(vid)-400],vid);
- Message(owner,msg,clLightRed);
- }
- return 1;
- }
- if(Fuel[vid]<0.4 && !IsPlayerNPC(pid) && !IsAVelo(vid)){
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
- Engined[GetPlayerVehicleID(playerid)] = 0;
- GameTextForPlayer(pid,"no fuel",1,1);
- return 1;
- }
- } else if (newstate == PLAYER_STATE_PASSENGER) {
- Vehicle[playerid] = GetPlayerVehicleID(playerid); //new vid = Vehicle[pid];
- //if(PJ[vid]) ChangeVehiclePaintjobEx(vid,PJ[vid]-1);
- if((GetPlayerVehicleSeat(playerid)==2 || GetPlayerVehicleSeat(playerid)==3) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 416)
- {
- SetPlayerVirtualWorld(playerid,GetPlayerVehicleID(playerid));
- V[playerid]=GetPlayerVehicleID(playerid);
- SetPlayerPos(playerid, 2003.3, 2284.2, 1011.6);
- SetPlayerFacingAngle(playerid, 0);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid,0);
- SetTimerEx("Unfreze",2000,0,"%i",playerid);
- } else
- if((GetPlayerVehicleSeat(playerid)==2 || GetPlayerVehicleSeat(playerid)==3) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 482)
- {
- SetPlayerVirtualWorld(playerid,GetPlayerVehicleID(playerid));
- V[playerid]=GetPlayerVehicleID(playerid);
- SetPlayerPos(playerid, 2008.2498,1032.2180,1012.1354);
- SetPlayerFacingAngle(playerid, 273.3243);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid,0);
- SetTimerEx("Unfreze",2000,0,"%i",playerid);
- }
- if(!IsABike(GetPlayerVehicleID(playerid)) && !IsAVelo(GetPlayerVehicleID(playerid)) && !BusCar(GetPlayerVehicleID(playerid) && !MedicCar(GetPlayerVehicleID(playerid)))){
- format(msg,max_line,"Пристегнуть ремень безопастности?");
- ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
- }
- if(Kaska[playerid]==1){
- if(IsABike(GetPlayerVehicleID(playerid)) || IsAVelo(GetPlayerVehicleID(playerid))){
- format(msg,max_line,"Надеть каску?");
- ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
- }
- }
- if(BusCar(GetPlayerVehicleID(playerid)) || GetVehicleModel(GetPlayerVehicleID(playerid))==418){
- new price;
- if(GetVehicleModel(GetPlayerVehicleID(playerid))==418) price = 50;
- if(BusCar(GetPlayerVehicleID(playerid))) price = 10;
- if(PlayerCash[playerid]<price){
- format(msg,max_line,"{ff0000}У Вас нет на руках {ffff00}$%i{ff0000}которые надо заплатить за проезд",price);//TaksaBus[GetPlayerVehicleID(playerid)]);
- Message(playerid,msg,clDarkRed);
- RemovePlayerFromVehicle(pid);
- }
- else {
- GivePlayerCash(playerid,-price);
- format(msg,max_line,"Вы заплатили $%i за проезд",price);//,TaksaBus[GetPlayerVehicleID(playerid)]);
- Message(playerid,msg,clLime);
- //CassaBus[GetPlayerVehicleID(playerid)] += price;
- }
- }
- if(TaxiCar(GetPlayerVehicleID(playerid)) && TaksaTaxi[GetPlayerVehicleID(playerid)]){
- if(PlayerCash[playerid]<TaksaTaxi[GetPlayerVehicleID(playerid)]){
- format(msg,max_line,"{ff0000}У Вас нет на руках {ffff00}$%i {ff0000}которые надо заплатить за проезд",TaksaTaxi[GetPlayerVehicleID(playerid)]);
- Message(playerid,msg,clDarkRed);
- RemovePlayerFromVehicle(pid);
- }
- else {
- new price = TaksaTaxi[GetPlayerVehicleID(playerid)];
- //PlayerCash[playerid] -= price;
- GivePlayerCash(playerid,-price);
- format(msg,max_line,"Вы заплатили $%i за проезд",TaksaTaxi[GetPlayerVehicleID(playerid)]);
- Message(playerid,msg,clLime);
- CassaBus[GetPlayerVehicleID(playerid)] += price;
- }
- }
- new weapons[2];
- GetPlayerWeaponData(playerid, 4, weapons[0], weapons[1]);
- // Определяем содержимое в слоте "4" (там, где узи, микроузи и тек-9)
- SetPlayerArmedWeapon(playerid, weapons[0]); // Берем в руки это содержимое
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment