Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.78 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <sscanf2>
  4. #include <zcmd>
  5. #include <a_zones>
  6. #include <OPVD>
  7.  
  8. #define COLOR_WHITE 0xFFFFFFFF
  9. #define COLOR_GREY1 0xB4B5B7FF
  10. #define COLOR_GREY2 0xBFC0C2FF
  11. #define COLOR_GREY3 0xCBCCCEFF
  12. #define COLOR_GREY4 0xD8D8D8FF
  13. #define COLOR_GREY5 0xE3E3E3FF
  14. #define COLOR_GREY6 0xF0F0F0FF
  15. #define COLOR_FADE1 0xE6E6E6E6
  16. #define COLOR_FADE2 0xC8C8C8C8
  17. #define COLOR_FADE3 0xAAAAAAAA
  18. #define COLOR_FADE4 0x8C8C8C8C
  19. #define COLOR_FADE5 0x6E6E6E6E
  20. #define COLOR_ORANGE 0xFF9933FF
  21. #define COLOR_BROWN 0x330000FF
  22. #define COLOR_BLACK 0x000000FF
  23. #define COLOR_GREY 0xAFAFAFAA
  24. #define COLOR_GREEN 0x33AA33AA
  25. #define COLOR_RED 0xAA3333AA
  26. #define COLOR_LIGHTRED 0xFF6347AA
  27. #define COLOR_LIGHTBLUE 0x33CCFFAA
  28. #define COLOR_LIGHTGREEN 0x9ACD32AA
  29. #define COLOR_YELLOW 0xFFFF00FF
  30. #define COLOR_YELLOW2 0xF5DEB3AA
  31. #define COLOR_PURPLE 0xC2A2DAAA
  32. #define COLOR_DARKBLUE 0x2641FEAA
  33. #define COLOR_BLUE 0x247BA6FF
  34. #define COLOR_PINK 0xFF66FFAA
  35. #define COLOR_COP_MELDUNG 0x006400FF
  36. #define COLOR_DEPARTMENT 0xFF8282FF
  37. #define COLOR_CHAT_JOB 0x8D8DFF00
  38. #define COLOR_CHAT_FRAKTION 0x07FFFFFF
  39. #define COLOR_DARKGREEN 0x289900FF
  40. #define COLOR_LIGHTYELLOW 0xFFF193FF
  41. #define COLOR_DARKORANGE 0xED5400FF
  42. #define COLOR_ANNOUNCE 0xff0000FF
  43. #define COLOR_EVENT_RED 0xFF4000FF
  44. #define COLOR_LIGHTWHITE 0xFFFFFFAA
  45. #define COLOR_SERVER 0xAF0000FF
  46.  
  47. #define COLOR_HEX_LIGHTYELLOW "{FFF193}"
  48. #define COLOR_HEX_DARKORANGE "{ED5400}"
  49. #define COLOR_HEX_WHITE "{FFFFFF}"
  50. #define COLOR_HEX_GREY1 "{B4B5B7}"
  51. #define COLOR_HEX_GREY2 "{BFC0C2}"
  52. #define COLOR_HEX_GREY3 "{CBCCCE}"
  53. #define COLOR_HEX_GREY4 "{D8D8D8}"
  54. #define COLOR_HEX_GREY5 "{E3E3E3}"
  55. #define COLOR_HEX_GREY6 "{F0F0F0}"
  56. #define COLOR_HEX_FADE1 "{E6E6E6}"
  57. #define COLOR_HEX_FADE2 "{C8C8C8}"
  58. #define COLOR_HEX_FADE3 "{AAAAAA}"
  59. #define COLOR_HEX_FADE4 "{8C8C8C}"
  60. #define COLOR_HEX_FADE5 "{6E6E6E}"
  61. #define COLOR_HEX_ORANGE "{FF9933}"
  62. #define COLOR_HEX_BROWN "{330000}"
  63. #define COLOR_HEX_BLACK "{000000}"
  64. #define COLOR_HEX_GREY "{AFAFAF}"
  65. #define COLOR_HEX_GREEN "{33AA33}"
  66. #define COLOR_HEX_RED "{AA3333}"
  67. #define COLOR_HEX_LIGHTRED "{FF6347}"
  68. #define COLOR_HEX_LIGHTBLUE "{33CCFF}"
  69. #define COLOR_HEX_LIGHTGREEN "{9ACD32}"
  70. #define COLOR_HEX_YELLOW "{FFFF00}"
  71. #define COLOR_HEX_YELLOW2 "{F5DEB3}"
  72. #define COLOR_HEX_PURPLE "{C2A2DA}"
  73. #define COLOR_HEX_DARKBLUE "{2641FE}"
  74. #define COLOR_HEX_BLUE "{247BA6}"
  75. #define COLOR_HEX_PINK "{FF66FF}"
  76. #define COLOR_HEX_EVENT_RED "{FF4000}"
  77. #define COLOR_HEX_SERVER "{AF0000}"
  78.  
  79.  
  80.  
  81. #define SERVER_HOST ".:: Test ::."
  82. #define SERVER_MAP "German / Deutsch"
  83. #define SERVER_GAMEMODE "German Reallife"
  84. #define SERVER_NAMETAG_DISTANCE 30.0
  85.  
  86. public OnFilterScriptInit()
  87. {
  88. print("\n--------------------------------------");
  89. print(" Blank Filterscript by your name here");
  90. print("--------------------------------------\n");
  91. return 1;
  92. }
  93.  
  94. public OnFilterScriptExit()
  95. {
  96. return 1;
  97. }
  98.  
  99.  
  100. main()
  101. {
  102. print("\n----------------------------------");
  103. print(" Blank Gamemode by your name here");
  104. print("----------------------------------\n");
  105. }
  106.  
  107. enum e_PlayerData
  108. {
  109. pLoggedIn,
  110. pTaxiID,
  111. }
  112. new Spieler[MAX_PLAYERS][e_PlayerData];
  113.  
  114.  
  115. enum pPlayerInfo
  116. {
  117. LoggedIn,
  118. pLevel,
  119. pMoney,
  120. pJobDuty,
  121. pTaxiAccepted,
  122. pTaxiPrice,
  123. pTaxiCheckpointTimer
  124. }
  125. new pInfo[MAX_PLAYERS][pPlayerInfo];
  126.  
  127.  
  128. enum jobEnum{
  129. pJob,
  130. pJobTime,
  131. pJobMoney
  132. }
  133. new pJobs[MAX_PLAYERS][jobEnum];
  134.  
  135. enum taxiEnum{
  136. taxiUsed,
  137. taxiVehicleID,
  138. taxiFare,
  139. taxiPlayer = INVALID_PLAYER_ID,
  140. taxiTimer,
  141. taxiAmount,
  142. taxiAccepted,
  143. taxiAcceptedPlayer
  144. };
  145. new pTaxi[14][taxiEnum];
  146.  
  147. enum e_VehicleData
  148. {
  149. VehicleTimer,
  150. bool:vehMotor,
  151. bool:vehLicht,
  152. Float:vehPosX,
  153. Float:vehPosY,
  154. Float:vehPosZ
  155. };
  156. new Vehicle[MAX_VEHICLES][e_VehicleData];
  157.  
  158. enum
  159. {
  160. DIALOG_TAXIFARE
  161. };
  162.  
  163.  
  164. new PlayerText:Taxometer0[MAX_PLAYERS];
  165. new PlayerText:Taxometer1[MAX_PLAYERS];
  166. new PlayerText:Taxometer2[MAX_PLAYERS];
  167. new PlayerText:Taxometer3[MAX_PLAYERS];
  168. new PlayerText:Taxometer4[MAX_PLAYERS];
  169. new PlayerText:Taxometer5[MAX_PLAYERS];
  170.  
  171. new engine, lights, alarm, bonnet, boot, objective, doors;
  172.  
  173. public OnGameModeInit()
  174. {
  175. LoadVehicles();
  176. ManualVehicleEngineAndLights();
  177. EnableStuntBonusForAll(0);
  178. DisableInteriorEnterExits();
  179. LimitGlobalChatRadius(0);
  180. ShowNameTags(1);
  181. ShowPlayerMarkers(0);
  182. SetNameTagDrawDistance(SERVER_NAMETAG_DISTANCE);
  183. SetGameModeText(SERVER_GAMEMODE);
  184. SendRconCommand("hostname "SERVER_HOST"");
  185. SendRconCommand("mapname "SERVER_MAP"");
  186. AddPlayerClass(0, 1761.9659, -1894.8420, 13.5613, 270.3469, 0, 0, 0, 0, 0, 0);
  187.  
  188. new Text3D:taxi[MAX_PLAYERS];
  189. for(new i; i<sizeof(pTaxi); i++)
  190. {
  191. taxi[i] = Create3DTextLabel("{D7DF01}Taxi Company\n\nSteigen Sie ein, um als\nTaxifahrer zu arbeiten.", COLOR_WHITE, 0.0, 0.0, 0.0, 20.0, 0);
  192. Attach3DTextLabelToVehicle(taxi[i], pTaxi[i][taxiVehicleID], 0.0, 0.0, 0.3);
  193. }
  194.  
  195. return 1;
  196. }
  197.  
  198. public OnGameModeExit()
  199. {
  200. return 1;
  201. }
  202.  
  203. public OnPlayerRequestClass(playerid, classid)
  204. {
  205. SetPlayerPos(playerid, 1761.9659, -1894.8420, 13.5613);
  206. SetPlayerCameraPos(playerid, 1761.9659, -1894.8420, 13.5613);
  207. SetPlayerCameraLookAt(playerid, 1761.9659, -1894.8420, 13.5613);
  208. return 1;
  209. }
  210.  
  211. public OnPlayerConnect(playerid)
  212. {
  213. Taxometer0[playerid] = CreatePlayerTextDraw(playerid,226.000000, 355.000000, "~n~~n~~n~~n~~n~");
  214. PlayerTextDrawBackgroundColor(playerid,Taxometer0[playerid], 255);
  215. PlayerTextDrawFont(playerid,Taxometer0[playerid], 1);
  216. PlayerTextDrawLetterSize(playerid,Taxometer0[playerid], 0.500000, 1.000000);
  217. PlayerTextDrawColor(playerid,Taxometer0[playerid], -1);
  218. PlayerTextDrawSetOutline(playerid,Taxometer0[playerid], 0);
  219. PlayerTextDrawSetProportional(playerid,Taxometer0[playerid], 1);
  220. PlayerTextDrawSetShadow(playerid,Taxometer0[playerid], 1);
  221. PlayerTextDrawUseBox(playerid,Taxometer0[playerid], 1);
  222. PlayerTextDrawBoxColor(playerid,Taxometer0[playerid], 120);
  223. PlayerTextDrawTextSize(playerid,Taxometer0[playerid], 413.000000, 62.000000);
  224. PlayerTextDrawSetSelectable(playerid,Taxometer0[playerid], 0);
  225.  
  226. Taxometer1[playerid] = CreatePlayerTextDraw(playerid,413.000000, 360.000000, "~n~~n~~n~~n~");
  227. PlayerTextDrawBackgroundColor(playerid,Taxometer1[playerid], 255);
  228. PlayerTextDrawFont(playerid,Taxometer1[playerid], 1);
  229. PlayerTextDrawLetterSize(playerid,Taxometer1[playerid], 0.500000, 1.000000);
  230. PlayerTextDrawColor(playerid,Taxometer1[playerid], -1);
  231. PlayerTextDrawSetOutline(playerid,Taxometer1[playerid], 0);
  232. PlayerTextDrawSetProportional(playerid,Taxometer1[playerid], 1);
  233. PlayerTextDrawSetShadow(playerid,Taxometer1[playerid], 1);
  234. PlayerTextDrawUseBox(playerid,Taxometer1[playerid], 1);
  235. PlayerTextDrawBoxColor(playerid,Taxometer1[playerid], 100);
  236. PlayerTextDrawTextSize(playerid,Taxometer1[playerid], 226.000000, 71.000000);
  237. PlayerTextDrawSetSelectable(playerid,Taxometer1[playerid], 0);
  238.  
  239. Taxometer2[playerid] = CreatePlayerTextDraw(playerid,319.000000, 360.000000, "Fahrpreis($): Zuschlag($):");
  240. PlayerTextDrawAlignment(playerid,Taxometer2[playerid], 2);
  241. PlayerTextDrawBackgroundColor(playerid,Taxometer2[playerid], 255);
  242. PlayerTextDrawFont(playerid,Taxometer2[playerid], 1);
  243. PlayerTextDrawLetterSize(playerid,Taxometer2[playerid], 0.360000, 1.000000);
  244. PlayerTextDrawColor(playerid,Taxometer2[playerid], -1);
  245. PlayerTextDrawSetOutline(playerid,Taxometer2[playerid], 0);
  246. PlayerTextDrawSetProportional(playerid,Taxometer2[playerid], 1);
  247. PlayerTextDrawSetShadow(playerid,Taxometer2[playerid], 1);
  248. PlayerTextDrawSetSelectable(playerid,Taxometer2[playerid], 0);
  249.  
  250. Taxometer3[playerid] = CreatePlayerTextDraw(playerid,224.000000, 368.000000, "-");
  251. PlayerTextDrawBackgroundColor(playerid,Taxometer3[playerid], 255);
  252. PlayerTextDrawFont(playerid,Taxometer3[playerid], 1);
  253. PlayerTextDrawLetterSize(playerid,Taxometer3[playerid], 13.310014, 0.799999);
  254. PlayerTextDrawColor(playerid,Taxometer3[playerid], -65281);
  255. PlayerTextDrawSetOutline(playerid,Taxometer3[playerid], 0);
  256. PlayerTextDrawSetProportional(playerid,Taxometer3[playerid], 1);
  257. PlayerTextDrawSetShadow(playerid,Taxometer3[playerid], 1);
  258. PlayerTextDrawSetSelectable(playerid,Taxometer3[playerid], 0);
  259.  
  260. Taxometer4[playerid] = CreatePlayerTextDraw(playerid,237.000000, 373.000000, "~r~$0");
  261. PlayerTextDrawBackgroundColor(playerid,Taxometer4[playerid], 255);
  262. PlayerTextDrawFont(playerid,Taxometer4[playerid], 2);
  263. PlayerTextDrawLetterSize(playerid,Taxometer4[playerid], 0.470000, 2.299999);
  264. PlayerTextDrawColor(playerid,Taxometer4[playerid], -1);
  265. PlayerTextDrawSetOutline(playerid,Taxometer4[playerid], 0);
  266. PlayerTextDrawSetProportional(playerid,Taxometer4[playerid], 1);
  267. PlayerTextDrawSetShadow(playerid,Taxometer4[playerid], 1);
  268. PlayerTextDrawSetSelectable(playerid,Taxometer4[playerid], 0);
  269.  
  270. Taxometer5[playerid] = CreatePlayerTextDraw(playerid,403.000000, 373.000000, "~g~$0");
  271. PlayerTextDrawAlignment(playerid,Taxometer5[playerid], 3);
  272. PlayerTextDrawBackgroundColor(playerid,Taxometer5[playerid], 255);
  273. PlayerTextDrawFont(playerid,Taxometer5[playerid], 2);
  274. PlayerTextDrawLetterSize(playerid,Taxometer5[playerid], 0.470000, 2.300000);
  275. PlayerTextDrawColor(playerid,Taxometer5[playerid], -1);
  276. PlayerTextDrawSetOutline(playerid,Taxometer5[playerid], 0);
  277. PlayerTextDrawSetProportional(playerid,Taxometer5[playerid], 1);
  278. PlayerTextDrawSetShadow(playerid,Taxometer5[playerid], 1);
  279. PlayerTextDrawSetSelectable(playerid,Taxometer5[playerid], 0);
  280.  
  281. return 1;
  282. }
  283.  
  284. public OnPlayerDisconnect(playerid, reason)
  285. {
  286. for(new i = 0; i < sizeof(pTaxi); i++)
  287. {
  288. if(!pTaxi[i][taxiUsed])
  289. continue;
  290.  
  291. if(pTaxi[i][taxiAcceptedPlayer] == playerid)
  292. SendClientMessage(pTaxi[i][taxiPlayer], COLOR_RED, "Spieler der das Taxi gerufen hat, hat den Server verlassen!");
  293. }
  294. return 1;
  295. }
  296.  
  297. public OnPlayerSpawn(playerid)
  298. {
  299. return 1;
  300. }
  301.  
  302. public OnPlayerDeath(playerid, killerid, reason)
  303. {
  304. return 1;
  305. }
  306.  
  307. public OnVehicleSpawn(vehicleid)
  308. {
  309. for(new i = 0; i < sizeof(pTaxi); i++)
  310. {
  311. if(pTaxi[i][taxiVehicleID] != vehicleid)
  312. continue;
  313.  
  314. if(!pTaxi[i][taxiUsed])
  315. continue;
  316.  
  317. SendClientMessage(pTaxi[i][taxiPlayer], COLOR_RED, "Dein Taxi ist respawnt, deine Fahrt ist beendet!");
  318. DisablePlayerCheckpoint(pTaxi[i][taxiPlayer]);
  319.  
  320. pInfo[pTaxi[i][taxiPlayer]][pJobDuty] = false;
  321. pTaxi[i][taxiPlayer] = INVALID_PLAYER_ID;
  322. pTaxi[i][taxiUsed] = 0;
  323. pTaxi[i][taxiFare] = 0;
  324. pTaxi[i][taxiAmount] = 0;
  325. pTaxi[i][taxiAccepted] = 0;
  326. pTaxi[i][taxiAcceptedPlayer] = 0;
  327.  
  328. KillTimer(pTaxi[i][taxiTimer]);
  329. }
  330. return 1;
  331. }
  332.  
  333. public OnVehicleDeath(vehicleid, killerid)
  334. {
  335. for(new i = 0; i < sizeof(pTaxi); i++)
  336. {
  337. if(pTaxi[i][taxiVehicleID] != vehicleid)
  338. continue;
  339.  
  340. for(new j = 0; j < MAX_PLAYERS; j++)
  341. {
  342. if(!IsPlayerConnected(j))
  343. continue;
  344.  
  345. if(!IsPlayerInAnyVehicle(j))
  346. continue;
  347.  
  348. new playerVehicle = GetPlayerVehicleID(j);
  349.  
  350. if(pTaxi[i][taxiVehicleID] != playerVehicle)
  351. continue;
  352.  
  353. PlayerTextDrawHide(j, Taxometer0[j]);
  354. PlayerTextDrawHide(j, Taxometer1[j]);
  355. PlayerTextDrawHide(j, Taxometer2[j]);
  356. PlayerTextDrawHide(j, Taxometer3[j]);
  357. PlayerTextDrawHide(j, Taxometer4[j]);
  358. PlayerTextDrawHide(j, Taxometer5[j]);
  359.  
  360. pInfo[j][pTaxiPrice] = 0;
  361. }
  362. }
  363. return 1;
  364. }
  365.  
  366. public OnPlayerText(playerid, text[])
  367. {
  368. new string[128];
  369. format(string, sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
  370. ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  371. format(string, sizeof(string), "%s", text);
  372. return 0;
  373. }
  374.  
  375. public OnPlayerCommandPerformed(playerid,cmdtext[],success)
  376. {
  377. if(!Spieler[playerid][pLoggedIn])return SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt.");
  378. if(!success)
  379. {
  380. SendClientMessage(playerid, COLOR_WHITE, "Der Befehl wurde nicht gefunden. Bitte verwende {FF9900}/help");
  381. return 1;
  382. }
  383. return 1;
  384. }
  385.  
  386. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  387. {
  388. return 1;
  389. }
  390.  
  391. public OnPlayerExitVehicle(playerid, vehicleid)
  392. {
  393. for(new i = 0; i < sizeof(pTaxi); i++)
  394. {
  395. if(!pTaxi[i][taxiUsed])
  396. continue;
  397.  
  398. if(pTaxi[i][taxiVehicleID] != vehicleid)
  399. continue;
  400.  
  401. if(pTaxi[i][taxiPlayer] != playerid)
  402. {
  403. PlayerTextDrawHide(playerid, Taxometer0[playerid]);
  404. PlayerTextDrawHide(playerid, Taxometer1[playerid]);
  405. PlayerTextDrawHide(playerid, Taxometer2[playerid]);
  406. PlayerTextDrawHide(playerid, Taxometer3[playerid]);
  407. PlayerTextDrawHide(playerid, Taxometer4[playerid]);
  408. PlayerTextDrawHide(playerid, Taxometer5[playerid]);
  409.  
  410. new strTemp[256];
  411.  
  412. format(strTemp, 256, "Spieler %s ist aus deinem Taxi ausgestiegen! Du bekommst $%i auf deinen Arbeitslohn addiert!", SpielerName(playerid), pInfo[playerid][pTaxiPrice]);
  413. SendClientMessage(pTaxi[i][taxiPlayer], COLOR_LIGHTBLUE, strTemp);
  414.  
  415. format(strTemp, 256, "Deine Taxifahrt hat dich $%i gekostet!", pInfo[playerid][pTaxiPrice]);
  416. SendClientMessage(playerid, COLOR_RED, strTemp);
  417.  
  418. pJobs[pTaxi[i][taxiPlayer]][pJobMoney] += pInfo[playerid][pTaxiPrice];
  419. GiveMoney(playerid, -pInfo[playerid][pTaxiPrice]);
  420. pInfo[playerid][pTaxiPrice] = 0;
  421. }
  422. }
  423. return 1;
  424. }
  425.  
  426. public OnPlayerStateChange(playerid, newstate, oldstate)
  427. {
  428. if(newstate == PLAYER_STATE_DRIVER)
  429. {
  430. new vehicleid = GetPlayerVehicleID(playerid);
  431.  
  432. for(new i = 0; i < sizeof(pTaxi); i++)
  433. {
  434. if(pTaxi[i][taxiVehicleID] != vehicleid)
  435. continue;
  436.  
  437.  
  438. /* if(!pInfo[playerid][pDriverLicense])
  439. {
  440. RemovePlayerFromVehicle(playerid);
  441. SendClientMessage(playerid, COLOR_GREY, "Du besitzt keinen Führerschein!");
  442. }*/
  443.  
  444. if(pTaxi[i][taxiUsed])
  445. {
  446. if(pTaxi[i][taxiPlayer] != playerid)
  447. {
  448. RemovePlayerFromVehicle(playerid);
  449. SendClientMessage(playerid, COLOR_RED, "Du hast dir das Taxi nicht angemietet!");
  450. break;
  451. }
  452. }
  453. else
  454. {
  455. new vehicleUsed;
  456. for(new j = 0; j < sizeof(pTaxi); j++)
  457. {
  458. if(!pTaxi[j][taxiUsed])
  459. continue;
  460.  
  461. if(pTaxi[j][taxiPlayer] == playerid)
  462. {
  463. vehicleUsed = true;
  464. SendClientMessage(playerid, COLOR_RED, "Du hast bereits ein anderes Taxi besetzt!");
  465. RemovePlayerFromVehicle(playerid);
  466. break;
  467. }
  468. }
  469.  
  470. if(!vehicleUsed)
  471. ShowPlayerDialog(playerid, DIALOG_TAXIFARE, DIALOG_STYLE_INPUT, "Taxi Company", "Du kannst nun den Preis festlegen, den die Fahrgäste jede 10 Sekunden bezahlen.\nDerPreis muss mindestens 1$ und maximal 200$ sein.", "Bestätigen", "Beenden");
  472. }
  473. }
  474. }
  475. if(newstate == PLAYER_STATE_PASSENGER)
  476. {
  477. new vehicleid = GetPlayerVehicleID(playerid);
  478.  
  479. for(new i = 0; i < sizeof(pTaxi); i++)
  480. {
  481. if(!pTaxi[i][taxiUsed])
  482. continue;
  483.  
  484. if(pTaxi[i][taxiVehicleID] != vehicleid)
  485. continue;
  486.  
  487. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gib den Taxifahrer mit einer Markierung auf deiner Karte dein Ziel an!");
  488. SendClientMessage(playerid, COLOR_GREY, "Markiere dein Ziel auf der Karte!");
  489.  
  490. PlayerTextDrawShow(playerid, Taxometer0[playerid]);
  491. PlayerTextDrawShow(playerid, Taxometer1[playerid]);
  492. PlayerTextDrawShow(playerid, Taxometer2[playerid]);
  493. PlayerTextDrawShow(playerid, Taxometer3[playerid]);
  494. PlayerTextDrawShow(playerid, Taxometer4[playerid]);
  495. PlayerTextDrawShow(playerid, Taxometer5[playerid]);
  496.  
  497. new strTemp[128];
  498. pInfo[playerid][pTaxiPrice] = pTaxi[i][taxiFare];
  499. format(strTemp, 128, "~r~$%i", pInfo[playerid][pTaxiPrice]);
  500. PlayerTextDrawSetString(playerid, Taxometer4[playerid], strTemp);
  501.  
  502. format(strTemp, 128, "~g~$%i", pTaxi[i][taxiFare]);
  503. PlayerTextDrawSetString(playerid, Taxometer5[playerid], strTemp);
  504. }
  505. }
  506. return 1;
  507. }
  508.  
  509. forward Taxameter(taxiid);
  510. public Taxameter(taxiid)
  511. {
  512. for(new i = 0; i < MAX_PLAYERS; i++)
  513. {
  514. if(!IsPlayerConnected(i))
  515. continue;
  516.  
  517. if(!IsPlayerInAnyVehicle(i))
  518. continue;
  519.  
  520. new vehicleid = GetPlayerVehicleID(i);
  521.  
  522. for(new j = 0; j < sizeof(pTaxi); j++)
  523. {
  524. new driverVehicle = GetPlayerVehicleID(pTaxi[j][taxiPlayer]);
  525.  
  526. if(!pTaxi[j][taxiUsed])
  527. continue;
  528.  
  529. if(pTaxi[j][taxiVehicleID] != taxiid)
  530. continue;
  531.  
  532. if(pTaxi[j][taxiVehicleID] != vehicleid)
  533. continue;
  534.  
  535. if(driverVehicle != pTaxi[j][taxiVehicleID])
  536. continue;
  537.  
  538. pTaxi[j][taxiAmount] += pTaxi[j][taxiFare];
  539. pInfo[i][pTaxiPrice] += pTaxi[j][taxiFare];
  540.  
  541. new strTemp[128];
  542. format(strTemp, 128, "~r~$%i", pInfo[i][pTaxiPrice]);
  543. PlayerTextDrawSetString(i, Taxometer4[i], strTemp);
  544. }
  545. }
  546. return 1;
  547. }
  548.  
  549. forward updateTaxiMarker(playerid, Float:posx, Float:posy, Float:posz);
  550. public updateTaxiMarker(playerid, Float:posx, Float:posy, Float:posz)
  551. {
  552. SetPlayerCheckpoint(playerid, posx, posy, posz, 5.0);
  553.  
  554. if(IsPlayerInRangeOfPoint(playerid, 5.0, posx, posy, posz))
  555. KillTimer(pInfo[playerid][pTaxiCheckpointTimer]);
  556.  
  557. return 1;
  558. }
  559.  
  560. public OnPlayerEnterCheckpoint(playerid)
  561. {
  562. new vehicleid = GetPlayerVehicleID(playerid);
  563. for(new i = 0; i < sizeof(pTaxi); i++)
  564. {
  565. if(!pTaxi[i][taxiUsed])
  566. continue;
  567.  
  568. if(pTaxi[i][taxiVehicleID] != vehicleid)
  569. continue;
  570.  
  571. pTaxi[i][taxiAccepted] = false;
  572.  
  573. new Float:Pos[3];
  574. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  575.  
  576. if(!IsPlayerInRangeOfPoint(pTaxi[i][taxiAcceptedPlayer], 50.0, Pos[0], Pos[1], Pos[2]))
  577. {
  578. new strTemp[256];
  579. format(strTemp, 256, "Der Spieler ist außer Reichweite und muss die Fahrtkosten bezahlen! Du bekommst $%i auf dein Arbeitslohn addiert!", pTaxi[i][taxiFare]);
  580. SendClientMessage(playerid, COLOR_YELLOW, strTemp);
  581. format(strTemp, 256, "Du bist nicht in Reichweite des Taxifahrers gewesen und musstest $%i Fahrtkosten bezahlen!", pTaxi[i][taxiFare]);
  582. SendClientMessage(pTaxi[i][taxiAcceptedPlayer], COLOR_YELLOW, strTemp);
  583.  
  584. pJobs[playerid][pJobMoney] += pTaxi[i][taxiFare];
  585. GiveMoney(pTaxi[i][taxiAcceptedPlayer], -pTaxi[i][taxiFare]);
  586. pInfo[pTaxi[i][taxiAcceptedPlayer]][pTaxiAccepted] = false;
  587. pTaxi[i][taxiAcceptedPlayer] = INVALID_PLAYER_ID;
  588. }
  589. }
  590. return 1;
  591. }
  592.  
  593. public OnPlayerLeaveCheckpoint(playerid)
  594. {
  595. return 1;
  596. }
  597.  
  598. public OnPlayerEnterRaceCheckpoint(playerid)
  599. {
  600. return 1;
  601. }
  602.  
  603. public OnPlayerLeaveRaceCheckpoint(playerid)
  604. {
  605. return 1;
  606. }
  607.  
  608. public OnRconCommand(cmd[])
  609. {
  610. return 1;
  611. }
  612.  
  613. public OnPlayerRequestSpawn(playerid)
  614. {
  615. return 1;
  616. }
  617.  
  618. public OnObjectMoved(objectid)
  619. {
  620. return 1;
  621. }
  622.  
  623. public OnPlayerObjectMoved(playerid, objectid)
  624. {
  625. return 1;
  626. }
  627.  
  628. public OnPlayerPickUpPickup(playerid, pickupid)
  629. {
  630. return 1;
  631. }
  632.  
  633. public OnVehicleMod(playerid, vehicleid, componentid)
  634. {
  635. return 1;
  636. }
  637.  
  638. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  639. {
  640. return 1;
  641. }
  642.  
  643. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  644. {
  645. return 1;
  646. }
  647.  
  648. public OnPlayerSelectedMenuRow(playerid, row)
  649. {
  650. return 1;
  651. }
  652.  
  653. public OnPlayerExitedMenu(playerid)
  654. {
  655. return 1;
  656. }
  657.  
  658. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  659. {
  660. return 1;
  661. }
  662.  
  663. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  664. {
  665. return 1;
  666. }
  667.  
  668. public OnRconLoginAttempt(ip[], password[], success)
  669. {
  670. return 1;
  671. }
  672.  
  673. public OnPlayerUpdate(playerid)
  674. {
  675. return 1;
  676. }
  677.  
  678. public OnPlayerStreamIn(playerid, forplayerid)
  679. {
  680. return 1;
  681. }
  682.  
  683. public OnPlayerStreamOut(playerid, forplayerid)
  684. {
  685. return 1;
  686. }
  687.  
  688. public OnVehicleStreamIn(vehicleid, forplayerid)
  689. {
  690. return 1;
  691. }
  692.  
  693. public OnVehicleStreamOut(vehicleid, forplayerid)
  694. {
  695. return 1;
  696. }
  697.  
  698. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  699. {
  700. if(dialogid == DIALOG_TAXIFARE)
  701. {
  702. if(response)
  703. {
  704. if(IsNumeric(inputtext))
  705. {
  706. if(strval(inputtext) >= 0 && strval(inputtext) <= 200)
  707. {
  708. new string[128];
  709. new Text3D:taxi[MAX_PLAYERS];
  710. new vehicleid = GetPlayerVehicleID(playerid);
  711. for(new i = 0; i < sizeof(pTaxi); i++)
  712. {
  713. if(pTaxi[i][taxiVehicleID] != vehicleid)
  714. continue;
  715.  
  716. SendClientMessage(playerid, COLOR_LIGHTBLUE,"Du bist nun im Dienst als Taxifahrer");
  717. pTaxi[i][taxiUsed] = true;
  718. pTaxi[i][taxiPlayer] = playerid;
  719. pInfo[playerid][pJobDuty] = true;
  720.  
  721. format(string,sizeof(string),"{D7DF01}Taxi Company\n\nFahrer: %s\nKosten: %d$",SpielerName(playerid), pTaxi[i][taxiFare]);
  722. UpdateDynamic3DTextLabelText(taxi[i], COLOR_WHITE,string);
  723.  
  724. pTaxi[i][taxiTimer] = SetTimerEx("Taxameter", 1000 * 30, true, "i", pTaxi[i][taxiVehicleID]);
  725. }
  726. }
  727. else
  728. {
  729. RemovePlayerFromVehicle(playerid);
  730. }
  731. }
  732. }
  733. }
  734. return 1;
  735. }
  736.  
  737. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  738. {
  739. return 1;
  740. }
  741.  
  742. CMD:motor(playerid)
  743. {
  744. new string[96];
  745. new vehicleid = GetPlayerVehicleID(playerid);
  746. // if(!IsLoggedIn(playerid))return 1;
  747. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keinem Fahrzeug.");
  748. if(GetPlayerVehicleSeat(playerid) != 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht der Fahrer.");
  749. if(IsAFahrrad(GetVehicleModel(vehicleid)))return SendClientMessage(playerid, COLOR_GREY, "Dieses Fahrrad hat keinen Motor!");
  750. Spieler[playerid][pTaxiID] = vehicleid;
  751. if(Vehicle[Spieler[playerid][pTaxiID]][vehMotor] == false)
  752. {
  753. Vehicle[Spieler[playerid][pTaxiID]][vehMotor] = true;
  754. GetVehicleParamsEx(Spieler[playerid][pTaxiID], engine, lights, alarm, doors, bonnet, boot, objective);
  755. SetVehicleParamsEx(Spieler[playerid][pTaxiID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
  756. Vehicle[Spieler[playerid][pTaxiID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pTaxiID]);
  757. format(string, sizeof(string), "%s betätigt die Zündung.", SpielerName(playerid));
  758. SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 12000);
  759. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du betätigst die Zündung.");
  760. return 1;
  761. }
  762. else if(Vehicle[Spieler[playerid][pTaxiID]][vehMotor] == true)
  763. {
  764. Vehicle[Spieler[playerid][pTaxiID]][vehMotor] = false;
  765. GetVehicleParamsEx(Spieler[playerid][pTaxiID], engine, lights, alarm, doors, bonnet, boot, objective);
  766. SetVehicleParamsEx(Spieler[playerid][pTaxiID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
  767. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast den Motor abgeschaltet.");
  768. KillTimer(Vehicle[Spieler[playerid][pTaxiID]][VehicleTimer]);
  769. return 1;
  770. }
  771. return SendClientMessage(playerid, COLOR_GREY, "Du besitzt keine Schlüssel für dieses Fahrzeug.");
  772. }
  773.  
  774. CMD:licht(playerid)
  775. {
  776. //if(!IsLoggedIn(playerid))return 1;
  777. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keinem Fahrzeug.");
  778. new vehicleid = GetPlayerVehicleID(playerid);
  779. if(GetPlayerVehicleSeat(playerid) != 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht der Fahrer.");
  780. if(IsAFahrrad(GetVehicleModel(vehicleid)))return SendClientMessage(playerid, COLOR_GREY, "Dieses Fahrrad hat kein Licht!");
  781. if(Vehicle[vehicleid][vehLicht] == false)
  782. {
  783. Vehicle[vehicleid][vehLicht] = true;
  784. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  785. SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
  786.  
  787. }
  788. else if(Vehicle[vehicleid][vehLicht] == true)
  789. {
  790. Vehicle[vehicleid][vehLicht] = false;
  791. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  792. SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
  793. }
  794. return 1;
  795. }
  796.  
  797. stock IsNumeric(string[])
  798. {
  799. for(new i = 0; i < strlen(string); i++)
  800. {
  801. if (string[i] > '9' || string[i] < '0')
  802. {
  803. return false;
  804. }
  805. }
  806. return true;
  807. }
  808.  
  809. stock IsAFahrrad(carid)
  810. {
  811. if(carid == 481 || carid == 509 || carid == 510)
  812. {
  813. return 1;
  814. }
  815. return 0;
  816. }
  817.  
  818. stock SpielerName(playerid)
  819. {
  820. new Temp[64];
  821. GetPlayerName(playerid, Temp, sizeof(Temp));
  822. return Temp;
  823. }
  824.  
  825. stock IsPlayerLoggedIn(playerid)
  826. {
  827. if(pInfo[playerid][LoggedIn])
  828. return true;
  829. else
  830. return false;
  831. }
  832.  
  833. stock UpdateMoney(playerid)
  834. {
  835. ResetPlayerMoney(playerid);
  836. GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
  837. return true;
  838. }
  839.  
  840. stock GiveMoney(playerid, amount)
  841. {
  842. if(IsPlayerLoggedIn(playerid))
  843. {
  844. if(amount >= 99999999)
  845. return false;
  846.  
  847. if(amount <= -99999999)
  848. return false;
  849.  
  850. pInfo[playerid][pMoney] += amount;
  851. UpdateMoney(playerid);
  852. }
  853. return true;
  854. }
  855.  
  856.  
  857. stock CreateVehicleEx(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, bool:train=false)
  858. {
  859. new vehicleid;
  860. if(vehicletype < 400 || vehicletype > 611)return 0;
  861. if(!train) vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay);
  862. else vehicleid = AddStaticVehicle(vehicletype, x, y, z, rotation, color1, color2);
  863. Vehicle[vehicleid][vehPosX] = x;
  864. Vehicle[vehicleid][vehPosY] = y;
  865. Vehicle[vehicleid][vehPosZ] = z;
  866. return vehicleid;
  867. }
  868.  
  869.  
  870. stock LoadVehicles()
  871. {
  872. pTaxi[0][taxiVehicleID] = CreateVehicleEx(420,1162.7006,-1752.6858,13.4005,45.0018, 6, 6, 100); // Taxi Busbahnhof
  873. pTaxi[1][taxiVehicleID] = CreateVehicleEx(420,1162.2074,-1757.8901,13.4069,45.0344, 6, 6, 100); // Taxi Busbahnhof
  874. pTaxi[2][taxiVehicleID] = CreateVehicleEx(420,1144.5944,-1757.3917,13.4527,309.9792, 6, 6, 100); // Taxi Busbahnhof
  875. pTaxi[3][taxiVehicleID] = CreateVehicleEx(420,1144.0000,-1752.9880,13.4065,309.9923, 6, 6, 100); // Taxi Busbahnhof
  876. pTaxi[4][taxiVehicleID] = CreateVehicleEx(438,1155.3999,-1757.5897,13.6086,0.0000, -1, -1, 100); // Cabble Busbahnhof
  877. pTaxi[5][taxiVehicleID] = CreateVehicleEx(438,1151.4001,-1757.5916,13.7611,359.9999, -1, -1, 100); // Cabble Busbahnhof
  878. pTaxi[6][taxiVehicleID] = CreateVehicleEx(420,1803.4901,-1907.4005,13.2030,89.9993, -1, -1, 100); // Taxi El Corona
  879. pTaxi[7][taxiVehicleID] = CreateVehicleEx(420,1803.4540,-1912.3997,13.2039,89.9972, -1, -1, 100); // Taxi El Corona
  880. pTaxi[8][taxiVehicleID] = CreateVehicleEx(420,1803.4580,-1917.4022,13.2023,90.0751, -1, -1, 100); // Taxi El Corona
  881. pTaxi[9][taxiVehicleID] = CreateVehicleEx(420,1803.3634,-1922.3992,13.1994,89.9980, -1, -1, 100); // Taxi El Corona
  882. pTaxi[10][taxiVehicleID] = CreateVehicleEx(438,1799.2013,-1932.3793,13.4526,0.4989, -1, -1, 100); // Cabble El Corona
  883. pTaxi[11][taxiVehicleID] = CreateVehicleEx(438,1794.2014,-1932.3809,13.4511,0.4989, -1, -1, 100); // Cabble El Corona
  884. pTaxi[12][taxiVehicleID] = CreateVehicleEx(438,1789.1995,-1932.3806,13.4435,0.4985, -1, -1, 100); // Cabble El Corona
  885. pTaxi[13][taxiVehicleID] = CreateVehicleEx(438,1784.2014,-1932.3746,13.2884,0.4988, -1, -1, 100); // Cabble El Corona
  886. return 1;
  887. }
  888.  
  889. stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  890. {
  891. if(IsPlayerConnected(playerid))
  892. {
  893. new Float:posx, Float:posy, Float:posz;
  894. new Float:oldposx, Float:oldposy, Float:oldposz;
  895. new Float:tempposx, Float:tempposy, Float:tempposz;
  896. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  897. new int = GetPlayerInterior(playerid), virtual = GetPlayerVirtualWorld(playerid);
  898. //radi = 2.0; //Trigger Radius
  899. for(new i=0;i<GetMaxPlayers();i++)
  900. {
  901. if(IsPlayerConnected(i))
  902. {
  903. if(GetPlayerInterior(i) == int && GetPlayerVirtualWorld(i) == virtual)
  904. {
  905. GetPlayerPos(i, posx, posy, posz);
  906. tempposx = (oldposx -posx);
  907. tempposy = (oldposy -posy);
  908. tempposz = (oldposz -posz);
  909. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  910. {
  911. SendClientMessage(i, col1, string);
  912. }
  913. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  914. {
  915. SendClientMessage(i, col2, string);
  916. }
  917. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  918. {
  919. SendClientMessage(i, col3, string);
  920. }
  921. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  922. {
  923. SendClientMessage(i, col4, string);
  924. }
  925. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  926. {
  927. SendClientMessage(i, col5, string);
  928. }
  929. }
  930. }
  931. }
  932. }//not connected
  933. return 1;
  934. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement