Advertisement
Guest User

VRP

a guest
Aug 9th, 2016
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Project: The Vita Village
  3. File: main.js
  4. Author(s):  Sebihunter
  5. */
  6.  
  7. /*
  8. INFOS:
  9. http://gtaforums.com/topic/794014-fonts-list/
  10. http://www.gtamodding.com/wiki/Blip_Sprite_IDs
  11. http://www.nextgenupdate.com/forums/grand-theft-auto-v-modding/725735-full-npcs-ped-models-characters-list-case-you-need-p.html
  12. */
  13.  
  14. /*
  15. TODOOOOOOOO: Remove pdata, vdata etc. when an element is deleted
  16. */
  17.  
  18. //Don't let my node crash :'(
  19. process.on('uncaughtException', function (err) {
  20.     console.log(err)
  21. })
  22.  
  23. var mysql = require('mysql'); //require this with 'npm install mysql' in io.js
  24. var request = require('request') //require this with 'npm install request' in io.js
  25.  
  26. //Initialize other scripts
  27. global.log = require("./utils/log.js");
  28. global.utils = require("./utils/utils.js");
  29. global.vehicles = require("./vehicles.js");
  30. global.gasstations = require("./gasstations.js")
  31. global.weapons = require("./weapons.js");
  32. global.weather = require("./weather.js");
  33. global.items = require("./items.js")
  34. global.chat = require("./chat.js")
  35. global.gang = require("./gang.js")
  36. global.bank = require("./bank.js")
  37. global.jobs = require("./jobs/jobs.js")
  38. global.reporter = require("./jobs/reporter.js")
  39.  
  40. global.minijobs = {}
  41. global.minijobs.news = require("./jobs/minijobs/zeitungsjunge.js")
  42.  
  43. global.logs = {}
  44. global.logs.main = global.log.newLog("main")
  45.  
  46. global.pdata = []
  47. global.vdata = []
  48. global.pidata = []
  49. global.cpdata = []
  50. //var tdata = []
  51.  
  52. global.connection = mysql.createConnection({
  53.     host: '127.0.0.1',
  54.     user: 'root',
  55.     password: '',
  56.     database: 'vita_v'
  57.    
  58. });
  59.  
  60. var serverBlips = [
  61.     { name : "Bank", blip : 108, vec : [-111.17375183105469,6470.107421875,30.62672233581543],  color : 2 },
  62.     { name : "AutoHus", blip : 225, vec : [-243.68368530273438,6208.9326171875,30.93905258178711],  color : 1 },
  63.     { name : "Feuerwehr", blip : 88, vec : [-379.55792236328125,6119.08349609375,30.84847068786621],  color : 59 },
  64.     { name : "Polizei", blip : 60, vec : [-446.552734375,6014.15625,30.716373443603516],  color : 38 },
  65.     { name : "Krankenhaus", blip : 61, vec : [-248.28936767578125,6330.9140625,31.42618179321289],  color : 75 },
  66.     { name : "viNETWORK", blip : 136, vec : [732.6917114257812,2523.56689453125,72.37091064453125],  color : 75 }, //Color needs to be changed
  67.     { name : "InterTrans", blip : 351, vec : [569.4540405273438,2796.857421875,41.01826858520508],  color : 75 }, //Color needs to be changed
  68.     { name : "Zeitungsjunge (Job)", blip : 126, vec : [569.4540405273438,2796.857421875,41.01826858520508],  color : 6 } //Color needs to be yellow
  69. ]
  70.  
  71. function loginPlayer(ply, username, password)
  72. {
  73.    
  74.     if (!username || !password || pdata[ply.networkId].login == true || pdata[ply.networkId].loggingin == true)
  75.     {
  76.         returnLogin(ply, false);
  77.         return;
  78.     }
  79.    
  80.     var color_white = new RGB(255,255,255);
  81.     ply.SendChatMessage("Bitte warten, es wird versucht sich einzuloggen...", color_white);
  82.     pdata[ply.networkId].loggingin = true
  83.    
  84.     request.post('http://silvio-schwark.de/wbb/index.php/userPasswordCheck', {form: {'username':username, 'password':password}}, function (error, response, body) {
  85.         if (!error && response.statusCode == 200) {
  86.             if (body == "true") {
  87.                 returnLogin(ply, true);
  88.             }else{
  89.                 returnLogin(ply, false);
  90.             }
  91.         }else{
  92.             returnLogin(ply, false);
  93.         }
  94.     });
  95. }
  96.  
  97. function returnLogin(ply, state)
  98. {
  99.     if (pdata[ply.networkId].login == true) { return false; }
  100.     pdata[ply.networkId].loggingin = false
  101.     if (state == true) {
  102.         var spawnskin_m = [[42,0],[0,0],[5,4],[0,0],[5,utils.randomint(0,15)],[0,0],[23,0],[0,0],[1,0],[0,0],[0,0],[1,utils.randomint(3,8)]]
  103.         var spawnskin_f = [[21,0],[0,0],[10,3],[4,0],[2,1],[0,0],[26,0],[0,0],[2,0],[0,0],[0,0],[5,1]]
  104.        
  105.         pdata[ply.networkId].login = true
  106.         pdata[ply.networkId].rpname = "Schwanzus.Longus"
  107.         pdata[ply.networkId].admin = 5
  108.         pdata[ply.networkId].job = 0
  109.         pdata[ply.networkId].jrank = 2
  110.         pdata[ply.networkId].dienst = false
  111.         pdata[ply.networkId].gender = "Männlich"
  112.         pdata[ply.networkId].clothes = spawnskin_m
  113.         pdata[ply.networkId].hunger = 100
  114.         pdata[ply.networkId].hygiene = 100
  115.         pdata[ply.networkId].harndrang = 100
  116.         pdata[ply.networkId].energie = 100
  117.         pdata[ply.networkId].inventory = items.createInventory()
  118.        
  119.         ply.stats.money = 1000
  120.        
  121.         ply.graphics.ui.chat = true
  122.         ply.graphics.ui.radar = true
  123.         ply.graphics.ui.hud = true
  124.         ply.graphics.ui.areaNames = true
  125.         ply.graphics.ui.radarZoom = true
  126.         ply.nametag.name = pdata[ply.networkId].rpname
  127.         ply.nametag.displayTag = true
  128.        
  129.         ply.graphics.ui.DisplayMessage("~g~Erfolgreich eingeloggt.~n~~w~Willkommen bei The Vita Village!");
  130.         ply.ToggleControls(true, true)
  131.         ply.model = GTAHash("mp_m_freemode_01");
  132.         ply.position = new Vector3f(-379.55792236328125,6119.08349609375,30.84847068786621);
  133.         ply.respawnPosition = new Vector3f(-379.55792236328125,6119.08349609375,30.84847068786621);
  134.         ply.dimension = 0
  135.        
  136.         for (var i = 0; i < pdata[ply.networkId].clothes.length; i++) {
  137.             ply.SetComponentVariation(i, pdata[ply.networkId].clothes[i][0], pdata[ply.networkId].clothes[i][1], ply.GetPropPaletteVariation(i))
  138.         }
  139.        
  140.         ply.graphics.RenderCameras(false)      
  141.     }else{
  142.         var color_red = new RGB(255,0,0);
  143.         ply.SendChatMessage("[Error] Fehler beim einloggen: Falscher Benutzername oder Passwort.", color_red);
  144.     }
  145. }
  146.  
  147. function loginCommand(ply,args)
  148. {
  149.     if (pdata[ply.networkId].login == true) return false;
  150.     if (!args[0] || !args[1])
  151.     {
  152.         var color_red = new RGB(255,0,0);
  153.         ply.SendChatMessage("[Error] Verwende /login [Username] [Passwort]", color_red);
  154.         return;
  155.     }
  156.     returnLogin(ply, true); //TEMP!!!!!
  157.     //loginPlayer(ply, args[0], args[1])
  158.     return;
  159. }
  160. commands.set("login", loginCommand)
  161.  
  162. function saveCommand(ply,args)
  163. {
  164.     if (pdata[ply.networkId].login != true) return false;
  165.     var color_white = new RGB(255,255,255);
  166.     var vec = ply.position;
  167.     var rot = ply.rotation;
  168.     var string = vec.x+","+vec.y+","+vec.z+", "+rot.z;
  169.     if (args[0]){
  170.         string = string+" ("+args[0]+")";
  171.     }
  172.    
  173.     ply.SendChatMessage("SAVED: "+string, color_white);
  174.     utils.print(string);
  175.     return;
  176. }
  177. commands.set("save", saveCommand)
  178.  
  179. function testCommand(ply,args)
  180. {
  181.     if (pdata[ply.networkId].login != true) return false;
  182.     //console.log(utils.VehicleIDToHash(132))
  183.     vehicles.createVehicle(0xB9CB3B69, ply.position, ply.rotation , pdata[ply.networkId].rpname, [pdata[ply.networkId].rpname], false, false, false)
  184.     return;
  185. }
  186. commands.set("t", testCommand)
  187.  
  188. function testCommand2(ply,args)
  189. {
  190.     vehicles.saveVehicles()
  191.     return;
  192. }
  193. commands.set("t2", testCommand2)
  194.  
  195. function helpCommand(ply,args)
  196. {
  197.     if (pdata[ply.networkId].login != true) return false;
  198.     var color_seagreen = new RGB(67,205,128);
  199.     var color_white = new RGB(255,255,255);
  200.     ply.SendChatMessage("~~~Hilfe / Befehle~~~", color_seagreen);
  201.     ply.SendChatMessage("/ooc | /b | /werbung", color_white);
  202.     if (pdata[ply.networkId].job == 6 && pdata[ply.networkId].dienst == true) {
  203.         ply.SendChatMessage("~viNETWORK~", color_seagreen);
  204.         ply.SendChatMessage("/news | /setinterview", color_white);
  205.     }      
  206.     if (pdata[ply.networkId].admin >= 1) {
  207.         ply.SendChatMessage("~Teambefehle~", color_seagreen);
  208.     }
  209.     if (pdata[ply.networkId].admin >= 3) {
  210.         ply.SendChatMessage("/togooc", color_white);
  211.     }
  212.     return;
  213. }
  214. commands.set("help", helpCommand)
  215. commands.set("hilfe", helpCommand)
  216. commands.set("befehle", helpCommand)
  217. commands.set("cmd", helpCommand)
  218. commands.set("commands", helpCommand)
  219.  
  220. function PlayerCreated(ply)
  221. {
  222.     //Sync the weather and time with the player
  223.     ply.world.weatherPersistNow = global.weather
  224.     var d = new Date();
  225.     ply.world.SetTime(d.getHours(), d.getMinutes(), 0);
  226.     ply.world.freezeTime = true;
  227.    
  228.     //Set initial data
  229.     pdata[ply.networkId] = {}
  230.     pdata[ply.networkId].login = false
  231.        
  232.     //Set the player model
  233.     ply.model = 0xFAB48BCB //Does not seem to work :(
  234.     //freeze the player
  235.    
  236.     //Load ipls (http://gtaforums.com/topic/793840-ipls-and-coordinates/)
  237.     ply.world.RequestIPL("post_hiest_unload"); //Vangelico
  238.     ply.world.RequestIPL("facelobby"); //Lifeinvader
  239.     ply.world.RequestIPL("FIBlobby"); //FIB Lobby
  240.     //REMOVE_IPL("CS1_02_cf_offmission"); // remove the doors so you can enter - NOT SURE IF THIS MUST STILL BE REMOVED
  241.     //coords : -72.68752, 6253.72656, 31.08991
  242.     ply.world.RequestIPL("CS1_02_cf_onmission1"); //Cluckin' Bell Factory
  243.     ply.world.RequestIPL("CS1_02_cf_onmission3"); //Cluckin' Bell Factory
  244.     ply.world.RequestIPL("CS1_02_cf_onmission2"); //Cluckin' Bell Factory
  245.     ply.world.RequestIPL("CS1_02_cf_onmission4"); //Cluckin' Bell Factory
  246.     ply.world.RequestIPL("ufo") //UFO @ Ford Zancudo and Desert - Only spawn them at night, look what time it can be
  247.     ply.world.RequestIPL("farm") //O'Neil Drugfarm
  248.     ply.world.RequestIPL("farm_props") //O'Neil Drugfarm
  249.     ply.world.RequestIPL("farmint") //O'Neil Drugfarm
  250.     ply.world.RequestIPL("shr_int") //Simeons Autohaus
  251.     ply.world.RequestIPL("BH1_47_JoshHse_Burnt")
  252.     ply.world.RequestIPL("RC12B_HospitalInterior")
  253.     ply.world.RequestIPL("canyonriver01")
  254.     ply.world.RequestIPL("railing_start")
  255.    
  256.     var color_seagreen = new RGB(67,205,128);
  257.     var color_white = new RGB(255,255,255);
  258.     ply.SendChatMessage("~The Vita Village~", color_seagreen);
  259.     ply.SendChatMessage("Herzlich willkommen bei The Vita Village!", color_white);
  260.     ply.SendChatMessage("Um anzufangen melde dich bitte mit [#FFFF00]/login [username] [passwort][#FFFFFF] ein.", color_white);
  261.     ply.SendChatMessage("Registrieren kannst du dich auf [#FFFF00]www.vita-online.eu", color_white);
  262.    
  263.     ply.graphics.ui.radar = false
  264.     ply.graphics.ui.hud = false
  265.     ply.graphics.ui.areaNames = false
  266.     ply.graphics.ui.radarZoom = false  
  267.    
  268.     ply.nametag.displayTag = false
  269.     ply.nametag.displayArmorBar = false
  270.     ply.nametag.displayHealthBar = false
  271.     ply.nametag.font = "Segoe UI"
  272.     ply.nametag.drawDistance = 60.0
  273.     ply.graphics.ui.chat = false
  274.    
  275.     ply.dimension = 1337
  276.    
  277.     var d = new Date();
  278.     ply.world.SetDate(d.getDate(), d.getMonth()+1, d.getFullYear());
  279. }
  280. events.Add("PlayerCreated", PlayerCreated);
  281.  
  282. function PlayerReady(ply)
  283. {
  284.     ply.respawnPosition = new Vector3f(-446.552734375,5990.15625,40.716373443603516)
  285.     ply.Respawn(500,500)
  286.     ply.ToggleControls(false, false)       
  287.     var cam = ply.graphics.CreateCamera()
  288.     cam.position = new Vector3f(-446.08349609375,6007.5517578125,45.38370132446289 )
  289.     cam.pointAtCoord = new Vector3f(-405.6472473144531,6047.19091796875,35.3988094329834)
  290.     cam.fov = 90.0
  291.     cam.active = true      
  292.     ply.graphics.RenderCameras(true)
  293. }
  294. events.Add("PlayerReady", PlayerReady);
  295.  
  296. function PlayerDestroyed(ply)
  297. {
  298.     pdata[ply.networkId] = undefined
  299. }
  300. events.Add("PlayerDestroyed", PlayerDestroyed);
  301.  
  302. function PlayerDeath(ply, reason)
  303. {  
  304.     var vec = ply.position
  305.     ply.respawnPosition = new Vector4f(vec[0], vec[1], vec[2], ply.rotation) //TEMP
  306.     ply.Respawn(500,500)
  307.    
  308.     //Add a check here if there are medics online, otherwise respawn player at the hospital
  309.         //ply.ToggleControls(false, true)
  310.         //ply.graphics.ui.DisplayMessage("~r~Du bist schwer verletzt~n~~w~Du musst auf einen Sanitäter warten.");
  311.         //ply.PlayAnim("missfinale_c2steve_cameraman_death", "death_camman") //THIS SHEET IS STILL BUGGED ;D
  312.     //ELSE
  313.         //respawnatHospital(ply)
  314.    
  315.     return false;
  316. }
  317. events.Add("PlayerDeath", PlayerDeath);
  318.  
  319. function PlayerRespawn(ply)
  320. {
  321.     //Add a check here if there are medics online, otherwise respawn player at the hospital
  322.         //ply.ToggleControls(false, true)
  323.         //ply.graphics.ui.DisplayMessage("~r~Du bist schwer verletzt~n~~w~Du musst auf einen Sanitäter warten.");
  324.         //ply.PlayAnim("missfinale_c2steve_cameraman_death", "death_camman") //THIS SHEET IS STILL BUGGED ;D
  325.     //ELSE
  326.         //respawnatHospital(ply)
  327. }
  328. events.Add("PlayerRespawn", PlayerRespawn);
  329.  
  330. function respawnAtHospital(ply)
  331. {
  332.     //TODO
  333. }
  334.  
  335. function main()
  336. {
  337.    
  338.     utils.print("~~~~V³ - Vita Village V~~~");
  339.     utils.print("Gamemode wird initialisiert...");
  340.    
  341.     weather.setRandomWeather();
  342.    
  343.     for (var i = 0; i < serverBlips.length; i++) {
  344.         var data = serverBlips[i]
  345.         var temp = new Blip(data.blip, data.vec[0], data.vec[1], data.vec[2])
  346.         temp.highDetail = true;
  347.         temp.shortRange = true;
  348.         temp.name = data.name
  349.         temp.color = data.color
  350.     }
  351.    
  352.     bank.loadAccounts()
  353.     //Jobs loaded after bank accounts initalised (bank.js)
  354.     //Gangs loaded after jobs initialised (jobs.js)
  355.     //Vehicles loaded after gangs initalised (gangs.js)
  356.    
  357.     utils.print("Starte ständige Timer...");
  358.     setInterval(function()
  359.     {
  360.         var d = new Date();
  361.         gtamp.players.forEach(function(ply) {
  362.             ply.world.SetTime(d.getHours(), d.getMinutes(), 0);
  363.         });        
  364.     }, 60000);
  365.     setInterval(gang.saveGangs, 1000*60*15)
  366.     setInterval(bank.saveAccounts, 1000*60*16)
  367.     setInterval(vehicles.saveVehicles, 1000*60*17)
  368.    
  369.     //Synchronisation with clients (kinda, this really sucks tbh :S)
  370.     //OH AND BTW THIS IS BROKEN ATM SO DO NOT TOUCH KTHNXBB
  371.     /*setInterval(function() {
  372.         gtamp.players.forEach(function(ply) {
  373.             if (ply.client && ply.networkId && pdata && pdata[ply.networkId] && tdata && tdata[ply.networkId])
  374.             {
  375.                 if (pdata[ply.networkId] != tdata[ply.networkId])
  376.                     console.log("THERE IS A DIFFERENCE AHHHHHH!")
  377.                 }
  378.         });
  379.         tdata = pdata
  380.  
  381.     },100);*/
  382.                    
  383.     //setInter
  384.    
  385.     setInterval(function()
  386.     {
  387.         gtamp.players.forEach(function(ply) {
  388.             ply.graphics.ui.DisplayTextExtended("Vita Village V - Development Version\nwww.vita-online.eu", 4, new Vector2f(0.95, 0.97), new Vector2f(0.0,0.25), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 0, true, 520)
  389.             if (pdata[ply.networkId].login == true)
  390.             {
  391.                 var string = ""
  392.                
  393.                 if (ply.stats.money >= 0)
  394.                     string += "~g~"+ply.stats.money+" Vero"
  395.                 else
  396.                     string += "~r~"+ply.stats.money+" Vero"
  397.                
  398.                 ply.graphics.ui.DisplayTextExtended(string, 4, new Vector2f(0.93, 0.02), new Vector2f(0.0,0.35), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 1, true, 520)
  399.                
  400.                 //XP UND LEVEL
  401.                 string = "~w~Level: ~b~1 (2 ¦ 20%)"
  402.                 ply.graphics.ui.DisplayTextExtended(string, 4, new Vector2f(0.93, 0.04), new Vector2f(0.0,0.35), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 1, true, 520)
  403.                
  404.                 string = "~w~Energie: ~b~"
  405.                 if (pdata[ply.networkId].energie > 0) {
  406.                     for( var i = 1; i < Math.ceil(pdata[ply.networkId].energie/10); i++) {
  407.  
  408.                         string +="I"
  409.                     }
  410.                 }else{
  411.                     string = "~r~LEER"
  412.                 }
  413.                 ply.graphics.ui.DisplayTextExtended(string, 4, new Vector2f(0.93, 0.07), new Vector2f(0.0,0.35), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 1, true, 520)
  414.                
  415.                 string = "~w~Hunger: ~r~"
  416.                 if (pdata[ply.networkId].hunger > 0) {
  417.                     for( var i = 1; i < Math.ceil(pdata[ply.networkId].hunger/10); i++) {
  418.                         string +="I"
  419.                     }
  420.                 }else{
  421.                     string += "~r~LEER"
  422.                 }
  423.                 ply.graphics.ui.DisplayTextExtended(string, 4, new Vector2f(0.93, 0.09), new Vector2f(0.0,0.35), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 1, true, 520)
  424.                
  425.                 string = "~w~Harndrang: ~y~"
  426.                 if (pdata[ply.networkId].harndrang > 0) {
  427.                     for( var i = 1; i < Math.ceil(pdata[ply.networkId].harndrang/10); i++) {
  428.                         string +="I"
  429.                     }
  430.                 }else{
  431.                     string += "~r~LEER"
  432.                 }
  433.                 ply.graphics.ui.DisplayTextExtended(string, 4, new Vector2f(0.93, 0.11), new Vector2f(0.0,0.35), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 1, true, 520)
  434.                
  435.                 string = "~w~Hygiene: ~p~"
  436.                 if (pdata[ply.networkId].hygiene > 0) {
  437.                     for( var i = 1; i < Math.ceil(pdata[ply.networkId].hygiene/10); i++) {
  438.                         string +="I"
  439.                     }
  440.                 }else{
  441.                     string += "~r~LEER"
  442.                 }      
  443.                 ply.graphics.ui.DisplayTextExtended(string, 4, new Vector2f(0.93, 0.13), new Vector2f(0.0,0.35), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 1, true, 520)
  444.                
  445.                 var veh = ply.vehicle
  446.  
  447.                 if (veh && veh.driver && veh.driver.networkId == ply.networkId && veh.modelHash != 0x1ABA13B5) { //Model Hash Check is only TEMP!!!!!!!!!!!!
  448.                     var speed = Math.floor(veh.velocity.length*3.6)
  449.                    
  450.  
  451.                     var tachostring = speed+" KM/H"
  452.                    
  453.                    
  454.                     if (vdata[veh.networkId].panne == true || vdata[veh.networkId].fuel <= 0)
  455.                     {
  456.                         veh.engine = false                 
  457.                     }else{ //temporär bis Motorstartfunktion
  458.                         veh.engine = true
  459.                     }
  460.                    
  461.                     if (typeof vdata[veh.networkId].oldvec == "undefined")
  462.                         vdata[veh.networkId].oldvec = new Vector3f(veh.position.x, veh.position.y, veh.position.z)
  463.                    
  464.                     var dist = utils.getDistanceBetweenVectors(veh.position,vdata[veh.networkId].oldvec)/1000 //Das ist immer 0 weil die Vektoren das selbe sind, frag nicht warum :'(
  465.                    
  466.                     vdata[veh.networkId].km += dist
  467.                    
  468.                     tachostring += " - "+(vdata[veh.networkId].km).toFixed(2)+" KM"
  469.                    
  470.                     if (veh.engine == true){
  471.                         if (vdata[veh.networkId].bfuel != true) //Benzinabnahme blockiert (z.B. Jobfahrzeuge)
  472.                         {
  473.                             if ((vdata[veh.networkId].fuel -= dist*0.65) < 0){
  474.                                 vdata[veh.networkId].fuel = 0
  475.                             }else{
  476.                                 vdata[veh.networkId].fuel -= dist*0.65
  477.                             }
  478.                         }
  479.                     }
  480.                    
  481.                     if (vdata[veh.networkId].panne == true)
  482.                     {
  483.                         tachostring += " - ~r~Fahrzeugpanne"
  484.                     }else{
  485.                         if (vdata[veh.networkId].fuel > 90) {
  486.                             tachostring += " - Tank: ~r~III~y~III~g~IIII"
  487.                         }else if (vdata[veh.networkId].fuel > 80) {
  488.                             tachostring += " - Tank: ~r~III~y~III~g~III"
  489.                         }else if (vdata[veh.networkId].fuel > 70) {
  490.                             tachostring += " - Tank: ~r~III~y~III~g~II"
  491.                         }else if (vdata[veh.networkId].fuel > 60) {
  492.                             tachostring += " - Tank: ~r~III~y~III~g~I"
  493.                         }else if (vdata[veh.networkId].fuel > 50) {
  494.                             tachostring += " - Tank: ~r~III~y~III"
  495.                         }else if (vdata[veh.networkId].fuel > 40) {
  496.                             tachostring += " - Tank: ~r~III~y~II"
  497.                         }else if (vdata[veh.networkId].fuel > 30) {
  498.                             tachostring += " - Tank: ~r~III~y~I"
  499.                         }else if (vdata[veh.networkId].fuel > 20) {
  500.                             tachostring += " - Tank: ~r~III"
  501.                         }else if (vdata[veh.networkId].fuel > 10) {
  502.                             tachostring += " - Tank: ~r~II"
  503.                         }else if (vdata[veh.networkId].fuel > 0) {
  504.                             tachostring += " - Tank: ~r~I"             
  505.                         }else{
  506.                             tachostring += " - Tank: ~r~LEER"  
  507.                         }
  508.                     }
  509.                
  510.                     ply.graphics.ui.DisplayTextExtended(tachostring, 4, new Vector2f(0.5, 0.9), new Vector2f(0.0,0.5), new RGBA(255,255,255,255), new Vector2f(0.0, 1.0), 0, true, 520)
  511.                     vdata[veh.networkId].oldvec = new Vector3f(veh.position.x, veh.position.y, veh.position.z)
  512.                 }
  513.             }  
  514.         });
  515.     }, 500)
  516. }
  517.  
  518. main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement