Guest User

Untitled

a guest
Sep 7th, 2011
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.37 KB | None | 0 0
  1. public OnPlayerStateChange(playerid, newstate, oldstate){
  2. if(IsPlayerNPC(playerid))return 1;
  3. SavePlayer(playerid);
  4. SetDefaultMarker(playerid);
  5. new pid = playerid, msg[max_line];
  6. new vido = GetNearestVehicle(playerid,2.0);
  7. if(Watching[playerid] && newstate != PLAYER_STATE_SPECTATING) Watching[playerid] = 0;
  8.  
  9. if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER) {
  10.  
  11. for(new i=555; i<max_players; i++)
  12. if(Watching[i]==playerid) PlayerSpectatePlayer(i,playerid);
  13. TextDrawHideForPlayer(playerid, Speedometr[playerid]); // скроем текстдрав
  14. SaveVehicle(Vehicle[playerid]);
  15. Vehicle[playerid] = -1;
  16. if(bezopas[playerid]==1) bezopas[playerid] = 0;
  17.  
  18. if(TaxiCar(vido)&& Taxi[pid] && VFaction[vido]==127 && HasCarKey(playerid,vido)){
  19. Delete3DTextLabel(td[vido]);
  20. GivePlayerCash(playerid,CassaBus[vido]);
  21. format(msg,max_line,"Вы получили $%i за работу.",CassaBus[vido]);
  22. Message(playerid,msg,clLime);
  23. CassaBus[vido] = 0;
  24. TaksaTaxi[vido]=0;
  25. }
  26.  
  27. if(moto[playerid]==1){
  28. format(msg,max_line,"*У %s слетела каска.",GetName(playerid));
  29. HMessage(playerid,msg,distance_close,clPurple);
  30. bezopas[playerid] = 0;
  31. RemovePlayerAttachedObject(playerid, SLOT);
  32. moto[playerid] = 0;
  33. }
  34.  
  35.  
  36. if(VFaction[vido]==127 && IncasCar(vido) && HasCarKey(playerid,vido) && JobIncas[pid] && RentTime[vido]>0){
  37. Message(pid,"Вы не должны выходить из машины пока развозите деньги",clLightRed);
  38. RentTime[vido] = 3;
  39. IncasBank[playerid] = 0;
  40. }
  41.  
  42. if(Jacking[playerid]) {
  43. Jacking[playerid] = 0;
  44. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  45. SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  46. Engined[GetPlayerVehicleID(playerid)] = 0;
  47. }
  48.  
  49. if(FMarker[playerid]==2) SetFactionMarker(playerid,0);
  50.  
  51. } else if (newstate == PLAYER_STATE_DRIVER) {
  52. TextDrawShowForPlayer(playerid, Speedometr[playerid]); // Теперь он будет показываться
  53. if(RentPrice[GetPlayerVehicleID(playerid)] && !Rented[GetPlayerVehicleID(playerid)]) Message(playerid,"Этот транспорт выставлен на аренду,чтобы арендовать наберите /rent",clYellow);
  54. if(Engined[GetPlayerVehicleID(playerid)] == 0)Message(playerid,"Наберите /engine или кнопка(Alt) чтобы завести");
  55. if(Engined[GetPlayerVehicleID(playerid)] == 1)Message(playerid,"Наберите /engine или кнопка(Alt) чтобы заглушить");
  56.  
  57. if(Kaska[playerid]==1 && Denga[playerid]==0){
  58. if((IsABike(GetPlayerVehicleID(playerid)) || IsAVelo(GetPlayerVehicleID(playerid))) && HasCarKey(playerid,GetPlayerVehicleID(playerid))){
  59. format(msg,max_line,"Надеть каску?");
  60. ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
  61. }
  62. }
  63. if(IsAVelo(GetPlayerVehicleID(playerid))){
  64. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  65. SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  66. }
  67.  
  68. Vehicle[playerid] = GetPlayerVehicleID(playerid);
  69. new vid = Vehicle[pid]; SaveVehicle(Vehicle[playerid]);
  70.  
  71. for(new i=555; i<max_players; i++)
  72. if(Watching[i]==playerid) PlayerSpectateVehicle(i,vid);
  73.  
  74. GetPlayerName(playerid,LastDriver[vid],max_name);
  75.  
  76. if(PlayerWanted[playerid]) SetFactionMarker(playerid,3,2);
  77. //if(PJ[vid]) ChangeVehiclePaintjobEx(vid,PJ[vid]-1);
  78.  
  79. new cat = GetVehicleCategory(vid);
  80. if(!HasLicense(pid,cat)){
  81. format(msg,max_line,"Bы не имеете прав этой категории (%s)",CatName[cat]);
  82. Message(pid,msg,clLightRed);
  83. RemovePlayerFromVehicle(pid);
  84. }
  85.  
  86. if(VFaction[vid]!=127 && VFaction[vid]!=128 && VFaction[vid] != GetPlayerFaction(pid) && VFaction[vid]>0){
  87. Message(pid,"Вы не можете водить машины этой фракции",clLightRed);
  88. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  89. SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  90. Engined[vid] = 0;
  91. RemovePlayerFromVehicle(pid);
  92. }else if(VFaction[vid]==127 && TagachCar(vid) && JobVodila[pid]==0){
  93. Message(pid,"Вы не дальнобойщик",clLightRed);
  94. RemovePlayerFromVehicle(pid);
  95. } else if(IsFaction(vid) && PlayerRank[playerid]<VRank[vid]){
  96. Message(playerid,"У вас слишком низкий ранг",clLightRed);
  97. RemovePlayerFromVehicle(playerid);
  98. } else if(VFaction[vid]==127 && MedicCar(vid) && JobMedik[pid]==0){
  99. Message(pid,"Вы не медик",clLightRed);
  100. RemovePlayerFromVehicle(pid);
  101. }else if(VFaction[vid]==127 && IncasCar(vid) && JobIncas[pid]==0){
  102. Message(pid,"Вы не работник инкасации",clLightRed);
  103. RemovePlayerFromVehicle(pid);
  104. }else if(VFaction[vid]==127 && BusCar(vid)){
  105. Message(pid,"Вы не водитель автобуса",clLightRed);
  106. RemovePlayerFromVehicle(pid);
  107. }else if(VFaction[vid]==127 && TaxiCar(vid) && Taxi[pid]==0){
  108. Message(pid,"Вы не таксист",clLightRed);
  109. RemovePlayerFromVehicle(pid);
  110. }else if(VFaction[vid]==127 && AutoDiller(vid) && JobGonshik[pid]==0){
  111. Message(pid,"Вы не перегонщик авто",clLightRed);
  112. RemovePlayerFromVehicle(pid);
  113. }else if(RentTime[vid] && !HasCarKey(pid,vid)){
  114. Message(pid,"У вас нет ключей от этого автомобиля",clLightRed);
  115. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  116. SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  117. Engined[vid] = 0;}
  118. else if(!IsABike(GetPlayerVehicleID(playerid)) && !IsAVelo(GetPlayerVehicleID(playerid)) && HasCarKey(playerid,GetPlayerVehicleID(playerid))){
  119. format(msg,max_line,"Пристегнуть ремень безопасности?");
  120. ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
  121. return 1;
  122. }
  123.  
  124.  
  125. if(VFaction[vid]==128 && !HasCarKey(pid,vid)){
  126. Message(pid,"У вас нет ключей от этого автомобиля",clLightRed);
  127. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  128. SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  129. Engined[vid] = 0;
  130. if(VSecurity[vid]==1){
  131. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  132. SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
  133. }
  134. new owner = FindPlayer(Owner[vid]);
  135. if(IsPlayerConnected(owner)){
  136. format(msg,max_line,"Kто-то залез в ваш автомобиль %s (id: %i)",
  137. CarName[GetVehicleModel(vid)-400],vid);
  138. Message(owner,msg,clLightRed);
  139. }
  140. return 1;
  141. }
  142.  
  143. if(Fuel[vid]<0.4 && !IsPlayerNPC(pid) && !IsAVelo(vid)){
  144. GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  145. SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  146. Engined[GetPlayerVehicleID(playerid)] = 0;
  147. GameTextForPlayer(pid,"no fuel",1,1);
  148. return 1;
  149. }
  150.  
  151. } else if (newstate == PLAYER_STATE_PASSENGER) {
  152. Vehicle[playerid] = GetPlayerVehicleID(playerid); //new vid = Vehicle[pid];
  153. //if(PJ[vid]) ChangeVehiclePaintjobEx(vid,PJ[vid]-1);
  154. if((GetPlayerVehicleSeat(playerid)==2 || GetPlayerVehicleSeat(playerid)==3) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 416)
  155. {
  156.  
  157.  
  158. SetPlayerVirtualWorld(playerid,GetPlayerVehicleID(playerid));
  159. V[playerid]=GetPlayerVehicleID(playerid);
  160. SetPlayerPos(playerid, 2003.3, 2284.2, 1011.6);
  161. SetPlayerFacingAngle(playerid, 0);
  162. SetCameraBehindPlayer(playerid);
  163. TogglePlayerControllable(playerid,0);
  164. SetTimerEx("Unfreze",2000,0,"%i",playerid);
  165. } else
  166. if((GetPlayerVehicleSeat(playerid)==2 || GetPlayerVehicleSeat(playerid)==3) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 482)
  167. {
  168.  
  169.  
  170. SetPlayerVirtualWorld(playerid,GetPlayerVehicleID(playerid));
  171. V[playerid]=GetPlayerVehicleID(playerid);
  172. SetPlayerPos(playerid, 2008.2498,1032.2180,1012.1354);
  173. SetPlayerFacingAngle(playerid, 273.3243);
  174. SetCameraBehindPlayer(playerid);
  175. TogglePlayerControllable(playerid,0);
  176. SetTimerEx("Unfreze",2000,0,"%i",playerid);
  177. }
  178.  
  179. if(!IsABike(GetPlayerVehicleID(playerid)) && !IsAVelo(GetPlayerVehicleID(playerid)) && !BusCar(GetPlayerVehicleID(playerid) && !MedicCar(GetPlayerVehicleID(playerid)))){
  180. format(msg,max_line,"Пристегнуть ремень безопастности?");
  181. ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
  182. }
  183. if(Kaska[playerid]==1){
  184. if(IsABike(GetPlayerVehicleID(playerid)) || IsAVelo(GetPlayerVehicleID(playerid))){
  185. format(msg,max_line,"Надеть каску?");
  186. ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"{ffffff}www.{ff0000}Gang{ffffff}-{ffff00}City{ffffff}.ru",msg,"ДА","НЕТ");
  187. }
  188. }
  189.  
  190.  
  191.  
  192. if(BusCar(GetPlayerVehicleID(playerid)) || GetVehicleModel(GetPlayerVehicleID(playerid))==418){
  193. new price;
  194. if(GetVehicleModel(GetPlayerVehicleID(playerid))==418) price = 50;
  195. if(BusCar(GetPlayerVehicleID(playerid))) price = 10;
  196. if(PlayerCash[playerid]<price){
  197. format(msg,max_line,"{ff0000}У Вас нет на руках {ffff00}$%i{ff0000}которые надо заплатить за проезд",price);//TaksaBus[GetPlayerVehicleID(playerid)]);
  198. Message(playerid,msg,clDarkRed);
  199. RemovePlayerFromVehicle(pid);
  200. }
  201. else {
  202. GivePlayerCash(playerid,-price);
  203. format(msg,max_line,"Вы заплатили $%i за проезд",price);//,TaksaBus[GetPlayerVehicleID(playerid)]);
  204. Message(playerid,msg,clLime);
  205. //CassaBus[GetPlayerVehicleID(playerid)] += price;
  206. }
  207. }
  208.  
  209. if(TaxiCar(GetPlayerVehicleID(playerid)) && TaksaTaxi[GetPlayerVehicleID(playerid)]){
  210. if(PlayerCash[playerid]<TaksaTaxi[GetPlayerVehicleID(playerid)]){
  211. format(msg,max_line,"{ff0000}У Вас нет на руках {ffff00}$%i {ff0000}которые надо заплатить за проезд",TaksaTaxi[GetPlayerVehicleID(playerid)]);
  212. Message(playerid,msg,clDarkRed);
  213. RemovePlayerFromVehicle(pid);
  214. }
  215. else {
  216. new price = TaksaTaxi[GetPlayerVehicleID(playerid)];
  217. //PlayerCash[playerid] -= price;
  218. GivePlayerCash(playerid,-price);
  219. format(msg,max_line,"Вы заплатили $%i за проезд",TaksaTaxi[GetPlayerVehicleID(playerid)]);
  220. Message(playerid,msg,clLime);
  221. CassaBus[GetPlayerVehicleID(playerid)] += price;
  222.  
  223. }
  224. }
  225.  
  226. new weapons[2];
  227. GetPlayerWeaponData(playerid, 4, weapons[0], weapons[1]);
  228. // Определяем содержимое в слоте "4" (там, где узи, микроузи и тек-9)
  229. SetPlayerArmedWeapon(playerid, weapons[0]); // Берем в руки это содержимое
  230. return 1;
  231. }
Advertisement
Add Comment
Please, Sign In to add comment