Guest User

Untitled

a guest
Mar 2nd, 2019
1,037
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 278.40 KB | None | 0 0
  1. var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
  2. $jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}();
  3. $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};
  4. $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var c=0,d={next:function(){if(c<a.length){var e=c++;return{value:b(e,a[e]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d[Symbol.iterator]=function(){return d};return d};
  5. $jscomp.polyfill=function(a,b,c,d){if(b){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");
  6. $jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
  7. var _typeof="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"===typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_createClass=function(){function a(a,c){for(var b=0;b<c.length;b++){var e=c[b];e.enumerable=e.enumerable||!1;e.configurable=!0;"value"in e&&(e.writable=!0);Object.defineProperty(a,e.key,e)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),_emergencyVehicles;
  8. function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function");}function _defineProperty(a,b,c){b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c;return a}
  9. var lang_de={window_login:{registerUpperCase:"Registrieren",loginUpperCase:"Login",passwordsecurity:"Passwortsicherheit",YourPasswordMustMeetAtLeastThreeOfTheseConditions:"Dein Passwort muss mindestends drei dieser Bedingungen erfuellen",anUppercase:"einen Grossbuchstaben",aLowercase:"einen Kleinbuchstaben",aNumber:"eine Zahl",aSpecialCharacter:"eine Sonderzeichen",ANDmin8CharsLong:"UND mind. 8 Zeichen lang sein",repeatPassword:"Passwort wiederholen",yourPasswordIsConsistent:"Dein Passwort stimmt ueberein",
  10. yourPasswordIsInconsistent:"Dein Passwort stimmt nicht ueberein",yourPasswoPrivacyPolicy:"Ich akzeptiere die Datenschutzerklaerung",privacyPolicy:"Datenschutzerklaerung",patchnotes:"Patchnotes",successUpperCase:"Erfolg",overview:"Uebersicht",email:"Email",password:"Passwort",username:"Benutzername",completeFieldsCorrect:"Bitte fuelle alle Felder korrekt aus!",registerSurveyQuestion:"Eine letzte Sache: Wir wuerden gerne erfahren, wie du den Weg zu uns gefunden hast.",youtube:"YouTube",userForUser:"User werben User",
  11. pleaseChoose:"Bitte auswaehlen"},window_settings:{1:"Spiel",2:"Grafik",3:"Audio",4:"Account",einstellungen:"Spieleinstellungen",old_pw:"Altes Passwort",new_pw:"Neues Passwort"},window_gasstation:{gasstation:"Tankstelle",tankup:"Volltanken",liter:"Liter",tank:"Tanken",buycanister:"Kanister kaufen",buysnack:"Snack kaufen"},account:{wrongPW:"~r~Falsches Passwort!",Bonus:" Vielen Dank f\u00fcr deinen Support!",Bonus1:"+ 20.000 $ (Bankkonto)",Bonus2:"+ 50 Lagerplatz im Inventar",Bonus2_1:"+ 1 Fahrzeugslot",
  12. Bonus3:"+ 1 Bonusfahrzeug (Abholbar bei HayesAutos)",changedPW:"~g~Du hast dein Passwort erfolgreich ge\u00e4ndert!",changedEMail:"~g~Du hast deine E-Mail Adresse erfolgreich ge\u00e4ndert!"},items:{inventory:"Inventar",group:"Gruppe",color:"Farbauswahl",seccolor:"Nebenfarbe",primcolor:"Hauptfarbe",house:"Haus",object:"Objekte",removeItem:"{1} hat {2} x {3} weggeworfen!",no_money:"Du hast nicht genug Geld! Kosten:",no_mats:"Du hast nicht genug Metallteile! Kosten:",take_illegal:"Deine illegalen Gegenst\u00e4nde wurden entfernt!",
  13. inventory_full:"Dein Inventar ist zu voll, daher hast du nicht alle Items erhalten!",inventory_too_full:"Dein Inventar ist zu voll!",buy:"Kaufen",rent:"CarFlex (Mieten)",HayesAutos:"HayesAutos",barber:"Friseur",storage:"Lager",carshop:"Fahrzeugladen",save:"Speichern","item.-1":"Schl\u00fcsselbund","desc.-1":"Hier sind die Schl\u00fcssel deiner Besitzt\u00fcmer","legal.-1":"1","weight.-1":"0","item.0":"$","desc.0":"Dein Bargeld was du mit dir tr\u00e4gst","legal.0":"1","weight.0":"0.00025","item.1":"Haus",
  14. "desc.1":"Dein Haus","legal.1":"1","weight.1":"0","item.2":"Haftbombe","desc.2":"Eine Bombe aus 680g Nitroglycerin und Cellulosenitrat","legal.2":"0","weight.2":"4","item.3":"Aceton (ml)","desc.3":"Aceton ist eine farblose Fl\u00fcssigkeit und findet Verwendung als polares, aprotisches L\u00f6sungsmittel und als Ausgangsstoff f\u00fcr viele Synthesen der organischen Chemie","legal.3":"0","weight.3":"0.5","item.4":"Benzol (ml)","desc.4":"Benzol ist ein fl\u00fcssiger organischer Kohlenwasserstoff mit der Summenformel C6H6",
  15. "legal.4":"0","weight.4":"0.5","item.5":"40%tiges Methylamin (ml)","desc.5":"40%tiges Methylamin ist das einfachste organische Amin und enth\u00e4lt eine prim\u00e4re Aminogruppe. Es kommt als 40%ige w\u00e4ssrige L\u00f6sung und als druckverfl\u00fcssigtes Gas in den Handel","legal.5":"0","weight.5":"0.5","item.6":"Phenylaceton (ml)","desc.6":"Phenylaceton ist eine farblose bis schwach gelbe Fl\u00fcssigkeit mit einem starken, charakteristischen Geruch, die in der chemischen und pharmazeutischen Industrie Verwendung findet. Wird aus 10(ml) Aceton und aus 10(ml) Benzol hergestellt",
  16. "legal.6":"0","weight.6":"0.5","item.7":"Methamphetamin (g)","desc.7":"Methamphetamin geh\u00f6rt zur Substanzklasse der Amphetamine. Es wird aus 10(ml) Phenylaceton und aus 10(ml) 40%tiges Methylamin hergestellt","legal.7":"0","weight.7":"1","item.8":"Schokoriegel","desc.8":"Ein leckerer Schokoriegel der dir das Wasser im Mund zerflie\u00dfen l\u00e4sst","legal.8":"1","weight.8":"0.5","item.9":"Beschlagnahmte Gegenst\u00e4nde","desc.9":"Illegale Gegenst\u00e4nde die von Straft\u00e4tern abgenommen wurden",
  17. "legal.9":"1","weight.9":"1","item.10":"Metallteile","item.10_1":"Metallteil","desc.10":"Verschiedene Metallbauteile um Waffen herzustellen","legal.10":"0","weight.10":"1","item.11":"EC-Karte","desc.11":"Dies ist deine Bankkarte womit du an ATM's dein Geld verwalten kannst","legal.11":"1","weight.11":"0","item.12":"Treibstoffkanister","desc.12":"Ein 5l Treibstoffkanister","legal.12":"1","weight.12":"8","item.13":"Reparaturkit","desc.13":"Mit diesem Reparaturkit kannst du dein Auto von au\u00dfen reparieren",
  18. "legal.13":"1","weight.13":"8","item.14":"Spitzhacke","desc.14":"Mit einer Spitzhacke kannst du in Minen Gestein aus der Wand schlagen. Leider bricht dieses Werkzeug auch, ab und zu","legal.14":"1","weight.14":"5","item.15":"Presslufthammer","desc.15":"Dieser Presslufthammer mit motorgetriebenen Kompressor eignet sich ideal um Gestein aus dem Boden zu schlagen.","legal.15":"1","weight.15":"10","item.16":"Eisenerz","desc.16":"Eisenerz ist ein Gemenge aus nat\u00fcrlich vorkommenden chemischen Verbindungen des Eisens und nicht- oder kaum eisenhaltigem Gestein.",
  19. "legal.16":"1","weight.16":"1","item.17":"Golderz","desc.17":"Golderz ist ein Gemenge aus nat\u00fcrlich vorkommenden chemischen Verbindungen des Goldes und nicht- oder kaum eisenhaltigem Gestein.","legal.17":"1","weight.17":"4","item.18":"Kaliumnitrat","desc.18":"Kaliumnitrat bildet farblose Kristalle, die sich in Wasser unter starker Abk\u00fchlung l\u00f6sen. Es ist der Hauptbestandteil von Schwarzpulver.","legal.18":"1","weight.18":"0.5","item.19":"MediKit","desc.19":"Mit MediKits k\u00f6nnen Sanit\u00e4ter einen Spieler wiederbeleben oder bei Nutzung erh\u00f6ht sich das Leben stark.",
  20. "legal.19":"1","weight.19":"1","item.20":"Gangmedaille","desc.20":"Mit Gangmedaillen ist es m\u00f6glich Erweiterungen f\u00fcr Gangs freizuschalten!","legal.20":"1","weight.20":"0","item.21":"Schwarzpulver","desc.21":"Schwarzpulver wird zusammen mit Metallteilen zur Herstellung von Haftbomben ben\u00f6tigt!","legal.21":"0","weight.21":"1","item.22":"Hanf-Steckling","desc.22":"Abgeschnittener Teil einer Mutterpflanze um ohne den Keimprozess eine neue Hanfpflanze zu z\u00fcchten","legal.22":"0","weight.22":"0.5",
  21. "item.23":"Hanf","desc.23":"Die Bl\u00fcte der Hanfpflanze. Wird aufgrund der berauschenden und schmerzstillenden Wirkung geraucht.","legal.23":"0","weight.23":"1","item.24":"Angelrute","desc.24":"Die Angelrute hat die Aufgabe, den Haken mit K\u00f6der gut zu positionieren und den Anhieb sicher zu setzen. Sie kann brechen, falls ein zu gro\u00dfer Fisch angebissen hat.","legal.24":"1","weight.24":"2","item.25":"Angelhaken","desc.25":"Er dient zur Befestigung des Angelk\u00f6ders sowie dazu, einen gefangenen Fisch an der Schnur zu halten. Er rei\u00dft manchmal ab.",
  22. "legal.25":"1","weight.25":"0.2","item.26":"Fischernetz","desc.26":"Ein Fischernetz ist ein engmaschiges, netzf\u00f6rmiges textiles Fl\u00e4chengebilde, das zum Fischfang genutzt wird.","legal.26":"1","weight.26":"4","item.27":"Holzkiste","desc.27":"Eine verzierte Holzkiste, die alle m\u00f6glichen Gegenst\u00e4nde beinhalten kann.","legal.27":"1","weight.27":"10","item.28":"Forelle","desc.28":"Eine frisch gefangene Forelle, die sich hervorragend zum verspeisen eignet.","legal.28":"1","weight.28":"0.5",
  23. "item.29":"Munition A","desc.29":"Munition A wird f\u00fcr Handfeuerwaffen (zB: Pistol, Revolver) ben\u00f6tigt","legal.29":"1","weight.29":"0.1","item.30":"Munition B","desc.30":"Munition B wird f\u00fcr leichte Maschinengewehre (zB: SMG, MiniSMG) ben\u00f6tigt","legal.30":"1","weight.30":"0.1","item.31":"Munition C","desc.31":"Munition C wird f\u00fcr Maschinengewehre (zB: MG, CombatMG) ben\u00f6tigt","legal.31":"1","weight.31":"0.1","item.32":"Munition D","desc.32":"Munition D wird f\u00fcr schwere Maschinengewehre (zB: CarbineRifle, CompactRifle) ben\u00f6tigt",
  24. "legal.32":"1","weight.32":"0.1","item.33":"Munition E","desc.33":"Munition E wird f\u00fcr Pr\u00e4zisionswaffen (zB: SniperRifle, HeavySniper) ben\u00f6tigt","legal.33":"1","weight.33":"0.1","item.34":"Munition F","desc.34":"Munition F wird f\u00fcr Schrotflinten (zB: PumpShotgun, AssaultShotgun) ben\u00f6tigt","legal.34":"1","weight.34":"0.1","item.35":"Muschel","desc.35":"Muscheln ( ugs. Mupfel ) k\u00f6nnen beim \u00d6ffnen Perlen beinhalten","legal.35":"1","weight.35":"0.5","item.36":"Krabbe",
  25. "desc.36":"Eine frisch gefangene Krabbe, die sich hervorragend zum verspeisen eignet.","legal.36":"1","weight.36":"0.5","item.37":"K\u00fcrbis","desc.37":"K\u00fcrbisse k\u00f6nnen zum Kauf von seltenen Fahrzeugen genutzt oder ge\u00f6ffnet werden!","legal.37":"1","weight.37":"1","item.38":"Rucksack","desc.38":"Ein Rucksack erweitert dein Inventar um 150. Sollte dein Rucksack ablaufen, so gehen keine Items verloren!","legal.38":"1","weight.38":"0","item.39":"Credits","desc.39":"Im Bonusshop kannst du mit Credits einige sehr hilfreiche Inhalte freischalten! Aufladen kannst du diese unter http://shop.vio-v.com",
  26. "legal.39":"1","weight.39":"0"},house:{tooSell:"Mit /buyhouse kannst du dieses Haus kaufen",waypoint:"Standort markiert",spawnchange:"Spawnpunkt angepasst",notForRent:"Das Haus wurde vom Besitzer nicht zum Vermieten freigegeben!",tooCreateGang:"Mit /creategang kannst du hier eine Gang erstellen!",houseOwner:"Du hast bereits ein Haus!",houseRentDetail:"Du wohnst hier zur Miete Kosten: {1} $/Stunde",houseUnRentDetail:"Um den Mietvertrag zu k\u00fcndigen, \u00e4ndere deinen Spawnpunkt unter F3",newHouseOwner:"Herzlichen Glueckwunsch! Du bist nun Hausbesitzer!",
  27. openHouse:"Haus aufgeschlossen",closeHouse:"Haus abgeschlossen",rentPrice:"Die Miete muss zwischen 0 und 250 $ betragen!",setHouseToRent:"Der Vermietungsmodus deines Hauses ist aktuell deaktivert. Aktivieren diesen um dein Haus vermieten zu k\u00f6nnen.",setRentPrice:"Die Miete wurde erfolgreich gesetzt",howToRent:"Nutze /rent um dich in dieses Haus einzumieten",setRent:"Nutze /setrent {1} [Preis] um die Miete festzulegen",notIfForRent:"Du kannst die T\u00fcre nicht zuschlie\u00dfen, solange du das Haus vermietest!",
  28. sellHouseUsage:"Nutze /sellhouse {1} um dein Haus zu verkaufen.",sellHousePrice:"Verkaufspreis:",soldHouseServer:"Du hast dein Haus an den Server verkauft!"},vehicle:{respawned:"Fahrzeug respawnt",respawnedVehicles:"Fahrzeuge respawnt",wrongParked:"Da dein Fahrzeug falsch geparkt ist, kannst du es im Moment nicht nutzen!",spawnWrongParkedVehicle:"Nutze /spawnVehicle {1} um dein Fahrzeug wieder zu erstellen!",markWrongParkedVehicle:"Begib dich zur markieren Stelle um dein Fahrzeug umzuparken.",markWrongParkedVehicle1:"Sollte sich dein Fahrzeug nicht an der markierten Stelle befinden nutze den Befehl erneut!",
  29. locked:"Fahrzeug abgeschlossen",slot:"Weiterer Fahrzeugslot",locked_failed:"Dieses Fahrzeug hat keine T\u00fcren!",seatbelt_on:"Du hast dich angeschnallt",seatbelt_off:"Du hast dich abgeschnallt",warning_on:"Warnblinker aktiviert",warning_off:"Warnblinker deaktiviert",howToPark:"Nutze /park um dein Fahrzeug umzuparken",engineNeedOut:"Der Motor des Fahrzeuges muss ausgeschaltet sein!",noRepairKit:"Du ben\u00f6tigst ein Reparaturkit",noFuelCan:"Du ben\u00f6tigst einen Treibstoffkanister",unlocked:"Fahrzeug aufgeschlossen",
  30. waypoint:"Fahrzeug markiert",noVehicle:"Du befindest dich in keinem Fahrzeug",onlySellPrivateVehicle:"Du kannst nur Privatfahrzeuge verkaufen",onlySellOwnVehicle:"Du kannst nur dein eigenes Privatfahrzeug verkaufen",parked:"Fahrzeug geparkt",toofast:"Das Fahrzeug bewegt sich!",targetToFarAway:"Der Handelspartner ist zu weit entfernt!",toofastVehicle:"Das Fahrzeug ist zu schnell!",sellVehicleUsage:"Nutze /sellvehicle {1} um dein Fahrzeug an den Server zu verkaufen.",checkSellVehicleTo:"Handelsanfrage an {1} | Fahrzeug: {2} | Preis: {3} $",
  31. checkSellVehicleToAnswer:"Sind alle Angaben richtig? ~g~/sendRequest~w~ um das Angebot zu senden andernfalls ~r~/cancelRequest",sellVehiclePrice:"Server-Verkaufspreis:",sellVehicleToUsage:"Oder nutze /sellto [Name] [Preis] um dein Fahrzeug an einen Spieler zu verkaufen!",stopSendRequest:"Anfrage abgebrochen!",cancleRequest:"Handelsanfrage abgelehnt!",soldVehicleServer:"Du hast dein Fahrzeug an den Server verkauft!",limitReached:"Du hast das Fahrzeuglimit erreicht!",repaired:"Fahrzeug repariert!",
  32. notEmty:"Fahrzeug nicht leer!",FuelLow:"Der Tank des Fahrzeugs ist leer! Du kannst das Fahrzeug mit einem Benzinkanister betanken!",pleaseReconnect:"Verbinde dich erneut auf dem Server und parke dein Fahrzeug dann direkt um!",carflex_end_1:"Deine Mietzeit ist fast abgelaufen. Nutze /updaterent um deine",carflex_end_2:"Fahrzeugmietdauer um 10 Minuten zu erh\u00f6hen. Kosten : ",carflex_double:"Du hast bereits ein Fahrzeug bei uns angemietet!",carflex_renew:"Der Mietvertrag wurde um 10 Minuten verl\u00e4ngert!!",
  33. carflex_renew_time:"Dein Mietvertrag kann noch nicht verl\u00e4ngert werden!",carflex_nocar:"Auf dich ist kein Mietfahrzeug registiert!",carflex_finalend:"Der Mietvertrag ist ausgelaufen!",noKey:"~r~Du hast keinen Schl\u00fcssel!",gasFilled:"Fahrzeug betankt!",gasFull:"Fahrzeugtank zu voll!",HayesAutos_noCar:"Du hast kein Fahrzeug, welches bei mir abgegeben wurde.",HayesAutos_Car:"Eines oder mehrere deiner Fahrzeuge stehen bei Hayes Autos. Hole es dort ab.",HayesAutos_CarExploded:"Dein Fahrzeug wurde zerst\u00f6rt und in Hayes Werkstatt geschleppt.",
  34. HayesAutos_CarExploded1:"Dort kannst du es gegen eine Geb\u00fchr abholen.",HayesAutos_CarBuySpawn:"Fahrzeug repariert. Es befindet sich an der Parkposition"},quest:{quest_CarFlex:"Begib dich zum CarFlex (rotes C) der Autovermietung auf VioV um dir ein Fahrzeug zu mieten | Belohnung : 125 $",quest_EngineUse:"Prima! Du bist nun mobil. Mit der Taste X (gedrueckt halten) kannst du den Motor an/aus schalten. Schalte den Motor aus! | Belohnung : 75 $",quest_ChangeSpawn:"Mit der Taste F3 kannst du auf deine Einstellungen zugreifen. Dort kannst du dir zB DelPenno als Spawn setzen. Nutze F3 und passe deinen Spawnpunkt an | Belohnung : 225 $",
  35. quest_HelpUse:"Bei Fragen rund um das Spiel kannst du unser Hilfe/Ticketsystem nutzen. \u00d6ffne das Handy (Taste P) und klicke auf das ? um das Hilfe/Ticketsystem zu \u00f6ffnen | Belohnung : 50 $",quest_FirstJob:"Jobs werden in VioV als gruenes Symbol auf der Karte markiert. Verdiene mit einem Job 1.000 $ [ {1} $ ] | Belohnung : 1.200 $",quest_BuySnack:"Lebenspunkte sind kostbar! Kaufe dir zum Beispiel bei einem Shop einen Schokoriegel | Belohnung : 7 Schokoriegel",quest_BuyPetrolCan:"Schieben war gestern! Kaufe dir bei einer Tankstelle einen Treibstoffkanister | Belohnung : 5 Treibstoffkanister",
  36. quest_CashpointUse:"Bankautomaten kannst du mit der Taste E nutzen. Zahle etwas Geld auf dein Konto ein | Belohnung : 250 $",quest_BuyWeedSeed:"Kaufe Hanf-Stecklinge an der Hanfplantage in Grapeseed | Belohnung : 10 Hanf-Stecklinge",quest_PlantWeedSeed:"Pflanze deinen Steckling | Belohnung : 10 Hanf-Stecklinge",quest_HarvestWeed:"Ernte 1 g Hanf | Belohnung : 25 g Hanf",quest_SellWeed:"Verkaufe dein geerntetes Hanf auf der Hanfplantage in Grapeseed | Belohnung : 5.000 $",quest_BuyHinge:"Kaufe eine Angel bei Millars Fishery in Great Chaparral | Belohnung : 10 Angelruten",
  37. quest_StartFishing:"Wirf deine Angel aus und befolge die Schritte, welche dir \u00fcber der Minimap angezeigt werden | Belohnung : 20 Angelhaken",quest_Fish50:"Angel 50 Forellen [ {1} Forellen ] | Belohnung : 5.000 $",quest_BuyVehicle:"Der Traum vom eigenen Fahrzeug. Kaufe dir ein Fahrzeug bei einem Autohaus (goldenes Symbol auf der Karte) | Belohnung : 5.000 $",quest_ParkVehicle:"Parken nur auf gekennzeichneten Parkplaetze erlaubt! Parke dein Fahrzeug mit /park | Belohnung : 1.250 $",quest_DrugMission:"Einige der Gegenstaende sind illegal. Darum solltest du damit aufpassen! Erhalte von der Drogendealermission 15 mL Aceton [ {1} mL ] | Belohnung : 20 mL Benzol \x26 20 mL Aceton",
  38. quest_DrugCraftPhenylaceton:"Finde eine Drogenkueche (in Sandy Shores) und stelle dort 1 mL Phenylaceton her. Hierfuer ben\u00f6tigst du 10 mL Aceton und 10 mL Benzol | Belohnung : 10 mL Phenylaceton \x26 20 mL 40%tiges Methylamin",quest_DrugCraftMethamphetamin1:"Stelle 1 g Methamphetamin her. Hierfuer ben\u00f6tigst du 10 mL 40%tiges Methylamin und 10 mL Phenylaceton | Belohnung : 10 mL Phenylaceton \x26 20 mL 40%tiges Methylamin",quest_DrugCraftMethamphetamin5:"Die Nachfrage an Methamphetamin explodiert. Stelle 5 g Methamphetamin her. [ {1} g ] | Belohnung : 5 g Methamphetamin",
  39. quest_SellMethamphetamin:"Einige Obdachlose kaufen Methamphetamin. Verkaufe Methamphetamin an einen Obdachlosen. Obdachlose findest du zB unter Bruecken. | Belohnung : 6.250 $"},mission:{missionAccomplished:"+ {1} {2}",noGunLicens:"~r~Du besitzt den erforderlichen Waffenschein nicht!",toFootSelectedPositionRentCar:"Begebe dich zu der makierten Position um dir ein Fahrezug zu mieten.",toSelectedPosition:"Bringe das Fahrzeug zur markierten Position.",toSearchPeace:"Dort kannst du es in Ruhe durchsuchen.",
  40. howToCraft:"Dr\u00fccke in deinem Inventar auf eine Chemikalie um diese zu verwenden!",mission_3_dialog_1:"Gestern ist mein Vater bei einer Verfolgungsjagd gestorben",mission_3_dialog_2:"Ich brauche dringend Stoff. Daf\u00fcr kannst du den alten Journey haben.",mission_3_dialog_3:"Bring mir 130 g Methamphetamin \x26 20.000 $ und er ist deiner.",mission_3_dialog_4:"Nutze /buyjourney",mission_5_dialog_1:"Das Lager ist voll!",mission_5_dialog_2:"Lieferung abgegeben!",mission_5_dialog_3:"Wir haben aktuell nichts zum verkaufen",
  41. craftPhenylacetonMissingRes:"Synthese : 10mL Aceton \x26 10mL Benzol",vehicleEngineOff:"Der Motor des Journey ist ausgeschaltet!",vehicleNoDriverSeat:"Du befindest dich nicht auf dem Fahrersitz!",craftMethamphetaminMissingRes:"Synthese : 10mL 40%tiges Methylamin und 10mL Phenylaceton",craftSchwarzpulverMissingRes:"Synthese : 10 Kaliumnitrat",craftHaftbombeMissingRes:"Synthese : 15 Schwarzpulver und 5 Metallteile",craftPhenylacetonNoJourney:"Du musst dich in einem Journey oder einem Labor befinden!",
  42. mission_5_dialog_4_1:"~b~[Department] ~r~Es wurde ein Truck mit einer Menge illegaler Gegenst\u00e4nde beladen",mission_5_dialog_4_2:"~b~[Department] ~r~Es wurde ein Fahrzeug mit einigen illegalen Gegenst\u00e4nde beladen",mission_5_dialog_4_3:"~b~[Department] ~r~Es wurde ein Fahrzeug mit ein paar illegalen Gegenst\u00e4nde beladen",mission_5_dialog_5_1:"~b~[Department] ~r~Ein Truck mit einer Menge illegaler Gegenst\u00e4nde wurde entladen",mission_5_dialog_5_2:"~b~[Department] ~r~Ein Fahrzeug mit einigen illegalen Gegenst\u00e4nde wurde entladen",
  43. mission_5_dialog_5_3:"~b~[Department] ~r~Ein Fahrzeug mit ein paar illegalen Gegenst\u00e4nde wurde entladen",mission_5_dialog_6:"~r~{1} hat ein Fahrzeug mit illegalen Gegenst\u00e4nden beladen",mission_6_dialog_1:"~b~Es wurde ein Asservatentruck beladen!",mission_6_dialog_2:"~r~Es wurde ein Asservatentruck entladen!",errorSubmitQuest:"~r~Du kannst diese Quest nicht abschlie\u00dfen!"},faction:{untiedBy:"{1} hat {2} entfesselt",tiedBy:"{1} hat {2} gefesselt",removedIllegalItems:"{1} hat {2} illegale Gegenst\u00e4nde aus dem Fahrzeug entfernt!",
  44. searchedIllegalItems:"{1} hat das Fahrzeug nach illegalen Gegenst\u00e4nden durchsucht!",freeFromJail:"Du wurdest freigelassen!",jailTime:"Du befindest dich noch 1 Minute im Knast!",jailTimes:"Du befindest dich noch {1} Minuten im Knast!",lottoNumbers:"Die Lottozahlen : {1} , {2} , {3}",lottoNumbersWinner:"Gewinner : {1} : {2} $",eventSystemActive:"{1} hat das Eventsystem aktiviert!",eventSystemDeactive:"{1} hat das Eventsystem deaktiviert!",newWeather:"Das Wetter wird {1}",thunderstormWarning:"~r~Meteorologen warnen vor einem kommenden starkem Unwetter!",
  45. notInGanghouse:"Du musst dich im Ganghaus befinden!",unrestPlayer:"~b~[Department] ~g~{1} hat {2} aus dem Knast entlassen.",lockedPDNPC:"~b~[Department] ~g~{1} hat den PD - NPC deaktiviert.",unlockedPDNPC:"~b~[Department] ~g~Der PD - NPC wurde aktiviert.",someoneIsInBank:"~b~[Department] ~b~Eine unbekannte Person wurde am Tresor einer Bank gesichtet.",bankIsGettingRobbedFromGang:"~b~[Department] ~r~Die {1} wird von {2} ausgeraubt!",yourGroupRobsABank:"~r~Deine Gang raubt die {1} aus!",arrestedPlayer:"Du hast ~r~{1}~w~ eingesperrt.",
  46. arrestedBy:"~r~Du wurdest von ~b~{1}~w~ eingesperrt.",bankrobFromGangStopped:"~b~[Department] ~g~Die Gang {1} hat den Bank-Raub gestoppt und ist auf der Flucht!",yourGangsBankrobStopped:"~g~Deine Gang hat die Bank verlassen.",Lotto1:"~b~In 15 Minuten findet die Lottoziehung an der Base der Lifeinvader statt!",Lotto2:"~b~Die letzte Chance einen Lottoschein zu kaufen. In 5 Minuten findet die Lottoziehung statt!",LottoPot:"~g~Aktuell im Checkpot : 50.000 $",theGangRobsAShop:"~b~[Department] ~r~Es wurde ein Raub gemeldet!",
  47. yourGangRobsThePD:"~r~Deine Gang raubt die Polizei-Station aus!",yourGangRobsTheAmmo:"~r~Deine Gang raubt das Ammunation aus!",theGangRobsTheAmmo:"~b~[Department] ~r~Die Gang {1} raubt das Ammunation aus!",yourGangCaptureGangShop:"~r~Deine Gang nimmt einen Gangshop ein!",theGangCapturesGangShop:"~r~Die Gang {1} nimmt euren Gangshop ein!",theGangRobsThePD:"~b~[Department] ~r~Die Gang {1} raubt die Polizei-Station aus!",theGangStopsTheShopRob:"~b~[Department] ~g~Der R\u00e4uber flieht!",yourGangStopsThePoliceRob:"~g~Deine Gang hat mit dem Polizei-Raub aufgehoert und flieht!",
  48. yourGangStopsTheAmmoRob:"~g~Deine Gang hat mit dem Ammunation-Raub aufgehoert und flieht!",theGangStopsThePoliceRob:"~b~[Department] ~g~Die Gang {1} hat mit dem Polizei-Raub aufgehoert und flieht!",theGangStopsTheAmmoRob:"~b~[Department] ~g~Die Gang {1} hat mit dem Ammunation-Raub aufgehoert und flieht!",userHasBeenOfflineRemoved:"Der Spieler ist online und wurde entfernt!",userHasBeenOnlineRemoved:"Der Spieler ist offline und wurde entfernt!",userRemoved:"Du wurdest aus deiner Gruppe geworfen!",
  49. userIsLeader:"Der Spieler ist Leader!",userNotinTheGroup:"Der Spieler ist nicht in der Gruppe",userHasBeenPromoted:"{1} wurde von {2} auf den Rang {3} bef\u00f6rdert!",userHasBeenRelegated:"{1} wurde von {2} auf den Rang {3} degradiert!",userHasHighestRank:"Der Spieler hat bereits den h\u00f6chsten freigschalteten Rang",userHaslowestRank:"Der Spieler hat bereits den niedrigsten freigschalteten Rang",playerChangedRights:"Du hast die Berechtigung angepasst!",playerChangedRankName:"Du hast die Rangbezeichnung angepasst!",
  50. playerChangedRankBonus:"Du hast den Rangbonus angepasst!",noSpecialCharakterRankName:"Die Rangbezeichnung darf keine Sonderzeichen enthalten!",limitRankName:"Die Rangbezeichnung muss zwischen 4 und 15 Zeichen enthalten!",limitRankBonus:"Der Rangbonus muss zwischen 0 und 1000 Doller liegen!",playerChangedGangName:"Du hast den Gangnamen angepasst!",playerChangedGangColor:"Du hast die Gangfarbe angepasst! (Anpassung wird erst nach einem Serverneustart wirksam !!!)",noSpecialCharakterGangName:"Der Gangname darf keine Sonderzeichen enthalten!",
  51. limitGangName:"Der Gangname muss zwischen 4 und 15 Zeichen enthalten!",gangColorUsed:"Diese Gangfarbe wird bereits von einer anderen Gang genutzt!",newGangVehicle:"Deine Gang hat jetzt ein neues Gangfahrzeug! (Nutze /park)",vehicleRemoved:"Fahrzeug {1} wurde entfernt!",gangPromoted:"Eure Gang ist von Level {1} auf {2} gestiegen!",memberLimit:"Memberlimit {1}",vehicleLimit:"Fahrzeuglimit {1}",gangForumAccess:"Eurer Gang wurde ein Forumbereich erstellt, die Erstellung kann bis zu 24 Stunden dauern!",
  52. putRobBagOn:"Aktionstasche aufgenommen",putRobBagOff:"Aktionstasche abgelegt",clearPlayerWanteds:"~g~{1} ~w~hat die Akte von ~r~{2} ~w~entfernt!",addPlayerWanteds:"~g~{1} ~w~hat ~r~{2} ~w~ Wanteds gegeben Grund: {3}!",addPlayerToPrison:"~g~{1} ~w~hat ~r~{2} ~w~ eingesperrt!",freeFromWanteds:"~g~{1} hat deine Akte entfernt!",haveToBeInGang:"Dazu musst du in einer Gang sein!",onlyOneGangshop:"Wir haben bereits einen Gangshop!",noBagError:"... und wo willst du die Ware verstauen? Hol dir eine Tasche!",
  53. noPermission:"Du bist nicht befugt!",notInGroup:"Du bist nicht in der Gruppe!",leaveGroup:"Du hast die Gruppe verlassen!",playerChangedMsg:"Pinnwand bearbeitet!",needNoBag:"Komme ohne Aktionstasche wieder!",takeIllegal:"Du hast {1} {2} illegale Gegenstaende abgenommen.",foundIllegal:"Du hast bei {1} {2} illegale Gegenstaende gefunden.",noIllegal:"{1} besitzt keine illegale Gegenstaende.",checkKiller:"{1} sucht Spuren warum du gestorben bist.",checkedKiller:"Spurensuche bei {1} abgeschlossen.",noSkin:"Eure Gruppe hat keinen Gruppenskin!",
  54. useSkin:"Gruppenskin angenommen!",changedSkin:"Gruppenskin angepasst!",evidenceroomInfo:"Asservatenkammer {1}/{2}",surrenderWeapon:"Das Stellen ist nur ohne angelegte Waffe m\u00f6glich!",evidenceroomNotFull:"Die Asservatenkammer ist nicht voll genug!",medicHealDone:"~b~{1} hat {2} behandelt!",medicRevive:"~b~{1} hat {2} aufgenommen!",medicToPickup:"~r~{1} ist schwer verletzt!",medicName:"San Andreas Rescue Unit",medicDescription:"Willkommen bei der San Andreas Rescue Unit. F\u00fcr nur 75$ kannst du dich von einem Arzt behandeln lassen!.",
  55. medicInfo:"Wir behandeln nur Personen, welche nicht als gesucht gemeldet sind!",medicHeal:"Arzt aufsuchen",medicNoHeal:"Du ben\u00f6tigst im Moment noch keine \u00e4rztliche Hilfe.",respawnedBy:"{1} hat alle Gruppenfahrzeuge respawned.",targetInHouse:"Der Spieler befindet sich in einem Geb\u00e4ude",sosStart:"~r~{1} hat sofortige Unterst\u00fctzung angefordert!",sosError:"Unterst\u00fctzungsanfrage abgebrochen.",sosAlready:"Es existiert bereits eine Unterst\u00fctzungsanfrage!",wrongPositionUnjail:"Diese Aktion ist nur am Computer im Zellentrakt des L.S.P.D m\u00f6glich!",
  56. targetDead:"F\u00fcr diese Aktion muss der Spieler am Leben sein!",targetNotInJail:"Der Spieler befindet sich nicht im Gef\u00e4ngnis!",putWeaponAway:"Ich verkaufe nur an Personen ohne Waffe!",howToSaveMoney:"Du musst min. 3 Minuten \u00fcberleben um das Geld zu behalten!",bombFactory:"~b~Es wurde eine Person in der Umgebung eines Lagers gesichtet!",robFactory:"~r~Eure Fabrik wird ausgeraubt!",captureFactory:"~r~Eure Fabrik wird eingenommen!",lostFactory:"~r~Eure Fabrik wurde eingenommen! Ihr seid nun nicht mehr Besitzer der Fabrik!",
  57. capturedFactory:"~g~Ihr habt eine Fabrik erobert! Denkt daran, diese vor Diebstahl und Eroberungen zu verteidigen!",actions:{pedrobs:{shoprob:{incooldown:"Verk\u00e4ufer: Ich wurde doch erst vor kurzem ausgeraubt.",nocops:"Es sind nicht genug Cops online!",end:"Der Shop-Rob ist vorbei!",collected:"Du konntest ${1} sammeln.",start:"Shop-Rob gestartet!\nZiele weiter auf den NPC,\num das Geld zu bekommen."},policerob:{incooldown:"Polizist: Wir haben hier keine Waffen mehr! Alles weg!",nocops:"Es sind nicht genug Cops online!",
  58. end:"Der Police-Rob ist vorbei!",collected:"Du konntest ein(e) {1} in die Tasche bekommen.",start:"Police-Rob gestartet!\nZiele weiter auf den NPC,\num die Waffe zu bekommen."},ammorob:{incooldown:"NPC: Wir haben hier keine Waffen mehr! Alles weg!",nocops:"Es sind nicht genug Cops online!",end:"Der Ammunation-Rob ist vorbei!",collected:"Du konntest ein(e) {1} in die Tasche bekommen.",start:"Ammunation-Rob gestartet!\nZiele weiter auf den NPC,\num die Waffe zu bekommen."},gangseller:{incooldown:"Hilfe ... Ich habe nichts!",
  59. nogangs:"Es sind nicht genug Gangler online!",end:"",collected:"Gangshop eingenommen! Ihr koennt nun einen Matstruck am Gangshop abgeben!",start:"Gangshop-Capture gestartet!\nZiele weiter auf den NPC,\num den Shop einzunehmen!"}},bankrob:{end:"Du konntest ${1} sammeln.",player:{collected:"Gesammelt: ",seconds:" Sekunden"}}}},vehiclemods:{"item.0":"Spoiler","item.1":"Front Sto\u00dfstange","item.2":"Heck Sto\u00dfstange","item.3":"Seitenschweller","item.4":"Auspuff","item.5":"Fahrgestell","item.6":"K\u00fchlergrill",
  60. "item.7":"Motorhaube","item.8":"Kotfl\u00fcgel","item.9":"Rechter Kotfl\u00fcgel","item.10":"Erweiterungen","item.11":"Motor","item.12":"Bremsen","item.13":"Getriebe","item.14":"Hupe","item.15":"Fahrwerk","item.16":"Panzerung","item.18":"Turbolader","item.22":"Xenon Scheinwerfer","item.23":"Vorderr\u00e4der","item.24":"Hinterr\u00e4der","item.25":"Nummernschild","item.27":"Ausstattungsfarbe","item.28":"Amaturenfigur","item.30":"Instrumente","item.33":"Lenkrad","item.34":"Schaltkn\u00fcppel","item.35":"Nummerschilddesign",
  61. "item.38":"Hydrauik","item.48":"Design","item.62":"Nummernschildfarbe","item.69":"Scheibent\u00f6nung","item.200":"Unterbodenbeleuchtung","item.300":"Lackierung"},admin:{chat_muted:"Du kannst keine Nachricht schreiben, du wurdest gemutet!",noAccount:"Es gibt keinen Spieler mit diesem Namen!",noBan:"Der Spieler ist nicht gebannt!",noWarn:"Es gibt keinen Warn mit diesem Namen!",noWarns:"Der Spieler hat keine aktiven Verwarnungen!",noWarnWithID:"Der Spieler hat keinen Warn mit dieser ID!",get_warn:"Du hast von {1} {2} Warnpunkte bekommen | Grund : {3}",
  62. del_warn:"Du hast den Warn von {1} mit {2} Warnpunkte entfernt!",del_sanction:"Du hast die Sanktion von {1} entfernt!",del_warn_by:"Admin {1} hat dir einen Warn entfernt!",warn:"Grund: {1} Ablaufdatum: {2} Punkte: {3}",warns_total:"Warnpunkte :",warns_view:"Verwarnungs\u00fcbersicht: ",set_warn:"Du hast {1} {2} Warnpunkte gegeben | Grund : {3}",set_freeze_true:"Du hast {1} gefreezt",get_freeze_true:"Du wurdest von Admin {1} gefreezt",set_freeze_false:"Du hast {1} entfreezt",get_freeze_false:"Du wurdest von Admin {1} entfreezt",
  63. set_mute_true:"Du hast {1} gemutet",get_mute_true:"Du wurdest von Admin {1} gemutet",set_mute_false:"Du hast {1} entmutet",get_mute_false:"Du wurdest von Admin {1} entmutet",vehicle:"Du befindest dich in einem Fahrzeug",novehicle:"Du befindest dich in keinem Fahrzeug",mark:"Du hast einen Marker gesetzt","goto":"Du hast dich zu {1} teleportiert!",goto_target:"Admin {1} hat sich zu dir teleportiert!",gethere:"Du hast {1} zu dir teleportiert!",gethere_target:"Admin {1} hat dich teleportiert!",gotomark:"Du hast dich zu einem Marker teleportiert!",
  64. help:"Willkommen bei Vio-V solltest du einen Fehler entdecken, melde diesen einem Admin.",helpCmds:"F1 - FAQ | F2 - Wichtige Orte | F3 - Einstellungen"},storage:{error_invalid:"Es konnten einige Items nicht verschoben werden!",trade_failed:"Handel abgebrochen!",trade_too_full_target:"Das Inventar von deinem Handelspartner ist zu voll!",trade_too_full:"Dein Inventar ist zu voll!",trade_done:"Handel abgeschlossen!",trade_request_done:"Handelsanfrage gesendet!",trade_request_vehicle:"Handelsanfrage von {1} | Fahrzeug: {2} (Das Fahrzeug wurde markiert!) | Preis: {3} $",
  65. trade_request_vehicle_marked:"Nutze ~g~/buyvehicle~w~ um das Fahrzeug zu kaufen oder ~r~/skipvehicle~w~ um das Angebot abzulehnen!",trade_request_error:"Der Spieler kann aktuell nicht handeln!",trade_request:"Handelsanfrage von {1} | Nutze /atrade",trade_no_space:"Kein freier Slot!",trade_no_storage:"[ERROR] Es konnte kein Storage gefunden werden",payOutMoneyBank:"Auszahlung",medicBonus:"Krankenhausbehandlung",transferTarget:"Du hast von {1} {2} $ erhalten!",transferPlayer:"Du hast {1} {2} $ \u00fcberwiesen!",
  66. transferMin:"\u00dcberweisungen werden erst ab 250 $ entgegen genommen!",transferOffline:"Offline\u00fcberweisung aktuell nicht m\u00f6glich!",transfer:"\u00dcberweisung",lotto:"Lottogewinn",payInMoneyBank:"Einzahlung",Bonus:"Bonussystem",payFactionMoneyBank:"PayDay",payFactionBonus:"Bonus",payRent:"Miete",payVehicleTax:"Fahrzeugsteuern",target_istrading:"Der Spieler handelt bereits!",trade_target_notReady:"Der Spieler kann aktuell nicht handeln!",trade_no_request:"Keine Handelsanfrage offen!"},guns:{lastDmg:"Du wurdest von einen Spieler verletzt und kannst dich deshalb noch nicht heilen.",
  67. WeaponLicenseA:"Kleiner Waffenschein",WeaponLicenseB:"Mittlerer Waffenschein",WeaponLicenseC:"Gro\u00dfer Waffenschein",WeaponLicenseATime:"Kleiner Waffenschein (7 h)",WeaponLicenseBTime:"Mittlerer Waffenschein (30 h)",WeaponLicenseCTime:"Gro\u00dfer Waffenschein (150 h)"},window_gang:{select_1:"Gruppe",select_2:"Mitglieder",select_3:"Einstellungen",select_4:"Logs",einstellungen:"Gruppensystem",getbag:"Aktionstasche",heal:"Heilen",storage:"Lager",shop:"Shop",equip:"Gangskin",upgrade_to:"Upgraden auf Level",
  68. max_lvl:"Maximales Level erreicht!",gangweapon:"Gangwaffe",member_name:"Spielername",member_rang:"Spielerrang",desc:"Name",vehicles:"Fahrzeuge",sure:"Sicher?","delete":"Entfernen",insert:"Einfuegen",delete_gang:"Gang entfernen",updateskin:"Gangskin aendern",devare:"Aufloesen",devare_gang:"Gang loeschen"},wanteds:{NoDmKill:"Mord (DM)",bv:"Befehlsverweigerung",befehlsverweigerung:"Befehlsverweigerung",bei:"Beihilfe",beihilfe:"Beihilfe",belei:"Beleidigung",beleidigung:"Beleidigung",stech:"Bestechungsversuch",
  69. bestech:"Bestechungsversuch",bestechung:"Bestechungsversuch",bestechungsversuch:"Bestechungsversuch",droh:"Drohung",drohung:"Drohung",press:"Erpressung",erpressung:"Erpressung",einsatz:"Einsatzbehinderung",behind:"Einsatzbehinderung",einsatzbehinderung:"Einsatzbehinderung",dieb:"Fahrzeugdiebstahl",diebstahl:"Fahrzeugdiebstahl",fahrzeugdiebstahl:"Fahrzeugdiebstahl",rennen:"Illegales Stra\u00dfenrennen",strassenrennen:"Illegales Stra\u00dfenrennen",kpv:"K\u00f6rperverletzung",verletzung:"K\u00f6rperverletzung",
  70. koerperverletzung:"K\u00f6rperverletzung",owaffe:"Offenes Waffentragen",offenwaffe:"Offenes Waffentragen",sb:"Sachbesch\u00e4digung",sach:"Sachbesch\u00e4digung",beschaedigung:"Sachbesch\u00e4digung","sachbesch\u00e4digung":"Sachbesch\u00e4digung",tat:"Vort\u00e4uschen falscher Tatsachen",tatsachen:"Vort\u00e4uschen falscher Tatsachen","vort\u00e4uschen":"Vort\u00e4uschen falscher Tatsachen",sperr:"Betreten von Sperrzonen",pd:"Betreten von Sperrzonen",sperrzonen:"Betreten von Sperrzonen",konsum:"Drogenkonsum",
  71. dkonsum:"Drogenkonsum",anbau:"Drogenabbau/ -anbau",beraub:"Freiheitsberaubung",freiheitsberaubung:"Freiheitsberaubung",flucht:"Flucht vor/aus Kontrolle",kontrolle:"Flucht vor/aus Kontrolle",vkk:"Flucht vor/aus Kontrolle",sraub:"Laden\u00fcberfall",laden:"Laden\u00fcberfall","laden\u00fcberfall":"Laden\u00fcberfall",waffe:"Schusswaffengebrauch",waffengebrauch:"Schusswaffengebrauch",schusswaffengebrauch:"Schusswaffengebrauch",verweig:"Verweigerung der Durchsuchung",durchsuchung:"Verweigerung der Durchsuchung",
  72. it:"Illegaler Transport",transport:"Illegaler Transport",mord:"Mord",br:"Bankraub",bank:"Bankraub",geisel:"Geiselnahme",geiselnahme:"Geiselnahme",raub:"Raub\u00fcberfall beim PD/Ammu",pdraub:"Raub\u00fcberfall beim Police Dept.",ammuraub:"Raub\u00fcberfall beim Ammunation",refusal:"Befehlsverweigerung",abetting:"Beihilfe",insult:"Beleidigung",bribery:"Bestechungsversuch",threat:"Drohung",extorsion:"Erpressung",blackmail:"Erpressung",obstruction:"Einsatzbehinderung",theft:"Fahrzeugdiebstahl",race:"Illegales Stra\u00dfenrennen",
  73. injury:"K\u00f6rperverletzung",opengun:"Offenes Waffentragen",mischief:"Sachbesch\u00e4digung",property:"Sachbesch\u00e4digung",facts:"Vort\u00e4uschen falscher Tatsachen",feigning:"Vort\u00e4uschen falscher Tatsachen",restricted:"Betreten von Sperrzonen",zone:"Betreten von Sperrzonen",druguse:"Drogenkonsum",consumption:"Drogenkonsum",plant:"Drogenabbau/ -anbau",harvest:"Drogenabbau/ -anbau",drugp:"Drogenabbau/ -anbau",detention:"Freiheitsberaubung",detent:"Freiheitsberaubung",escape:"Flucht vor/aus Kontrolle",
  74. control:"Flucht vor/aus Kontrolle",srob:"Laden\u00fcberfall",shop:"Laden\u00fcberfall",gun:"Schusswaffengebrauch",arms:"Schusswaffengebrauch",trunk:"Verweigerung der Durchsuchung",searching:"Verweigerung der Durchsuchung",truck:"Illegaler Transport",wt:"Illegaler Transport",murder:"Mord",homicide:"Mord",bankrob:"Bankraub",heist:"Bankraub",hostages:"Geiselnahme",hostage:"Geiselnahme",ammurob:"Raub\u00fcberfall beim Ammunation",pdrob:"Raub\u00fcberfall beim Police Dept.",wantedReduced:"Dein Fahndungslevel hat sich reduziert!"},
  75. window_quest:{quest_submit:"Quest abschlie\u00dfen",quest_start:"Quest starten",quest_info_1:"Diese Quest kann nur von einem Spieler abgeschlossen werden. Du solltest dir also nicht soviel Zeit lassen!",quest_1:"Bringe mir schnellstm\u00f6glich {1}g Methamphetamin, als Belohnung erh\u00e4lst du {2}$ in bar auf die Hand.",quest_2:"Belade dein Gangfahrzeug mit {1} Metallteilen f\u00fcr {2}$.",quest_info_2:"Bringe die Metallteile zu deinem Ganghaus. Achte darauf, dass dein Fahrzeug weder respawnt noch zerst\u00f6rt wird.",
  76. quest_3_name:"Mission Row Police Department",quest_3:"Willkommen im Mission Row Police Department. Vielen Dank, dass du dich daf\u00fcr entschieden hast, deine krimminelle Vergangenheit hinter dir zu lassen.",quest_info_3:"Dir werden wenn du dich stellst alle illegalen Gegenst\u00e4nde abgenommen!",quest_surrender:"Stellen",quest_4_name:"Eclipse Medical Tower",quest_4:"Willkommen im Eclipse Medical Tower. F\u00fcr 10.000 $ kannst du dich einer Sch\u00f6nheitsoperation unterziehen.",quest_info_4:"WICHTIG: Es gehen beim Wechsel des Geschlechts alle Kleidungsst\u00fccke verloren!",
  77. quest_submit_4:"Operieren",quest_5_name:"Peter Millerson",quest_5_1:"Ich habe Informationen, wo eine Gang Ihre illegalen Gegenst\u00e4nde versteckt. F\u00fcr diesen Tipp m\u00f6chte ich jedoch 145 $!",quest_5_2:"Ein paar Freunde haben an diesen Orten schon einmal was gefunden. Teilweise sogar einen ganzen Truck! Unter 200 $ bekommst du nichts aus mir raus!",quest_5_3:"Ich kenne ein verlassenes Drogenlabor, dort kannst du aus deinen Chemikalien Drogen herstellen! Falls dich jemand fragen sollte, den Tipp hast du nicht von mir!",
  78. quest_info_5:"WICHTIG: Halte dich von den Cops fern, sonst kannst du deine illegalen Gegenst\u00e4nde vergessen!",quest_submit_5:"Tipp annehmen!",quest_6_name:"Humane Labs and Research",quest_6:"Wir die Humane Labs and Research verkaufen MediKits zum Preis von nur 25 $ pro St\u00fcck! Eine Lieferung beinhaltet immer 30 MediKits (750 $)",quest_info_6:"Die Lieferung muss beim Central Medical Center entladen werden!",quest_submit_6:"Transport starten!",quest_weedcorn_name:"Ronnys Hanf-Stecklinge",quest_weedcorn:"Hey mein Name ist Ronny, hier auf der Farm ist es so langweilig... Darum verdiene ich mir mit ein paar Hanf-Stecklinge etwas Geld hinzu. F\u00fcr 5 Hanf-Stecklinge verlange ich {1} $.",
  79. quest_info_weedcorn:"WICHTIG: Halte dich von den Cops fern, sonst kannst du deine illegalen Gegenst\u00e4nde vergessen!",quest_submit_weedcorn:"Hanf-Stecklinge kaufen",quest_weedseller_name:"Helmuts Kitchen",quest_weedseller:"Auf dem Land sind alle ganz verr\u00fcckt nach meinen Keksen. Daf\u00fcr ben\u00f6tige ich jedoch ein paar spezielle Zutaten. F\u00fcr ein Beutel Hanf zahle ich {1} $",quest_info_weedseller:"WICHTIG: Beim Verkaufen wird dein gesamtes Hanf f\u00fcr {1} $ verkauft!",quest_submit_weedseller:"Hanf verkaufen",
  80. quest_fishshop_name:"Millars Fishery",quest_fishshop:"Seit BSE und der Schweinegrippe ist die Nachfrage nach Fisch massiv gestiegen! Diese Mengen an Fisch k\u00f6nnen wir unm\u00f6glich selbt fischen. Daher kaufen wir Fische f\u00fcr {1} $ pro St\u00fcck zu.",quest_info_fishshop:"WICHTIG: Beim Verkaufen werden deine gesamten Fische f\u00fcr {1} $ verkauft!",quest_submit_fishshop:"Fische verkaufen"},job:{trash_start_tut:"Fahre zu den markierten H\u00e4usern und sammel den M\u00fcll (Taste E) auf.",
  81. trash_collect_tut:"Werfe den M\u00fcllsack (Taste E) in den M\u00fcllwagen!",trash_collect_full:"Der Muellwagen ist voll. Fahre zur\u00fcck zur Deponie um ihn zu entleeren.",trash_wait_for_player:"Bitte habe einen Augenblick Geduld, da es sich um einen Mehrspielerjob handelt!",how_to_quit_job:"Mit /quitjob kannst du den Job beenden!",dailyQuestBonus:"~g~ + $1.000 | T\u00e4glicher Bonus",dailyQuestReady:"T\u00e4glicher Bonus | Bereit",dailyQuestReadyAt:"T\u00e4glicher Bonus | ",wanteds:"Wir besch\u00e4ftigen keine Fl\u00fcchtigen!"},
  82. window_jobbrowser:[{jobbrowser:"Jobbrowser",overview:"Navigation",navigation:"Navigation",maxLevelReached:"Maximallevel erreicht",jobs:{logistic:{jobname:"Logistik",btn:["Mule","Benson","Pounder"],desc:"Du bist diese eine Person, die nie an einem Ort bleiben kann. Du musst unterwegs sein und durch ganz San Andreas deine Touren fahren, ob mit dem Roller, dem Van oder dem grossen Tanker. Du lernst alle Strassen und Gaesschen von San Andreas kennen und verdienst so deinen Lebensunterhalt."},bus:{jobname:"Busfahrer",
  83. btn:["Tourbus","Stadtlinie","Fernlinie"],desc:"Ueberall laufen Bewohner von San Andreas von einem Ort zum Anderen. Nachdem die Strassenbahnen leicht zu verpassen sind, gibt es 4 Buslinien. 2 durch Los Santos und 2 durch ganz San Andreas, um es allen anderen zu erleichtern von A nach B zu kommen. Du bist der Transportservice auf den der Staat gewartet hat.",extra:{header:"Route",desc:"Bitte waehle deine Route aus:",S1:"Stadtlinie 1",S2:"DOWNTOWN"}},pizzadelivery:{jobname:"Pizza-Lieferant",btn:["Praktikant",
  84. "Mitarbeiter"],desc:"Die Leute haben Hunger und k\u00f6nnen sich eine Pizza bestellen, doch wer liefert sie? Du musst mit deinem Fahrzeug die Pizza frisch und warm an die Kundschaft bringen. Daf\u00fcr hast du je Level verschiedene Fahrzeuge, also versuch hoch zu kommen. Das Geld bekommst du, wenn du zur\u00fcck kommst."},packagecourier:{jobname:"Kurier-Dienst",btn:["Postbote","Paket-Zusteller","Spezial-Pakete"],desc:"Die Bewohner von Los Santos brauchen ihre morgentliche Post und ihre vom Internet oder per Anruf bestellten Pakete. Damit sie diese bekommen, bist du zust\u00e4ndig. Fahre als Postbote mit dem Fahrrad zu den H\u00e4usen und liefer ihre Post. Fahre mit dem Boxville durch die Stadt und liefere die Pakete ab. Spezielle Pakete lieferst du mit dem Burrito, daf\u00fcr musst du jedoch erst die n\u00f6tige Erfahrung besitzen."},
  85. harbor:{jobname:"Hafenarbeiter",btn:["Fischer","Coming Soon"],desc:"Lecker ein Fisch. Du bist nun Hafenarbeiter und musst mit einem Schiff auf das Meer und die Fische fangen, damit die Einwohner frischen Fisch bekommen."},trash:{jobname:"Abfallentsorgung",btn:["Abfallentsorgung"],desc:"Wohin mit dem M\u00fcll? Mit deinen Kollegen f\u00e4hrst du zu den makierten H\u00e4usern und holst den M\u00fcll der Einwohner ab. Ihr sorgt f\u00fcr saubere Stra\u00dfen."},taxi:{jobname:"Taxifahrer",btn:["Taxifahrer"],
  86. desc:"In San Andreas schnell an den richtigen Zielort zu gelangen kann oftmals schwer sein. Gerade, wenn man kein eigenes Auto hat. Daher sind Taxifahrer sehr beliebt unter Pendlern. Setz dich in einer unserer Taxi-Fahrzeuge und warte auf eine Transportanfrage. Begib dich dann an den Standort des Kunden und fahre ihn zu seinem gew\u00fcnschten Zielort. Bezahlt wirst du durch den Fahrgast. Dieser bezahlt ab Fahrtbeginn den von dir bestimmten Fahrpreis/min."}},overviewtext:"Willkommen im Jobcenter. Hier findest du alle wichtigen Informationen ueber all deine verfuegbaren Berufe.",
  87. locked:"Gesperrt",joblevel:"Level",missingExp:"Fehlende Erfahrung",showLocation:"Position anzeigen"}],jobs:{pizzadelivery:{start:"Fahre die Pizzen zu den Kunden!",end:"Pizza-Lieferanten Job beendet"},packagecourier:{start:"Fahre die Ware zu den Kunden!",end:"Kurier-Dienst Job beendet"},harbor:{start:"Fange im angezeigten Gebiet die Fische ein!",end:"Hafenarbeiter Job beendet"}},antiAFK:{youAreAFK:"Du wurdest AFK gesetzt!",youAreNotAFK:"AFK gestoppt!",AFKIn30Seconds:"Du wirst in 30 Sekunden AFK gesetzt!"},
  88. window_bank:{bank:"Bank",payin:"Einzahlen",payout:"Auszahlen",cash:"Bar",username:"Spielername",summe:"Summe",uerberweisen:"\u00dcberweisen",account:"Konto"},window_userpanel:{nav_overview:"\u00dcbersicht",nav_skills:"Skills",nav_warnings:"Verwarnungen",playerName:"Spielername",playingTime:"Spielzeit",phoneNumber:"Handynummer",academyGrade:"Academy Note",group:"Gruppe",rang:"Rank",activeSlots:"aktive Fahrzeugslots",passiveSlots:"passive Fahrzeugslots",votingInfo:"soon",bills_licences:"Scheine / Lizenzen",
  89. level:"Level",warningsActive:"aktiv",warningsExpired:"abgelaufen",warningsDeleted:"gel\u00f6scht",warningPoints:"Punkte",warningsTimeFrom:"vom",warningsTimeTo:"bis",warningsReason:"Grund",pros:"Vorteile",cons:"Nachteile"}},natives={};mp.game.graphics.clearDrawOrigin=function(){return mp.game.invoke("0xFF0B610F6BE0D7AF")};mp.game.audio.setVehRadioStation=function(a,b){return mp.game.invoke("0x1B9C0099CB942AC6",a,b)};
  90. mp.game.vehicle.getVehicleClass=function(a){return mp.game.invoke("0x29439776AAA00A62",a)};mp.game.vehicle.getVehicleSeats=function(a){return mp.game.invoke("0xA7C4F2C6E744A550",a.handle)};mp.game.entity.getEntityType=function(a){return mp.game.invoke("0x8ACD366038D14505",a)};mp.game.entity.getInteriorFromEntity=function(a){return mp.game.invoke("0x2107BA504071A6BB",a)};natives.SET_BLIP_SPRITE=function(a,b){return mp.game.invoke("0xDF735600A4696DAF",a,b)};
  91. natives.SET_BLIP_ALPHA=function(a,b){return mp.game.invoke("0x45FF974EEE1C8734",a,b)};natives.SET_BLIP_COLOUR=function(a,b){return mp.game.invoke("0x03D7FB09E75D6B7E",a,b)};natives.SET_BLIP_ROTATION=function(a,b){return mp.game.invoke("0xF87683CDF73C3F6E",a,b)};natives.SET_BLIP_FLASHES=function(a,b){return mp.game.invoke("0xB14552383D39CE3E",a,b)};natives.SET_BLIP_FLASH_TIMER=function(a,b){return mp.game.invoke("0xD3CD6FD297AE87CC",a,b)};
  92. natives.SET_BLIP_COORDS=function(a,b,c,d){return mp.game.invoke("0xAE2AF67E9D9AF65D",a,b,c,d)};natives.SET_CURSOR_LOCATION=function(a,b){return mp.game.invoke("0xFC695459D4D0E219",a,b)};natives.SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT=function(a){return mp.game.invoke("0xB98236CAAECEF897",a)};natives.GET_FIRST_BLIP_INFO_ID=function(a){return mp.game.invoke("0x1BEDE233E6CD2A1F",a)};natives.GET_NEXT_BLIP_INFO_ID=function(a){return mp.game.invoke("0x14F96AA50D6FBEA7",a)};
  93. natives.DOES_BLIP_EXIST=function(a){return mp.game.invoke("0xA6DB27D19ECBB7DA",a)};natives.GET_NUMBER_OF_ACTIVE_BLIPS=function(){return mp.game.invoke("0x9A3FF3DE163034E8")};natives.SET_ENTITY_ALPHA=function(a,b,c){return mp.game.invoke("0x44A0870B7E92D7C0",a.handle,b,c)};natives.SET_ENTITY_NO_COLLISION_ENTITY=function(a,b,c){return mp.game.invoke("0xA53ED5520C07654A",a.handle,b.handle,c)};natives.DISABLE_PED_PAIN_AUDIO=function(a,b){return mp.game.invoke("0xA9A41C1E940FB0E8",a.handle,b)};
  94. function lerp(a,b,c){return(1-c)*a+c*b}function findrot(a,b,c,d){var e=new mp.Vector3(0,0,0);e.x=a.x;e.y=a.y;e.z=a.z;a=Math.PI/180*(b.z+d);e.x+=c*Math.cos(a);e.y+=c*Math.sin(a);return e}mp.Vector3.prototype.findRot=function(a,b,c){a=Math.PI/180*(a+c);this.x+=b*Math.cos(a);this.y+=b*Math.sin(a);return this};mp.Vector3.prototype.normalize=function(a){this.x/=a;this.y/=a;this.z/=a;return this};mp.Vector3.prototype.multiply=function(a){this.x*=a;this.y*=a;this.z*=a;return this};
  95. mp.Vector3.prototype.dist=function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return Math.sqrt(b*b+c*c+a*a)};mp.Vector3.prototype.getOffset=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z;return new mp.Vector3(x,y,z)};mp.Vector3.prototype.ground=function(){this.z=mp.game.gameplay.getGroundZFor3dCoord(this.x,this.y,this.z,0,!1);return this};
  96. var vehicle_data={data:{0:{name:"Spoilers",tunes:{}},1:{name:"FrontBumper",tunes:{}},2:{name:"RearBumper",tunes:{}},3:{name:"SideSkirt",tunes:{}},4:{name:"Exhaust",tunes:{}},5:{name:"Frame",tunes:{}},6:{name:"Grille",tunes:{}},7:{name:"Hood",tunes:{}},8:{name:"Fender",tunes:{}},9:{name:"RightFender",tunes:{}},10:{name:"Roof",tunes:{}},11:{name:"Engine",tunes:{}},12:{name:"Brakes",tunes:{}},13:{name:"Transmission",tunes:{0:"Stra\u00dfengetriebe",1:"Sportgetriebe",2:"Renngetriebe"}},14:{name:"Horns",
  97. tunes:{}},15:{name:"Suspension",tunes:{0:"Stra\u00dfenfahrwerk",1:"Sportfahrwerk",2:"Rennfahrwerk"}},16:{name:"Armor",tunes:{}},18:{name:"Turbo",tunes:{0:"Turbo-Tuning"}},20:{name:"Util Shadow Silver",tunes:{}},22:{name:"Xenon",tunes:{}},23:{name:"FrontWheels",tunes:{}},24:{name:"BackWheels",tunes:{}},25:{name:"Plateholders",tunes:{}},27:{name:"TrimDesign",tunes:{}},28:{name:"Ornaments",tunes:{}},30:{name:"DialDesign",tunes:{}},33:{name:"SteeringWheel",tunes:{}},34:{name:"ShiftLever",tunes:{}},35:{name:"Plaques",
  98. tunes:{}},38:{name:"Hydraulics",tunes:{}},46:{name:"WindowTint ",tunes:{}},48:{name:"Livery",tunes:{}}},getSlotName:function(a){return this.data[a]?this.data[a].name:"No-Name"},getPartName:function(a,b){return this.data[a].tunes[b]?this.data[a].tunes[b]:"TUNING:"+b}},weapon_data={hashes:{7872484:{name:"compactlauncher",hash:"125959754"},37527445:{name:"ball",hash:"600439132"},100416529:{name:"sniperrifle",hash:"100416529"},101631238:{name:"fireextinguisher",hash:"101631238"},101716584:{name:"gusenberg",
  99. hash:"1627465347"},111591470:{name:"marksmanrifle_mk2",hash:"NOT DEFINED marksmanrifle_mk2"},126349499:{name:"snowball",hash:"126349499"},137902532:{name:"vintagepistol",hash:"137902532"},171789620:{name:"combatpdw",hash:"171789620"},177293209:{name:"heavysniper_mk2",hash:"177293209"},198330549:{name:"minismg",hash:"-1121678507"},205991906:{name:"heavysniper",hash:"205991906"},317205821:{name:"autoshotgun",hash:"317205821"},324215364:{name:"microsmg",hash:"324215364"},419712736:{name:"weapon_wrench",
  100. hash:"419712736"},453432689:{name:"pistol",hash:"453432689"},487013001:{name:"pumpshotgun",hash:"487013001"},584646201:{name:"appistol",hash:"584646201"},615608432:{name:"molotov",hash:"615608432"},736523883:{name:"smg",hash:"736523883"},741814745:{name:"stickybomb",hash:"741814745"},883325847:{name:"petrolcan",hash:"883325847"},911657153:{name:"stungun",hash:"911657153"},940833800:{name:"weapon_stone_hatchet",hash:"NOT DEFINED weapon_stone_hatchet"},961495388:{name:"assaultrifle_mk2",hash:"961495388"},
  101. 984333226:{name:"heavyshotgun",hash:"984333226"},1119849093:{name:"minigun",hash:"1119849093"},1141786504:{name:"weapon_golfclub",hash:"1141786504"},1198879012:{name:"flaregun",hash:"1198879012"},1233104067:{name:"flare",hash:"1233104067"},1305664598:{name:"grenadelauncher_smoke",hash:"1305664598"},1317494643:{name:"weapon_hammer",hash:"1317494643"},1432025498:{name:"pumpshotgun_mk2",hash:"NOT DEFINED pumpshotgun_mk2"},1593441988:{name:"combatpist",hash:"1593441988"},1649403952:{name:"compactrifle",
  102. hash:"1649403952"},1672152130:{name:"hominglauncher",hash:"1672152130"},1737195953:{name:"weapon_nightstick",hash:"1737195953"},1834241177:{name:"railgun",hash:"1834241177"},2017895192:{name:"sawnoffshotgun",hash:"2017895192"},2024373456:{name:"smg_mk2",hash:"2024373456"},2132975508:{name:"bullpuprifle",hash:"2132975508"},2138347493:{name:"firework",hash:"2138347493"},2144741730:{name:"combatmg",hash:"2144741730"},2210333304:{name:"carbinerifle",hash:"-2084633992"},2227010557:{name:"weapon_crowbar",
  103. hash:"-2067956739"},2228681469:{name:"bullpuprifle_mk2",hash:"NOT DEFINED bullpuprifle_mk2"},2285322324:{name:"snspistol_mk2",hash:"NOT DEFINED snspistol_mk2"},2343591895:{name:"weapon_flashlight",hash:"-1951375401"},2460120199:{name:"weapon_dagger",hash:"-1834847097"},2481070269:{name:"grenade",hash:"-1813897027"},2484171525:{name:"weapon_poolcue",hash:"-1810795771"},2508868239:{name:"weapon_bat",hash:"-1786099057"},2526821735:{name:"specialcarbine_mk2",hash:"NOT DEFINED specialcarbine_mk2"},2548703416:{name:"doubleaction",
  104. hash:"NOT DEFINED doubleaction"},2578377531:{name:"pistol50",hash:"-1716589765"},2578778090:{name:"weapon_knife",hash:"-1716189206"},2634544996:{name:"mg",hash:"-1660422300"},2640438543:{name:"bullpupshotgun",hash:"-1654528753"},2694266206:{name:"bzgas",hash:"-1600701090"},2725352035:{name:"weapon_unarmed",hash:"-1569615261"},2726580491:{name:"grenadelauncher",hash:"-1568386805"},2828843422:{name:"musket",hash:"-1466123874"},2874559379:{name:"proxmine",hash:"-1420407917"},2937143193:{name:"advancedrifle",
  105. hash:"-1357824103"},2982836145:{name:"rpg",hash:"-1312131151"},3125143736:{name:"pipebomb",hash:"-1169823560"},3218215474:{name:"snspistol",hash:"-1076751822"},3219281620:{name:"pistol_mk2",hash:"3219281620"},3220176749:{name:"assaultrifle",hash:"-1074790547"},3231910285:{name:"specialcarbine",hash:"-1063057011"},3249783761:{name:"revolver",hash:"-1045183535"},3342088282:{name:"marksmanrifle",hash:"-952879014"},3415619887:{name:"revolver_mk2",hash:"NOT DEFINED revolver_mk2"},3441901897:{name:"weapon_battleaxe",
  106. hash:"-853065399"},3523564046:{name:"heavypistol",hash:"-771403250"},3638508604:{name:"weapon_knuckle",hash:"-656458692"},3675956304:{name:"machinepistol",hash:"-619010992"},3686625920:{name:"combatmg_mk2",hash:"3686625920"},3696079510:{name:"marksmanpistol",hash:"-598887786"},3713923289:{name:"weapon_machete",hash:"-581044007"},3756226112:{name:"weapon_switchblade",hash:"-538741184"},3800352039:{name:"assaultshotgun",hash:"-494615257"},4019527611:{name:"dbshotgun",hash:"-275439685"},4024951519:{name:"assaultsmg",
  107. hash:"-270015777"},4191993645:{name:"weapon_hatchet",hash:"-102973651"},4192643659:{name:"weapon_bottle",hash:"-102323637"},4208062921:{name:"carbinerifle_mk2",hash:"4208062921"},4222310262:{name:"parachute",hash:"-72657034"},4256991824:{name:"smokegrenade",hash:"-37975472"}},getWeaponHash:function(a){return this.hashes[a]?this.hashes[a].hash:0},getWeaponName:function(a){return this.hashes[a]?this.hashes[a].name:"No-Name"}},Webwindow=[],TempArguments=[],LastTeleportPosition,HouseTable={},LocalCharacterID=
  108. -1,disableAllControls=!1,LocalGroupID=-1,GangShopBlip=null,FactoryBlip={},FactoryBlipPosition={},TempBarricade=null,login=!1;disableAllControls=!0;var disableSprintJump=!1,startTime=(new Date).getTime(),canWearHelmet=null,temp_obj_1,vioObjects={},vioPeds={},accessToken,bones={SKEL_R_Hand:57005,SKEL_L_Hand:18905};mp.nametags.enabled=!1;mp.gui.chat.colors=!0;mp.game.ui.setMinimapVisible(!0);mp.game.streaming.requestAnimDict("amb@world_human_stand_fishing@base");mp.game.streaming.requestAnimDict("mp_defend_base");
  109. mp.game.streaming.requestAnimDict("mp_country_bank_heist");mp.events.add("setPlayerPositionFrozen",function(a,b){setPlayerFrozen(a,b)});function setPlayerFrozen(a,b){switch(a){case !0:mp.players.local.isInAnyVehicle(!1)&&mp.players.local.vehicle.freezePosition(!0);mp.players.local.freezePosition(!0);disableAllControls=b;break;case !1:mp.players.local.isInAnyVehicle(!1)&&mp.players.local.vehicle.freezePosition(!1),mp.players.local.freezePosition(!1),disableAllControls=b}}
  110. function setPlayerTimeUnFrozen(){mp.players.local.isInAnyVehicle(!1)&&(mp.players.local.vehicle.setIndicatorLights(0,!1),mp.players.local.vehicle.setIndicatorLights(1,!1),mp.players.local.vehicle.getVariable("Indicator_warning")&&mp.players.local.vehicle.setIndicatorLights(0,mp.players.local.vehicle.getVariable("Indicator_warning")),mp.players.local.vehicle.getVariable("Indicator_warning")&&mp.players.local.vehicle.setIndicatorLights(1,mp.players.local.vehicle.getVariable("Indicator_warning")));setPlayerFrozen(!1)}
  111. mp.events.add("setPlayerTimeFrozen",function(){mp.players.local.isInAnyVehicle(!1)&&(mp.players.local.vehicle.setIndicatorLights(0,!0),mp.players.local.vehicle.setIndicatorLights(1,!0));setPlayerFrozen(!0);setTimeout(setPlayerTimeUnFrozen,15E3)});mp.events.add("createExplosion",function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];mp.game.fire.addExplosion(b[1].x,b[1].y,b[1].z,2,8,!0,!1,1)});mp.game.invoke("0xA6294919E56FF02A",!1);mp.game.ui.displayRadar(!1);mp.game.gameplay.setFadeOutAfterDeath(!0);
  112. mp.discord.update("www.vio-v.com","Anmeldung");mp.events.add("sentHouseTable",function(a,b){HouseTable=JSON.parse(a);LocalCharacterID=Number(b)});var blackout=!1;mp.keys.bind(116,!1,function(){});mp.keys.bind(122,!1,function(){var a=new Date;a=a.toISOString().slice(0,10).replace(/-/g,"")+"-"+a.getHours()+"-"+a.getMinutes()+"-"+a.getSeconds()+".jpg";mp.gui.takeScreenshot(a,0,95,0);mp.gui.chat.push("Screenshot gespeichert als "+a)});
  113. mp.events.add("RemoveObjectAtPosition",function(a,b,c){mp.game.entity.createModelHide(a.x,a.y,a.z,c,mp.game.joaat(b),!0)});mp.events.add("SetStateOfClosestDoorOfType",function(a,b,c,d,e,f,g){mp.game.object.setStateOfClosestDoorOfType(a,b,c,d,e,f,g)});mp.events.add("SendNotificationToPlayer",function(a){mp.game.graphics.notify(a)});mp.events.add("ForcePlayerExitVehicleTask",function(){var a=mp.players.local.vehicle;a&&mp.players.local.taskLeaveVehicle(a.handle,0)});
  114. mp.events.add("RemoveTrailerFromPlayerVehicle",function(){var a=mp.players.local.vehicle;a&&a.detachFromTrailer()});
  115. mp.events.add("render",function(){mp.game.ui.setPauseMenuActive(!disableAllControls);disableAllControls&&mp.game.controls.disableAllControlActions(2);mp.game.player.setHealthRechargeMultiplier(0);mp.game.controls.disableControlAction(0,212,!0);mp.game.controls.disableControlAction(0,213,!0);disableSprintJump&&(mp.game.controls.disableControlAction(2,21,!0),mp.game.controls.disableControlAction(2,22,!0),mp.game.controls.disableControlAction(2,24,!0),mp.game.controls.disableControlAction(2,25,!0));
  116. mp.game.controls.disableControlAction(2,7,!0);mp.game.controls.disableControlAction(2,95,!0);mp.game.controls.disableControlAction(2,96,!0);mp.game.controls.disableControlAction(2,97,!0);mp.game.controls.disableControlAction(2,98,!0);mp.game.controls.disableControlAction(0,200,!0);mp.game.controls.disableControlAction(0,199,!0);mp.game.controls.disableControlAction(2,200,!0);mp.game.controls.disableControlAction(2,199,!0);mp.players.local.setMinGroundTimeForStungun(15E3);canWearHelmet?mp.players.local.setHelmet(!0):
  117. mp.players.local.setHelmet(!1)});mp.keys.bind(27,!1,function(){mp.game.ui.activateFrontendMenu(mp.game.joaat("FE_MENU_VERSION_MP_PAUSE"),!0,-1)});mp.events.add("disablePlayerControls",function(a){disableAllControls=a});
  118. mp.events.add("updatePlayerGang",function(a){LocalGroupID=Number(a);0<=LocalGroupID?(GangShopBlip=mp.blips.new(225,new mp.Vector3(570.5346,-3123.515,18.76861),{color:67,shortRange:!0}),null==FactoryBlip[1]&&(FactoryBlip[1]=mp.blips.new(478,new mp.Vector3(216.0155,2801.3,46.05),{color:4,shortRange:!0}),FactoryBlipPosition[1]=new mp.Vector3(216.0155,2801.3,46.05),FactoryBlip[2]=mp.blips.new(478,new mp.Vector3(2857.589,4466.63,48.22105),{color:4,shortRange:!0}),FactoryBlipPosition[2]=new mp.Vector3(2857.589,
  119. 4466.63,48.22105),FactoryBlip[3]=mp.blips.new(478,new mp.Vector3(-163.5741,6282.047,30.68784),{color:4,shortRange:!0}),FactoryBlipPosition[3]=new mp.Vector3(-163.5741,6282.047,30.68784),FactoryBlip[4]=mp.blips.new(478,new mp.Vector3(2469.655,1588.551,32.72033),{color:4,shortRange:!0}),FactoryBlipPosition[4]=new mp.Vector3(2469.655,1588.551,32.72033))):null!=GangShopBlip&&GangShopBlip.destroy()});
  120. mp.events.add("playerEnterVehicle",function(a,b){null!=a&&(a.freezePosition(!1),1==a.getVariable("ENGINE_STATUS")?a.setEngineOn(!0,!0,!0):a.setEngineOn(!1,!0,!0),1==a.getVariable("Marker")&&a.setEngineOn(!0,!0,!0))});
  121. mp.events.add("render",function(){mp.players.local.isInAnyVehicle(!1)&&null!=mp.players.local.vehicle&&(null!=mp.players.local.vehicle.getVariable("Marker")?121658888!=mp.players.local.vehicle.model&&(mp.players.local.vehicle.setEnginePowerMultiplier(-15),mp.players.local.vehicle.setEngineTorqueMultiplier(.8)):1!=mp.players.local.vehicle.getVariable("ENGINE_STATUS")&&(mp.game.controls.disableControlAction(0,278,!0),mp.game.controls.disableControlAction(0,279,!0),mp.game.controls.disableControlAction(0,
  122. 280,!0),mp.game.controls.disableControlAction(0,281,!0),mp.game.controls.disableControlAction(2,278,!0),mp.game.controls.disableControlAction(2,279,!0),mp.game.controls.disableControlAction(2,280,!0),mp.game.controls.disableControlAction(2,281,!0),mp.players.local.vehicle.setEngineOn(!1,!0,!0)))});mp.events.add("SetVehicleEngineStatus",function(){mp.players.local.isInAnyVehicle(!1)&&mp.players.local.vehicle.setEngineOn(!1,!0,!0)});
  123. var weather={0:"EXTRASUNNY",1:"CLEAR",2:"CLOUDS",3:"SMOG",4:"FOGGY",5:"OVERCAST",6:"RAIN",7:"THUNDER",8:"CLEARING",9:"NEUTRAL",10:"SNOW",11:"BLIZZARD",12:"SNOWLIGHT",13:"XMAS",14:"HALLOWEEN"};mp.events.add("SetWeather",function(a){mp.game.gameplay.setWeatherTypeNowPersist(weather[a])});
  124. mp.events.add("promptClientNotification",function(a,b,c){if(!mp.game.graphics.hasStreamedTextureDictLoaded(a))for(mp.game.graphics.requestStreamedTextureDict(a,!0);!mp.game.graphics.hasStreamedTextureDictLoaded(a);)mp.game.wait(0);mp.game.graphics.hasStreamedTextureDictLoaded(a)&&(mp.game.ui.setNotificationTextEntry("CELL_EMAIL_BCON"),mp.game.ui.addTextComponentSubstringPlayerName(c),mp.game.ui.setNotificationMessage(a,a,!1,4,b,""),mp.game.ui.drawNotification(!0,!1))});
  125. var emergencyVehicles=(_emergencyVehicles={1171614426:!0,1127131465:!0,2647026068:!0,1433415128:!0,469291905:!0,2287941233:!0,2046537925:!0,2667966721:!0},_defineProperty(_emergencyVehicles,"2667966721",!0),_defineProperty(_emergencyVehicles,1912215274,!0),_defineProperty(_emergencyVehicles,2321795001,!0),_defineProperty(_emergencyVehicles,353883353,!0),_defineProperty(_emergencyVehicles,2758042359,!0),_defineProperty(_emergencyVehicles,2515846680,!0),_defineProperty(_emergencyVehicles,456714581,
  126. !0),_defineProperty(_emergencyVehicles,741586030,!0),_defineProperty(_emergencyVehicles,3806844075,!0),_defineProperty(_emergencyVehicles,3089277354,!0),_defineProperty(_emergencyVehicles,2601952180,!0),_defineProperty(_emergencyVehicles,2611638396,!0),_defineProperty(_emergencyVehicles,1922257928,!0),_emergencyVehicles);function getRandomArbitrary(a,b){return Math.random()*(b-a)+a}
  127. function moveSkyCamera(a,b,c,d){switch(b){case "up":mp.gui.chat.show(!1);disableAllControls=!0;mp.players.local.freezePosition(!0);mp.game.invoke("0xAAB3200ED59016BC",a.handle,0,parseInt(c));break;case "down":checkCamInAir(),mp.game.invoke("0xD8295AF639FD9CB8",a.handle)}}
  128. function checkCamInAir(){mp.game.invoke("0xD9D2CFFF49FAB35F")?(mp.gui.chat.show(!1),disableAllControls=!0,mp.players.local.freezePosition(!0),mp.players.local.position=LastTeleportPosition,setTimeout(function(){checkCamInAir()},500)):(disableAllControls=!1,mp.gui.chat.show(!0),mp.players.local.freezePosition(!1),mp.players.local.position=LastTeleportPosition)}
  129. var contactList=null,handyOpen=0,HandyState="main",acNumber=null,acName=null,HandyStatus=null,browserInit=0,callChange=null,show=!0,icName=null,editMode=!1,newsState=null,CallSound=null;
  130. mp.keys.bind(80,!1,function(){editMode||!login||creatorCamera||(handyOpen||null!=Webwindow.Handy?null!=Webwindow.Handy&&(Webwindow.Handy.call("getState"),browserInit=handyOpen=0):(0==mp.players.local.isDead()&&0==mp.gui.cursor.visible&&(Webwindow.Handy=new CEFBrowser("package://viov/client_ui/html/handy/handy.html",!0),handyOpen=1),null!=tempBrowser&&mp.events.call("closeBig")))});
  131. function closeBrowser(){browserInit=0;null!=Webwindow.Handy&&(Webwindow.Handy.destroy(),Webwindow.Handy=null);mp.gui.cursor.show(!1,!1);mp.gui.chat.show(!0);show=!0}mp.events.add("sentPlayerContacts",function(a){contactList=a;browserInit&&Webwindow.Handy.call("sendCList",contactList)});
  132. mp.events.add("changeCallStatus",function(a,b){3==a?(mp.game.graphics.notify("Eingehender Anruf (Taste P)"),null==CallSound&&(null!=voiceChat&&mp.events.call("playSound","handy.ogg",!0),CallSound=!0)):null!=CallSound&&(voiceChat&&mp.events.call("stopAudio"),setTimeout(function(){CallSound=null},2E3));browserInit?Webwindow.Handy.call("changeCallStatus",JSON.stringify({id:a,target:b})):callChange=JSON.stringify({id:a,target:b})});
  133. mp.events.add("onServerSendNews",function(a,b,c){Webwindow.Handy.call("Context.set","news",JSON.parse(a));Webwindow.Handy.call("Context.set","ads",JSON.parse(b));Webwindow.Handy.call("Events.setPermission",c)});mp.events.add("sentPlayerTaxiDriverList",function(a){Webwindow.Handy.call("Context.set","taxi",a)});mp.events.add("requestPlayerPhoneCalls",function(a){Webwindow.Handy.call("setPhoneData",a)});
  134. mp.events.add("handyLoaded",function(){if(null==Webwindow.Handy)closeBrowser();else{if(!browserInit){if(null!=mp.storage.data.handy){var a=parseInt(mp.storage.data.handy.posx),b=parseInt(mp.storage.data.handy.posy),c=mp.game.graphics.getScreenActiveResolution(1,1);a<=c.x&&b<=c.y?(Webwindow.Handy.position(a,b,"frame"),Webwindow.Handy.trigger("movebg("+a+","+b+");")):(Webwindow.Handy.position(100,100,"frame"),Webwindow.Handy.trigger("movebg(100,100);"))}else Webwindow.Handy.position(100,100,"frame"),
  135. Webwindow.Handy.trigger("movebg(100,100);");Webwindow.Handy.show("handyBody")}browserInit=1;null!=contactList&&("activeCall"==HandyState?Webwindow.Handy.call("setState",HandyState,acNumber,acName,HandyStatus,newsState):"incomingCall"==HandyState?Webwindow.Handy.call("setState",HandyState,icName,newsState):Webwindow.Handy.call("setState",HandyState),Webwindow.Handy.call("sendCList",contactList));"news"==HandyState&&mp.events.callRemote("onClientRequestNews");"taxi"==HandyState&&mp.events.callRemote("requestTaxiDrivers");
  136. if("history"==HandyState||"historyView"==HandyState)mp.events.callRemote("requestPlayerPhoneCalls"),Webwindow.Handy.call("setState","history");null!=callChange&&(Webwindow.Handy.call("changeCallStatus",callChange),callChange=null)}});
  137. mp.events.add("triggerServer",function(a,b,c,d,e,f,g,h,l,m){switch(a){case "onClientRequestCallPlayer":mp.events.callRemote("onClientRequestCallPlayer",b);break;case "onClientRequestRemovePlayerContact":mp.events.callRemote("onClientRequestRemovePlayerContact",b);break;case "onClientRequestAddPlayerContact":mp.events.callRemote("onClientRequestAddPlayerContact",b);break;case "onClientRejectedCall":mp.events.callRemote("onClientRejectedCall");break;case "onClientAcceptCall":mp.events.callRemote("onClientAcceptCall");
  138. break;case "onClientHandyOff":mp.events.callRemote("onClientHandyOff");break;case "onClientRequestNews":mp.events.callRemote("onClientRequestNews");break;case "onClientHandyOn":mp.events.callRemote("onClientHandyOn");break;case "onClientAddNews":a=mp.players.local;b=JSON.parse(b);b.author=a.name;mp.events.callRemote("onClientAddNews",JSON.stringify(b));break;case "onClientAddAds":b=JSON.parse(b);mp.events.callRemote("onClientAddAds",JSON.stringify(b));break;case "onClientUpdateNews":a=mp.players.local;
  139. b=JSON.parse(b);b.author=a.name;mp.events.callRemote("onClientUpdateNews",JSON.stringify(b));break;case "onClientUpdateAds":b=JSON.parse(b);mp.events.callRemote("onClientUpdateAds",JSON.stringify(b));break;case "onClientDeleteNews":mp.events.callRemote("onClientDeleteNews",b);break;case "onClientDeleteAds":mp.events.callRemote("onClientDeleteAds",b);break;case "onClientGetBonus":mp.events.callRemote("onClientGetBonus",b);break;case "callTaxiDriver":mp.events.callRemote("callTaxiDriver",b);break;case "requestTaxiDrivers":mp.events.callRemote("requestTaxiDrivers");
  140. break;case "onClientSendPosition":mp.events.callRemote("onClientSendPosition");break;case "requestPlayerPhoneCalls":mp.events.callRemote("requestPlayerPhoneCalls")}});mp.events.add("setStateCEF",function(a,b,c,d,e,f){HandyState=a;acNumber=b;acName=c;HandyStatus=d;newsState=f;closeBrowser()});mp.events.add("setEditMode",function(a){editMode=a;mp.gui.chat.show(!1)});
  141. mp.events.add("saveHandyPosition",function(a,b){var c=mp.game.graphics.getScreenActiveResolution(1,1);mp.storage.data.handy=a>c.x-50||b>c.y-50?{posx:c.x-100,posy:c.y-100}:{posx:a,posy:b};mp.storage.flush()});var tempBrowser=void 0;
  142. mp.events.add("openBig",function(a){if(null!=Webwindow.Handy)switch(Webwindow.Handy.destroy(),Webwindow.Handy=null,browserInit=handyOpen=0,editMode=!0,a){case "news":tempBrowser=new CEFBrowser("package://viov/client_ui/html/handy/news.html",!0);break;case "forum":tempBrowser=new CEFBrowser("package://viov/client_ui/html/handy/forum.html",!0),mp.events.callRemote("quest_HelpUse_Done")}});
  143. mp.events.add("closeBig",function(){null!=tempBrowser&&void 0!==tempBrowser&&(tempBrowser.destroy(),tempBrowser=null);login&&(editMode=!1,HandyState="main",handyOpen||null!=Webwindow.Handy?(Webwindow.Handy.call("getState"),browserInit=handyOpen=0):0!=mp.players.local.isDead()||mp.gui.cursor.visible||(Webwindow.Handy=new CEFBrowser("package://viov/client_ui/html/handy/handy.html",!0),handyOpen=1))});
  144. mp.events.add("forumReady",function(){accessToken&&null!=tempBrowser&&tempBrowser.call("autoLogin",accessToken)});var voiceChat,MaxRange=30;mp.voiceChat.muted=!0;
  145. var g_voiceMgr={listeners:[],listenersglobal:[],currentspeaking:[],timer:null,add:function(a,b){this.listeners.push(a);a.isListening=!0;mp.events.callRemote("OnClientRequestEnableVoiceTo",a);a.voiceVolume=1;b?a.voice3d=!0:(this.listenersglobal.push(a),a.voice3d=!1)},remove:function(a,b){var c=this.listeners.indexOf(a);-1!==c&&this.listeners.splice(c,1);c=this.listenersglobal.indexOf(a);-1!==c&&this.listenersglobal.splice(c,1);a.isListening=!1;b&&mp.events.callRemote("OnClientRequestDisableVoiceTo",
  146. a)},start:function(){var a=this;a.timer=setInterval(function(){a.cycle()},750)},cycle:function(){var a=mp.players.local,b=a.position,c=mp.storage.data.voice_settings.volume;c/=75;mp.players.forEachInStreamRange(function(c){if(c!=a&&!c.isListening){var d=c.position;mp.game.system.vdist(d.x,d.y,d.z,b.x,b.y,b.z)<=MaxRange&&0==c.isDead()&&0==a.isDead()&&g_voiceMgr.add(c,!0)}});g_voiceMgr.listeners.forEach(function(d){if(-1===g_voiceMgr.listenersglobal.indexOf(d))if(0!==d.handle){var e=d.position;e=mp.game.system.vdist(e.x,
  147. e.y,e.z,b.x,b.y,b.z);e>MaxRange||1==d.isDead()||1==a.isDead()?g_voiceMgr.remove(d,!0):e<=MaxRange&&(d.voiceVolume=(1-1/MaxRange*e)*c+1/MaxRange*e*0)}else g_voiceMgr.remove(d,!0)})}};mp.events.add("playerQuit",function(a){a.isListening&&g_voiceMgr.remove(a,!1)});mp.events.add("ConnectPlayerWithOtherPlayer",function(a){a.isListening&&g_voiceMgr.remove(a,!1);g_voiceMgr.add(a,!1)});mp.events.add("DisconnectPlayerWithOtherPlayer",function(a){a.isListening&&g_voiceMgr.remove(a,!1)});
  148. mp.events.add("playerStartTalking",function(a){-1===g_voiceMgr.currentspeaking.indexOf(a)&&g_voiceMgr.currentspeaking.push(a)});mp.events.add("playerStopTalking",function(a){a=g_voiceMgr.currentspeaking.indexOf(a);-1!==a&&g_voiceMgr.currentspeaking.splice(a,1)});var ShowVoicePlayers=!1;mp.events.add("showVoicePlayers",function(a){ShowVoicePlayers=a});
  149. mp.events.add("render",function(){if(ShowVoicePlayers){var a=.45;mp.game.graphics.clearDrawOrigin();g_voiceMgr.listeners.forEach(function(b){-1===g_voiceMgr.currentspeaking.indexOf(b)?mp.game.graphics.drawText(b.name,[.025,a],{font:0,color:[255,255,255,255],scale:[.22,.22],outline:!1,centre:!1}):mp.game.graphics.drawText(b.name,[.025,a],{font:0,color:[255,0,0,255],scale:[.22,.22],outline:!1,centre:!1});a+=.02})}});var voice_ready=!1;
  150. mp.events.add("voiceChatLoader",function(){setTimeout(function(){voiceChat||null==accessToken||(g_voiceMgr.start(),voice_ready=!0,voiceChat=new CEFBrowser("package://viov/client_ui/html/hud/hud.html",!1),mp.game.ui.displayRadar(!0))},2E3)});mp.events.add("initVoiceWindow",function(){mp.events.call("hudLoaded");mp.voiceChat.muted=!0;voiceChat.call("mute",!0);if(0<tempVoiceCommands.length)for(var a=0;a<tempVoiceCommands.length;a++)voiceChat.call(tempVoiceCommands[a].command,tempVoiceCommands[a].arg)});
  151. mp.keys.bind(77,!0,function(){!voice_ready||mp.gui.cursor.visible&&(editMode||!login||creatorCamera||null==Webwindow.Handy)||(mp.voiceChat.muted=mp.storage.data.voice_settings.pushtotalk?!1:!mp.voiceChat.muted,voiceChat.call("mute",mp.voiceChat.muted))});mp.keys.bind(77,!1,function(){voice_ready&&mp.storage.data.voice_settings.pushtotalk&&(mp.voiceChat.muted=!0,voiceChat.call("mute",!0))});
  152. var audioMuted={mutedSounds:[],mute:function(a){mp.gui.chat.push("sound "+a);this.mutedSounds[a]=!0},unmute:function(a){this.mutedSounds[a]=!1},isMuted:function(a){return this.mutedSounds[a]}};mp.events.add("playSound",function(a,b){null!=voiceChat&&voiceChat.call("playAudio",a,b)});mp.events.add("stopAudio",function(){voiceChat.call("stopAudio")});mp.gui.execute("window.location \x3d 'package://viov/client_ui/html/hud/chat.html'");
  153. mp.events.add("SendChatMessageToPlayer",function(a){mp.gui.chat.colors=!0;a=a.replace("~r~","!{#FF0000}");a=a.replace("~g~","!{#00FF00}");a=a.replace("~b~","!{#4286f4}");a=a.replace("~w~","!{#FFFFFF}");a=a.replace("~r~","!{#FF0000}");a=a.replace("~g~","!{#00FF00}");a=a.replace("~b~","!{#4286f4}");a=a.replace("~w~","!{#FFFFFF}");mp.gui.chat.push(a)});var language=!1,lastpos,afkcounter=0,canbeafklist={},isafk=!1,amountofcanbeafk=0,tickcount=0;language=lang_de.antiAFK;var SetSaveTimes=0,SetSavePosition;
  154. function SavePlayerPositionTimer(){1>=mp.game.system.vdist2(SetSavePosition.x,SetSavePosition.y,SetSavePosition.z,mp.players.local.position.x,mp.players.local.position.y,mp.players.local.position.z)?(SetSaveTimes-=5,0>=SetSaveTimes?mp.events.callRemote("OnClientDisconnectSave"):(mp.game.graphics.notify("~b~Du wirst in "+SetSaveTimes.toString()+" Sekunden ausgeloggt!"),setTimeout(SavePlayerPositionTimer,5E3))):mp.game.graphics.notify("~r~Logout abgebrochen!")}
  155. mp.events.add("OnClientRequestDisconnectSave",function(){SetSaveTimes=35;SetSavePosition=mp.players.local.position;setTimeout(SavePlayerPositionTimer,500)});mp.events.add("changeAntiAFKState",function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];canbeafklist[b[0]]!=b[1]&&(b[1]?(isafk&&(isafk=!1,mp.events.callRemote("onPlayerStopAFK")),afkcounter=0,amountofcanbeafk++):amountofcanbeafk--);canbeafklist[b[0]]=b[1]});
  156. function canPlayerBeAFK(){return 0!=amountofcanbeafk&&!mp.players.local.isDead()}mp.events.add("playerWeaponShot",function(){afkcounter=0;isafk&&(isafk=!1,mp.events.callRemote("onPlayerStopAFK"))});setInterval(function(){checkAFK()},15E3);
  157. function checkAFK(){AntiCheat();if(0==mp.players.local.isInAnyBoat()&&0==checkIfPlayerIsOnABoat())if(null==lastpos)lastpos=mp.players.local.position;else{var a=mp.players.local.position;3>mp.game.system.vdist2(lastpos.x,lastpos.y,lastpos.z,a.x,a.y,a.z)?isafk?(mp.game.graphics.notify("~r~"+language.youAreAFK),mp.game.graphics.notify("~r~"+language.youAreAFK)):(afkcounter++,8<=afkcounter&&(canPlayerBeAFK()?(afkcounter=0,isafk&&(isafk=!1,mp.events.callRemote("onPlayerStopAFK"))):15==afkcounter?mp.game.graphics.notify("~r~"+
  158. language.AFKIn30Seconds):17<=afkcounter&&(isafk=!0,mp.game.graphics.notify("~r~"+language.youAreAFK),mp.game.graphics.notify("~r~"+language.youAreAFK),mp.events.callRemote("onPlayerAFK"),afkcounter=0))):(isafk&&(isafk=!1,mp.events.callRemote("onPlayerStopAFK")),afkcounter=0);lastpos=a}else 0!=antiAfkCheck.getLastAction(15)||isafk?(afkcounter=0,isafk=!1,mp.events.callRemote("onPlayerStopAFK")):(afkcounter++,8<=afkcounter&&(canPlayerBeAFK()?(afkcounter=0,isafk&&(isafk=!1,mp.events.callRemote("onPlayerStopAFK"))):
  159. 15==afkcounter?mp.game.graphics.notify("~r~"+language.AFKIn30Seconds):17<=afkcounter&&(isafk=!0,mp.game.graphics.notify("~r~"+language.youAreAFK),mp.game.graphics.notify("~r~"+language.youAreAFK),mp.events.callRemote("onPlayerAFK"),afkcounter=0)))}
  160. function checkIfPlayerIsOnABoat(){var a=!1,b=mp.players.local.position,c=mp.players.local.position;c.z-=15;(b=mp.raycasting.testPointToPoint(b,c,mp.players.local.handle,2))&&2==b.entity.getType()&&1==mp.game.vehicle.isThisModelABoat(b.entity.model)&&(a=!0);return a}var antiAfkCheck={movements:{left:0,right:0,up:0,down:0,jump:0,shift:0,mouse1:0,mouse2:0},getLastAction:function(a){var b=!1;for(k in this.movements)this.movements[k]+a>Date.now()/1E3&&(b=k);return 0!=b}};
  161. mp.events.add("render",function(){mp.game.controls.isControlJustPressed(0,266)&&(antiAfkCheck.movements.left=new Date/1E3);mp.game.controls.isControlJustPressed(0,267)&&(antiAfkCheck.movements.right=new Date/1E3);mp.game.controls.isControlJustPressed(0,268)&&(antiAfkCheck.movements.up=new Date/1E3);mp.game.controls.isControlJustPressed(0,269)&&(antiAfkCheck.movements.down=new Date/1E3);mp.game.controls.isControlJustPressed(0,22)&&(antiAfkCheck.movements.jump=new Date/1E3);mp.game.controls.isControlJustPressed(0,
  162. 21)&&(antiAfkCheck.movements.shift=new Date/1E3);mp.game.controls.isControlJustPressed(0,24)&&(antiAfkCheck.movements.mouse1=new Date/1E3);mp.game.controls.isControlJustPressed(0,25)&&(antiAfkCheck.movements.mouse2=new Date/1E3)});
  163. var ClientColShapes=[],ClientColShape=function(){function a(b,c,d,e,f,g){_classCallCheck(this,a);this._setup(b,c,d,e,f,g)}_createClass(a,[{key:"_setup",value:function(a,c,d,e,f,g){this._id=a;this._dim=c;this._size=e;this._pos={x:d.x,y:d.y,z:d.z};this._colshape=mp.colshapes.newSphere(this._pos.x,this._pos.y,this._pos.z,this._size,this._dim);"MedicPickup"==f||"MedicInformation"==f?(this._blip=mp.blips.new(84,new mp.Vector3(this._pos.x,this._pos.y,this._pos.z),{scale:1,name:g}),"MedicPickup"==f&&mp.gui.chat.push("!{#FF0000}"+
  164. g+" ist schwer verletzt!")):this._blip=null}},{key:"trigger",value:function(){mp.events.callRemote("OnClientEnterVioColShape",this._id)}},{key:"destroy",value:function(){this._colshape&&(this._blip&&this._blip.destroy(),this._colshape.destroy());this._colshape=null}},{key:"isShape",value:function(a){return this._colshape==a}},{key:"isID",value:function(a){return this._id==a}}]);return a}();
  165. mp.events.add("createVioColShape",function(a){a=JSON.parse(a);a=new ClientColShape(a.ID,a.Dim,a.Pos,a.Size,a.EventName,a.Arg1);ClientColShapes.push(a)});mp.events.add("destroyVioColShape",function(a){ClientColShapes.forEach(function(b,c){b.isID(a)&&(b.destroy(),ClientColShapes[c]=null,delete ClientColShapes[c])})});mp.events.add("playerEnterColshape",function(a){ClientColShapes.forEach(function(b){b.isShape(a)&&b.trigger()})});
  166. var CEFBrowser=function(){function a(b,c){_classCallCheck(this,a);this._setup(b,c)}_createClass(a,[{key:"_setup",value:function(a,c){this.id=Math.random().toString(36).substr(2,16);this.browser=mp.browsers.new(a);if(this.interact=c)mp.gui.cursor.visible=!0,mp.gui.chat.show(!1)}},{key:"load",value:function(a){this.browser.execute("window.location \x3d '"+a+"?id\x3d"+this.id+"'")}},{key:"resize",value:function(a,c){this.browser.execute("document.body.style.width \x3d '"+a+"px';");this.browser.execute("document.body.style.height \x3d '"+
  167. c+"px';")}},{key:"position",value:function(a,c,d){this.browser.execute("document.getElementById('"+d+"').style.left \x3d '"+a+"px'; ");this.browser.execute("document.getElementById('"+d+"').style.top \x3d '"+c+"px'; ")}},{key:"trigger",value:function(a){this.browser.execute(a)}},{key:"call",value:function(){for(var a=Array.prototype.slice.call(arguments),c=a[0],d="(",e=1;e<a.length;e++){switch(_typeof(a[e])){case "string":d+="'"+a[e]+"'";break;case "number":case "boolean":d+=a[e];break;case "object":d+=
  168. JSON.stringify(a[e])}e<a.length-1&&(d+=",")}this.browser.execute(c+(d+");"))}},{key:"destroy",value:function(){null!=this.browser&&(this.browser.destroy(),this.browser=null);this.interact&&(mp.gui.cursor.visible=!1,mp.gui.chat.show(!0))}},{key:"show",value:function(a){this.browser.execute("document.getElementById('"+a+"').style.visibility \x3d 'visible';")}},{key:"active",value:function(a){this.browser.active=a}},{key:"isActive",get:function(){return this.browser.active}}]);return a}(),spectating=
  169. !1,specateCam=null,specName=void 0,camRotX,camRotY;mp.events.add("SetLocalPlayerToSpectator",function(a){specName=a;setTimeout(spect,3E3)});
  170. function spect(){mp.gui.chat.push("Name: "+specName);null!=specateCam&&(specateCam.setActive(!1),specateCam.destroy(),mp.game.cam.renderScriptCams(!1,!1,0,!0,!1),specateCam=null,spectating=!1);mp.players.forEachInStreamRange(function(a){if(a.name==specName){var b=a.position;specateCam=mp.cameras.new("test",b,new mp.Vector3(0,0,0),40);specateCam.setCoord(b.x,b.y,b.z);b=mp.gui.cursor.position;mp.gui.chat.push(JSON.stringify(b));specateCam.attachTo(a.handle,0,-5,5,!1);specateCam.setActive(!0);mp.game.cam.renderScriptCams(!0,
  171. !1,0,!0,!1);spectating=!0;camRotX=b[0];camRotY=b[1]}})}
  172. mp.events.add("render",function(){if(spectating&&null!=specateCam){var a=specateCam.getRot(2),b=void 0,c=void 0;mp.gui.cursor.position[0]!=camRotX&&(b=mp.gui.cursor.position[0]-camRotX,camRotX=mp.gui.cursor.position[0]);mp.gui.cursor.position[1]!=camRotY&&(c=mp.gui.cursor.position[1]-camRotY,camRotY=mp.gui.cursor.position[1]);if(b||c)isNaN(b)&&(b=0),isNaN(c)&&(c=0),specateCam.setRot(a.x+c,0,a.z+b,2);mp.players.forEachInStreamRange(function(a){a.name==specName&&(a=a.position,mp.players.local.position=
  173. new mp.Vector3(a.x,a.y,a.z-50))})}});mp.events.add("render",function(){});mp.events.add("SetLocalPlayerOutOfSpactator",function(){spectating&&null!=specateCam&&(specateCam.setActive(!1),specateCam.destroy(),mp.game.cam.renderScriptCams(!1,!1,0,!0,!1),specateCam=null,spectating=!1,mp.players.local.freezePosition(!1),mp.players.local.detach(!0,!0))});
  174. mp.events.add("createPeds",function(a){a=JSON.parse(a);for(var b in a)null!=vioPeds[a[b].ID]&&(vioPeds[a[b].ID].destroy(),vioPeds[a[b].ID]=null),vioPeds[a[b].ID]=new NPC({id:a[b].ID,x:a[b].Pos.x,y:a[b].Pos.y,z:a[b].Pos.z,rot:a[b].Rot,dim:0,skin:a[b].Hash,animDict:a[b].AnimDict,animName:a[b].AnimName,event:""!=a[b].EventName?a[b].EventName:"",radius:""!=a[b].EventName?1.5:0}),a[b].RobPossible&&new pedRob(vioPeds[a[b].ID]._id,a[b].RobType.split("_")[0],a[b].RobType.split("_")[1])});
  175. mp.events.add("createSinglePed",function(a){a=JSON.parse(a);null!=vioPeds[a.ID]&&(vioPeds[a.ID].destroy(),vioPeds[a.ID]=null);vioPeds[a.ID]=new NPC({id:a.ID,x:a.Pos.x,y:a.Pos.y,z:a.Pos.z,rot:a.Rot,dim:0,skin:a.Hash,animDict:a.AnimDict,animName:a.AnimName,event:""!=a.EventName?a.EventName:"",radius:""!=a.EventName?1.5:0});a.RobPossible&&new pedRob(vioPeds[a.ID]._id,a.RobType.split("_")[0],a.RobType.split("_")[1])});
  176. mp.events.add("createSingleObject",function(a){var b=JSON.parse(a);if(b)if(null!=vioObjects[b.ID]&&(vioObjects[b.ID].destroy(),vioObjects[b.ID].markForDeletion(),vioObjects[b.ID]=null),void 0!==bones[b.OffsetKey]&&(b.OffsetKey=bones[b.OffsetKey]),""!=b.OffsetKey){var c=null;mp.players.forEach(function(a){b.OffsetPlayerName==a.name&&(c=a)});vioObjects[b.ID]=new OBJECT({id:b.ID,x:b.Pos.x,y:b.Pos.y,z:b.Pos.z,rx:b.Rot.x,ry:b.Rot.y,rz:b.Rot.z,dim:b.Dim,hash:b.Hash,alpha:b.Alpha,collision:b.Collision,offsetPosX:b.OffsetPos.x,
  177. offsetPosY:b.OffsetPos.y,offsetPosZ:b.OffsetPos.z,offsetRotX:b.OffsetRot.x,offsetRotY:b.OffsetRot.y,offsetRotZ:b.OffsetRot.z,offsetPlayer:c,offsetBone:b.OffsetKey,event:""!=b.EventName?b.EventName:"",radius:""!=b.EventName?b.EventRadius:0})}else vioObjects[b.ID]=new OBJECT({id:b.ID,x:b.Pos.x,y:b.Pos.y,z:b.Pos.z,rx:b.Rot.x,ry:b.Rot.y,rz:b.Rot.z,dim:b.Dim,hash:b.Hash,alpha:b.Alpha,collision:b.Collision,event:""!=b.EventName?b.EventName:"",radius:""!=b.EventName?b.EventRadius:0})});
  178. mp.events.add("createObjects",function(a){var b=JSON.parse(a);a=function(a){null!=vioObjects[b[a].ID]&&(vioObjects[b[a].ID].markForDeletion(),vioObjects[b[a].ID].destroy(),vioObjects[b[a].ID]=null);void 0!==bones[b[a].OffsetKey]&&(b[a].OffsetKey=bones[b[a].OffsetKey]);if(""!=b[a].OffsetKey){var c=null;mp.players.forEachInStreamRange(function(d){b[a].OffsetPlayerName==d.name&&(c=d)});vioObjects[b[a].ID]=new OBJECT({id:b[a].ID,x:b[a].Pos.x,y:b[a].Pos.y,z:b[a].Pos.z,rx:b[a].Rot.x,ry:b[a].Rot.y,rz:b[a].Rot.z,
  179. dim:b[a].Dim,hash:b[a].Hash,alpha:b[a].Alpha,collision:b[a].Collision,offsetPosX:b[a].OffsetPos.x,offsetPosY:b[a].OffsetPos.y,offsetPosZ:b[a].OffsetPos.z,offsetRotX:b[a].OffsetRot.x,offsetRotY:b[a].OffsetRot.y,offsetRotZ:b[a].OffsetRot.z,offsetPlayer:c,offsetBone:b[a].OffsetKey,event:""!=b[a].EventName?b[a].EventName:"",radius:""!=b[a].EventName?b[a].EventRadius:""})}else vioObjects[b[a].ID]=new OBJECT({id:b[a].ID,x:b[a].Pos.x,y:b[a].Pos.y,z:b[a].Pos.z,rx:b[a].Rot.x,ry:b[a].Rot.y,rz:b[a].Rot.z,dim:b[a].Dim,
  180. hash:b[a].Hash,alpha:b[a].Alpha,collision:b[a].Collision,event:""!=b[a].EventName?b[a].EventName:"",radius:""!=b[a].EventName?b[a].EventRadius:""})};for(var c in b)a(c)});mp.events.add("destroyObject",function(a){null!=vioObjects[a]&&(vioObjects[a].markForDeletion(),vioObjects[a].destroy(),vioObjects[a]=null)});mp.events.add("destroyPed",function(a){null!=vioPeds[a]&&(vioPeds[a].destroy(),vioPeds[a]=null)});var QuestString="";
  181. mp.events.add("StartQuestDialog",function(){null==Webwindow.QuestWindow&&null==creatorCamera&&(Webwindow.QuestWindow=!1,QuestString=1>=arguments.length?void 0:arguments[1],TempArguments.QuestWindow=0>=arguments.length?void 0:arguments[0],Webwindow.QuestWindow=new CEFBrowser("package://viov/client_ui/html/quest/quest.html",!0),disableAllControls=!0)});
  182. mp.events.add("initQuestWindow",function(){null!=Webwindow.QuestWindow&&(Webwindow.QuestWindow.call("vio._callEvent","quest:init",JSON.parse(TempArguments.QuestWindow)),TempArguments.QuestWindow=null)});mp.events.add("requestCloseQuestWindow",function(){null!=Webwindow.QuestWindow&&(Webwindow.QuestWindow.destroy(),Webwindow.QuestWindow=null,mp.gui.chat.activate(!0),mp.gui.cursor.show(!1,!1),disableAllControls=!1)});
  183. mp.events.add("requestSubmitQuestWindow",function(){null!=Webwindow.QuestWindow&&(Webwindow.QuestWindow.destroy(),Webwindow.QuestWindow=null,mp.gui.chat.activate(!0),mp.gui.cursor.show(!1,!1),disableAllControls=!1,mp.events.callRemote("submitQuest",QuestString))});mp.events.add("initTutWindow",function(){"1"==ClientSettings[7]&&null==Webwindow.TutorialWindow&&(Webwindow.TutorialWindow=new CEFBrowser("package://viov/client_ui/html/infobox/infobox.html",!1))});
  184. mp.events.add("sentQuestUpdate",function(){null!=Webwindow.TutorialWindow&&(""!=(0>=arguments.length?void 0:arguments[0])&&Webwindow.TutorialWindow.call("vio._callEvent","infoboxdelete",0>=arguments.length?void 0:arguments[0]),TempArguments.TutorialWindowArg={},TempArguments.TutorialWindowArg.id=0>=arguments.length?void 0:arguments[0],TempArguments.TutorialWindowArg.typ="4",TempArguments.TutorialWindowArg.msg=1>=arguments.length?void 0:arguments[1],TempArguments.TutorialWindowArg.time=0,setTimeout(UpdateQuestStatus,
  185. 3E3))});mp.events.add("destroyTutQuest",function(){null!=Webwindow.TutorialWindow&&Webwindow.TutorialWindow.call("vio._callEvent","infoboxdelete",0>=arguments.length?void 0:arguments[0])});mp.events.add("sentNewQuest",function(){if(null!=Webwindow.TutorialWindow){var a={};a.id=0>=arguments.length?void 0:arguments[0];a.typ="4";a.msg=1>=arguments.length?void 0:arguments[1];a.time=0;Webwindow.TutorialWindow.call("vio._callEvent","infoboxadd",JSON.stringify(a))}});
  186. mp.events.add("destroyTutWindow",function(){null!=Webwindow.TutorialWindow&&(Webwindow.TutorialWindow.destroy(),Webwindow.TutorialWindow=null)});mp.events.add("infoboxinit",function(){mp.events.callRemote("requestPlayerQuest")});function UpdateQuestStatus(){null!=Webwindow.TutorialWindow&&Webwindow.TutorialWindow.call("vio._callEvent","infoboxadd",JSON.stringify(TempArguments.TutorialWindowArg))}
  187. var NPC=function(){function a(b){_classCallCheck(this,a);this._setup(b)}_createClass(a,[{key:"_setup",value:function(a){this._id=a.id;this._skin=a.skin;this._pos={x:a.x,y:a.y,z:a.z};this._rot=a.rot;this._dim=a.dim;this._ped=null;this._animation={anim:a.animName,dict:a.animDict};this._colshape=null;this._event=a.event;this._colradius=a.radius;this.create()}},{key:"create",value:function(){this._ped||(this._ped=mp.peds.new(mp.game.joaat(this._skin),new mp.Vector3(this._pos.x,this._pos.y,this._pos.z),
  188. this._rot,function(a){},this._dim),mp.game.streaming.requestAnimDict(this._animation.dict),""!=this._animation.dict&&null!=this._animation.dict&&void 0!==this._animation.dict&&this._ped.taskPlayAnim(this._animation.dict,this._animation.anim,8,1,-1,1,.5,!0,!0,!0),""!=this._event&&(this._colshape=mp.colshapes.newSphere(this._pos.x,this._pos.y,this._pos.z,this._colradius)))}},{key:"trigger",value:function(){mp.events.callRemote(this._event,this._id)}},{key:"getPed",value:function(){if(this._ped)return this._ped}},
  189. {key:"destroy",value:function(){this._ped&&(this._ped.destroy(),this._ped=null);this._colshape&&this._colshape.destroy();this._colshape=null}}]);return a}();mp.events.add("playerEnterColshape",function(a){for(key in vioPeds)vioPeds[key]&&vioPeds[key]._colshape==a&&vioPeds[key].trigger()});
  190. var OBJECT=function(){function a(b){_classCallCheck(this,a);this._setup(b)}_createClass(a,[{key:"_setup",value:function(a){this._id=a.id;this._hash=a.hash;this._pos={x:a.x,y:a.y,z:a.z};this._rot={x:a.rx,y:a.ry,z:a.rz};this._dim=a.dim;this._offsetPos={x:a.offsetPosX,y:a.offsetPosY,z:a.offsetPosZ};this._offsetRot={x:a.offsetRotX,y:a.offsetRotY,z:a.offsetRotZ};this._alpha=a.alpha;this._collision=a.collision;this._offsetPlayer=a.offsetPlayer;this._offsetBone=a.offsetBone;this._colshape=this._object=null;
  191. this._event=a.event;this._colradius=a.radius;this.create()}},{key:"create",value:function(){if(!this._object){this._object=mp.objects.new(mp.game.joaat(this._hash),new mp.Vector3(this._pos.x,this._pos.y,this._pos.z),{dimension:this._dim,rotation:new mp.Vector3(this._rot.x,this._rot.y,this._rot.z)});this._object.setAlpha(this._alpha);this._object.setCollision(this._collision,!0);if(""!=this._offsetBone&&null!=this._offsetBone&&null!=this._offsetPlayer&&void 0!==this._offsetBone){var a=this._offsetPlayer.getBoneIndex(this._offsetBone);
  192. this._object.attachTo(this._offsetPlayer.handle,a,this._offsetPos.x,this._offsetPos.y,this._offsetPos.z,this._offsetRot.x,this._offsetRot.y,this._offsetRot.z,!0,!1,!1,!1,0,!0)}""!=this._event&&(this._colshape=mp.colshapes.newSphere(this._pos.x,this._pos.y,this._pos.z,this._colradius))}}},{key:"trigger",value:function(){mp.events.callRemote(this._event,this._id)}},{key:"isCreated",value:function(){return this._object?!0:!1}},{key:"destroy",value:function(){this._object&&(this._object.destroy(),this._object=
  193. null);this._colshape&&this._colshape.destroy();this._colshape=null}},{key:"markForDeletion",value:function(){this._object&&this._object.markForDeletion()}},{key:"getCoords",value:function(a){if(this._object)return this._object.getCoords(a)}},{key:"attachTo",value:function(a,c,d,e,f,g,h,l,m,n,p,r,q,t){this._object&&this._object.attachTo(a,c,d,e,f,g,h,l,m,n,p,r,q,t)}}]);return a}();mp.events.add("playerEnterColshape",function(a){for(key in vioObjects)vioObjects[key]&&vioObjects[key]._colshape==a&&vioObjects[key].trigger()});
  194. var ClientSettings={},EMail="",TeamspeakReadyToStart=!1,audioDevices=[],tempVoiceCommands=[],ATMBlips={},HouseBlips={};function openSettings(){null==Webwindow.Settings&&0==mp.players.local.isDead()&&login?0==mp.gui.cursor.visible&&(Webwindow.Settings=new CEFBrowser("package://viov/client_ui/html/settings/settings.html",!0)):null!=Webwindow.Settings&&(Webwindow.Settings.destroy(),Webwindow.Settings=null)}mp.keys.bind(114,!1,function(){openSettings()});
  195. mp.events.add("initSettingsWindow",function(){if(null!=Webwindow.Settings){var a={1:{}};a["1"].atm={};a["1"].atm.type="bool";a["1"].atm.selected=ClientSettings[1];a["1"].atm.name="ATMs";a["1"].atm.info="Anzeige der ATMs auf der Karte";a["1"].house={};a["1"].house.type="bool";a["1"].house.selected=ClientSettings[5];a["1"].house.name="Haus";a["1"].house.info="Anzeige der freien H\u00e4user auf der Karte";a["1"].helmet_auto={};a["1"].helmet_auto.type="bool";a["1"].helmet_auto.selected=ClientSettings[4];
  196. a["1"].helmet_auto.name="Helm";a["1"].helmet_auto.info="M\u00f6glichkeit das automatische Aufsetzen des Helmes zu deaktivieren";a["1"].quest={};a["1"].quest.type="bool";a["1"].quest.selected=ClientSettings[7];a["1"].quest.name="Quests";a["1"].quest.info="M\u00f6glichkeit die Anzeige der Quests zu deaktivieren";a["1"].news={};a["1"].news.type="bool";a["1"].news.selected=ClientSettings[9];a["1"].news.name="Reporter";a["1"].news.info="M\u00f6glichkeit die Anzeige des Reporterchats zu deaktivieren. Sollte diese Einstellung deaktiviert sein, wirst du nicht mehr \ufffdber Events und Aktionen informiert!";
  197. a["1"].spawnpunkt={};a["1"].spawnpunkt.type="gridlist";a["1"].spawnpunkt.selected=" ";a["1"].spawnpunkt.array=loadPlayerSpawnPoints();a["1"].spawnpunkt.name="Spawnpunkt";a["1"].spawnpunkt.info="An diesem Punkt startest du, wenn du den Server betrittst";a["2"]={};a["2"].tacho={};a["2"].tacho.type="bool";a["2"].tacho.selected=ClientSettings[6];a["2"].tacho.name="Tacho";a["2"].tacho.info="M\u00f6glichkeit den Tacho zu an/aus zuschalten";a["2"].hitmarker={};a["2"].hitmarker.type="bool";a["2"].hitmarker.selected=
  198. mp.storage.data.hitSettings.hitmarker;a["2"].hitmarker.name="Hitmarker";a["2"].hitmarker.info="Hitmarker anzeigen";a["3"]={};a["3"].radio={};a["3"].radio.type="bool";a["3"].radio.selected=ClientSettings[2];a["3"].radio.name="Auto-Radio";a["3"].radio.info="Sound des Autoradios";a["3"].sound={};a["3"].sound.type="gridlist";a["3"].sound.selected="1"==ClientSettings[10]?"Leise":"2"==ClientSettings[10]?"Laut":"Normal";var b=[];b.push("Leise");b.push("Normal");b.push("Laut");a["3"].sound.array=b;a["3"].sound.name=
  199. "Lautstaerke der Sounds";a["3"].sound.info="Lautstaerke der Sounds z.B PayDay";a["4"]={};a["4"].passwort={};a["4"].passwort.type="password";a["4"].passwort.selected=0;a["4"].passwort.name="Passwort";a["4"].passwort.info="Hier kannst du dein Passwort \u00e4ndern";a["4"].email={};a["4"].email.type="email";a["4"].email.selected=EMail;a["4"].email.name="E-Mail";a["4"].email.info="Hier kannst du dein E-Mail Adresse \u00e4ndern";a["5"]={};a["5"].soundVoice={};a["5"].soundVoice.type="slider";a["5"].soundVoice.name=
  200. "Lautstaerke des Voicechats";a["5"].soundVoice.info="Lautstaerke der anderen Spieler im Voicechat";a["5"].soundVoice.selected=25;a["5"].soundVoice.min=10;a["5"].soundVoice.max=100;a["5"].soundVoice.selected=mp.storage.data.voice_settings.volume;a["5"].micro_auto={};a["5"].micro_auto.type="bool";a["5"].micro_auto.selected=ClientSettings[3];a["5"].micro_auto.name="Mikrofon";a["5"].micro_auto.info="Mikrofon beim Verbinden an/aus";a["5"].pushtotalk={};a["5"].pushtotalk.type="bool";a["5"].pushtotalk.name=
  201. "Push-To-Talk";a["5"].pushtotalk.info="Push-To-Talk Taste: M";a["5"].pushtotalk.selected=mp.storage.data.voice_settings.pushtotalk;Webwindow.Settings.call("vio._callEvent","settings:init",'[ { "1" : "Spiel","2" : "Gameplay", "3" : "Audio", "4" : "Account","5" : "Voice", "einstellungen" : "Spieleinstellungen", "old_pw": "Altes Passwort", "new_pw": "Neues Passwort"} ]',"[ "+JSON.stringify(a)+" ]")}});
  202. mp.events.add("updateSettings",function(a){null==mp.storage.data&&(mp.storage.data={});null==mp.storage.data.hitSettings?mp.storage.data.hitSettings={hitmarker:0,sound:0}:(null==mp.storage.data.hitSettings.hitmarker&&(mp.storage.data.voice_settings.hitmarker=0),null==mp.storage.data.hitSettings.sound&&(mp.storage.data.voice_settings.sound=0));null==mp.storage.data.handy?mp.storage.data.handy={posx:0,posy:0}:(null==mp.storage.data.handy.posx&&(mp.storage.data.handy.posx="100px"),null==mp.storage.data.handy.posy&&
  203. (mp.storage.data.handy.posy="100px"));null==mp.storage.data.voice_settings?mp.storage.data.voice_settings={volume:80,pushtotalk:0}:(null==mp.storage.data.voice_settings.volume&&(mp.storage.data.voice_settings.volume=80),null==mp.storage.data.voice_settings.pushtotalk&&(mp.storage.data.voice_settings.pushtotalk=0));"atm"!=a&&"radio"!=a&&"email"!=a&&"house"!=a&&"helmet_auto"!=a&&"sound"!=a&&"micro_auto"!=a&&"hit_sound"!=a&&"hitmarker"!=a&&"passwort"!=a&&"quest"!=a&&"news"!=a&&"spawnpunkt"!=a&&"tacho"!=
  204. a&&"soundVoice"!=a&&"microSens"!=a&&(ClientSettings=JSON.parse(a),executeClientSettings())});
  205. mp.events.add("updateSettingsCEF",function(a,b,c){mp.gui.chat.colors=!0;mp.gui.chat.safeMode=!1;if("atm"==a)if(1==Number(b)&&"0"==ClientSettings[1]){ClientSettings[1]="1";for(var d in ATMTable)a=mp.blips.new(277,ATMTable[d],{shortRange:!0,color:69,name:"Geldautomat"}),ATMBlips[d]=a;mp.events.callRemote("changePlayerSetting","1","1")}else{if(0==Number(b)&&"1"==ClientSettings[1]){ClientSettings[1]="0";for(var e in ATMBlips)ATMBlips[e].destroy();mp.events.callRemote("changePlayerSetting","1","0")}}else if("house"==
  206. a)if(1==Number(b)&&"0"==ClientSettings[5]){ClientSettings[5]="1";for(var f in HouseTable)0==HouseTable[f].Character_ID&&0==HouseTable[f].GangHouse&&(a=mp.blips.new(374,new mp.Vector3(HouseTable[f].Pos.x,HouseTable[f].Pos.y,HouseTable[f].Pos.z),{color:46,scale:.5,shortRange:!0,name:"Haus"}),HouseBlips[f]=a);mp.events.callRemote("changePlayerSetting","5","1")}else{if(0==Number(b)&&"1"==ClientSettings[5]){ClientSettings[5]="0";for(var g in HouseBlips)HouseBlips[g].destroy();mp.events.callRemote("changePlayerSetting",
  207. "5","0")}}else if("radio"==a)1==Number(b)&&"0"==ClientSettings[2]?(ClientSettings[2]="1",mp.events.callRemote("changePlayerSetting","2","1")):0==Number(b)&&"1"==ClientSettings[2]&&(ClientSettings[2]="0",mp.events.callRemote("changePlayerSetting","2","0"));else if("micro_auto"==a)1==Number(b)&&"0"==ClientSettings[3]?(ClientSettings[3]="1",voiceChat&&voiceChat.call("mute",!1),mp.events.callRemote("changePlayerSetting","3","1"),mp.gui.chat.push("Verbindungseinstellung f\u00fcr Mikrofon auf [\x3cfont style\x3d'color:#00EB00'\x3eunmuted\x3c/font\x3e] ge\u00e4ndert.")):
  208. 0==Number(b)&&"1"==ClientSettings[3]&&(ClientSettings[3]="0",voiceChat&&voiceChat.call("mute",!0),mp.events.callRemote("changePlayerSetting","3","0"),mp.gui.chat.push("Verbindungseinstellung f\u00fcr Mikrofon auf [\x3cfont style\x3d'color:#00EB00'\x3emuted\x3c/font\x3e] ge\u00e4ndert."));else if("helmet_auto"==a)1==Number(b)&&"0"==ClientSettings[4]?(ClientSettings[4]="1",mp.events.callRemote("changePlayerSetting","4","1"),mp.players.local.setHelmet(!0)):0==Number(b)&&"1"==ClientSettings[4]&&(ClientSettings[4]=
  209. "0",mp.events.callRemote("changePlayerSetting","4","0"),mp.players.local.setHelmet(!1));else if("tacho"==a)1==Number(b)&&"0"==ClientSettings[6]?(ClientSettings[6]="1",mp.events.callRemote("changePlayerSetting","6","1")):0==Number(b)&&"1"==ClientSettings[6]&&(ClientSettings[6]="0",mp.events.callRemote("changePlayerSetting","6","0"));else if("news"==a)1==Number(b)&&"0"==ClientSettings[9]?(ClientSettings[9]="1",mp.events.callRemote("changePlayerSetting","9","1")):0==Number(b)&&"1"==ClientSettings[9]&&
  210. (ClientSettings[9]="0",mp.events.callRemote("changePlayerSetting","9","0"));else if("quest"==a)1==Number(b)&&"0"==ClientSettings[7]?(ClientSettings[7]="1",null==Webwindow.TutorialWindow&&(Webwindow.TutorialWindow=new CEFBrowser("package://viov/client_ui/html/infobox/infobox.html")),mp.events.callRemote("requestPlayerQuest"),mp.events.callRemote("changePlayerSetting","7","1")):0==Number(b)&&"1"==ClientSettings[7]&&(ClientSettings[7]="0",null!=Webwindow.TutorialWindow&&(Webwindow.TutorialWindow.destroy(),
  211. Webwindow.TutorialWindow=null),mp.events.callRemote("changePlayerSetting","7","0"));else if("spawnpunkt"==a)mp.events.callRemote("changePlayerSetting","spawn",b);else if("sound"==a){if("Normal"==b&&"0"!=ClientSettings[10]||"Laut"==b&&"2"!=ClientSettings[10]||"Leise"==b&&"1"!=ClientSettings[10])"Normal"==b?(ClientSettings[10]="0",voiceChat.call("setAudioVolume",.5),mp.events.callRemote("changePlayerSetting","10","0")):"Laut"==b?(ClientSettings[10]="2",voiceChat.call("setAudioVolume",1),mp.events.callRemote("changePlayerSetting",
  212. "10","2")):"Leise"==b&&(ClientSettings[10]="1",voiceChat.call("setAudioVolume",.25),mp.events.callRemote("changePlayerSetting","10","1")),mp.gui.chat.push("Audio-Lautst\u00e4rke ge\u00e4ndert auf [\x3cfont style\x3d'color:#00EB00'\x3e"+b+"\x3c/font\x3e]")}else"email"==a?(Webwindow.Settings.destroy(),Webwindow.Settings=null,mp.events.callRemote("changeEMail",b)):"passwort"==a?(Webwindow.Settings.destroy(),Webwindow.Settings=null,mp.events.callRemote("changePassword",b,c)):"hitmarker"==a?1==Number(b)?
  213. (mp.storage.data.hitSettings.hitmarker=1,mp.gui.chat.push("Hit-Marker auf [\x3cfont style\x3d'color:#00EB00'\x3eein\x3c/font\x3e] ge\u00e4ndert.")):0==Number(b)&&(mp.storage.data.hitSettings.hitmarker=0,mp.gui.chat.push("Hit-Marker auf [\x3cfont style\x3d'color:#eb2b00'\x3eaus\x3c/font\x3e] ge\u00e4ndert.")):"pushtotalk"==a?1==Number(b)?(mp.storage.data.voice_settings.pushtotalk=1,mp.gui.chat.push("Push-To-Talk auf [\x3cfont style\x3d'color:#00EB00'\x3eein\x3c/font\x3e] ge\u00e4ndert.")):0==Number(b)&&
  214. (mp.storage.data.voice_settings.pushtotalk=0,mp.gui.chat.push("Push-To-Talk auf [\x3cfont style\x3d'color:#eb2b00'\x3eaus\x3c/font\x3e] ge\u00e4ndert.")):"soundVoice"==a&&100>=Number(b)&&10<=Number(b)&&(mp.storage.data.voice_settings.volume=Number(b),mp.gui.chat.push("Lautst\u00e4rke Voice auf \x3cfont style\x3d'color:#00EB00'\x3e"+b.toString()+"\x3c/font\x3e% ge\u00e4ndert."));mp.storage.flush();mp.gui.chat.safeMode=!0});
  215. mp.events.add("closeSettings",function(){null!=Webwindow.Settings&&(Webwindow.Settings.destroy(),Webwindow.Settings=null)});
  216. function executeClientSettings(){if("1"==ClientSettings[1])for(var a in ATMTable){var b=mp.blips.new(277,ATMTable[a],{shortRange:!0,color:69,name:"Geldautomat"});ATMBlips[a]=b}if("1"==ClientSettings[5])for(var c in HouseTable)0==HouseTable[c].Character_ID&&0==HouseTable[c].GangHouse&&(b=mp.blips.new(374,new mp.Vector3(HouseTable[c].Pos.x,HouseTable[c].Pos.y,HouseTable[c].Pos.z),{color:46,scale:.5,shortRange:!0,name:"Haus"}),HouseBlips[c]=b);mp.players.local.isInAnyVehicle(!1)&&("0"==ClientSettings[2]?
  217. (mp.game.audio.setVehRadioStation(mp.players.local.vehicle.handle,"OFF"),mp.game.audio.setUserRadioControlEnabled(!1)):mp.game.audio.setUserRadioControlEnabled(!0));"1"==ClientSettings[3]?void 0!==voiceChat?voiceChat.call("mute",!1):tempVoiceCommands.push({command:"mute",arg:!1}):void 0!==voiceChat?voiceChat.call("mute",!0):tempVoiceCommands.push({command:"mute",arg:!0});"1"==ClientSettings[4]?(canWearHelmet=!0,mp.players.local.setHelmet(!0)):"0"==ClientSettings[4]&&(canWearHelmet=!1,mp.players.local.setHelmet(!1));
  218. void 0!==voiceChat?"1"==ClientSettings[10]?voiceChat.call("setAudioVolume",.5):"2"==ClientSettings[10]?voiceChat.call("setAudioVolume",1):voiceChat.call("setAudioVolume",.75):"1"==ClientSettings[10]?tempVoiceCommands.push({command:"setAudioVolume",arg:.5}):"2"==ClientSettings[10]?tempVoiceCommands.push({command:"setAudioVolume",arg:1}):tempVoiceCommands.push({command:"setAudioVolume",arg:.75})}
  219. function loadPlayerSpawnPoints(){var a=[];a.push("Los Santos International Airport");a.push("Del Penno");a.push("Mega Mall");0==LocalGroupID?(a.push("Mission Row Police Department"),a.push("Paleto Bay Sheriffs Office"),a.push("Academy")):1==LocalGroupID?a.push("Hospital"):2==LocalGroupID?a.push("Lifeinvader"):3==LocalGroupID?a.push("FIB"):-1<LocalGroupID&&a.push("Gang");1==InventoryItems["1"]&&a.push("House");return a}mp.events.add("updateEMail",function(a){TeamspeakReadyToStart=!0;EMail=a});
  220. mp.events.add("sendAudioDevices",function(a){audioDevices.push(a)});mp.events.add("GroupOpen",function(a){null==Webwindow.GroupWindow&&(Webwindow.GroupWindow=!1,TempArguments.Group={},TempArguments.Group["1"]=lang_de.window_gang,TempArguments.Group["2"]=lang_de.items,TempArguments.Group["3"]=a,Webwindow.GroupWindow=new CEFBrowser("package://viov/client_ui/html/gang/gang.html",!0))});
  221. mp.events.add("initGroupWindow",function(){null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.call("vio._callEvent","gang:init",TempArguments.Group["1"],TempArguments.Group["2"],JSON.parse(TempArguments.Group["3"]))});mp.events.add("setFactoryColor",function(a,b){null!=FactoryBlip[Number(a)]&&(FactoryBlip[Number(a)].getCoords(),FactoryBlip[Number(a)].setColour(b))});
  222. mp.events.add("setFactoryName",function(a,b){if(null!=FactoryBlip[Number(a)]){var c=FactoryBlip[Number(a)].getColour();FactoryBlip[Number(a)].destroy();FactoryBlip[Number(a)]=mp.blips.new(478,FactoryBlipPosition[Number(a)],{color:c,name:"Fabrik: "+b,shortRange:!0})}});mp.events.add("requestCloseGroup",function(){null!=Webwindow.GroupWindow&&(Webwindow.GroupWindow.active(!1),setTimeout(function(){Webwindow.GroupWindow.destroy();Webwindow.GroupWindow=null},10))});
  223. mp.events.add("updateGroup",function(a,b,c,d){"uninvite"==a&&null==c?mp.events.callRemote("updateGroup","uninvite_player",b,0,0):"befoerdern"==a&&null==c?mp.events.callRemote("updateGroup","rank_up_player",b,0,0):"degradieren"==a&&null==c?mp.events.callRemote("updateGroup","rank_down_player",b,0,0):"uninvite"==a?mp.events.callRemote("updateGroup","uninvite",b,c,0):"invite"==a?mp.events.callRemote("updateGroup","invite",b,c,0):"rank_down"==a?mp.events.callRemote("updateGroup","rank_down",b,c,0):"rank_up"==
  224. a?mp.events.callRemote("updateGroup","rank_up",b,c,0):"respawn"==a?mp.events.callRemote("updateGroup","respawn",b,c,0):"storage"==a?mp.events.callRemote("updateGroup","storage",b,c,0):"park"==a?mp.events.callRemote("updateGroup","park",b,c,0):"change_rank_name"==a?mp.events.callRemote("updateGroup","change_rank_name",b,c,0):"Name"==a?mp.events.callRemote("updateGroup","change_gang_name",b,0,0):"getbag"==a?mp.events.callRemote("updateGroup","get_action_bag",b,0,0):"update_gang"==a?(null!=Webwindow.GroupWindow&&
  225. Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null,mp.events.callRemote("updateGroup","update_gang",b,0,0)):"respawnCar"==a?mp.events.callRemote("updateGroup","respawnCar",b,0,0):"respawnCars"==a?mp.events.callRemote("updateGroup","respawnCars",b,0,0):"updateskin"==a?mp.events.callRemote("updateGroup","updateskin",b,0,0):"equip"==a?mp.events.callRemote("updateGroup","equip",b,0,0):"deleteGang"==a?(mp.events.callRemote("updateGroup","deleteGang",b,0,0),null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),
  226. Webwindow.GroupWindow=null):"devareCar"==a?(mp.events.callRemote("updateGroup","deleteGangVehicle",b,0,0),null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null):"Pinnwand"==a?(mp.events.callRemote("updateGroup","Pinnwand",b,0,0),null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null):"shop"==a?(null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null,mp.events.callRemote("updateGroup","hauskasse",b,0,
  227. 0)):"open_storage"==a?(null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null,mp.events.callRemote("updateGroup","open_storage",b,0,0)):"changeColor"==a?(null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null,mp.events.callRemote("updateGroup","change_gang_color",b.toString(),c.toString(),d.toString())):"changeRankBonus"==a&&(null!=Webwindow.GroupWindow&&Webwindow.GroupWindow.destroy(),Webwindow.GroupWindow=null,mp.events.callRemote("updateGroup",
  228. "change_rank_bonus",b.toString(),c.toString(),0))});mp.events.add("openFactoryRob",function(){0==(0>=arguments.length?void 0:arguments[0])?getSelectionChoices("factorycapture"):getSelectionChoices("factoryrob")});TempBarricade=null;var PoliceMarker=[],temp_sos_marker=!1,temp_sos_blip=!1;
  229. mp.events.add("startBarricading",function(){if(null==TempBarricade){var a=mp.players.local.position,b=mp.game.gameplay.getGroundZFor3dCoord(a.x,a.y,a.z,0,!1);a=new mp.Vector3(a.X,a.Y,b+1);b=mp.players.local.getRotation(0);findrot(a,b,2,90);a=mp.objects.new(mp.game.joaat("prop_barrier_work05"),mp.players.local.position,new mp.Vector3(0,0,0));a.setCollision(!1,!0);TempBarricade=a}});
  230. mp.events.add("openWantedcomputer",function(a,b,c){null!=Webwindow.Wantedcomputer&&(Webwindow.Wantedcomputer.destroy(),Webwindow.Wantedcomputer=null);TempArguments.Wantedcomputer={};TempArguments.Wantedcomputer["1"]=a;TempArguments.Wantedcomputer["2"]=b;TempArguments.Wantedcomputer["3"]=c;Webwindow.Wantedcomputer=new CEFBrowser("package://viov/client_ui/html/wantedcomputer/wantedcomputer.html",!0)});
  231. mp.events.add("openWantedComputerPlayerDetail",function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];null!=Webwindow.Wantedcomputer&&Webwindow.Wantedcomputer.call("loadPlayerData",b)});
  232. mp.events.add("initWantedcomputer",function(){if(null!=Webwindow.Wantedcomputer){var a=mp.game.graphics.getScreenActiveResolution(1,1);Webwindow.Wantedcomputer.position((a.x-820)/2,(a.y-550)/2,"computer");Webwindow.Wantedcomputer.show("computer");Webwindow.Wantedcomputer.call("vio._callEvent","wantedcomputer:init","1",JSON.parse(TempArguments.Wantedcomputer["1"]),JSON.parse(TempArguments.Wantedcomputer["2"]),JSON.parse(TempArguments.Wantedcomputer["3"]));TempArguments.Wantedcomputer={}}});
  233. mp.events.add("requestCloseWantedcomputer",function(){null!=Webwindow.Wantedcomputer&&(Webwindow.Wantedcomputer.destroy(),Webwindow.Wantedcomputer=null)});mp.events.add("requestWantedcomputerAction",function(a,b,c){"locate"==a?mp.events.callRemote("locatePlayer",b):"wantedPlayer"==a?mp.events.callRemote("wantedPlayer",b,c):"clear"==a?mp.events.callRemote("clearPlayerWanteds",b):"data"==a?mp.events.callRemote("requestWantedcomputerData",b):mp.events.callRemote("updateWantedcomputerMemo",b,c)});
  234. function rot_point(a,b){var c=new mp.Vector3(0,0,0);c.x=a.x;c.y=a.y;c.z=a.z;a=new mp.Vector3(0,0,0);a.x=b.x;a.y=b.y;a.z=b.z;b=c.x-a.x;var d=c.y-a.y;return 180*Math.atan2(a.z-c.z,Math.sqrt(b*b+d*d))/Math.PI}
  235. mp.events.add("render",function(){if(null!=TempBarricade){var a=mp.players.local.position,b=mp.players.local.getRotation(0);a=findrot(a,b,2,90);a.z=mp.game.gameplay.getGroundZFor3dCoord(a.x,a.y,a.z,0,!1);var c=findrot(a,b,1,180),d=findrot(a,b,1,0);c.z=mp.game.gameplay.getGroundZFor3dCoord(c.x,c.y,c.z+5,0,!1);d.z=mp.game.gameplay.getGroundZFor3dCoord(d.x,d.y,d.z+5,0,!1);var e=findrot(a,b,1,270),f=findrot(a,b,1,90);f.z=mp.game.gameplay.getGroundZFor3dCoord(f.x,f.y,f.z+5,0,!1);e.z=mp.game.gameplay.getGroundZFor3dCoord(e.x,
  236. e.y,e.z+5,0,!1);b.y=-1*rot_point(c,d);b.x=-1*rot_point(f,e);TempBarricade.setCoords(a.x,a.y,a.z,!1,!1,!1,!1);TempBarricade.setRotation(b.x,b.y,b.z,0,!0)}});mp.events.add("setTempPoliceWaypoint",function(a,b){PoliceMarker[PoliceMarker.length]=mp.blips.new(60,a,{name:"Meldung",color:Number(b),shortRange:!0})});
  237. mp.keys.bind(69,!1,function(){if(null!=TempBarricade){var a=TempBarricade.getCoords(!1),b=TempBarricade.getRotation(0);mp.events.callRemote("createBarricade",a.x,a.y,a.z,b.x,b.y,b.z);TempBarricade.destroy();TempBarricade=null}});mp.keys.bind(32,!1,function(){null!=TempBarricade&&(TempBarricade.destroy(),TempBarricade=null)});mp.events.add("setSOS",function(a,b,c,d){0!=temp_sos_blip&&(temp_sos_blip.destroy(),temp_sos_blip=!1);temp_sos_blip=mp.blips.new(0,new mp.Vector3(a,b,c),{color:59,name:d})});
  238. mp.events.add("cancelSOS",function(){0!=temp_sos_blip&&(temp_sos_blip.destroy(),temp_sos_blip=!1)});mp.events.add("RequestLocalPlayerGrab",function(a){mp.players.local.isBeingStunned(0)&&mp.events.callRemote("SetPlayerIntoOfficerVehicle",a)});mp.events.add("sentPlayerNews",function(a){0!=player_lang&&"1"==ClientSettings[9]&&mp.gui.chat.push(a)});
  239. mp.events.add("GunCraftOpen",function(){if(null==Webwindow.GunCraftWindow){Webwindow.GunCraftWindow=!1;var a={mode:"buy"};a.money=InventoryItems["10"];a.moneyformat="mats";a.items=JSON.parse(0>=arguments.length?void 0:arguments[0]);disableAllControls=!0;TempArguments.Dealer={};TempArguments.Dealer["1"]=lang_de.items;TempArguments.Dealer["2"]=JSON.stringify(a);Webwindow.GunCraftWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}});
  240. mp.events.add("requestCloseDealerGunCraftWindow",function(a){"GunCraftWindow"==a&&(Webwindow.GunCraftWindow.active(!1),setTimeout(function(){Webwindow.GunCraftWindow.destroy();Webwindow.GunCraftWindow=null;disableAllControls=!1},10))});
  241. mp.events.add("requestBuyDealerGunCraftWindow",function(a,b,c){"GunCraftWindow"==a&&(Webwindow.GunCraftWindow.active(!1),setTimeout(function(){Webwindow.GunCraftWindow.destroy();Webwindow.GunCraftWindow=null;disableAllControls=!1;mp.events.callRemote("requestGunCraftWindow",b)},10))});
  242. function bankrobFunc(){function a(){var a=(new Date).getTime();f?(a=Math.ceil((b-a)/1E3),0<a?f!=a&&(f=a,e.text=a+p.seconds):(f=d=null,e.destroy(),mp.game.fire.addExplosion(c.x,c.y,c.z,34,1,!0,!1,1))):null!=m&&(2>=mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x,mp.players.local.position.y,mp.players.local.position.z,m.x,m.y,m.z,!0)?(null!=n&&(g+=a-n,n=null),a=Math.floor((a-g)/l*h),a>h&&(a=h),e.text=p.collected+Math.floor(a/h*100)+"%"):null==n&&(n=a))}var b,c,d,e,f,g,h,l,m,n,p=
  243. {collected:"",seconds:""};mp.events.add("detonateBombAtBankRob",function(){c=0>=arguments.length?void 0:arguments[0];p.seconds=1>=arguments.length?void 0:arguments[1];e=mp.labels.new(p.collected+"30"+p.seconds,new mp.Vector3(c.x,c.y,c.z),{los:!1,font:2,drawDistance:20,color:[255,255,255,255],dimension:0});f=30;b=(new Date).getTime()+3E4;d=mp.events.add("render",function(){a()})});mp.events.add("showBankRobCollectInfo",function(){null!=d&&(f=d=null,e.destroy(),mp.game.fire.addExplosion(c.x,c.y,c.z,
  244. 34,1,!0,!1,1));n=null;m=0>=arguments.length?void 0:arguments[0];h=1>=arguments.length?void 0:arguments[1];l=2>=arguments.length?void 0:arguments[2];p.collected=3>=arguments.length?void 0:arguments[3];g=(new Date).getTime();e=e=mp.labels.new(p.collected+"0%",new mp.Vector3(m.x,m.y,m.z),{los:!0,font:0,drawDistance:20,color:[255,255,255,255],dimension:0});d=mp.events.add("render",function(){a()})});mp.events.add("stopBankRobCollect",function(){e.destroy();m=null})}bankrobFunc();
  245. var InHouse=!1,TrashBlips={},ATMTable={};
  246. mp.keys.bind(69,!1,function(){if(null==TempBarricade&&1!=mp.gui.cursor.visible&&0==mp.players.local.isInAnyVehicle(!0)){var a=mp.players.local.dimension,b=mp.players.local.position;if(0==a&&0==InHouse){for(var c in HouseTable)if(a=mp.game.gameplay.getDistanceBetweenCoords(b.x,b.y,b.z,HouseTable[c].Pos.x,HouseTable[c].Pos.y,HouseTable[c].Pos.z,!1),5>a){b=HouseTable[c].ID;null!=TrashBlips[b]?mp.events.callRemote("pickUpTrash",b):null==mp.players.local.getVariable("TRASH_CAR")&&0==mp.players.local.isBeingStunned(0)&&
  247. mp.events.callRemote("requestEnterHouse",b);return}if(null!=Webwindow.Bank)openBank();else{for(var d in ATMTable)if(a=mp.game.gameplay.getDistanceBetweenCoords(b.x,b.y,b.z,ATMTable[d].x,ATMTable[d].y,ATMTable[d].z,!1),3>a){openBank();return}null!=mp.players.local.getVariable("TRASH")&&null!=mp.players.local.getVariable("TRASH_CAR")&&(d=mp.players.local.getVariable("TRASH_CAR"),c=d.getWorldPositionOfBone(d.getBoneIndexByName("seat_pside_r1")),a=d.getWorldPositionOfBone(d.getBoneIndexByName("seat_dside_r1")),
  248. d=Math.round(mp.game.gameplay.getDistanceBetweenCoords(b.x,b.y,b.z,c.x,c.y,c.z,!0)),b=Math.round(mp.game.gameplay.getDistanceBetweenCoords(b.x,b.y,b.z,c.x,a.y,a.z,!0)),(3>d||3>b)&&mp.events.callRemote("requestTrashIntoVehicle"))}}else 0!=a&&1==InHouse&&mp.events.callRemote("requestLeaveHouse")}});mp.keys.bind(115,!0,function(){0!=mp.players.local.dimension&&1==InHouse&&mp.events.callRemote("onClientRequestOpenGroupWindow")});mp.events.add("setPlayerIntoInt",function(){InHouse=!0});
  249. mp.events.add("setPlayerOutOfInt",function(){InHouse=!1});mp.events.add("sentNewTrashToPlayer",function(){var a=JSON.parse(0>=arguments.length?void 0:arguments[0]),b;for(b in TrashBlips)TrashBlips[b].destroy();TrashBlips={};for(var c in a)for(var d in HouseTable)c==HouseTable[d].ID&&(a=mp.blips.new(1,new mp.Vector3(HouseTable[d].Pos.x,HouseTable[d].Pos.y,HouseTable[d].Pos.z),{scale:.6,name:"M\u00fcllsack"}),TrashBlips[HouseTable[d].ID]=a)});
  250. mp.events.add("requestHouseAction",function(a){"sell"==a?mp.events.callRemote("onClientRequestHouseAction","sell"):"lock"==a?mp.events.callRemote("onClientRequestHouseAction","lock"):"unlock"==a?mp.events.callRemote("onClientRequestHouseAction","unlock"):"road"==a?mp.events.callRemote("onClientRequestHouseAction","position"):"spawn"==a?mp.events.callRemote("onClientRequestHouseAction","spawn"):"rent"==a&&mp.events.callRemote("onClientRequestHouseAction","rent")});var ATMCount=0;
  251. ATMTable[ATMCount]=new mp.Vector3(-1109.797,-1690.808,4.375014);ATMTable[ATMCount++]=new mp.Vector3(-821.6062,-1081.885,11.13243);ATMTable[ATMCount++]=new mp.Vector3(-537.8409,-854.5145,29.28953);ATMTable[ATMCount++]=new mp.Vector3(-1315.744,-834.6907,16.96173);ATMTable[ATMCount++]=new mp.Vector3(-1314.786,-835.9669,16.96015);ATMTable[ATMCount++]=new mp.Vector3(-1570.069,-546.6727,34.95547);ATMTable[ATMCount++]=new mp.Vector3(-1571.018,-547.3666,34.95734);
  252. ATMTable[ATMCount++]=new mp.Vector3(-866.6416,-187.8008,37.84286);ATMTable[ATMCount++]=new mp.Vector3(-867.6165,-186.1373,37.8433);ATMTable[ATMCount++]=new mp.Vector3(-721.1284,-415.5296,34.98175);ATMTable[ATMCount++]=new mp.Vector3(-254.3758,-692.4947,33.63751);ATMTable[ATMCount++]=new mp.Vector3(24.37422,-946.0142,29.35756);ATMTable[ATMCount++]=new mp.Vector3(130.1186,-1292.669,29.26953);ATMTable[ATMCount++]=new mp.Vector3(129.7023,-1291.954,29.26953);
  253. ATMTable[ATMCount++]=new mp.Vector3(129.2096,-1291.14,29.26953);ATMTable[ATMCount++]=new mp.Vector3(288.8256,-1282.364,29.64128);ATMTable[ATMCount++]=new mp.Vector3(1077.768,-776.4548,58.23997);ATMTable[ATMCount++]=new mp.Vector3(527.2687,-160.7156,57.08937);ATMTable[ATMCount++]=new mp.Vector3(-867.5897,-186.1757,37.84291);ATMTable[ATMCount++]=new mp.Vector3(-866.6556,-187.7766,37.84278);ATMTable[ATMCount++]=new mp.Vector3(-1205.024,-326.2916,37.83985);
  254. ATMTable[ATMCount++]=new mp.Vector3(-1205.703,-324.7474,37.85942);ATMTable[ATMCount++]=new mp.Vector3(-1570.167,-546.7214,34.95663);ATMTable[ATMCount++]=new mp.Vector3(-1571.056,-547.3947,34.95724);ATMTable[ATMCount++]=new mp.Vector3(-57.64693,-92.66162,57.77995);ATMTable[ATMCount++]=new mp.Vector3(527.3583,-160.6381,57.0933);ATMTable[ATMCount++]=new mp.Vector3(-165.1658,234.8314,94.92194);ATMTable[ATMCount++]=new mp.Vector3(-165.1503,232.7887,94.92194);
  255. ATMTable[ATMCount++]=new mp.Vector3(-2072.445,-317.3048,13.31597);ATMTable[ATMCount++]=new mp.Vector3(-3241.082,997.5428,12.55044);ATMTable[ATMCount++]=new mp.Vector3(-1091.462,2708.637,18.95291);ATMTable[ATMCount++]=new mp.Vector3(1172.492,2702.492,38.17477);ATMTable[ATMCount++]=new mp.Vector3(1171.537,2702.492,38.17542);ATMTable[ATMCount++]=new mp.Vector3(1822.637,3683.131,34.27678);ATMTable[ATMCount++]=new mp.Vector3(1686.753,4815.806,42.00874);
  256. ATMTable[ATMCount++]=new mp.Vector3(1701.209,6426.569,32.76408);ATMTable[ATMCount++]=new mp.Vector3(-95.54314,6457.19,31.46093);ATMTable[ATMCount++]=new mp.Vector3(-97.23336,6455.469,31.46682);ATMTable[ATMCount++]=new mp.Vector3(-386.7451,6046.102,31.50172);ATMTable[ATMCount++]=new mp.Vector3(-1091.42,2708.629,18.95568);ATMTable[ATMCount++]=new mp.Vector3(5.132,-919.7711,29.55953);ATMTable[ATMCount++]=new mp.Vector3(-660.703,-853.971,24.484);ATMTable[ATMCount++]=new mp.Vector3(-2293.827,354.817,174.602);
  257. ATMTable[ATMCount++]=new mp.Vector3(-2294.637,356.553,174.602);ATMTable[ATMCount++]=new mp.Vector3(-2295.377,358.241,174.648);ATMTable[ATMCount++]=new mp.Vector3(-1409.782,-100.41,52.387);ATMTable[ATMCount++]=new mp.Vector3(-1410.279,-98.649,52.436);ATMTable[ATMCount++]=new mp.Vector3(296.3147,-895.1487,29.22718);ATMTable[ATMCount++]=new mp.Vector3(146.9257,-1035.465,29.34387);ATMTable[ATMCount++]=new mp.Vector3(-255.6634,-716.0283,33.47763);
  258. ATMTable[ATMCount++]=new mp.Vector3(-258.8192,-723.5684,33.46172);ATMTable[ATMCount++]=new mp.Vector3(-302.4936,-829.8085,32.41725);ATMTable[ATMCount++]=new mp.Vector3(-618.0313,-707.865,30.05278);ATMTable[ATMCount++]=new mp.Vector3(-846.4432,-340.7214,38.68027);ATMTable[ATMCount++]=new mp.Vector3(285.7219,143.5284,104.1688);ATMTable[ATMCount++]=new mp.Vector3(237.0332,217.7051,106.2868);ATMTable[ATMCount++]=new mp.Vector3(357.0666,173.4619,103.0655);
  259. ATMTable[ATMCount++]=new mp.Vector3(1166.907,-456.0782,66.806);ATMTable[ATMCount++]=new mp.Vector3(1138.292,-469.0696,66.7278);ATMTable[ATMCount++]=new mp.Vector3(1171.881,2702.488,38.17521);ATMTable[ATMCount++]=new mp.Vector3(33.15104,-1348.158,29.49703);ATMTable[ATMCount++]=new mp.Vector3(-717.6112,-915.8884,19.2156);ATMTable[ATMCount++]=new mp.Vector3(-56.85688,-1752.181,29.42101);ATMTable[ATMCount++]=new mp.Vector3(-2957.844,487.9157,15.46391);
  260. ATMTable[ATMCount++]=new mp.Vector3(-3240.689,1008.609,12.83071);ATMTable[ATMCount++]=new mp.Vector3(-283.0984,6226.135,31.49316);ATMTable[ATMCount++]=new mp.Vector3(-133.1364,6366.522,31.47617);ATMTable[ATMCount++]=new mp.Vector3(1735.201,6410.649,35.03724);ATMTable[ATMCount++]=new mp.Vector3(2683.093,3286.566,55.24114);ATMTable[ATMCount++]=new mp.Vector3(228.3088,338.5678,105.5587);ATMTable[ATMCount++]=new mp.Vector3(289.0123,-1256.848,29.44076);
  261. ATMTable[ATMCount++]=new mp.Vector3(380.8073,323.4547,103.5664);ATMTable[ATMCount++]=new mp.Vector3(1968.141,3743.605,32.34375);ATMTable[ATMCount++]=new mp.Vector3(-2957.885,487.8467,15.46391);ATMTable[ATMCount++]=new mp.Vector3(-3040.838,593.1485,7.908931);ATMTable[ATMCount++]=new mp.Vector3(-3043.97,594.6237,7.736614);ATMTable[ATMCount++]=new mp.Vector3(2564.607,2584.777,38.08311);ATMTable[ATMCount++]=new mp.Vector3(-1827.164,784.8987,138.3023);
  262. ATMTable[ATMCount++]=new mp.Vector3(2558.794,351.0217,108.6215);ATMTable[ATMCount++]=new mp.Vector3(158.6132,234.0741,106.6264);ATMTable[ATMCount++]=new mp.Vector3(112.9124,-775.6813,31.428);ATMTable[ATMCount++]=new mp.Vector3(119.0629,-883.828,31.12307);ATMTable[ATMCount++]=new mp.Vector3(112.6496,-818.8077,31.33914);ATMTable[ATMCount++]=new mp.Vector3(1153.667,-326.7621,69.20508);ATMTable[ATMCount++]=new mp.Vector3(174.2261,6637.987,31.57306);
  263. ATMTable[ATMCount++]=new mp.Vector3(155.7531,6642.904,31.60182);ATMTable[ATMCount++]=new mp.Vector3(1702.877,4933.57,42.06367);ATMTable[ATMCount++]=new mp.Vector3(2558.409,389.4285,108.623);ATMTable[ATMCount++]=new mp.Vector3(-29.29773,-723.7197,44.22524);ATMTable[ATMCount++]=new mp.Vector3(-203.9189,-861.4605,30.26762);ATMTable[ATMCount++]=new mp.Vector3(-711.585,-818.8065,23.72954);ATMTable[ATMCount++]=new mp.Vector3(-526.6584,-1222.86,18.45498);
  264. ATMTable[ATMCount++]=new mp.Vector3(-2975.1,380.0502,14.99872);ATMTable[ATMCount++]=new mp.Vector3(-1077.504,-260.6153,37.81066);ATMTable[ATMCount++]=new mp.Vector3(925.9649,41.43527,79.84252);ATMTable[ATMCount++]=new mp.Vector3(-1036.824,-434.7372,39.61561);ATMTable[ATMCount++]=new mp.Vector3(-1038.635,-430.4318,39.61561);function call(a){a()}
  265. var nextTick=function(a){setTimeout(call(a),5)},Weed=function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){this._drawPlant=null;this._plantFullGrown=86400;this._obj=null;this._isUpdating=!1;this._easingSwitch=this._easing=0}},{key:"easing",value:function(a){return a*(2-a)}},{key:"reset",value:function(){this._easingSwitch=this._easing=0;this._isPlacing=this._isUpdating=!1;null!=this._obj&&this._obj.destroy();this._obj=null}},{key:"findrot",value:function(a,
  266. c,d,e){var b=new mp.Vector3(0,0,0);b.x=a.x;b.y=a.y;b.z=a.z;a=Math.PI/180*(c.z+e);b.x+=d*Math.cos(a);b.y+=d*Math.sin(a);return b}},{key:"rot_point",value:function(a,c){a=new mp.Vector3(a.x,a.y,a.z);c=new mp.Vector3(c.x,c.y,c.z);var b=a.x-c.x,e=a.y-c.y;return 180*Math.atan2(c.z-a.z,Math.sqrt(b*b+e*e))/Math.PI}},{key:"getDistance",value:function(a,c){var b=a.x-c.x,e=a.y-c.y;a=a.z-c.z;return Math.sqrt(b*b+e*e+a*a)}},{key:"groundPos",value:function(a){return mp.game.gameplay.getGroundZFor3dCoord(a.x,a.y,
  267. a.z,0,!1)}},{key:"update",value:function(){var a=mp.players.local.position,c=mp.players.local.getRotation(0),d=this.findrot(a,c,.8,90);d.z=this.groundPos(d);var e=this.findrot(d,c,1,180),f=this.findrot(d,c,1,0);e.z=mp.game.gameplay.getGroundZFor3dCoord(e.x,e.y,e.z+1,0,!1);f.z=mp.game.gameplay.getGroundZFor3dCoord(f.x,f.y,f.z+1,0,!1);var g=this.findrot(d,c,1,270),h=this.findrot(d,c,1,90);h.z=mp.game.gameplay.getGroundZFor3dCoord(h.x,h.y,h.z+1,0,!1);g.z=mp.game.gameplay.getGroundZFor3dCoord(g.x,g.y,
  268. g.z+1,0,!1);c.y=-1*this.rot_point(e,f);c.x=-1*this.rot_point(h,g);mp.game.controls.disableControlAction(2,22,!0);mp.game.controls.disableControlAction(2,24,!0);mp.game.controls.disableControlAction(2,38,!0);mp.game.controls.isDisabledControlJustPressed(2,38)&&!mp.raycasting.testPointToPoint(a,d,mp.players.local,1)&&(this._isPlacing=!0);if(mp.game.controls.isDisabledControlJustPressed(2,22))this.reset();else{if(1==this._isPlacing&&(0==this._easingSwitch&&1>this._easing&&(this._easing+=.04),0<=this._easing&&
  269. 1==this._easingSwitch&&(this._easing-=.04),0==this._easingSwitch&&1<=this._easing&&(this._easingSwitch=1),d.z+=.2*this.easing(this._easing),0>=this._easing&&1==this._easingSwitch)){this.place();return}this._obj.setCoords(d.x,d.y,d.z,!1,!1,!1,!1);this._obj.setRotation(c.x,c.y,c.z,0,!0);mp.game.graphics.setDrawOrigin(d.x,d.y,d.z+1.05,0);mp.game.graphics.drawText("Steckling anpflanzen",[0,-.02],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0});1==this._isPlacing?mp.game.graphics.drawText("Warten ..",
  270. [0,0],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0}):mp.game.graphics.drawText("E zum Platzieren\nLeertaste zum Abbrechen",[0,0],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0});mp.game.graphics.clearDrawOrigin()}}},{key:"place",value:function(){var a=this._obj.getCoords(!1),c=this._obj.getRotation(0),d=mp.game.entity.getInteriorFromEntity(this._obj);this.reset();var e=mp.players.local.position;mp.raycasting.testPointToPoint(a,e,mp.players.local,1)?mp.game.graphics.notify("~r~An dieser Position kannst du keinen Steckling anpflanzen!"):
  271. 1==mp.players.local.isSittingInAnyVehicle()||mp.players.local.isDeadOrDying(!0)||(0<d?mp.game.graphics.notify("~r~An dieser Position kannst du keinen Steckling anpflanzen!"):15<c.x||-15>c.x?mp.game.graphics.notify("~r~Die Neigung ist zu stark!"):15<c.y||-15>c.y?mp.game.graphics.notify("~r~Die Neigung ist zu stark!"):0>a.z?mp.game.graphics.notify("~r~Stecklinge wachsen in dieser Gegend leider nicht!"):null!=this._drawPlant?mp.game.graphics.notify("~r~Der Stecklinge sollten etwas auseinander platziert werden!"):
  272. e.z>=a.z+1.75?mp.game.graphics.notify("~r~Die Neigung ist zu stark!"):(c=mp.game.water.getWaterHeight(a.x,a.y,a.z,0),!c||a.z>c?mp.events.callRemote("plant_finish",a.x,a.y,a.z):mp.game.graphics.notify("~r~Stecklinge wachsen unter Wasser leider nicht!")))}},{key:"preview",value:function(){if(null==Webwindow.TicketsystemBrowser&&null==Webwindow.Settings&&null==Webwindow.Trade&&1!=Selection.visible&&0!=player_lang&&1!=mp.players.local.isSittingInAnyVehicle()&&1!=mp.gui.cursor.visible&&!mp.players.local.isDeadOrDying(!0)){this._obj&&
  273. this._obj.destroy();var a=mp.players.local.position,c=this.groundPos(a);c=new mp.Vector3(a.x,a.y,c);var d=mp.players.local.getRotation(0);this.findrot(c,d,2,90);this._obj=mp.objects.new(mp.game.joaat("prop_weed_02"),a,{rotation:d});this._obj.setCollision(!1,!0);this._isUpdating=!0}}},{key:"show_plant",value:function(a,c){this._drawPlant={plant:a,grow_state:c}}},{key:"drawPlant",value:function(){var a=mp.players.local.position;if(vioObjects[this._drawPlant.plant]){var c=vioObjects[this._drawPlant.plant];
  274. if(c.isCreated())if(c=c.getCoords(!1)||c._pos,2.5>this.getDistance(c,a)){parseInt(Date.now()/1E3);mp.game.controls.disableControlAction(2,38,!0);mp.game.graphics.setDrawOrigin(c.x,c.y,c.z+1,0);mp.game.graphics.drawText("~g~Hanfpflanze",[0,-.02],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0});50>this._drawPlant.grow_state?(mp.game.graphics.drawText("~g~Wachstum: "+this._drawPlant.grow_state+"%",[0,0],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0}),mp.game.graphics.drawText("~g~Taste 'E' um den Steckling zu entfernen",
  275. [0,.02],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0})):99<this._drawPlant.grow_state?mp.game.graphics.drawText("~g~Taste 'E' zum Ernten",[0,0],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0}):49<this._drawPlant.grow_state&&(mp.game.graphics.drawText("~g~Wachstum: "+this._drawPlant.grow_state+"%",[0,0],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0}),mp.game.graphics.drawText("~g~Taste 'E' zum Ernten",[0,.02],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0}));
  276. if(mp.game.controls.isDisabledControlJustPressed(2,38)){if(1==mp.players.local.isSittingInAnyVehicle()||1==mp.gui.cursor.visible||mp.players.local.isDeadOrDying(!0))return;this.harvestPlant()}mp.game.graphics.clearDrawOrigin()}else this._drawPlant=null}}},{key:"harvestPlant",value:function(){mp.events.callRemote("OnClientRequestWeedHarvest");this._drawPlant=null}}]);return a}(),WeedPlantDrug=new Weed;
  277. mp.events.add("render",function(){WeedPlantDrug._isUpdating&&WeedPlantDrug.update();null!=WeedPlantDrug._drawPlant&&WeedPlantDrug.drawPlant()});mp.events.add("plantstart",function(){WeedPlantDrug.preview()});mp.events.add("plant_show",function(a,b){WeedPlantDrug.show_plant(a,b)});
  278. var DrugEffects=new (function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){this._effect={meth:"Rampage",weed:"DrugsDrivingOut"};this._debuffEffect="FocusIn";this._activeEffects=[];this._activeDebuffEffects=[]}},{key:"effect",value:function(a,c){0==c&&this.removeEffect(a,this._effect[a]);1==c&&this.showDebuff(a,this._effect[a]);2==c&&this.showBuff(a,this._effect[a])}},{key:"showBuff",value:function(a,c){this._activeEffects[a]||(this._activeEffects[a]=
  279. !0,mp.game.graphics.startScreenEffect(c,1E3,!0),this._activeDebuffEffects[a]&&mp.game.graphics.stopScreenEffect(this._debuffEffect))}},{key:"removeEffect",value:function(a,c){this._activeEffects[a]&&(this._activeEffects[a]=!1,mp.game.graphics.stopScreenEffect(c));this._activeDebuffEffects[a]&&(this._activeDebuffEffects[a]=!1,mp.game.graphics.stopScreenEffect(this._debuffEffect))}},{key:"showDebuff",value:function(a,c){this._activeDebuffEffects[a]||(this._activeDebuffEffects[a]=!0,mp.game.graphics.stopScreenEffect(this._debuffEffect),
  280. mp.game.graphics.startScreenEffect(this._debuffEffect,1E3,!0))}}]);return a}());mp.events.add("updateMethamphetaminStatus",function(a){DrugEffects.effect("meth",a)});
  281. var AnimationFlags={Loop:1,StopOnLastFrame:2,OnlyAnimateUpperBody:16,AllowPlayerControl:32,Cancellable:128},FishingJob=new (function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){var a=this;a._player=mp.players.local;a.res=mp.game.graphics.getScreenActiveResolution(1,1);a.render=!1;a.obj=null;a.child=null;a._init=!1;a._catch=!1;a.ped=!1;a._catchingfinish=!1;a._catching=!1;a._isWaiting=!1;a._minigame={progress:0,max:100,step:4,remove:1,timer:null,
  282. active:!1,strikes:0};mp.events.add("render",function(){a.render&&a.update()})}},{key:"minigame",value:function(){var a=this;mp.players.local.taskPlayAnim("amb@world_human_stand_fishing@idle_a","idle_c",8,1,-1,1,.5,!0,!0,!0);a._minigame.active=!1;a._minigame.timer=setInterval(function(){0<a._minigame.progress&&(a._minigame.active=!0);a._minigame.active&&(a._minigame.progress-=a._minigame.remove,0>a._minigame.progress&&(a._minigame.progress=0,a._minigame.strikes+=1,150<a._minigame.strikes&&(clearInterval(a._minigame.timer),
  283. a.cancel())))},70)}},{key:"reset",value:function(){this._catching=this._catch=this._init=this.render=!1;this._minigame.timer=null;this._isWaiting=!1;null!=this.obj&&(this.obj.destroy(),this.obj=null);null!=this.child&&(this.child.destroy(),this.child=null);mp.players.local.stopAnimTask("amb@world_human_stand_fishing@idle_a","idle_c",1);mp.events.callRemote("fish_cancel")}},{key:"cancel",value:function(){this.reset();mp.game.graphics.notify("~g~Der Fisch ist entwischt")}},{key:"begin",value:function(a,
  284. c,d){1==this.render||1==this._catch||1==this._catching||1==this._isWaiting?this.reset():null==this._minigame.timer&&(mp.game.graphics.notify("~g~Nutze '~b~~h~E~h~~g~' die Angel auszuwerfen!"),null!=this.obj&&(this.obj.destroy(),this.obj=null),null!=this.child&&(this.child.destroy(),this.child=null),this._curSecret=d,this._minigame.step=a,this._minigame.remove=c,this._minigame.progress=0,this._minigame.strikes=0,this._player=mp.players.local,mp.game.streaming.requestAnimDict("amb@world_human_stand_fishing@base"),
  285. mp.players.local.taskPlayAnim("amb@world_human_stand_fishing@base","base",8,1,-1,49,.5,!0,!0,!0),this.obj=mp.objects.new(mp.game.joaat("prop_fishing_rod_01"),mp.players.local.position),a=mp.players.local.getBoneIndex(36029),this.child=mp.objects.new(mp.game.joaat("ng_proc_sodacan_01b"),mp.players.local.position,{alpha:0}),this.obj.attachTo(mp.players.local.handle,a,.15,.15,.05,270,-90,-30,!0,!1,!1,!1,0,!0),this.child.attachTo(mp.players.local.handle,a,1.4,2.3,.05,270,-90,-30,!0,!1,!1,!1,0,!0),this.child.setCollision(!1,
  286. !0),this._init=this.render=!0,this._catching=this._catch=!1)}},{key:"update",value:function(){var a=this;mp.game.controls.disableControlAction(2,38,!0);mp.game.controls.disableControlAction(2,22,!0);mp.game.controls.disableControlAction(2,24,!0);if(mp.players.local.isInAnyVehicle(!0))a.reset();else if(0==mp.players.local.getHealth())a.reset();else if(mp.players.local.isSwimming())a.reset();else{if(a._init){mp.game.controls.disableControlAction(2,38,!0);mp.game.controls.disableControlAction(2,22,!0);
  287. a._player.getRotation(1);var c=a.child.getCoords(!0),d=mp.game.gameplay.getGroundZFor3dCoord(c.x,c.y,c.z,0,!1);d=new mp.Vector3(c.x,c.y,d);mp.game.controls.isDisabledControlJustPressed(2,38)&&0==a.ped&&(a.ped=!0,(c=mp.game.water.getWaterHeight(d.x,d.y,d.z,0))&&d.z<c?(a._isWaiting=!0,a.obj.destroy(),a.obj=null,a.child.destroy(),a.child=null,mp.players.local.stopAnimTask("amb@world_human_stand_fishing@base","base",1),mp.events.callRemote("fish_init"),a._init=!1,mp.game.graphics.notify("~g~Angel wird ausgeworfen!")):
  288. (mp.game.graphics.notify("~r~Das Wasser an dieser Stelle ist nicht tief genug!"),a.reset()),a.ped=!1)}1==a._isWaiting&&mp.game.controls.isDisabledControlJustPressed(2,22)?(a.reset(),mp.game.graphics.notify("~r~Es hat noch kein Fisch angebissen! Habe etwas mehr Geduld.")):(a._catch&&(c=a._player.position,mp.game.graphics.setDrawOrigin(c.x,c.y,c.z+1,0),mp.game.graphics.drawRect(0,0,.12,.03,0,0,0,200),mp.game.graphics.clearDrawOrigin(),mp.game.controls.isDisabledControlJustPressed(2,22)?(a._catching=
  289. !0,a._catch=!1,mp.game.graphics.notify("~g~Nutze ~b~~h~'LEERTASTE'~h~~g~, um die Rute einzuholen."),a.minigame()):(mp.game.graphics.setDrawOrigin(c.x,c.y,c.z+1,0),mp.game.graphics.drawText("Nutze 'LEERTASTE' zum Anhieb",[0,0],{scale:[.3,.3],color:[255,255,255,255],font:0,outline:!0}),mp.game.graphics.clearDrawOrigin()),mp.game.graphics.clearDrawOrigin()),a._catching&&(c=a._player.position,mp.game.graphics.setDrawOrigin(c.x,c.y,c.z+1,0),mp.game.graphics.drawRect(0,0,.12,.02,0,0,0,200),c=.11/a._minigame.max*
  290. a._minigame.progress,mp.game.graphics.drawRect(-.0595+c/2,.0005,c,.018,0,180,0,200),mp.game.controls.isDisabledControlJustPressed(2,22)&&(a._minigame.progress+=a._minigame.step,99<a._minigame.progress&&(a._minigame.progress=100),100<=a._minigame.progress&&(a._catchingfinish=!1,a._catching=!1,clearInterval(a._minigame.timer),a._minigame.timer=null,setTimeout(function(){a.render=!1;a._catchingfinish=!0;a.reset();mp.events.callRemote("fish_finish",a._curSecret)},1E3))),mp.game.graphics.clearDrawOrigin()),
  291. a.child&&(c=a.child.getCoords(!0),a._player.getRotation(1),d=mp.game.gameplay.getGroundZFor3dCoord(c.x,c.y,c.z,0,!1),d=new mp.Vector3(c.x,c.y,d+.04),mp.game.graphics.drawLine(c.x,c.y,c.z,d.x,d.y,d.z,0,0,0,150)))}}},{key:"beginCatch",value:function(){1==this._isWaiting&&(this._catch=this.render=!0,this._isWaiting=!1,mp.game.graphics.notify("~g~Es tut sich was...~n~~g~Nutze '~b~~h~LEERTASTE~h~~g~' um einen Anhieb zu probieren."),null!=this.child&&(this.child.destroy(),this.child=null),mp.players.local.taskPlayAnim("amb@world_human_stand_fishing@base",
  292. "base",8,1,-1,49,.5,!0,!0,!0))}},{key:"earn",value:function(a,c){0==a?mp.game.graphics.notify("~g~Du hast erfolgreich einen Fisch geangelt, ~n~Gewicht "+c+" kg"):1==a?mp.game.graphics.notify("~r~Die Angel hat dem Gewicht nicht standgehalten und ist abgebrochen!"):2==a?mp.game.graphics.notify("~g~Du hast eine seltsame Holzkiste an Land gezogen, ~n~ was da wohl drinne ist..."):3==a?mp.game.graphics.notify("~y~Du hast ein Stueck Treibholz geangelt. Sieht irgendwie aus, wie ein Holzbein. Du wirfst es weg!"):
  293. 4==a&&mp.game.graphics.notify("~g~Du hast ein altes Fischernetz gefunden. Mit etwas Erfahrung kann man damit Fische fangen!")}}]);return a}());mp.events.add("fish_start",function(){FishingJob.begin(0>=arguments.length?void 0:arguments[0],1>=arguments.length?void 0:arguments[1],2>=arguments.length?void 0:arguments[2])});mp.events.add("fish_catch",function(){FishingJob.beginCatch()});
  294. mp.events.add("fish_earn",function(){FishingJob.earn(0>=arguments.length?void 0:arguments[0],1>=arguments.length?void 0:arguments[1])});
  295. var FishNets=new (function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){var a=this;a._player=mp.players.local;a._fishnets=[];a.render=!1;a.loaded=!1;mp.events.add("render",function(){a.render&&a.update()})}},{key:"loadNets",value:function(a){a=JSON.parse(a);for(var b in a)this.loadNet(a[b]);this.loaded=!0}},{key:"update",value:function(){var a=this,c=null,d=mp.players.local.position,e=150;Object.keys(a._fishnets).forEach(function(b){var f=a._fishnets[b];
  296. null!=f.Position&&(f=mp.game.system.vdist2(d.x,d.y,d.z,f.Position.x,f.Position.y,f.Position.z),e>f&&(c=b,e=f))});if(null!=c){var f=a._fishnets[c];if(null!=f.Position){var g=mp.game.water.getWaterHeight(f.Position.x,f.Position.y,f.Position.z,0);mp.game.graphics.setDrawOrigin(f.Position.x,f.Position.y,g+1,0);mp.game.graphics.drawText("Fischnetz",[0,0],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0});mp.game.graphics.drawText("Ausgelastet "+(100<f.amount?100:f.amount)+"%",[0,.025],{font:0,
  297. color:[255,255,255,255],scale:[.3,.3],outline:!0});mp.game.graphics.drawText("Besch\u00e4digung "+(100<f.damage?100:f.damage)+"%",[0,.05],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!0});mp.game.graphics.clearDrawOrigin()}}}},{key:"isLoaded",value:function(){return 0<Object.keys(this._fishnets).length}},{key:"getNearestNet",value:function(){var a=this,c=null,d=mp.players.local.position,e=150;Object.keys(a._fishnets).forEach(function(b){var f=a._fishnets[b];null!=f.Position&&(f=mp.game.system.vdist2(d.x,
  298. d.y,d.z,f.Position.x,f.Position.y,f.Position.z),e>f&&(c=b,e=f))});return null!==c?a._fishnets[c]:null}},{key:"unloadNets",value:function(){var a=this;FishNets.render=!1;Object.keys(a._fishnets).forEach(function(b){a._fishnets[b]&&(a._fishnets[b].fishground_blip&&a._fishnets[b].fishground_blip.destroy(),a._fishnets[b].fishground&&a._fishnets[b].fishground.destroy(),a._fishnets[b].fish_net&&a._fishnets[b].fish_net.destroy(),a._fishnets[b].buoy&&a._fishnets[b].buoy.destroy())});a._fishnets=[];a.loaded=
  299. !1}},{key:"loadNet",value:function(a){this._fishnets[a.ID]&&(this._fishnets[a.ID].fishground_blip&&this._fishnets[a.ID].fishground_blip.destroy(),this._fishnets[a.ID].fishground&&this._fishnets[a.ID].fishground.destroy(),this._fishnets[a.ID].fish_net&&this._fishnets[a.ID].fish_net.destroy(),this._fishnets[a.ID].buoy&&this._fishnets[a.ID].buoy.destroy());var b=mp.game.water.getWaterHeight(a.GlobalPosition.x,a.GlobalPosition.y,a.GlobalPosition.z,0);this._fishnets[a.ID]={fishground_blip:mp.blips.new(68,
  300. new mp.Vector3(a.GlobalPosition.x,a.GlobalPosition.y,a.GlobalPosition.z),{name:"Fischgrund",color:42,shortRange:!0,scale:1,alpha:150,drawDistance:500}),fishground:mp.objects.new(mp.game.joaat("prop_dock_bouy_2"),new mp.Vector3(a.GlobalPosition.x,a.GlobalPosition.y,b),new mp.Vector3),fish_net:null,buoy:null,damage:a.Damage,amount:a.Amount,ID:a.ID,Position:a.Position};null!=a.Position&&(b=mp.game.water.getWaterHeight(a.Position.x,a.Position.y,a.Position.z,0),this._fishnets[a.ID].fish_net=mp.blips.new(515,
  301. new mp.Vector3(a.Position.x,a.Position.y,a.Position.z),{name:"Fischnetz",color:38,shortRange:!0,scale:1,alpha:150,drawDistance:30}),this._fishnets[a.ID].buoy=mp.objects.new(mp.game.joaat("prop_dock_float_1"),new mp.Vector3(a.Position.x,a.Position.y,b),new mp.Vector3),mp.players.local.vehicle.setNoCollision(this._fishnets[a.ID].buoy.handle,!1))}}]);return a}());mp.events.add("CreatePlayerLocalFishNets",function(a){FishNets.loadNets(a);FishNets.render=!0});
  302. mp.events.add("playerLeaveVehicle",function(a,b){FishNets.isLoaded()&&FishNets.unloadNets()});var IsLocalPlayerInCasino=!1;
  303. mp.events.add("render",function(){IsLocalPlayerInCasino&&(mp.game.time.setClockTime(0,0,0),mp.game.gameplay.setWeatherTypeNowPersist("EXTRASUNNY"),mp.game.controls.disableControlAction(2,22,!0),mp.game.controls.disableControlAction(2,23,!0),mp.game.controls.disableControlAction(2,24,!0),mp.game.controls.disableControlAction(2,25,!0),mp.game.controls.disableControlAction(2,257,!0),mp.game.controls.disableControlAction(2,45,!0),mp.game.controls.disableControlAction(2,44,!0),mp.game.controls.disableControlAction(2,
  304. 37,!0),mp.game.controls.disableControlAction(2,140,!0),mp.game.controls.disableControlAction(2,141,!0),mp.game.controls.disableControlAction(2,142,!0),mp.game.controls.disableControlAction(2,143,!0))});mp.events.add("SetPlayerCasinoStatus",function(a,b){0==a?(IsLocalPlayerInCasino=!1,a=new Date,mp.game.time.setClockTime(a.getHours(),a.getMinutes(),a.getSeconds()),mp.game.gameplay.setWeatherTypeNowPersist(weather[b])):IsLocalPlayerInCasino=!0});
  305. var disabled_items={0:!0,1:!0,9:!0,11:!0,38:!0},MPClass=function(){function a(b){_classCallCheck(this,a);this._setup(b)}_createClass(a,[{key:"_setup",value:function(a){this.init(a)}},{key:"init",value:function(a){this._slots=a;this.window=new CEFBrowser("package://viov/client_ui/html/marketplace/index.html",!0);this.window.call("showAll");this.window.call("setMaxSlots",this._slots)}},{key:"loadInventory",value:function(a){null!==this.window&&this.window.call("loadInventory",a)}},{key:"close",value:function(){null!==
  306. this.window&&this.window.destroy()}}]);return a}(),Marketplace;mp.events.add("initMarketplace",function(){null!==Marketplace&&(null!==Marketplace.window&&Marketplace.window.call("setPlayerNameForItems",mp.players.local.name),mp.events.callRemote("OnClientRequestMarketplaceLoadListings",1))});mp.events.add("requestBuyItem",function(a,b){mp.events.callRemote("OnClientRequestMarketplaceBuyItem",a,b)});
  307. mp.events.add("requestSellItem",function(a,b,c,d,e,f){mp.events.callRemote("OnClientRequestMarketplaceSellItem",b,c,d)});
  308. mp.events.add("onMarketplaceUpdate",function(a,b,c){if(!mp.game.graphics.hasStreamedTextureDictLoaded("WEB_SIXFIGURETEMPS"))for(mp.game.graphics.requestStreamedTextureDict("WEB_SIXFIGURETEMPS",!0);!mp.game.graphics.hasStreamedTextureDictLoaded("WEB_SIXFIGURETEMPS");)mp.game.wait(0);var d="",e="",f="",g="";if(0<b)for(var h in lang_de.items)Number(h.replace("item.",""))==c&&(f=lang_de.items[h]);0==a?(g="Fehler",d="~o~So viel haben wir derzeit nicht auf Lager.",e="\x3cfont style\x3d'color:#f49542'\x3eSo viel haben wir derzeit nicht auf Lager.\x3c/font\x3e"):
  309. 1==a?(g="",d="Du hast ~g~"+b+"x "+f+" ~w~gekauft.",e="Du hast \x3cfont style\x3d'color:#32d62c'\x3e"+b+"x "+f+"\x3c/font\x3e gekauft."):2==a?(g="",d="Es wurde ~g~"+b+"x "+f+" ~w~von dir gekauft.",e="Es wurde \x3cfont style\x3d'color:#32d62c'\x3e"+b+"x "+f+"\x3c/font\x3e von dir gekauft."):3==a?(g="Fehler",d="~o~Du hast nicht genug Geld auf der Hand",e="\x3cfont style\x3d'color:#f49542'\x3eDu hast nicht genug Geld auf der Hand.\x3c/font\x3e"):4==a?(g="",d="Du hast ~g~"+b+"x "+f+" ~w~zum Verkauf angeboten.",
  310. e="Du hast \x3cfont style\x3d'color:#32d62c'\x3e"+b+"x "+f+"\x3c/font\x3e zum Verkauf angeboten."):5==a?(g="Fehler",d="~y~Verkaufswert zu gro\u00df.",e="\x3cfont style\x3d'color:#e55922'\x3eVerkaufswert zu gro\u00df.\x3c/font\x3e"):6==a?(g="Fehler",d="~y~Weahle ein Item aus.",e="\x3cfont style\x3d'color:#e55922'\x3eWeahle ein Item aus.\x3c/font\x3e"):7==a?(g="Fehler",d="~y~Alle 'Angebot-Slots' belegt.",e="\x3cfont style\x3d'color:#e55922'\x3eAlle 'Angebot-Slots' belegt.\x3c/font\x3e"):8==a&&(g="Fehler",
  311. d="~y~Verkaufswert zu klein.",e="\x3cfont style\x3d'color:#e55922'\x3eVerkaufswert zu klein.\x3c/font\x3e");mp.game.graphics.hasStreamedTextureDictLoaded("WEB_SIXFIGURETEMPS")&&(mp.game.ui.setNotificationTextEntry("CELL_EMAIL_BCON"),mp.game.ui.addTextComponentSubstringPlayerName(d),mp.game.ui.setNotificationMessage("WEB_SIXFIGURETEMPS","WEB_SIXFIGURETEMPS",!1,4,"Marktplatz",g),mp.game.ui.drawNotification(!0,!1));mp.gui.chat.safeMode=!1;mp.gui.chat.push("[\x3cfont style\x3d'color:#f44b42'\x3eMarktplatz\x3c/font\x3e] "+
  312. e);mp.gui.chat.safeMode=!0});mp.events.add("requestListings",function(){mp.events.callRemote("OnClientRequestMarketplaceLoadListings")});
  313. mp.events.add("requestLoadInventory",function(){for(var a=[],b=0;b<=Object.keys(InventoryItems).length;b++)if(!disabled_items[b]&&0<InventoryItems[b]){var c={id:b,name:"",amount:InventoryItems[b],legal:0,type:"items",image:"../inventory/img/"+b+".png"},d;for(d in lang_de.items)Number(d.replace("legal.",""))==b&&(c.legal=lang_de.items[d]),Number(d.replace("item.",""))==b&&(c.name=lang_de.items[d]);a.push(c)}null!==Marketplace.window&&Marketplace.window.call("loadInventory",JSON.stringify(a))});
  314. mp.events.add("requstCloseMarketplace",function(){Marketplace.close();Marketplace=null});mp.events.add("OnClientMarketplaceOpen",function(a){null==Marketplace&&(Marketplace=new MPClass(a))});
  315. mp.events.add("OnClientMarketplaceLoadListings",function(a,b){if(null!==Marketplace){a=JSON.parse(a);var c=[],d;for(d in a)c.push(a[d]);c=c.map(function(a,b){for(var c in lang_de.items)Number(c.replace("legal.",""))==a.ItemID&&(a.legal=lang_de.items[c]),Number(c.replace("item.",""))==a.ItemID&&(a.ItemName=lang_de.items[c]);a.Image="../inventory/img/"+a.ItemID+".png";a.Type="items";return a});void 0!==Marketplace&&null!==Marketplace.window&&(Marketplace.window.call("loadListings",JSON.stringify(c)),
  316. 1==b&&Marketplace.window.call("showAll"))}});var temp_marker=!1,temp_blip=!1;mp.events.add("JobbrowerInit",function(a,b){null==Webwindow.JobBrowser&&(TempArguments.Jobs={},TempArguments.Jobs["1"]=a,TempArguments.Jobs["2"]=lang_de.window_jobbrowser,TempArguments.Jobs["3"]=b,Webwindow.JobBrowser=new CEFBrowser("package://viov/client_ui/html/jobbrowser/jobbrowser.html",!0))});
  317. mp.events.add("updateClientTaxometer",function(a,b,c){null!=Webwindow.TaxiWindow?Webwindow.TaxiWindow.execute("vio._callEvent('taxi:init',"+Number(a)+");"):(TempArguments.Taxi={},TempArguments.Taxi["1"]=Number(a),Webwindow.TaxiWindow=mp.browsers.new("package://viov/client_ui/html/taxi/taxi.html"))});mp.events.add("destroyClientTaxometer",function(){null!=Webwindow.TaxiWindow&&(Webwindow.TaxiWindow.destroy(),Webwindow.TaxiWindow=null)});
  318. mp.events.add("initJobWindow",function(){null!=Webwindow.JobBrowser&&(Webwindow.JobBrowser.call("vio._callEvent","jobbrowser:init",TempArguments.Jobs["1"],TempArguments.Jobs["2"],TempArguments.Jobs["3"]),resolution=mp.game.graphics.getScreenActiveResolution(1,1),Webwindow.JobBrowser.position((resolution.x-1005)/2,(resolution.y-635)/2,"jobbrowser"),Webwindow.JobBrowser.show("jobbrowser"),TempArguments.Jobs={})});
  319. mp.events.add("requestJob",function(a,b){null!=Webwindow.JobBrowser&&(Webwindow.JobBrowser.destroy(),mp.gui.chat.show(!0),mp.gui.cursor.show(!1,!1),mp.gui.cursor.visible=!1,"Trucker"==a?mp.events.callRemote("requestTruckerjob",b):"Bus"==a?mp.events.callRemote("requestBusjob",b):"Trash"==a?mp.events.callRemote("requestTrash",b):"Taxi"==a&&mp.events.callRemote("requestTaxijob",b),Webwindow.JobBrowser=null)});
  320. mp.events.add("initTaxiWindow",function(){null!=Webwindow.TaxiWindow&&(Webwindow.TaxiWindow.execute('vio._callEvent("taxi:init",'+TempArguments.Taxi["1"]+");"),TempArguments.Taxi={})});mp.events.add("requestCloseJobBrowser",function(){null!=Webwindow.JobBrowser&&(Webwindow.JobBrowser.destroy(),mp.gui.chat.show(!0),mp.gui.cursor.show(!1,!1),mp.gui.cursor.visible=!1,Webwindow.JobBrowser=null)});var player_lang=0;TempArguments=[];Webwindow=[];var isPlayerOnBetaServer=!1;
  321. mainCam=mp.cameras.new("default",new mp.Vector3(-1656.676,2578.351,1.28305),new mp.Vector3,90);mainCam.pointAtCoord(-1585.407,2667.559,2.166325);mainCam.setActive(!0);mp.game.cam.renderScriptCams(!0,!1,0,!0,!1);
  322. mp.events.add("loginInit",function(a,b){isPlayerOnBetaServer=b;disableAllControls=!0;TempArguments.Login0=lang_de.window_login;TempArguments.Login1=a;null==Webwindow.Login&&(mp.game.graphics.getScreenResolution(),Webwindow.Login=new CEFBrowser("package://viov/client_ui/html/login/login.html",!0),player_lang="german",mp.game.ui.setRadarBigmapEnabled(!1,!1))});setInterval(function(){null!=Webwindow.Login&&(mp.gui.cursor.visible=!0)},2E3);
  323. mp.events.add("loginCreate",function(){disableAllControls=!0;mainCam=mp.cameras.new("default",new mp.Vector3(-1656.676,2578.351,1.28305),new mp.Vector3,90);mainCam.pointAtCoord(-1585.407,2667.558,2.166325);mainCam.setActive(!0);player_lang="german";mp.gui.chat.activate(!1);mp.gui.chat.show(!1);mp.gui.cursor.show(!0,!0);mp.game.ui.displayHud(!1);mp.events.callRemote("requestRegisterLogin",player_lang)});
  324. mp.events.add("killLogin",function(){disableAllControls=!1;player_lang="german";null!=Webwindow.Login&&(Webwindow.Login.destroy(),Webwindow.Login=null);mp.game.ui.displayHud(!0);mp.gui.chat.activate(!0)});
  325. mp.events.add("loginUpdate",function(a,b,c){b?c?Webwindow.Login.call("vio._callEvent","login:showSurvey"):(disableAllControls=!1,player_lang="german",null!=Webwindow.Login&&(Webwindow.Login.destroy(),Webwindow.Login=null),mp.game.ui.displayHud(!0),mainCam.setActive(!1),mp.gui.chat.show(!0),isPlayerOnBetaServer?mp.discord.update("Vio-V Testserver",mp.players.local.name):mp.discord.update("www.vio-v.com",mp.players.local.name)):(Webwindow.Login.call("vio._callEvent","login:update",JSON.parse(a)),mp.gui.cursor.visible=
  326. !0)});var tmpB=void 0;
  327. mp.events.add("setLoginDestroyed",function(){mp.players.local.setMaxHealth(200);null!=Webwindow.Login&&void 0===creatorCamera?(login=!0,Webwindow.Login.destroy(),Webwindow.Login=null,disableAllControls=!1,player_lang="german",moveSkyCamera(mp.players.local,"up",1,!1),setTimeout(function(){mainCam.setActive(!1);mainCam.destroy();mp.game.ui.displayHud(!0);mp.game.cam.renderScriptCams(!1,!1,0,!0,!1);mp.game.ui.setMinimapVisible(!1);mp.game.ui.displayRadar(!0)},1E3),setTimeout(function(){moveSkyCamera(mp.players.local,"down",
  328. 1,!1)},8E3),isPlayerOnBetaServer?mp.discord.update("Vio-V Testserver",mp.players.local.name):mp.discord.update("www.vio-v.com",mp.players.local.name),mp.gui.cursor.visible=!1):void 0!==creatorCamera&&(login=!0,disableAllControls=!1,Webwindow.Login.destroy(),Webwindow.Login=null,mp.gui.chat.show(!1))});mp.events.add("playerAccessToken",function(a){accessToken=a;login=!0});
  329. mp.events.add("initLoginWindow",function(){Webwindow.Login.call("vio._callEvent","login:init",TempArguments.Login0,TempArguments.Login1);TempArguments={}});mp.events.add("requestRegister",function(a){mp.events.callRemote("requestRegistration",a)});mp.events.add("requestLogin",function(a){a=JSON.parse(a);mp.events.callRemote("requestLogin",a.username,a.password,"y")});
  330. mp.events.add("registerSurveyResult",function(a){null!=Webwindow.Login&&(Webwindow.Login.destroy(),Webwindow.Login=null,mp.game.ui.displayHud(!0),mainCam.setActive(!1),disableAllControls=!1,isPlayerOnBetaServer?mp.discord.update("Vio-V Testserver",mp.players.local.name):mp.discord.update("www.vio-v.com",mp.players.local.name),mp.events.callRemote("registerSurveyResult",a))});
  331. mp.events.add("pw_forget",function(){null!=Webwindow.pw_forget?(Webwindow.pw_forget.destroy(),Webwindow.pw_forget=null):Webwindow.pw_forget=new CEFBrowser("package://viov/client_ui/html/login/pwforget.html?name\x3d"+mp.players.local.name,!0)});mp.events.add("pw_forget_close",function(){null!=Webwindow.pw_forget&&(Webwindow.pw_forget.destroy(),Webwindow.pw_forget=null,mp.gui.cursor.visible=!0)});
  332. mp.events.add("openClientLottoWindow",function(a){TempArguments.Lotto=a;Webwindow.Lotto=new CEFBrowser("package://viov/client_ui/html/lotto/lotto.html",!0)});mp.events.add("closeLotto",function(){Webwindow.Lotto.destroy();Webwindow.Lotto=null});mp.events.add("initLottoWindow",function(){null!=Webwindow.Lotto&&null!=TempArguments.Lotto&&(Webwindow.Lotto.call("setState",TempArguments.Lotto),TempArguments.Lotto=null)});
  333. mp.events.add("triggerServer",function(a,b,c,d,e,f,g,h,l,m){"onClientPlayLotto"==a&&(mp.events.callRemote("onClientPlayLotto",b,c,d,e,f,g,h,l,m),Webwindow.Lotto.destroy(),Webwindow.Lotto=null)});
  334. var NativeUI=require("nativeui"),Data=require("charcreator/data"),Menu=NativeUI.Menu,UIMenuItem=NativeUI.UIMenuItem,UIMenuListItem=NativeUI.UIMenuListItem,UIMenuCheckboxItem=NativeUI.UIMenuCheckboxItem,BadgeStyle=NativeUI.BadgeStyle,Point=NativeUI.Point,ItemsCollection=NativeUI.ItemsCollection,Color=NativeUI.Color,creatorCoords={camera:new mp.Vector3(402.8664,-997.5515,-98.5),cameraLookAt:new mp.Vector3(402.8664,-996.4108,-98.5)},localPlayer=mp.players.local;
  335. function getRandomInt(a,b){return Math.floor(Math.random()*(b-a+1))+a}function colorForOverlayIdx(a){switch(a){case 1:a=beardColorItem.Index;break;case 2:a=eyebrowColorItem.Index;break;case 5:a=blushColorItem.Index;break;case 8:a=lipstickColorItem.Index;break;case 10:a=chestHairColorItem.Index;break;default:a=0}return a}
  336. function updateParents(){localPlayer.setHeadBlendData(Data.mothers[motherItem.Index],Data.fathers[fatherItem.Index],0,Data.mothers[motherItem.Index],Data.fathers[fatherItem.Index],0,.01*similarityItem.Index,.01*skinSimilarityItem.Index,0,!1)}function updateFaceFeature(a){localPlayer.setFaceFeature(a,parseFloat(featureItems[a].SelectedValue))}
  337. function updateAppearance(a){localPlayer.setHeadOverlay(a,0==appearanceItems[a].Index?255:appearanceItems[a].Index-1,.01*appearanceOpacityItems[a].Index,colorForOverlayIdx(a),0)}
  338. function updateHairAndColors(){localPlayer.setComponentVariation(2,Data.hairList[currentGender][hairItem.Index].ID,0,2);localPlayer.setHairColor(hairColorItem.Index,hairHighlightItem.Index);localPlayer.setEyeColor(eyeColorItem.Index);localPlayer.setHeadOverlayColor(1,1,beardColorItem.Index,0);localPlayer.setHeadOverlayColor(2,1,eyebrowColorItem.Index,0);localPlayer.setHeadOverlayColor(5,2,blushColorItem.Index,0);localPlayer.setHeadOverlayColor(8,2,lipstickColorItem.Index,0);localPlayer.setHeadOverlayColor(10,
  339. 1,chestHairColorItem.Index,0)}
  340. function applyCreatorOutfit(){0==currentGender?(localPlayer.setDefaultComponentVariation(),localPlayer.setComponentVariation(3,15,0,2),localPlayer.setComponentVariation(4,21,0,2),localPlayer.setComponentVariation(6,34,0,2)):(localPlayer.setDefaultComponentVariation(),localPlayer.setComponentVariation(3,15,0,2),localPlayer.setComponentVariation(4,10,0,2),localPlayer.setComponentVariation(6,35,0,2));localPlayer.setComponentVariation(8,15,0,2);localPlayer.setComponentVariation(11,15,0,2)}
  341. function fillHairMenu(){hairItem=new UIMenuListItem("Haar","Das Haar deines Charakters.",new ItemsCollection(Data.hairList[currentGender].map(function(a){return a.Name})));creatorHairMenu.AddItem(hairItem);hairColorItem=new UIMenuListItem("Haarfarbe","Die Haarfarbe deines Charakters.",new ItemsCollection(hairColors));creatorHairMenu.AddItem(hairColorItem);hairHighlightItem=new UIMenuListItem("Hair Highlight Color","Your character's hair highlight color.",new ItemsCollection(hairColors));creatorHairMenu.AddItem(hairHighlightItem);
  342. eyebrowColorItem=new UIMenuListItem("Augenbraue Farbe","Die Augenbrauenfarbe deines Charakters.",new ItemsCollection(hairColors));creatorHairMenu.AddItem(eyebrowColorItem);beardColorItem=new UIMenuListItem("Gesichtshaarfarbe","Die Gesichtshaarfarbe deines Charakters.",new ItemsCollection(hairColors));creatorHairMenu.AddItem(beardColorItem);eyeColorItem=new UIMenuListItem("Augenfarbe","Die Augenfarbe deines Charakters",new ItemsCollection(Data.eyeColors));creatorHairMenu.AddItem(eyeColorItem);blushColorItem=
  343. new UIMenuListItem("Blush Color","Your character's blush color.",new ItemsCollection(blushColors));creatorHairMenu.AddItem(blushColorItem);lipstickColorItem=new UIMenuListItem("Lippenstift-Farbe","Die Lippenstiftfarbe deines Charakters.",new ItemsCollection(lipstickColors));creatorHairMenu.AddItem(lipstickColorItem);chestHairColorItem=new UIMenuListItem("Brusthaarfarbe","Die Brusthaarfarbe deines Charakters.",new ItemsCollection(hairColors));creatorHairMenu.AddItem(chestHairColorItem);creatorHairMenu.AddItem(new UIMenuItem("Zuf\u00e4llig",
  344. "~r~Randomizes your hair \x26 colors."));creatorHairMenu.AddItem(new UIMenuItem("Zur\u00fccksetzen","~r~Setzt Ihre Haare und Farben zur\u00fcck."))}function resetParentsMenu(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:!1;fatherItem.Index=0;motherItem.Index=0;similarityItem.Index=0==currentGender?100:0;skinSimilarityItem.Index=0==currentGender?100:0;updateParents();a&&creatorParentsMenu.RefreshIndex()}
  345. function resetFeaturesMenu(){for(var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:!1,b=0;b<Data.featureNames.length;b++)featureItems[b].Index=100,updateFaceFeature(b);a&&creatorFeaturesMenu.RefreshIndex()}function resetAppearanceMenu(){for(var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:!1,b=0;b<Data.appearanceNames.length;b++)appearanceItems[b].Index=0,appearanceOpacityItems[b].Index=100,updateAppearance(b);a&&creatorAppearanceMenu.RefreshIndex()}
  346. function resetHairAndColorsMenu(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:!1;hairItem.Index=0;hairColorItem.Index=0;hairHighlightItem.Index=0;eyebrowColorItem.Index=0;beardColorItem.Index=0;eyeColorItem.Index=0;blushColorItem.Index=0;lipstickColorItem.Index=0;chestHairColorItem.Index=0;updateHairAndColors();a&&creatorHairMenu.RefreshIndex()}for(var currentGender=0,creatorMenus=[],creatorCamera,hairColors=[],i=0;i<Data.maxHairColor;i++)hairColors.push(i.toString());
  347. for(var blushColors=[],_i=0;_i<Data.maxBlushColor;_i++)blushColors.push(_i.toString());for(var lipstickColors=[],_i2=0;_i2<Data.maxLipstickColor;_i2++)lipstickColors.push(_i2.toString());var creatorMainMenu=new Menu("Creator","",new Point(50,50)),genderItem=new UIMenuListItem("Geschlecht","~r~Wenn Sie dies \u00e4ndern, wird Ihre Anpassung zur\u00fcckgesetzt.",new ItemsCollection(["Male","Female"]));creatorMainMenu.AddItem(genderItem);creatorMainMenu.AddItem(new UIMenuItem("Eltern","Die Eltern deines Charakters."));
  348. creatorMainMenu.AddItem(new UIMenuItem("Eigenschaften","Die Gesichtsz\u00fcge deines Charakters"));creatorMainMenu.AddItem(new UIMenuItem("Haare \x26 Farben","Die Haarfarben deines Charakters."));for(var angles=[],_i3=-180;180>=_i3;_i3+=5)angles.push(_i3.toFixed(1));var angleItem=new UIMenuListItem("Angle","",new ItemsCollection(angles));creatorMainMenu.AddItem(angleItem);var saveItem=new UIMenuItem("Speichern","Alle \u00c4nderungen speichern.");saveItem.BackColor=new Color(13,71,161);
  349. saveItem.HighlightedBackColor=new Color(25,118,210);creatorMainMenu.AddItem(saveItem);var cancelItem=new UIMenuItem("Abbrechen","Verwerfen Sie alle \u00c4nderungen.");cancelItem.BackColor=new Color(213,0,0);cancelItem.HighlightedBackColor=new Color(229,57,53);
  350. creatorMainMenu.ListChange.on(function(a,b){a==genderItem?(currentGender=b,mp.events.callRemote("SetGender",b),setTimeout(function(){localPlayer.clearTasksImmediately();applyCreatorOutfit();angleItem.Index=0;resetParentsMenu(!0);resetFeaturesMenu(!0);resetAppearanceMenu(!0);creatorHairMenu.Clear();fillHairMenu();creatorHairMenu.RefreshIndex()},200)):a==angleItem&&(localPlayer.setHeading(parseFloat(angleItem.SelectedValue)),localPlayer.clearTasksImmediately())});
  351. creatorMainMenu.ItemSelect.on(function(a,b){switch(b){case 1:creatorMainMenu.Visible=!1;creatorParentsMenu.Visible=!0;break;case 2:creatorMainMenu.Visible=!1;creatorFeaturesMenu.Visible=!0;break;case 3:creatorMainMenu.Visible=!1;creatorHairMenu.Visible=!0;break;case 5:a=Data.fathers[fatherItem.Index];b=Data.mothers[motherItem.Index];for(var c=.01*similarityItem.Index,d=.01*skinSimilarityItem.Index,e=[],f=0;f<featureItems.length;f++)e.push(parseFloat(featureItems[f].SelectedValue));f=[];for(var g=
  352. 0;g<appearanceItems.length;g++)f.push({Value:0==appearanceItems[g].Index?255:appearanceItems[g].Index-1,Opacity:.01*appearanceOpacityItems[g].Index});g=[Data.hairList[currentGender][hairItem.Index].ID,hairColorItem.Index,hairHighlightItem.Index,eyebrowColorItem.Index,beardColorItem.Index,eyeColorItem.Index,blushColorItem.Index,lipstickColorItem.Index,chestHairColorItem.Index];mp.events.callRemote("SaveCharacter",currentGender,a,b,c,d,JSON.stringify(e),JSON.stringify(f),JSON.stringify(g));break;case 6:mp.events.callRemote("LeaveCreator")}});
  353. creatorMainMenu.MenuClose.on(function(){mp.events.callRemote("creator_Leave")});creatorMainMenu.Visible=!1;creatorMenus.push(creatorMainMenu);for(var similarities=[],_i6=0;100>=_i6;_i6++)similarities.push(_i6+"%");
  354. var creatorParentsMenu=new Menu("Eltern","",new Point(50,50)),fatherItem=new UIMenuListItem("Vater","Der Vater deines Charakters.",new ItemsCollection(Data.fatherNames)),motherItem=new UIMenuListItem("Mutter","Die Mutter deines Charakters.",new ItemsCollection(Data.motherNames)),similarityItem=new UIMenuListItem("\u00c4hnlichkeit","Similarity to parents.\n(lower \x3d feminine, higher \x3d masculine)",new ItemsCollection(similarities)),skinSimilarityItem=new UIMenuListItem("Hautfarbe","Skin color similarity to parents.\n(lower \x3d mother's, higher \x3d father's)",
  355. new ItemsCollection(similarities));creatorParentsMenu.AddItem(fatherItem);creatorParentsMenu.AddItem(motherItem);creatorParentsMenu.AddItem(similarityItem);creatorParentsMenu.AddItem(skinSimilarityItem);creatorParentsMenu.AddItem(new UIMenuItem("Zuf\u00e4llig","~r~Randomizes your parents."));creatorParentsMenu.AddItem(new UIMenuItem("Zur\u00fccksetzen","~r~Setzt deine Eltern zur\u00fcck."));
  356. creatorParentsMenu.ItemSelect.on(function(a,b){switch(a.Text){case "Zuf\u00e4llig":fatherItem.Index=getRandomInt(0,Data.fathers.length-1);motherItem.Index=getRandomInt(0,Data.mothers.length-1);similarityItem.Index=getRandomInt(0,100);skinSimilarityItem.Index=getRandomInt(0,100);updateParents();break;case "Zur\u00fccksetzen":resetParentsMenu()}});creatorParentsMenu.ListChange.on(function(a,b){updateParents()});creatorParentsMenu.ParentMenu=creatorMainMenu;creatorParentsMenu.Visible=!1;creatorMenus.push(creatorParentsMenu);
  357. for(var featureItems=[],features=[],_i7=-1;1.01>=_i7;_i7+=.01)features.push(_i7.toFixed(2));for(var creatorFeaturesMenu=new Menu("Eigenschaften","",new Point(50,50)),_i8=0;_i8<Data.featureNames.length;_i8++){var tempFeatureItem=new UIMenuListItem(Data.featureNames[_i8],"",new ItemsCollection(features));tempFeatureItem.Index=100;featureItems.push(tempFeatureItem);creatorFeaturesMenu.AddItem(tempFeatureItem)}creatorFeaturesMenu.AddItem(new UIMenuItem("Zuf\u00e4llig","~r~Randomizes your features."));
  358. creatorFeaturesMenu.AddItem(new UIMenuItem("Zur\u00fccksetzen","~r~Resets your features."));creatorFeaturesMenu.ItemSelect.on(function(a,b){switch(a.Text){case "Zuf\u00e4llig":for(a=0;a<Data.featureNames.length;a++)featureItems[a].Index=getRandomInt(0,200),updateFaceFeature(a);break;case "Zur\u00fccksetzen":resetFeaturesMenu()}});creatorFeaturesMenu.ListChange.on(function(a,b){updateFaceFeature(featureItems.indexOf(a))});creatorFeaturesMenu.ParentMenu=creatorMainMenu;creatorFeaturesMenu.Visible=!1;
  359. creatorMenus.push(creatorFeaturesMenu);for(var appearanceItems=[],appearanceOpacityItems=[],opacities=[],_i10=0;100>=_i10;_i10++)opacities.push(_i10+"%");
  360. for(var creatorAppearanceMenu=new Menu("Appearance","",new Point(50,50)),_i11=0;_i11<Data.appearanceNames.length;_i11++){for(var items=[],j=0,max=mp.game.ped.getNumHeadOverlayValues(_i11);j<=max;j++)items.push(void 0===Data.appearanceItemNames[_i11][j]?j.toString():Data.appearanceItemNames[_i11][j]);var tempAppearanceItem=new UIMenuListItem(Data.appearanceNames[_i11],"",new ItemsCollection(items));appearanceItems.push(tempAppearanceItem);creatorAppearanceMenu.AddItem(tempAppearanceItem);var tempAppearanceOpacityItem=
  361. new UIMenuListItem(Data.appearanceNames[_i11]+" Opacity","",new ItemsCollection(opacities));tempAppearanceOpacityItem.Index=100;appearanceOpacityItems.push(tempAppearanceOpacityItem);creatorAppearanceMenu.AddItem(tempAppearanceOpacityItem)}creatorAppearanceMenu.AddItem(new UIMenuItem("Zuf\u00e4llig","~r~Randomizes your appearance."));creatorAppearanceMenu.AddItem(new UIMenuItem("Zur\u00fccksetzen","~r~Resets your appearance."));
  362. creatorAppearanceMenu.ItemSelect.on(function(a,b){switch(a.Text){case "Zuf\u00e4llig":for(a=0;a<Data.appearanceNames.length;a++)appearanceItems[a].Index=getRandomInt(0,mp.game.ped.getNumHeadOverlayValues(a)-1),appearanceOpacityItems[a].Index=getRandomInt(0,100),updateAppearance(a);break;case "Zur\u00fccksetzen":resetAppearanceMenu()}});
  363. creatorAppearanceMenu.ListChange.on(function(a,b){updateAppearance(0==creatorAppearanceMenu.CurrentSelection%2?creatorAppearanceMenu.CurrentSelection/2:Math.floor(creatorAppearanceMenu.CurrentSelection/2))});creatorAppearanceMenu.ParentMenu=creatorMainMenu;creatorAppearanceMenu.Visible=!1;creatorMenus.push(creatorAppearanceMenu);
  364. var hairItem=void 0,hairColorItem=void 0,hairHighlightItem=void 0,eyebrowColorItem=void 0,beardColorItem=void 0,eyeColorItem=void 0,blushColorItem=void 0,lipstickColorItem=void 0,chestHairColorItem=void 0;creatorHairMenu=new Menu("Haare \x26 Farben","",new Point(50,50));fillHairMenu();
  365. creatorHairMenu.ItemSelect.on(function(a,b){switch(a.Text){case "Zuf\u00e4llig":hairItem.Index=getRandomInt(0,Data.hairList[currentGender].length-1);hairColorItem.Index=getRandomInt(0,Data.maxHairColor);hairHighlightItem.Index=getRandomInt(0,Data.maxHairColor);eyebrowColorItem.Index=getRandomInt(0,Data.maxHairColor);beardColorItem.Index=getRandomInt(0,Data.maxHairColor);eyeColorItem.Index=getRandomInt(0,Data.maxEyeColor);blushColorItem.Index=getRandomInt(0,Data.maxBlushColor);lipstickColorItem.Index=
  366. getRandomInt(0,Data.maxLipstickColor);chestHairColorItem.Index=getRandomInt(0,Data.maxHairColor);updateHairAndColors();break;case "Zur\u00fccksetzen":resetHairAndColorsMenu()}});
  367. creatorHairMenu.ListChange.on(function(a,b){if(a==hairItem)localPlayer.setComponentVariation(2,Data.hairList[currentGender][b].ID,0,2);else switch(creatorHairMenu.CurrentSelection){case 1:localPlayer.setHairColor(b,hairHighlightItem.Index);break;case 2:localPlayer.setHairColor(hairColorItem.Index,b);break;case 3:localPlayer.setHeadOverlayColor(2,1,b,0);break;case 4:localPlayer.setHeadOverlayColor(1,1,b,0);break;case 5:localPlayer.setEyeColor(b);break;case 6:localPlayer.setHeadOverlayColor(5,2,b,0);
  368. break;case 7:localPlayer.setHeadOverlayColor(8,2,b,0);break;case 8:localPlayer.setHeadOverlayColor(10,1,b,0)}});creatorHairMenu.ParentMenu=creatorMainMenu;creatorHairMenu.Visible=!1;creatorMenus.push(creatorHairMenu);
  369. mp.events.add("render",function(){void 0!=creatorCamera?(mp.game.controls.disableControlAction(2,266,!0),mp.game.controls.disableControlAction(2,267,!0),mp.game.controls.disableControlAction(2,268,!0),mp.game.controls.disableControlAction(2,269,!0),mp.game.controls.disableControlAction(2,36,!0),mp.game.ui.setPauseMenuActive(!1)):mp.game.ui.setPauseMenuActive(!0)});var AddedCancelItem=!1;
  370. mp.events.add("CreatorCamera",function(a){void 0===creatorCamera&&(mp.game.cam.renderScriptCams(!0,!1,0,!0,!1),creatorCamera=mp.cameras.new("creatorCamera",creatorCoords.camera,new mp.Vector3(0,0,0),45),creatorCamera.pointAtCoord(creatorCoords.cameraLookAt),creatorCamera.setActive(!0),creatorMainMenu.Visible=!0,mp.gui.chat.show(!1),mp.game.ui.displayRadar(!1),mp.game.ui.displayHud(!1),localPlayer.clearTasksImmediately(),localPlayer.freezePosition(!0),mp.game.cam.renderScriptCams(!0,!1,0,!0,!1),0==
  371. AddedCancelItem&&0==a&&(creatorMainMenu.AddItem(cancelItem),AddedCancelItem=!0))});mp.events.add("DestroyCamera",function(){for(var a=0;a<creatorMenus.length;a++)creatorMenus[a].Visible=!1;mp.gui.chat.show(!0);mp.game.ui.displayRadar(!0);mp.game.ui.displayHud(!0);localPlayer.freezePosition(!1);creatorCamera=void 0;mp.game.cam.renderScriptCams(!1,!1,0,!0,!1);creatorMainMenu.Visible=!1});
  372. mp.events.add("UpdateCreator",function(){charData=JSON.parse(0>=arguments.length?void 0:arguments[0]);currentGender=charData.Gender;genderItem.Index=charData.Gender;creatorHairMenu.Clear();fillHairMenu();applyCreatorOutfit();fatherItem.Index=Data.fathers.indexOf(charData.Parents.Father);motherItem.Index=Data.mothers.indexOf(charData.Parents.Mother);similarityItem.Index=parseInt(100*charData.Parents.Similarity);skinSimilarityItem.Index=parseInt(100*charData.Parents.SkinSimilarity);updateParents();
  373. for(var a=0;a<charData.Features.length;a++)featureItems[a].Index=100*charData.Features[a]+100,updateFaceFeature(a);a=Data.hairList[currentGender].find(function(a){return a.ID==charData.Hair.Hair});hairItem.Index=Data.hairList[currentGender].indexOf(a);hairColorItem.Index=charData.Hair.Color;hairHighlightItem.Index=charData.Hair.HighlightColor;eyebrowColorItem.Index=charData.EyebrowColor;beardColorItem.Index=charData.BeardColor;eyeColorItem.Index=charData.EyeColor;blushColorItem.Index=charData.BlushColor;
  374. lipstickColorItem.Index=charData.LipstickColor;chestHairColorItem.Index=charData.ChestHairColor;updateHairAndColors();for(a=0;a<charData.Appearance.length;a++)appearanceItems[a].Index=255==charData.Appearance[a].Value?0:charData.Appearance[a].Value+1,appearanceOpacityItems[a].Index=100*charData.Appearance[a].Opacity,updateAppearance(a)});mp.keys.bind(27,!1,function(){creatorCamera&&(creatorMainMenu.Visible=!0)});mp.keys.bind(8,!1,function(){creatorCamera&&(creatorMainMenu.Visible=!0)});
  375. function inside(a,b){var c=a[0];a=a[1];for(var d=!1,e=0,f=b.length-1;e<b.length;f=e++){var g=b[e][0],h=b[e][1],l=b[f][0];f=b[f][1];h>a!=f>a&&c<(l-g)*(a-h)/(f-h)+g&&(d=!d)}return d}
  376. var Gangturf=function(){function a(b,c,d,e,f,g,h,l,m){_classCallCheck(this,a);this._setup(b,c,d,e,f,g,h,l,m)}_createClass(a,[{key:"_setup",value:function(a,c,d,e,f,g,h,l,m){this.name=a;this.id=c;this.range=g;this.color=h;this.position={x:d,y:e,z:f};this.rotation=l;this._colshape=this.blip=null;this._status=!0;this._inColshape=this._isEntering=this._entered=!1;this._timerCheck;this._owner=m;this.loadArea()}},{key:"loadArea",value:function(){this.blip=mp.game.ui.addBlipForRadius(this.position.x,this.position.y,
  377. this.position.z,this.range);natives.SET_BLIP_SPRITE(this.blip,5);natives.SET_BLIP_ALPHA(this.blip,170);this._colshape=mp.colshapes.newCircle(this.position.x,this.position.y,1.5*this.range);natives.SET_BLIP_COLOUR(this.blip,this.color)}},{key:"render",value:function(){this.blip&&(natives.SET_BLIP_ROTATION(this.blip,this.rotation),natives.SET_BLIP_COORDS(this.blip,this.position.x,this.position.y,this.position.z))}},{key:"updateArea",value:function(a){"attack"==a?(this._status="attack",natives.SET_BLIP_FLASHES(this.blip,
  378. !0)):"normal"==a?(this._status="normal",natives.SET_BLIP_FLASHES(this.blip,!1)):"conquered"==a&&(this._status="conquered",this._owner=2>=arguments.length?void 0:arguments[2],natives.SET_BLIP_FLASHES(this.blip,!1),natives.SET_BLIP_COLOUR(this.blip,1>=arguments.length?void 0:arguments[1]))}},{key:"destroy",value:function(){mp.game.ui.removeBlip(this.blip);this._colshape.destroy()}},{key:"isTurfArea",value:function(a){return a==this._colshape}},{key:"isOwner",value:function(a){return a==this._owner}},
  379. {key:"check",value:function(){this._entered?1!=this._entered||this.isInsideArea()&&0!=this.isNearGround()||(this._entered=!1,mp.events.call("OnClientGangAreaLeave",this),mp.events.callRemote("OnClientGangAreaLeave",this.id)):this.isInsideArea()&&1==this.isNearGround()&&(this._entered=!0,mp.events.call("OnClientGangAreaEnter",this),mp.events.callRemote("OnClientGangAreaEnter",this.id))}},{key:"enter",value:function(){var a=this;a._timerCheck=setInterval(function(){a.check()},1E3)}},{key:"leave",value:function(){clearInterval(this._timerCheck);
  380. this.check()}},{key:"isNearGround",value:function(){var a=mp.game.gameplay.getGroundZFor3dCoord(this.position.x,this.position.y,9E3,0,!1);return 75>=mp.game.system.vdist(0,0,a,0,0,mp.players.local.position.z)?!0:!1}},{key:"isInsideArea",value:function(){var a=mp.players.local.position.x,c=mp.players.local.position.y,d=Math.sqrt(1.44*this.range*this.range+1.2*this.range/2*(1.2*this.range/2)),e=Math.PI/180*(this.rotation+45),f=this.position.x+d*Math.cos(e),g=this.position.y+d*Math.sin(e);e=Math.PI/
  381. 180*(this.rotation+135);var h=this.position.x+d*Math.cos(e),l=this.position.y+d*Math.sin(e);e=Math.PI/180*(this.rotation+225);var m=this.position.x+d*Math.cos(e),n=this.position.y+d*Math.sin(e);e=Math.PI/180*(this.rotation+315);return inside([a,c],[[f,g],[h,l],[m,n],[this.position.x+d*Math.cos(e),this.position.y+d*Math.sin(e)]])?!0:!1}},{key:"status",get:function(){}}]);return a}(),TurfDisplay=new (function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){this._curArea=
  382. "";this._area=null;this._curPointsPositive=50;this._curPointsNegative=150;this._turfScores=[]}},{key:"setTurfScores",value:function(a,c,d){this._turfScores[a]={attacker:c,defender:d}}},{key:"clearTurfScores",value:function(a){this._turfScores[a]=null;delete this._turfScores[a]}},{key:"setCurrentArea",value:function(a){this._area=a}},{key:"render",value:function(){if(null!=this._area&&this._area.isInsideArea()){var a=this._area.id;if(this._turfScores[a]){var c=this._turfScores[a].attacker;a=this._turfScores[a].defender;
  383. mp.game.graphics.drawRect(.225,.959,.12,.06,0,0,0,100);mp.game.graphics.drawRect(.225,.97,.11,.022,0,0,0,100);var d=.00055*a,e=.17+d/2;mp.game.graphics.drawRect(e,.97,d,.022,150,0,0,100);var f=.00055*c;d=.17+f/2+d;mp.game.graphics.drawRect(d,.97,f,.022,0,150,0,100);mp.game.graphics.drawText(this._area.name,[.225,.933],{font:0,color:[255,255,255,255],scale:[.27,.27],outline:!0,centre:!0});10<c&&mp.game.graphics.drawText(c,[d,.962],{font:0,color:[255,255,255,150],scale:[.2,.2],outline:!0,centre:!0});
  384. 10<a&&mp.game.graphics.drawText(a,[e,.962],{font:0,color:[255,255,255,150],scale:[.2,.2],outline:!0,centre:!0})}}}}]);return a}()),gangturfs=[];mp.events.add("playerEnterColshape",function(a){var b=void 0;gangturfs.forEach(function(c,d){1==c.isTurfArea(a)&&(b=c)});b&&b.isTurfArea(a)&&b.enter()});mp.events.add("playerExitColshape",function(a){var b=void 0;gangturfs.forEach(function(c,d){1==c.isTurfArea(a)&&(b=c)});b&&b.isTurfArea(a)&&b.leave()});
  385. mp.events.add("render",function(){gangturfs.forEach(function(a,b){a.render()});GangwarScoreboard.render()});
  386. mp.events.add("CreateGangAreas",function(a){natives.SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT(!0);for(var b=natives.GET_FIRST_BLIP_INFO_ID(5);natives.DOES_BLIP_EXIST(b);)mp.game.ui.removeBlip(b),b=natives.GET_NEXT_BLIP_INFO_ID(5);mp.game.wait(50);a=JSON.parse(a);for(k in a)b=a[k],gangturfs[gangturfs.length+1]=new Gangturf(b.Name,b.ID,b.Position.x,b.Position.y,b.Position.z,b.Range,b.Color,b.Rotation,b.OwnerID)});
  387. mp.events.add("initGangwarScoreboard",function(){null!=GangwarScoreboard.window&&GangwarScoreboard.windowReady()});
  388. var GangwarScoreboard=new (function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){this._curArea="";this._area=null;this._turfScores=[];this._window=null;this._isShowing=this._windowReady=!1}},{key:"windowReady",value:function(){this._windowReady=!0;if(null!=this._area&&this._area.isInsideArea()){var a=this._turfScores[this._area.id];null!=a&&null!=this._window&&1==this._windowReady&&this._window.call("loadGangwarScoreboard",a.attacker,a.defender,
  389. a.attacker_member,a.defender_member,!a.isDefending)}}},{key:"createScoreboard",value:function(){null==this._window&&(this._window=new CEFBrowser("package://viov/client_ui/html/gangwar_display/index.html",!1))}},{key:"destroyScoreboard",value:function(){}},{key:"setTurfScores",value:function(a,c,d,e,f,g){0==Object.keys(this._turfScores).length&&this.createScoreboard();this._turfScores[a]={attacker:d,defender:e,isDefending:c,attacker_member:JSON.parse(f),defender_member:JSON.parse(g)};null!=this._area&&
  390. this._area.isInsideArea()&&(a=this._turfScores[a],null!=a&&null!=this._window&&1==this._windowReady&&this._window.call("loadGangwarScoreboard",a.attacker,a.defender,a.attacker_member,a.defender_member,!a.isDefending))}},{key:"clearTurfScores",value:function(a){this._turfScores[a]=null;delete this._turfScores[a];this._window&&0==Object.keys(this._turfScores).length&&(this._window.destroy(),this._window=null,this._windowReady=!1)}},{key:"setCurrentArea",value:function(a){this._area=a;null!=this._area?
  391. (a=this._turfScores[this._area.id],null!=a&&null!=this._window&&1==this._windowReady&&this._window.call("loadGangwarScoreboard",a.attacker,a.defender,a.attacker_member,a.defender_member,!a.isDefending)):(this._isShowing=!1,null!=this._window&&1==this._windowReady&&this._window.call("hideGangwarScoreboard"))}},{key:"render",value:function(){null!=this._area&&this._area.isInsideArea()&&this._turfScores[this._area.id]&&null!=this._window&&1==this._windowReady&&(mp.keys.isDown(89)?(0==this._isShowing&&
  392. (this._isShowing=!0,this._window.call("showGangwarScoreboard")),mp.game.controls.disableControlAction(2,99,!0),mp.game.controls.disableControlAction(2,100,!0),mp.game.controls.disableControlAction(2,115,!0),mp.game.controls.disableControlAction(2,116,!0),mp.game.controls.disableControlAction(2,85,!0),mp.game.controls.disableControlAction(2,16,!0),mp.game.controls.disableControlAction(2,17,!0),mp.game.controls.isDisabledControlJustPressed(2,16)?this._window.call("scrollDown"):mp.game.controls.isDisabledControlJustPressed(2,
  393. 17)&&this._window.call("scrollUp")):1==this._isShowing&&(this._isShowing=!1,this._window.call("hideGangwarScoreboard")))}},{key:"shouldDisplayGangwarScoreboard",value:function(){return null!=this._area?this._area.isInsideArea()?this._turfScores[this._area.id]?null!=this._window&&1==this._windowReady?!0:!1:!1:!1:!1}},{key:"window",get:function(){return this._window}}]);return a}());mp.events.add("OnClientGangAreaEnter",function(a){GangwarScoreboard.setCurrentArea(a)});
  394. mp.events.add("OnClientGangAreaLeave",function(a){GangwarScoreboard.setCurrentArea(null)});mp.events.add("OnGangAreaUpdate",function(a,b,c,d,e,f,g){var h=void 0;gangturfs.forEach(function(b){a==b.id&&(h=b)});h&&(GangwarScoreboard.setTurfScores(h.id,h.isOwner(LocalGroupID),b,c,f,g),h.updateArea("attack"))});mp.events.add("OnGangAreaFinish",function(a,b,c){var d=void 0;gangturfs.forEach(function(b){a==b.id&&(d=b)});d&&(d.updateArea("conquered",b,c),GangwarScoreboard.clearTurfScores(a))});
  395. mp.events.add("ClientRequestCloseGangwarSlots",function(){null!=Webwindow.GangwarSlots&&(Webwindow.GangwarSlots.active(!1),setTimeout(function(){Webwindow.GangwarSlots.destroy();Webwindow.GangwarSlots=null;TempArguments.GangwarSlotsData=null},10))});
  396. mp.events.add("ClientRequestSaveGangwarSlots",function(a,b){null!=Webwindow.GangwarSlots&&(Webwindow.GangwarSlots.active(!1),setTimeout(function(){Webwindow.GangwarSlots.destroy();Webwindow.GangwarSlots=null;TempArguments.GangwarSlotsData=null;var c=JSON.parse(b).join(",");mp.events.callRemote("OnClientRequestGangOwnerAdd",a,c)},10))});
  397. mp.events.add("initGangwarSetWindow",function(){if(null!=Webwindow.GangwarSlots){var a=TempArguments.GangwarSlotsData;null!=a&&Webwindow.GangwarSlots.call("loadGangwarData",a.id,a.members,a.counter,a.set_members)}});mp.events.add("OnPlayerOpenedGangOwnerWindow",function(a,b,c,d){Webwindow.GangwarSlots=new CEFBrowser("package://viov/client_ui/html/gangwar_set/index.html",!0);TempArguments.GangwarSlotsData={members:JSON.parse(a),id:b,counter:c,set_members:JSON.parse(d)}});
  398. var scoreboard={scroll:0,players:[],max_visible_players:20,initialized:0,timer:null,draw:function(){var a=this;0==a.initialized&&(a.initialized=1);if(mp.keys.isDown(89)&&0==mp.gui.cursor.visible&&0==GangwarScoreboard.shouldDisplayGangwarScoreboard()){mp.game.graphics.clearDrawOrigin();mp.game.controls.disableControlAction(2,99,!0);mp.game.controls.disableControlAction(2,100,!0);mp.game.controls.disableControlAction(2,115,!0);mp.game.controls.disableControlAction(2,116,!0);mp.game.controls.disableControlAction(2,
  399. 85,!0);mp.game.controls.disableControlAction(2,16,!0);mp.game.controls.disableControlAction(2,17,!0);var b=a.players.length;b>a.max_visible_players&&(b=a.max_visible_players);mp.game.graphics.drawRect(.5,.48,.42,.6,5,5,5,150);b<a.players.length&&a.players.length>=a.max_visible_players&&(mp.game.controls.isDisabledControlJustPressed(2,16)?a.scroll=a.scroll+1>=a.players.length-a.max_visible_players?a.players.length-a.max_visible_players:a.scroll+1:mp.game.controls.isDisabledControlJustPressed(2,17)&&
  400. (a.scroll=0>=a.scroll-1?0:a.scroll-1),mp.game.graphics.drawRect(.7,.48,.02,.6,30,30,30,187),b=.6/(a.players.length+1-b),mp.game.graphics.drawRect(.7,.18+b/2+a.scroll*b,.02,b,120,120,120,187));mp.game.graphics.drawText("Name",[.36,.19],{font:0,color:[255,255,255,255],scale:[.4,.4],outline:!1});mp.game.graphics.drawText("Gruppe",[.47,.19],{font:0,color:[255,255,255,255],scale:[.4,.4],outline:!1});mp.game.graphics.drawText("Spielzeit",[.57,.19],{font:0,color:[255,255,255,255],scale:[.4,.4],outline:!1});
  401. mp.game.graphics.drawText("Ping",[.66,.19],{font:0,color:[255,255,255,255],scale:[.4,.4],outline:!1});var c=0;a.players.forEach(function(b,e){e<a.scroll+a.max_visible_players&&e>=a.scroll&&(c+=1,mp.game.graphics.drawText(b.name,[.36,.21+.026*c],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!1,centre:!1}),mp.game.graphics.drawText(b.group,[.47,.21+.026*c],{font:0,color:[255,255,255,255],scale:[.3,.3],outline:!1,centre:!1}),mp.game.graphics.drawText(b.playtime,[.57,.21+.026*c],{font:0,color:[255,
  402. 255,255,255],scale:[.3,.3],outline:!1,centre:!1}),e=[255,255,255,255],80>=b.ping&&(e=[39,209,33,255]),80<b.ping&&(e=[238,91,13,255]),100<b.ping&&(e=[230,50,50,255]),mp.game.graphics.drawText(b.ping,[.66,.21+.026*c],{font:0,color:e,scale:[.3,.3],outline:!1,centre:!1}))})}}};mp.events.add("render",function(){scoreboard.draw()});
  403. mp.events.add("giveRequestedPlayerListDatas",function(){scoreboard.players=[];isPlayerOnBetaServer?mp.discord.update("Vio-V Testserver",mp.players.local.name):mp.discord.update("www.vio-v.com",mp.players.local.name);for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];0==IsLocalPlayerInCasino&&mp.game.time.setClockTime(b[4],b[5],0);for(a=0;a<b[1].length;a++){c={name:b[0][a],playtime:b[1][a],group:b[2][a],ping:b[3][a]};if(!isNaN(b[1][a])){var d=c.playtime%60;c.playtime=Math.floor(c.playtime/
  404. 60)+":"+(10>d?"0"+d:d)}scoreboard.players.push(c)}scoreboard.players=scoreboard.players.sort(function(a,b){return"verbindet ..."==a.group&&"verbindet ..."==b.group?a.name>b.name?1:-1:"verbindet ..."==a.group?1:"verbindet ..."==b.group?-1:"-"==a.group&&"-"==b.group?a.name>b.name?1:-1:"-"==a.group?-1:"-"==b.group?1:a.group>b.group?1:-1});mp.events.call("onScoreboardUpdate",scoreboard.players)});
  405. var player_bones={SKEL_L_UpperArm:{bone_id:45509,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_R_UpperArm:{bone_id:40269,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_L_Forearm:{bone_id:61163,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_R_Forearm:{bone_id:28252,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_Head:{bone_id:31086,threshold:.15,offset:{x:0,y:0,z:0}},SKEL_R_Hand:{bone_id:57005,threshold:.06,offset:{x:0,y:0,z:0}},SKEL_L_Hand:{bone_id:18905,threshold:.06,offset:{x:0,y:0,z:.05}},SKEL_R_Clavicle:{bone_id:10706,
  406. threshold:.1,offset:{x:0,y:0,z:0}},SKEL_L_Clavicle:{bone_id:64729,threshold:.1,offset:{x:0,y:0,z:0}},SKEL_Spine0:{bone_id:23553,threshold:.15,offset:{x:0,y:0,z:0}},SKEL_Spine1:{bone_id:24816,threshold:.15,offset:{x:0,y:0,z:0}},SKEL_Spine2:{bone_id:24817,threshold:.15,offset:{x:0,y:0,z:0}},SKEL_Spine3:{bone_id:24818,threshold:.15,offset:{x:0,y:0,z:0}},SKEL_R_Calf:{bone_id:36864,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_L_Calf:{bone_id:63931,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_L_Thigh:{bone_id:58271,
  407. threshold:.08,offset:{x:0,y:0,z:0}},SKEL_R_Thigh:{bone_id:51826,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_R_Foot:{bone_id:52301,threshold:.08,offset:{x:0,y:0,z:0}},SKEL_L_Foot:{bone_id:14201,threshold:.08,offset:{x:0,y:0,z:0}}};
  408. function getVehiclePassangerEntityFromPosition(a,b){var c=[];mp.players.forEachInStreamRange(function(a){a.vehicle==b&&c.push(a)});var d={dist:9999,target:null};c.forEach(function(b){var c=b.position;c=mp.game.system.vdist2(a.x,a.y,a.z,c.x,c.y,c.z);c<d.dist&&(d.dist=c,d.target=b)});return d}
  409. function getIsHitOnBone(a,b){var c="",d=99;if(null!=b)for(var e in player_bones){var f=player_bones[e].bone_id,g=player_bones[e].offset,h=player_bones[e].threshold,l=mp.players.local.getBoneCoords(12844,0,0,0);f=b.getBoneCoords(f,g.x,g.y,g.z);mp.raycasting.testPointToPoint(a,f,mp.players.local,2);if(1.6>mp.game.system.vdist(a.x,a.y,a.z,f.x,f.y,f.z)){g=new mp.Vector3(a.x-l.x,a.y-l.y,a.z-l.z);var m=mp.game.system.vdist(a.x,a.y,a.z,l.x,l.y,l.z);g=g.normalize(m);m=mp.game.system.vdist(f.x,f.y,f.z,l.x,
  410. l.y,l.z);g=g.multiply(m);l=mp.game.system.vdist(f.x,f.y,f.z,l.x+g.x,l.y+g.y,l.z+g.z);d>l&&l<=h&&(c=e,d=l)}}return{hit:""!=c?!0:!1,bone:c,dist:d}}var shotgunSpreadData={487013001:{spray:1.5,max_dist:25}};function getWeaponDetails(a){return shotgunSpreadData[a]?shotgunSpreadData[a]:{spray:1.5,max_dist:25}}
  411. function isWallbugging(a){var b=mp.players.local.getBoneCoords(40269,0,0,0);if(a=mp.raycasting.testPointToPoint(a,b,mp.players.local,19)){a=a.position;var c=new mp.Vector3(a.x-b.x,a.y-b.y,a.z-b.z);b=mp.game.system.vdist(a.x,a.y,a.z,b.x,b.y,b.z);c=c.normalize(b/2).multiply(b/2);b=new mp.Vector3(a.x+c.x,a.y+c.y,a.z+c.z);c=new mp.Vector3(a.x-c.x,a.y-c.y,a.z-c.z);a=mp.raycasting.testPointToPoint(b,c,mp.players.local,19);b=mp.raycasting.testPointToPoint(c,b,mp.players.local,19);return a&&b?.45>mp.game.system.vdist(a.position.x,
  412. a.position.y,a.position.z,b.position.x,b.position.y,b.position.z)?!1:!0:!0}return!1}
  413. function calculateShotgunPelletsOnPlayers(){var a=null,b=mp.players.local.getBoneCoords(57005,0,0,0),c=mp.players.local.aimingAt;mp.raycasting.testPointToPoint(c,b,mp.players.local,19)||mp.players.forEachInStreamRange(function(d){if(mp.players.local!=d){var e=d.getWorldPositionOfBone(d.getBoneIndexByName("IK_Head"));if(!mp.raycasting.testPointToPoint(b,e,mp.players.local,19)){var f=mp.players.local.getBoneCoords(12844,0,0,0),g=new mp.Vector3(c.x-f.x,c.y-f.y,c.z-f.z),h=mp.game.system.vdist(c.x,c.y,
  414. c.z,f.x,f.y,f.z);g=g.normalize(h);h=mp.game.system.vdist(e.x,e.y,e.z,f.x,f.y,f.z);g=g.multiply(h);new mp.Vector3(f.x+g.x,f.y+g.y,f.z+g.z);f=mp.game.system.vdist(e.x,e.y,e.z,f.x+g.x,f.y+g.y,f.z+g.z);g=mp.game.system.vdist(e.x,e.y,e.z,b.x,b.y,b.z);if(e=getWeaponDetails(Number(mp.players.local.weapon)))g=lerp(.5,e.spray,1/e.max_dist*g),g>e.spray&&(g=e.spray),e=!1,g>f&&(e=!0),1==e&&(a=d)}}});return a}
  415. mp.events.add("playerWeaponShot",function(a,b){var c=weapon_data.getWeaponHash(Number(mp.players.local.weapon)),d=mp.players.local.weapon,e=mp.players.local.getAmmoInClip(d);mp.events.callRemote("onClientWeaponFired",c,e);mp.game.player.setTargetingMode(1);mp.game.player.setLockon(!1);mp.game.player.setLockonRangeOverride(0);0==isWallbugging(a)&&(b?b.isInAnyVehicle(!1)?(b=b.vehicle,d=getVehiclePassangerEntityFromPosition(a,b),1==getIsHitOnBone(a,d.target).hit?mp.events.callRemote("onPlayerHitOtherPlayer",
  416. d.target,c):mp.events.callRemote("onPlayerHitOtherVehicle",b,c)):mp.events.callRemote("onPlayerHitOtherPlayer",b,c):860033945==mp.game.weapon.getWeapontypeGroup(d)&&(a=calculateShotgunPelletsOnPlayers(),null!=a&&mp.events.callRemote("onPlayerHitOtherPlayer",a,c)))});var driveby_disabled={324215364:!0},timerHitmarker=0,timerHitmarkerVehicle=0,timerHitmarkerKill=0,timerEnterDisable=0;
  417. mp.events.add("render",function(){mp.game.player.resetStamina();mp.game.graphics.hasStreamedTextureDictLoaded("hud_reticle")||mp.game.graphics.requestStreamedTextureDict("hud_reticle",!0);mp.game.graphics.hasStreamedTextureDictLoaded("hud_reticle")&&(.1>=Date.now()/1E3-timerHitmarker&&mp.game.graphics.drawSprite("hud_reticle","reticle_ar",.5,.5,.025,.04,45,255,255,255,150),.1>=Date.now()/1E3-timerHitmarkerVehicle&&mp.game.graphics.drawSprite("hud_reticle","reticle_ar",.5,.5,.025,.04,45,255,255,0,
  418. 150),.1>=Date.now()/1E3-timerHitmarkerKill&&mp.game.graphics.drawSprite("hud_reticle","reticle_ar",.5,.5,.025,.04,45,200,0,0,150));2>=Date.now()/1E3-timerEnterDisable&&(mp.game.controls.disableControlAction(0,23,!0),mp.game.controls.disableControlAction(1,23,!0),mp.game.controls.disableControlAction(2,23,!0));driveby_disabled[Number(mp.players.local.weapon)]?mp.game.player.setCanDoDriveBy(!1):mp.game.player.setCanDoDriveBy(!0)});
  419. function playHitmarker(){if(0<mp.storage.data.hitSettings.sound){var a="";1==mp.storage.data.hitSettings.sound?a="hit_sound_1.mp3":2==mp.storage.data.hitSettings.sound?a="hit_sound_2.wav":3==mp.storage.data.hitSettings.sound?a="hit_sound_3.wav":4==mp.storage.data.hitSettings.sound&&(a="hit_sound_4.mp3");mp.events.call("playSound",a,!1)}}mp.events.add("onPlayerTargetHit",function(){1==mp.storage.data.hitSettings.hitmarker&&(timerHitmarker=Date.now()/1E3)});
  420. mp.events.add("onPlayerVehicleHit",function(){1==mp.storage.data.hitSettings.hitmarker&&(timerHitmarkerVehicle=Date.now()/1E3)});mp.events.add("onPlayerTargetKill",function(){1==mp.storage.data.hitSettings.hitmarker&&(timerHitmarkerKill=Date.now()/1E3)});mp.events.add("onPlayerHitted",function(a){timerEnterDisable=Date.now()/1E3});
  421. var color=[255,255,255,255],alphaLoads=[],knownPlayers=[],optionsViewRange={foot:80,vehicle:500,passanger:800,aiming_in_cone:800,known:500,biggest_dist:800},aimPointTarget={target:null,target_id:null,duration:0,maxDuration:1.5,offsetMax:1.5,loseTarget:2,alpha:0},weaponSpotDistance={453432689:30,1593441988:30,911657153:10,2578377531:30,3218215474:30,137902532:30,3249783761:30,736523883:40,487013001:20,3220176749:50,2210333304:50};
  422. function getWeaponSpotDistance(a){return weaponSpotDistance[a]?weaponSpotDistance[a]:20}var timeCalls=[];timeCalls.known=0;timeCalls.aimNametag=0;
  423. mp.events.add("render",function(a){var b=null,c=mp.players.local.getBoneCoords(12844,.5,0,0);mp.players.forEachInStreamRange(function(a){if(a!=mp.players.local){alphaLoads[a.name]||(alphaLoads[a.name]=0);knownPlayers[a.name]||(knownPlayers[a.name]=0);var d=a.getBoneCoords(12844,0,0,0);if(!mp.raycasting.testPointToPoint(c,d,mp.players.local,273)){d=!1;if(a.getVariable("WantedLevel"))switch(parseInt(a.getVariable("WantedLevel"))){case 1:color=[255,204,204,alphaLoads[a.name]];break;case 2:color=[255,
  424. 153,153,alphaLoads[a.name]];break;case 3:color=[255,102,102,alphaLoads[a.name]];break;case 4:color=[255,51,51,alphaLoads[a.name]];break;case 5:color=[255,0,0,alphaLoads[a.name]]}else color=[255,255,255,alphaLoads[a.name]];if(a.isDead()||1>a.getHealth())color=[40,40,40,alphaLoads[a.name]];var e=mp.players.local.position,f=a.getWorldPositionOfBone(a.getBoneIndexByName("IK_Head"));if(a.isInAnyVehicle(!1)&&null!=a.vehicle){var g=null;a.vehicle.getPedInSeat(-1)==a.handle?g=a.vehicle.getWorldPositionOfBone(a.vehicle.getBoneIndexByName("seat_dside_f")):
  425. a.vehicle.getPedInSeat(0)==a.handle?g=a.vehicle.getWorldPositionOfBone(a.vehicle.getBoneIndexByName("seat_pside_f")):a.vehicle.getPedInSeat(1)==a.handle?g=a.vehicle.getWorldPositionOfBone(a.vehicle.getBoneIndexByName("seat_dside_r")):a.vehicle.getPedInSeat(2)==a.handle&&(g=a.vehicle.getWorldPositionOfBone(a.vehicle.getBoneIndexByName("seat_pside_r")));if(null!=g){var h=a.vehicle.getOffsetFromGivenWorldCoords(g.x,g.y,g.z);25>mp.game.system.vdist2(g.x,g.y,g.z,f.x,f.y,f.z)?f=a.vehicle.getOffsetFromInWorldCoords(h.x,
  426. h.y,h.z+1.2):f.z+=.5}}else f.z+=.5;h=mp.game.system.vdist2(e.x,e.y,e.z,f.x,f.y,f.z);g=lerp(.5,.06,1/optionsViewRange.biggest_dist*h);.5<g?g=.5:.06>g&&(g=.06);var q=optionsViewRange.foot;mp.players.local.isInAnyVehicle(!1)&&(q=optionsViewRange.vehicle,mp.players.local.vehicle&&mp.players.local.vehicle.getPedInSeat(0)==mp.players.local.handle&&(q=optionsViewRange.passanger));h<=q?(255>alphaLoads[a.name]&&(alphaLoads[a.name]+=20),255<alphaLoads[a.name]&&(alphaLoads[a.name]=255),h<=optionsViewRange.foot&&
  427. .05<Date.now()/1E3-timeCalls.known&&100>knownPlayers[a.name]&&(timeCalls.known=Date.now()/1E3,knownPlayers[a.name]+=.1),d=!0):h>=optionsViewRange.known||h<=optionsViewRange.known&&40>=knownPlayers[a.name]?.05<Date.now()/1E3-timeCalls.known&&0<knownPlayers[a.name]&&(timeCalls.known=Date.now()/1E3,knownPlayers[a.name]-=.3):40<knownPlayers[a.name]&&(mp.game.system.vdist2(e.x,e.y,e.z,f.x,f.y,f.z)<=optionsViewRange.known&&(255>alphaLoads[a.name]&&(alphaLoads[a.name]+=20),255<alphaLoads[a.name]&&(alphaLoads[a.name]=
  428. 255)),d=!0);0==d&&0<alphaLoads[a.name]&&(0<alphaLoads[a.name]&&(alphaLoads[a.name]-=15,d=!0),0>alphaLoads[a.name]&&(alphaLoads[a.name]=0));1==d&&b!=a.name&&(mp.game.graphics.setDrawOrigin(f.x,f.y,f.z,0),mp.game.graphics.drawText(a.name,[0,0],{font:4,color:color,scale:[g,g],outline:!0}),40<knownPlayers[a.name]&&(a=lerp(0,255,1/60*(knownPlayers[a.name]-40)),255<a&&(a=255),color[3]=a,mp.game.graphics.drawText("_",[0,.0032],{font:4,color:color,scale:[g,g],outline:!0})),mp.game.graphics.clearDrawOrigin())}}});
  429. if(mp.players.local.getIsTaskActive(4)){if(a=mp.game.player.getEntityIsFreeAimingAt(),void 0!==a&&null==aimPointTarget.target&&"object"==("undefined"===typeof a?"undefined":_typeof(a))&&a.name&&""!=a.name&&(aimPointTarget.duration=0,aimPointTarget.alpha=0,aimPointTarget.target=a,aimPointTarget.target_id=a.id),aimPointTarget.target_id&&aimPointTarget.target_id)if(mp.players.exists(aimPointTarget.target_id)&&null!==aimPointTarget.target){if((a=mp.players.at(aimPointTarget.target_id))&&aimPointTarget.target.id==
  430. aimPointTarget.target_id){aimPointTarget.target=a;a=mp.players.local.getBoneCoords(12844,.2,0,0);var d=mp.players.local.aimingAt,e=aimPointTarget.target.position,f=new mp.Vector3(d.x-a.x,d.y-a.y,d.z-a.z);d=mp.game.system.vdist(d.x,d.y,d.z,a.x,a.y,a.z);f=f.normalize(d);d=mp.game.system.vdist(e.x,e.y,e.z,a.x,a.y,a.z);if(getWeaponSpotDistance(Number(mp.players.local.weapon))>=d){if(f=f.multiply(d),e=mp.game.system.vdist(e.x,e.y,e.z,a.x+f.x,a.y+f.y,a.z+f.z),e<=aimPointTarget.offsetMax?.05<Date.now()/
  431. 1E3-timeCalls.aimNametag&&(timeCalls.aimNametag=Date.now()/1E3,aimPointTarget.duration+=.05,aimPointTarget.duration>aimPointTarget.maxDuration&&(aimPointTarget.duration=aimPointTarget.maxDuration,aimPointTarget.alpha+=20,255<aimPointTarget.alpha&&(aimPointTarget.alpha=255))):e>=aimPointTarget.loseTarget&&(aimPointTarget.target=null,aimPointTarget.duration=0,aimPointTarget.alpha=0,timeCalls.aimNametag=Date.now()/1E3),aimPointTarget.duration==aimPointTarget.maxDuration&&null!=aimPointTarget.target){color=
  432. [255,255,255,255];if(aimPointTarget.target.getVariable("WantedLevel"))switch(parseInt(aimPointTarget.target.getVariable("WantedLevel"))){case 1:color=[255,204,204,aimPointTarget.alpha];break;case 2:color=[255,153,153,aimPointTarget.alpha];break;case 3:color=[255,102,102,aimPointTarget.alpha];break;case 4:color=[255,51,51,aimPointTarget.alpha];break;case 5:color=[255,0,0,aimPointTarget.alpha]}else color=[255,255,255,aimPointTarget.alpha];if(aimPointTarget.target.isDead()||1>aimPointTarget.target.getHealth())color=
  433. [40,40,40,aimPointTarget.alpha];e=aimPointTarget.target.getWorldPositionOfBone(aimPointTarget.target.getBoneIndexByName("IK_Head"));a=mp.game.system.vdist2(e.x,e.y,e.z,a.x,a.y,a.z);a=lerp(.5,.3,1/optionsViewRange.biggest_dist*a);.5<a?a=.5:.25>a&&(a=.25);if(aimPointTarget.target.isInAnyVehicle(!1)&&(f=null,d=aimPointTarget.target.vehicle,d.getPedInSeat(-1)==aimPointTarget.target.handle?f=d.getWorldPositionOfBone(d.getBoneIndexByName("seat_dside_f")):d.getPedInSeat(0)==aimPointTarget.target.handle?
  434. f=d.getWorldPositionOfBone(d.getBoneIndexByName("seat_pside_f")):d.getPedInSeat(1)==aimPointTarget.target.handle?f=d.getWorldPositionOfBone(d.getBoneIndexByName("seat_dside_r")):d.getPedInSeat(2)==aimPointTarget.target.handle&&(f=d.getWorldPositionOfBone(d.getBoneIndexByName("seat_pside_r"))),null!=f)){var g=d.getOffsetFromGivenWorldCoords(f.x,f.y,f.z);25>mp.game.system.vdist2(f.x,f.y,f.z,e.x,e.y,e.z)&&(e=d.getOffsetFromInWorldCoords(g.x,g.y,g.z+.7))}b=aimPointTarget.target.name;mp.game.graphics.setDrawOrigin(e.x,
  435. e.y,e.z+.5,0);mp.game.graphics.drawText(aimPointTarget.target.name||"name",[0,0],{font:4,color:color,scale:[a,a],outline:!0});mp.game.graphics.clearDrawOrigin()}}else b="",aimPointTarget.target=null,aimPointTarget.duration=0,aimPointTarget.alpha=0,timeCalls.aimNametag=Date.now()/1E3}}else b="",aimPointTarget.target_id=null,aimPointTarget.target=null,aimPointTarget.duration=0,aimPointTarget.alpha=0,timeCalls.aimNametag=Date.now()/1E3}else b="",aimPointTarget.target_id=null,aimPointTarget.target=null,
  436. aimPointTarget.duration=0,aimPointTarget.alpha=0,timeCalls.aimNametag=Date.now()/1E3});var UserpanelLanguage=null;UserpanelLanguage=lang_de.window_userpanel;mp.events.add("OnUserpanelClosed",function(){null!=Webwindow.Userpanel&&(Webwindow.Userpanel.destroy(),Webwindow.Userpanel=null,disableAllControls=mp.gui.cursor.visible=!1)});
  437. mp.events.add("OpenClientUserpanel",function(a){null==Webwindow.Userpanel&&(TempArguments.Userpanel=a,Webwindow.Userpanel=new CEFBrowser("package://viov/client_ui/html/userpanel/userpanel.html",!0),disableAllControls=!0,mp.gui.cursor.visible=!0)});mp.events.add("OnUserpanelLoaded",function(){null!=TempArguments.Userpanel&&null!=Webwindow.Userpanel&&Webwindow.Userpanel.call("vio._callEvent","userpanel:init",UserpanelLanguage,TempArguments.Userpanel);TempArguments={}});
  438. var InventoryItems=[],ItemsNames=null,BankLanguage=null,Items=null,HUDINIT=!1;ItemsNames=lang_de.items;BankLanguage=lang_de.window_bank;
  439. mp.events.add("updateInventoryItems",function(a,b,c){InventoryItems=JSON.parse(a);InventoryItems["-1"]="1";InventoryItems.Size=b;InventoryItems.MaxSize=c;Items=a;0==HUDINIT?TempArguments.HUD1=InventoryItems["0"]:voiceChat.call("setMoney",InventoryItems["0"]);mp.events.call("onInventoryUpdate");1==Inventory.visible&&(a=JSON.parse(Items),a[-1]=1,Inventory.loadItems("UserInventory",a))});mp.events.add("updateInventoryWanteds",function(a){0==HUDINIT?TempArguments.HUD2=a:voiceChat.call("setWanted",a)});
  440. mp.events.add("openExport",function(a){for(var b in Webwindow)"hud"!=b&&"progressbar"!=b&&"TutorialWindow"!=b&&"Audio"!=b&&null!=Webwindow[b]&&(Webwindow[b].destroy(),Webwindow[b]=null);TempArguments.Export={};TempArguments.Export["1"]=a;Webwindow.Export=new CEFBrowser("package://viov/client_ui/html/export/miene.html",!0);mp.gui.chat.show(!1)});
  441. mp.events.add("openTrade",function(a,b,c){for(var d in Webwindow)"Handy"!=d&&"hud"!=d&&"Trade"!=d&&"progressbar"!=d&&"TutorialWindow"!=d&&"Audio"!=d&&null!=Webwindow[d]&&(Webwindow[d].destroy(),Webwindow[d]=null);TempArguments.Trade={};TempArguments.Trade["1"]=a;TempArguments.Trade["2"]=b;a=ItemsNames;a.username=c;ItemsNames=a;Webwindow.Trade=new CEFBrowser("package://viov/client_ui/html/trade/trade.html",!0)});
  442. mp.events.add("cancelTrade",function(){null!=Webwindow.Trade&&(Webwindow.Trade.destroy(),mp.gui.chat.show(!0),mp.gui.cursor.show(!1),mp.gui.cursor.visible=!1,Webwindow.Trade=null)});mp.events.add("updateTradeItems",function(a,b){null!=Webwindow.Trade&&Webwindow.Trade.call("vio._callEvent","trade:update","[ "+a+" ]","[ "+b+" ]")});mp.events.add("updateTradeItemsTarget",function(a){null!=Webwindow.Trade&&Webwindow.Trade.call("vio._callEvent","trade:updateTarget","[ "+a+" ]")});
  443. mp.events.add("updateTradeReady",function(){null!=Webwindow.Trade&&Webwindow.Trade.call("vio._callEvent","trade:ready")});mp.events.add("initMieneWindow",function(){null!=Webwindow.Export&&(Webwindow.Export.call("vio._callEvent","miene:init",ItemsNames,JSON.parse(Items),TempArguments.Export["1"]),TempArguments.Export={})});
  444. mp.events.add("initTradeWindow",function(){null!=Webwindow.Trade&&(mp.game.graphics.getScreenActiveResolution(1,1),Webwindow.Trade.call("vio._callEvent","trade:init",ItemsNames,"[ "+TempArguments.Trade["1"]+" ]","[ "+TempArguments.Trade["2"]+" ]"),Webwindow.Trade.show("tradewindow"))});mp.events.add("clientRequestTradeStorageAction",function(a,b){mp.events.callRemote("onClientRequestTradeStorageAction",a,b)});
  445. mp.events.add("requestMieneClose",function(){Webwindow.Export.destroy();mp.gui.chat.show(!0);mp.gui.cursor.visible=!1;Webwindow.Export=null});mp.events.add("onClientSellMats",function(a){Webwindow.Export.destroy();mp.gui.chat.show(!0);mp.gui.cursor.visible=!1;Webwindow.Export=null;mp.events.callRemote("onClientRequestExport",a)});mp.events.add("requestCloseTrade",function(){mp.events.callRemote("onClientRequestTradeCancel")});mp.events.add("clientTradeReady",function(){mp.events.callRemote("onClientTradeReady")});
  446. var Inventory=new (function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){this.choices=[];this.browser=new CEFBrowser("package://viov/client_ui/html/inventory/inventory.html",!1);this.active=!1;this.browser.active(this.active);this._openTabs=[]}},{key:"show",value:function(){this.active=!this.active;mp.gui.cursor.visible=this.active;this.browser.active(this.active)}},{key:"hide",value:function(){var a=this;a.active=!1;mp.gui.cursor.visible=!1;
  447. a.allowMoney("Storage",!1);a.allowMoney("UserInventory",!1);a.showInventory("UserInventory",!1);a._openTabs.forEach(function(b){a.showInventory(b,!1)});a._openTabs=[];this.browser.call("hide_amount_move");a.browser.active(!1)}},{key:"showInventory",value:function(a,c){this.browser.call("show",a,c);c&&this._openTabs.push(a)}},{key:"isOpen",value:function(a){return-1<this._openTabs.indexOf(a)}},{key:"loadItems",value:function(a,c){this.browser.call("load_inventory",a,c)}},{key:"setMaxWeight",value:function(a,
  448. c){this.browser.call("set_max_weight",a,c)}},{key:"loadLangpack",value:function(a){this.browser.call("loadLangpack",a)}},{key:"allowMoney",value:function(a,c){this.browser.call("allow_money",a,c)}},{key:"requestSave",value:function(){this.browser.call("save")}},{key:"visible",get:function(){return this.active}}]);return a}());mp.events.add("removeInventoryObject",function(a,b){mp.events.callRemote("onClientRequestRemoveItem",a,b)});
  449. mp.events.add("openInventory",function(){Inventory.visible&&null!=ItemsNames&&null==Webwindow.VehicleWindow&&0<mp.players.local.getHealth()&&(openInventory(),WeedPlantDrug.reset())});mp.keys.bind(73,!1,function(){openInventory()});mp.events.add("hudLoaded",function(){HUDINIT=!0;null!=TempArguments.HUD1&&voiceChat.call("setMoney",TempArguments.HUD1);null!=TempArguments.HUD2&&voiceChat.call("setWanted",TempArguments.HUD2)});
  450. function openInventory(){if(0==Inventory.visible&&null!=ItemsNames&&null==Webwindow.VehicleWindow&&0==mp.players.local.isDead()){if(0==Inventory.visible&&0==mp.gui.cursor.visible&&!creatorCamera){if(0==checkVehStorage()){Inventory.loadLangpack(ItemsNames);Inventory.show();var a=JSON.parse(Items);a[-1]=1;Inventory.setMaxWeight("UserInventory",InventoryItems.MaxSize.toString());Inventory.loadItems("UserInventory",a);Inventory.showInventory("UserInventory",!0)}mp.game.graphics.notify(InventoryItems.Size.toString()+
  451. "/"+InventoryItems.MaxSize.toString())}}else null!=Webwindow.VehicleWindow&&(Webwindow.VehicleWindow.destroy(),mp.gui.chat.show(!0),mp.gui.cursor.visible=!1,Webwindow.VehicleWindow=null),Inventory.isOpen("Storage")?Inventory.requestSave():Inventory.hide()}
  452. mp.events.add("openStorageWindow",function(a,b,c){var d=JSON.parse(a).storage;a=JSON.parse(a).inventory;c=JSON.parse(c);Inventory.loadLangpack(ItemsNames);Inventory.show();a[-1]=1;Inventory.loadItems("UserInventory",a);Inventory.setMaxWeight("UserInventory",InventoryItems.MaxSize.toString());Inventory.showInventory("UserInventory",!0);Inventory.loadItems("Storage",d);Inventory.setMaxWeight("Storage",c.storage_max);Inventory.showInventory("Storage",!0);1==b?(Inventory.allowMoney("Storage",!0),Inventory.allowMoney("UserInventory",
  453. !0)):(Inventory.allowMoney("Storage",!1),Inventory.allowMoney("UserInventory",!1))});
  454. function checkVehStorage(){var a=null,b=100,c=void 0,d=void 0;mp.vehicles.forEachInStreamRange(function(e){d=e.position;c=mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x,mp.players.local.position.y,mp.players.local.position.z,d.x,d.y,d.z,!1);c<b&&(b=c,a=e)});if(null!=a&&null!=a.getVariable("PRIVATE_VEHICLE_OWNER")&&a.getVariable("PRIVATE_VEHICLE_OWNER")==LocalCharacterID){var e=mp.players.local.position,f=a.getWorldPositionOfBone(a.getBoneIndexByName("boot"));if(2>mp.game.gameplay.getDistanceBetweenCoords(e.x,
  455. e.y,e.z,f.x,f.y,f.z,!1)||mp.players.local.isInAnyVehicle(!1)&&mp.players.local.vehicle==a)return mp.events.callRemote("onClientRequestPrivateVehicleStorage",a),!0}return!1}
  456. mp.events.add("requestInventoryListAction",function(a){-1==parseInt(a)?mp.events.callRemote("onClientRequestObjectsWindowOpen"):(mp.events.callRemote("onClientRequestInventoryAction",Number(a)),mp.events.call("onItemUse",Number(a)));mp.gui.chat.show(!0);mp.gui.cursor.visible=!1;Inventory.isOpen("Storage")?Inventory.requestSave():Inventory.hide()});mp.events.add("requestCloseInventory",function(){Inventory.isOpen("Storage")?Inventory.requestSave():Inventory.hide()});
  457. mp.events.add("requestSaveStorageWindow",function(a,b){mp.events.callRemote("onClientRequestStorageAction",a,b);Inventory.hide();mp.events.callRemote("onClientRequestStorageClose")});mp.events.add("requestCloseStorageWindow",function(){Inventory.hide();mp.events.callRemote("onClientRequestStorageClose")});
  458. function openBank(){null==Webwindow.Bank&&0==mp.players.local.isDead()?1!=mp.gui.cursor.visible&&mp.events.callRemote("requestOpenBankWindow"):null!=Webwindow.Bank&&(Webwindow.Bank.destroy(),Webwindow.Bank=null,disableAllControls=!1)}mp.events.add("initBankWindow",function(){if(null!=Webwindow.Bank){var a={};a.player=InventoryItems["0"];a.bank=InventoryItems["11"];Webwindow.Bank.call("vio._callEvent","bank:init",BankLanguage,"[ "+JSON.stringify(a)+" ]","[ "+TempArguments.Bank["1"]+" ]")}});
  459. mp.events.add("reopenMoneyBank",function(){if(null!=Webwindow.Bank){var a={};a.player=InventoryItems["0"];a.bank=InventoryItems["11"];Webwindow.Bank.call("vio._callEvent","bank:update","[ "+JSON.stringify(a)+" ]")}});mp.events.add("forceCloseMoneyBank",function(){null!=Webwindow.Bank&&(Webwindow.Bank.destroy(),Webwindow.Bank=null,disableAllControls=!1)});
  460. mp.events.add("openMoneyBank",function(){null==Webwindow.Bank&&0==mp.players.local.isDead()?1!=mp.gui.cursor.visible&&(TempArguments.Bank={},TempArguments.Bank["1"]=0>=arguments.length?void 0:arguments[0],Webwindow.Bank=new CEFBrowser("package://viov/client_ui/html/bank/bank.html",!0),disableAllControls=!0):null!=Webwindow.Bank&&(Webwindow.Bank.destroy(),Webwindow.Bank=null,disableAllControls=!1)});
  461. mp.events.add("requestCloseBank",function(){null!=Webwindow.Bank&&(Webwindow.Bank.destroy(),Webwindow.Bank=null,disableAllControls=!1)});mp.events.add("bankpayin",function(a,b){mp.events.callRemote("payInMoneyBank",a)});mp.events.add("requestSentPlayerMoney",function(a,b){Webwindow.Bank.destroy();Webwindow.Bank=null;disableAllControls=!1;mp.events.callRemote("requestSentPlayerMoney",b,a)});mp.events.add("bankpayout",function(a,b){mp.events.callRemote("payOutMoneyBank",a)});Webwindow=[];
  462. var PositionList={};PositionList["Los Santos International Airport"]=new mp.Vector3(-984.4622,-2641.172,13.97301);PositionList["Del Penno"]=new mp.Vector3(-1168.258,-700.3124,21.89547);PositionList["Mega Mall"]=new mp.Vector3(46.4484,-1749.105,29.63828);PositionList["Mission Row Police Department"]=new mp.Vector3(457.6562,-991.2404,30.6896);PositionList.Hospital=new mp.Vector3(1151.03,-1529.89,35.37);PositionList["Central Medical Center"]=new mp.Vector3(309.0706,-1435.446,29.89129);
  463. PositionList["Pillbox Hill Medical Center"]=new mp.Vector3(358.1382,-589.7339,28.79429);PositionList["Mount Zonah Medical Center"]=new mp.Vector3(-497.7031,-328.5704,34.50169);PositionList["Sandy Shores Medical Center"]=new mp.Vector3(1837.536,3672.181,34.2767);PositionList["Bay Care Center"]=new mp.Vector3(-248.8725,6330.753,32.42618);PositionList["Hayes Autos"]=new mp.Vector3(495.693,-1340.385,29.31346);PositionList["Town Hall"]=new mp.Vector3(233.1222,-410.3885,48.11195);
  464. function openPositionWindow(){null==Webwindow.PositionWindow&&login?Webwindow.PositionWindow=new CEFBrowser("package://viov/client_ui/html/position/position.html",!0):requestClosePosition()}mp.events.add("initPositionWindow",function(){setTimeout(initPosition,500)});function initPosition(){null!=Webwindow.PositionWindow&&Webwindow.PositionWindow.call("vio._callEvent","position:init",PositionList)}
  465. mp.events.add("requestClosePosition",function(){Webwindow.PositionWindow.destroy();mp.game.ui.displayHud(!0);Webwindow.PositionWindow=null});mp.events.add("requestPosition",function(a){mp.game.ui.setNewWaypoint(Number(PositionList[a].x),Number(PositionList[a].y));Webwindow.PositionWindow.destroy();mp.game.ui.displayHud(!0);Webwindow.PositionWindow=null});
  466. mp.keys.bind(113,!1,function(){null==Webwindow.PositionWindow?0==mp.gui.cursor.visible&&openPositionWindow():null!=Webwindow.PositionWindow&&(Webwindow.PositionWindow.destroy(),Webwindow.PositionWindow=null)});mp.events.add("createProgressbar",function(a){createProgressbar(Number(a))});mp.events.add("destroyProgressbar",function(){destroyProgressbar()});
  467. function createProgressbar(a){null!=Webwindow.progressbar&&(Webwindow.progressbar.destroy(),Webwindow.progressbar=null);Webwindow.progressbar=new CEFBrowser("package://viov/client_ui/html/progressbar/progressbar.html",!1);TempArguments.Progressbar=Number(a)/1E3}function destroyProgressbar(){null!=Webwindow.progressbar&&(Webwindow.progressbar.destroy(),Webwindow.progressbar=null)}
  468. mp.events.add("initProgressbarWindow",function(){null!=Webwindow.progressbar&&Webwindow.progressbar.call("initProgress",TempArguments.Progressbar)});
  469. var Selection=function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){this.choices=[];this.browser=new CEFBrowser("package://viov/client_ui/html/selection/index.html",!1);this.active=!1}},{key:"toggle",value:function(){this.active=!this.active;this.browser.call("fillOptions",this.choices);mp.gui.cursor.visible=this.active;this.browser.call("toggleVisiblity",this.active)}},{key:"mapChoices",value:function(a){this.choices=a.map(function(a){return{img:a.img,
  470. name:a.name,id:a.id,type:a.type}});this.browser.call("fillOptions",this.choices)}},{key:"visible",get:function(){return this.active}}]);return a}();Selection=new Selection;var warningblocked=[13,14,15,16,21],selectetEnitity=null;function isVehicleWarningIndicatorBlocked(a){return-1<warningblocked.indexOf(mp.game.vehicle.getVehicleClass(a))?!0:!1}
  471. mp.events.add("requestSelection",function(){if(null==Webwindow.TicketsystemBrowser&&null==Webwindow.Settings&&null==Webwindow.Trade&&1!=mp.gui.cursor.visible&&1==login&&(!spectating||null==specateCam)&&0==mp.players.local.isDead()&&0==Selection.visible)if(mp.players.local.isInAnyVehicle(!1))selectetEnitity=mp.players.local.vehicle,getSelectionChoices("incar");else{var a=null,b=100,c=void 0,d=void 0;mp.vehicles.forEachInStreamRange(function(e){d=e.position;c=mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x,
  472. mp.players.local.position.y,mp.players.local.position.z,d.x,d.y,d.z,!0);c<b&&(b=c,a=e)});if(4>=b&&null!=a)selectetEnitity=a,getSelectionChoices("outcar");else{var e=null;entityDistance=100;targets=mp.players.forEachInStreamRange(function(a){a!=mp.players.local&&(d=a.position,c=mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x,mp.players.local.position.y,mp.players.local.position.z,d.x,d.y,d.z,!0),3>=c&&entityDistance>c&&(entityDistance=c,e=a))});3>=entityDistance&&null!=e&&1!=
  473. e.isInAnyVehicle(!1)?(mp.game.graphics.notify(e.name),selectetEnitity=e,getSelectionChoices("player")):getSelectionChoices("self")}}});
  474. function getSelectionChoices(a){if(0==Selection.visible){var b=[];if("incar"==a){if(selectetEnitity.getPedInSeat(-1)==mp.players.local.handle&&1==mp.players.local.isInAnyVehicle(!1)){if(LocalCharacterID==selectetEnitity.getVariable("PRIVATE_VEHICLE_OWNER"))b.push({name:"Fahrzeug aufschliessen",img:"unlock.svg",id:3,type:a}),b.push({name:"Fahrzeug abschliessen",img:"lock.svg",id:2,type:a}),b.push({img:"engine.svg",name:"Motor an/aus schalten",id:1,type:a}),b.push({img:"suitcase.svg",name:"Kofferraum oeffnen",
  475. id:4,type:a});else if(LocalCharacterID==selectetEnitity.getVariable("RENT_VEHICLE_OWNER")||LocalGroupID==selectetEnitity.getVariable("GROUP_VEHICLE_OWNER"))null==selectetEnitity.getVariable("Marker")&&(b.push({name:"Fahrzeug aufschliessen",img:"unlock.svg",id:3,type:a}),b.push({name:"Fahrzeug abschliessen",img:"lock.svg",id:2,type:a})),b.push({img:"engine.svg",name:"Motor an/aus schalten",id:1,type:a});b.push({img:"warning.svg",name:"Warnblinker",id:8,type:a});0!=LocalGroupID&&3!=LocalGroupID||b.push({img:"gavel.svg",
  476. name:"Kofferraum durchsuchen",id:10,type:a})}b.push({img:"seatbelt.svg",name:"Sitzgurt nutzen",id:6,type:a});1==FishNets.isLoaded()&&null!=FishNets.getNearestNet()&&(b.push({img:"life-ring.svg",name:"Fischernetz einholen",id:26,type:a}),b.push({img:"wrench.svg",name:"Fischernetz reparieren",id:27,type:a}))}else"outcar"==a?(LocalCharacterID!=selectetEnitity.getVariable("PRIVATE_VEHICLE_OWNER")&&LocalCharacterID!=selectetEnitity.getVariable("RENT_VEHICLE_OWNER")&&LocalGroupID!=selectetEnitity.getVariable("GROUP_VEHICLE_OWNER")||
  477. null!=selectetEnitity.getVariable("Marker")||(b.push({name:"Fahrzeug aufschliessen",img:"unlock.svg",id:3,type:a}),b.push({name:"Fahrzeug abschliessen",img:"lock.svg",id:2,type:a})),b.push({img:"wrench.svg",name:"Fahrzeug reparieren",id:5,type:a}),b.push({img:"fuel.svg",name:"Fahrzeug betanken",id:7,type:a}),isPlayerAdmin(mp.players.local.name)&&b.push({img:"sync.svg",name:"Fahrzeug respawnen",id:9,type:a}),1==LocalGroupID&&1==selectetEnitity.getVariable("GROUP_VEHICLE_OWNER")&&b.push({img:"archive.svg",
  478. name:"Fahrzeug beladen",id:11,type:a}),0!=LocalGroupID&&3!=LocalGroupID||null!=selectetEnitity.getVariable("BlockedVehicle")||b.push({img:"anchor.svg",name:"Radkralle anbringen",id:12,type:a}),null!=selectetEnitity.getVariable("BlockedVehicle")&&b.push({img:"cogs.svg",name:"Radkralle entfernen",id:12,type:a})):"player"==a?0==LocalGroupID||3==LocalGroupID?(b.push({img:"exchange.svg",name:"Handeln",id:1,type:a}),b.push({img:"address.svg",name:"Ausweis zeigen",id:2,type:a}),b.push({img:"search.svg",
  479. name:"Spieler durchsuchen",id:3,type:a}),b.push({img:"mobile.svg",name:"Handynummer zeigen",id:6,type:a}),b.push({img:"gavel.svg",name:"Illegales abnehmen",id:7,type:a}),0==selectetEnitity.getHealth()&&b.push({img:"user-secret.svg",name:"Spuren sicherstellen",id:8,type:a}),b.push({img:"star.svg",name:"Spieler bewerten",id:9,type:a})):b=1==LocalGroupID?[{name:"Handelsanfrage stellen",img:"exchange.svg",id:1,type:a},{name:"Ausweis zeigen",img:"address.svg",id:2,type:a},{name:"Spieler heilen",img:"medkit.svg",
  480. id:4,type:a},{name:"Spieler wiederbeleben",img:"ambulance.svg",id:5,type:a},{name:"Handynummer zeigen",img:"mobile.svg",id:6,type:a},{img:"star.svg",name:"Spieler bewerten",id:9,type:a}]:[{name:"Handelsanfrage stellen",img:"exchange.svg",id:1,type:a},{name:"Ausweis zeigen",img:"address.svg",id:2,type:a},{name:"Handynummer zeigen",img:"mobile.svg",id:6,type:a},{img:"star.svg",name:"Spieler bewerten",id:9,type:a}]:"factoryrob"==a?b=[{name:"Fabrik ausrauben",img:"bolt.svg",id:1,type:a},{name:"Fabrik einnehmen",
  481. img:"flag.svg",id:2,type:a}]:"factorycapture"==a?b=[{name:"Fabrik einnehmen",img:"flag.svg",id:1,type:a}]:"self"==a?b=[{name:"User werben User Bonusprogramm",img:"trophy.svg",id:1,type:a},{name:"Spielerinformationen",img:"address.svg",id:2,type:a}]:"raiting"==a&&(b=[{name:"Verhalten von "+selectetEnitity+" als Gut bewerten",img:"smile.svg",id:1,type:a},{name:"Verhalten von "+selectetEnitity+" als Mittel bewerten",img:"meh.svg",id:2,type:a},{name:"Verhalten von "+selectetEnitity+" als Schlecht bewerten",
  482. img:"frown.svg",id:3,type:a}]);if(10<LocalGroupID&&"raiting"!=a){var c=void 0;gangturfs.forEach(function(a,b){1==a.isInsideArea()&&(c=a)});c&&1==c.isInsideArea()&&1==c.isNearGround()&&0==c.isOwner(LocalGroupID)&&b.push({img:"gangwar.svg",name:"Ganggebiet Angreifen",id:c.id,type:"gangarea"})}Selection.mapChoices(b);Selection.toggle()}}var EngineLastTick=0;
  483. mp.events.add("pickSelection",function(a,b){1==Selection.visible&&(Selection.toggle(),"incar"==b||"outcar"==b?1==a?1E3<=(new Date).getTime()-EngineLastTick&&selectetEnitity.getPedInSeat(-1)==mp.players.local.handle&&(LocalCharacterID==selectetEnitity.getVariable("PRIVATE_VEHICLE_OWNER")||LocalCharacterID==selectetEnitity.getVariable("RENT_VEHICLE_OWNER")||LocalGroupID==selectetEnitity.getVariable("GROUP_VEHICLE_OWNER"))&&(1==selectetEnitity.getIsEngineRunning()?mp.events.callRemote("onClientRequestPrivateVehicleAction",
  484. "engine_off"):mp.events.callRemote("onClientRequestPrivateVehicleAction","engine_on")):4==a?null!=selectetEnitity.getVariable("PRIVATE_VEHICLE_OWNER")&&(1==StorageOpen?requestCloseStorageWindow():0==StorageOpen&&mp.events.callRemote("onClientRequestPrivateVehicleStorage",selectetEnitity)):26==a?null!==FishNets.getNearestNet()&&(a=FishNets.getNearestNet(),mp.events.callRemote("onClientPickupFishnet",a.ID)):27==a?null!==FishNets.getNearestNet()&&(a=FishNets.getNearestNet(),mp.events.callRemote("onClientRepairFishnet",
  485. a.ID)):mp.events.callRemote("onClientRequestVehicleAction",a,selectetEnitity):"player"==b?(b=selectetEnitity.name,1==a?mp.events.callRemote("onClientRequestTrade",b):2==a?mp.events.callRemote("onClientRequestIdShow",b):3==a?mp.events.callRemote("onClientRequestSearch",b):4==a?mp.events.callRemote("onClientRequestHealPlayer",b):5==a?mp.events.callRemote("onClientRequestRevivePlayer",b):6==a?mp.events.callRemote("onClientRequestShowPhoneNumber",b):7==a?mp.events.callRemote("onClientRequestTakeIllegal",
  486. b):8==a?mp.events.callRemote("onClientRequestCheckKiller",b):9==a&&(selectetEnitity=b,getSelectionChoices("raiting"))):"factoryrob"==b?1==a?mp.events.callRemote("onClientRequestFactoryRob"):2==a&&mp.events.callRemote("onClientRequestFactoryCapture"):"factorycapture"==b?1==a&&mp.events.callRemote("onClientRequestFactoryCapture"):"self"==b?1==a?mp.events.callRemote("onClientRequestUserBonusList"):2==a&&mp.events.callRemote("onClientRequestSelfData"):"raiting"==b?1==a?mp.events.callRemote("onClientRequestUpdatePlayerRaiting",
  487. selectetEnitity,1):2==a?mp.events.callRemote("onClientRequestUpdatePlayerRaiting",selectetEnitity,0):3==a&&mp.events.callRemote("onClientRequestUpdatePlayerRaiting",selectetEnitity,-1):"gangarea"==b&&mp.events.callRemote("OnClientRequestGangAreaAttack",a))});mp.events.add("playHoverSound",function(){mp.game.audio.playSoundFrontend(1,"Select_Placed_Prop","DLC_Dmod_Prop_Editor_Sounds",!0)});
  488. mp.events.add("sentPlayerReferred",function(){var a=!0,b;for(b in Webwindow)"hud"!=b&&"Trade"!=b&&"progressbar"!=b&&"TutorialWindow"!=b&&"Audio"!=b&&null!=Webwindow[b]&&(a=!1,mp.game.graphics.notify(b));null==Webwindow.UserWerbenUser&&1==a&&(Webwindow.UserWerbenUser=new CEFBrowser("package://viov/client_ui/html/userbenefits/userbenefits.html",!0),TempArguments.UserWerbenUser1=0>=arguments.length?void 0:arguments[0],TempArguments.UserWerbenUser2=1>=arguments.length?void 0:arguments[1],TempArguments.UserWerbenUser3=
  489. 2>=arguments.length?void 0:arguments[2])});mp.events.add("initUserBenefitsWindow",function(){null!=Webwindow.UserWerbenUser&&(Webwindow.UserWerbenUser.call("generateTable",TempArguments.UserWerbenUser1),Webwindow.UserWerbenUser.call("generateTimeline",TempArguments.UserWerbenUser2,TempArguments.UserWerbenUser3))});mp.events.add("closeUserBenefits",function(){Webwindow.UserWerbenUser.destroy();Webwindow.UserWerbenUser=null});
  490. mp.events.add("askPlayerRaiting",function(){0==Selection.visible&&(selectetEnitity=0>=arguments.length?void 0:arguments[0],getSelectionChoices("raiting"))});mp.events.add("playerStartEnterVehicle",function(a,b){1==Selection.visible&&Selection.toggle()});var mainCam=null,barberHairCuts={};
  491. mp.events.add("BarberShopOpen",function(){BarberTable={mode:"barber"};BarberTable.money=0>=arguments.length?void 0:arguments[0];barberHairCuts=JSON.parse(1>=arguments.length?void 0:arguments[1]);BarberTable.items=barberHairCuts;TempArguments.Dealer={};TempArguments.Dealer["1"]=lang_de.items;TempArguments.Dealer["2"]=JSON.stringify(BarberTable);Webwindow.BarberWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0);disableAllControls=!0;mp.players.local.setRotation(0,0,175,1,!0);
  492. mainCam=mp.cameras.new("Barber",new mp.Vector3(-1281.378,-1117.5,8.25),new mp.Vector3,50);mainCam.pointAt(mp.players.local.handle,0,0,0,!0);mainCam.setActive(!0);mp.game.cam.renderScriptCams(!0,!1,0,!0,!1)});mp.events.add("requestCloseDealerBarberShop",function(a){"BarberShop"==a&&null!=Webwindow.BarberWindow&&(Webwindow.BarberWindow.destroy(),Webwindow.BarberWindow=null,disableAllControls=!1,mainCam.setActive(!1),mainCam.destroy(),mp.game.cam.renderScriptCams(!1,!1,0,!0,!1),mp.events.callRemote("requestBarberShopCancel"))});
  493. mp.events.add("requestTryDealerBarberShop",function(a,b,c){"BarberShop"==a&&(mp.game.invoke("0x03924C68EFCBC511",mp.players.local,2,Number(barberHairCuts[c].drawable),Number(barberHairCuts[c].texture),0),Webwindow.BarberWindow.call("vio._callEvent","dealer:update",!1))});
  494. mp.events.add("requestBuyDealerBarberShop",function(a,b,c){"BarberShop"==a&&null!=Webwindow.BarberWindow&&(Webwindow.BarberWindow.destroy(),Webwindow.BarberWindow=null,disableAllControls=!1,mp.events.callRemote("requestBarberShopBuy",b))});
  495. mp.events.add("ShopOpen",function(){if(null==Webwindow.ShopWindow){Webwindow.ShopWindow=!1;var a={mode:"buy"};a.money=0>=arguments.length?void 0:arguments[0];a.items=JSON.parse(1>=arguments.length?void 0:arguments[1]);TempArguments.Dealer={};TempArguments.Dealer["1"]=lang_de.items;TempArguments.Dealer["2"]=a;Webwindow.ShopWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}});
  496. mp.events.add("BonusShopOpen",function(a){null==Webwindow.BonusShop&&(TempArguments.BonusShop=a,Webwindow.BonusShop=new CEFBrowser("package://viov/client_ui/html/bonusshop/bonusshop.html",!0))});mp.events.add("initBonusShopWindow",function(){null!=Webwindow.BonusShop&&null!=TempArguments.BonusShop&&Webwindow.BonusShop.call("vio._callEvent","bonusshop:init",TempArguments.BonusShop)});
  497. mp.events.add("requestCloseBonusShop",function(){null!=Webwindow.BonusShop&&(Webwindow.BonusShop.destroy(),Webwindow.BonusShop=null)});mp.events.add("requestBuyBonusShop",function(a,b){1==a&&(null!=Webwindow.BonusShop&&(Webwindow.BonusShop.destroy(),Webwindow.BonusShop=null),mp.events.callRemote("OnClientRequestBonusShopAction",1,""))});
  498. mp.events.add("RentOpen",function(){if(null==Webwindow.RentWindow){Webwindow.RentWindow=!1;var a={mode:"rent"};a.money=InventoryItems["0"];a.items=JSON.parse(0>=arguments.length?void 0:arguments[0]);TempArguments.Dealer={};TempArguments.Dealer["1"]=lang_de.items;TempArguments.Dealer["2"]=a;Webwindow.RentWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}});
  499. mp.events.add("HayesAutosOpen",function(){if(null==Webwindow.HayesAutos){Webwindow.HayesAutos=!1;var a={mode:"HayesAutos"};a.money=0>=arguments.length?void 0:arguments[0];a.items=JSON.parse(1>=arguments.length?void 0:arguments[1]);TempArguments.Dealer={};TempArguments.Dealer["1"]=lang_de.items;TempArguments.Dealer["2"]=a;Webwindow.HayesAutos=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}});
  500. mp.events.add("requestCloseDealerShop",function(){null!=Webwindow.ShopWindow&&(Webwindow.ShopWindow.destroy(),Webwindow.ShopWindow=null)});mp.events.add("requestCloseDealerRent",function(){null!=Webwindow.RentWindow&&(Webwindow.RentWindow.destroy(),Webwindow.RentWindow=null)});mp.events.add("requestCloseDealerHayesAutos",function(){null!=Webwindow.HayesAutos&&(Webwindow.HayesAutos.destroy(),Webwindow.HayesAutos=null)});
  501. mp.events.add("requestBuyDealerHayesAutos",function(a,b,c){"HayesAutos"==a&&(mp.events.callRemote("requestHayesAutos",b),null!=Webwindow.HayesAutos&&(Webwindow.HayesAutos.destroy(),Webwindow.HayesAutos=null))});mp.events.add("requestBuyDealerShop",function(a,b,c){"Shop"==a&&(null!=Webwindow.ShopWindow&&(Webwindow.ShopWindow.destroy(),Webwindow.ShopWindow=null),mp.events.callRemote("requestShopBuy",b))});
  502. mp.events.add("requestBuyDealerRent",function(a,b,c){"Rent"==a&&(mp.events.callRemote("requestVehicleRent",b),null!=Webwindow.RentWindow&&(Webwindow.RentWindow.destroy(),Webwindow.RentWindow=null))});
  503. mp.events.add("initDealerWindow",function(){void 0!=TempArguments.Dealer&&(null!=Webwindow.GunCraftWindow&&Webwindow.GunCraftWindow.call("vio._callEvent","dealer:init","GunCraftWindow",TempArguments.Dealer["1"],TempArguments.Dealer["2"]),null!=Webwindow.ShopWindow&&Webwindow.ShopWindow.call("vio._callEvent","dealer:init","Shop",TempArguments.Dealer["1"],JSON.stringify(TempArguments.Dealer["2"])),null!=Webwindow.RentWindow&&Webwindow.RentWindow.call("vio._callEvent","dealer:init","Rent",TempArguments.Dealer["1"],
  504. JSON.stringify(TempArguments.Dealer["2"])),null!=Webwindow.HayesAutos&&Webwindow.HayesAutos.call("vio._callEvent","dealer:init","HayesAutos",TempArguments.Dealer["1"],JSON.stringify(TempArguments.Dealer["2"])),null!=Webwindow.GunWindow&&Webwindow.GunWindow.call("vio._callEvent","dealer:init","GunShop",TempArguments.Dealer["1"],TempArguments.Dealer["2"]),null!=Webwindow.ClothesDetailWindow&&Webwindow.ClothesDetailWindow.call("vio._callEvent","dealer:init","ClothesShopDetail",JSON.parse(TempArguments.Dealer["1"]),
  505. TempArguments.Dealer["2"]),null!=Webwindow.ClothesWindow&&Webwindow.ClothesWindow.call("vio._callEvent","dealer:init","ClothesShop",JSON.parse(TempArguments.Dealer["1"]),TempArguments.Dealer["2"]),null!=Webwindow.CarShopWindow&&(Webwindow.CarShopWindow.call("vio._callEvent","dealer:init","CarShop",TempArguments.Dealer["1"],TempArguments.Dealer["2"]),Webwindow.CarShopWindow.position(290,491,"dealerwindow")),null!=Webwindow.BarberWindow&&Webwindow.BarberWindow.call("vio._callEvent","dealer:init","BarberShop",
  506. TempArguments.Dealer["1"],JSON.stringify(TempArguments.Dealer["2"])));null!=TempArguments.TownHall&&null!=Webwindow.TownHallWindow&&Webwindow.TownHallWindow.call("vio._callEvent","dealer:init","TownHall",TempArguments.TownHall["1"],TempArguments.TownHall["2"]);TempArguments={}});var CarHouseTable=[],CarHouses=11,CarHouse=0,CarHouseTempVehicle=null;
  507. mp.events.add("CarShopInit",function(a){a=JSON.parse(a);for(var b=1;b<=CarHouses;b++){CarHouseTable[b]={};CarHouseTable[b].items={};CarHouseTable[b].mode="buy";CarHouseTable[b].money=0;for(var c in a)a[c].Shop==b&&(CarHouseTable[b].items[c]={price:a[c].Price,name:a[c].Name,hash:a[c].Hash,modelName:a[c].ModelName,drawable:!0})}});function sleep(a){for(var b=(new Date).getTime(),c=0;1E7>c&&!((new Date).getTime()-b>a);c++);}function onGround(){CarHouseTempVehicle.setOnGroundProperly()}var carshopCam;
  508. mp.events.add("CarShopOpen",function(a,b){null!=a&&(CarHouseTable[Number(a)].money=b);CarHouse=Number(a);var c;for(c in CarHouseTable[CarHouse].items){var d=CarHouseTable[CarHouse].items[c].modelName;break}CarHouseTempVehicle=mp.vehicles.new(mp.game.joaat(d),new mp.Vector3(-336.1386,-134.9311,38.8));CarHouseTempVehicle.setRotation(0,0,-105,1,!0);CarHouseTempVehicle.freezePosition(!0);CarHouseTempVehicle.setDoorsLocked(2);CarHouseTempVehicle.setDeformationFixed();CarHouseTempVehicle.setProofs(!0,!0,
  509. !0,!0,!0,!0,!0,!0);setTimeout(onGround,300);CarHouseTempVehicle.setOnGroundProperly();disableAllControls=!0;carshopCam=mp.cameras.new("Carshop",new mp.Vector3(-332,-141.5,39.4),new mp.Vector3(0,0,0),50);carshopCam.pointAt(CarHouseTempVehicle.handle,0,0,0,!0);carshopCam.setActive(!0);mp.game.cam.renderScriptCams(!0,!1,0,!0,!1);isPlayerOnTuningPlace=!0;CarHouseTable[CarHouse].mode="carshop";CarHouseTable[CarHouse].money=InventoryItems["0"];setTimeout(resetPos,500);TempArguments.Dealer={};TempArguments.Dealer["1"]=
  510. lang_de.items;TempArguments.Dealer["2"]=JSON.stringify(CarHouseTable[CarHouse]);setTimeout(CarShopOpenInit,800)});function CarShopOpenInit(){Webwindow.CarShopWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}
  511. mp.events.add("requestCloseDealerCarShop",function(a){"CarShop"==a&&(Webwindow.CarShopWindow.destroy(),mp.events.callRemote("requestCarShopClose",CarHouse),Webwindow.CarShopWindow=null,isPlayerOnTuningPlace=disableAllControls=!1,carshopCam.setActive(!1),carshopCam.destroy(),mp.game.cam.renderScriptCams(!1,!1,0,!0,!1),null!=CarHouseTempVehicle&&(CarHouseTempVehicle.destroy(),CarHouseTempVehicle=null))});
  512. function resetPos(a,b){"plus"==a&&(CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,38.8+b));"minus"==a&&(CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,38.8-b))}
  513. mp.events.add("requestTryDealerCarShop",function(a,b,c){"CarShop"==a&&null!=CarHouseTempVehicle&&(a=CarHouseTable[CarHouse].items[c].modelName,CarHouseTempVehicle.destroy(),CarHouseTempVehicle=mp.vehicles.new(mp.game.joaat(CarHouseTable[CarHouse].items[c].modelName),new mp.Vector3(-336.1386,-134.9311,38.8)),CarHouseTempVehicle.freezePosition(!0),CarHouseTempVehicle.setRotation(0,0,-105,1,!0),CarHouseTempVehicle.setDoorsLocked(2),CarHouseTempVehicle.setDeformationFixed(),CarHouseTempVehicle.setProofs(!0,
  514. !0,!0,!0,!0,!0,!0,!0),CarHouseTempVehicle.setOnGroundProperly(),"Rumpo3"==a?(CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,39.3),CarHouseTempVehicle.setRotation(-.05,-.13,-105.1,1,!0)):"Dinghy"==a?CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,38.3):"Seashark"==a?CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,38.05):"Maverick"==a?(CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,39.3),CarHouseTempVehicle.setRotation(-.05,-.13,-105.1,
  515. 1,!0)):"Vestra"==a?(CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,39.3),CarHouseTempVehicle.setRotation(-.05,-.13,-105.1,1,!0)):"Squalo"==a?CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,38.8):"Tropic"==a&&(CarHouseTempVehicle.position=new mp.Vector3(-336.1386,-134.9311,38.8)),carshopCam.pointAt(CarHouseTempVehicle.handle,0,0,0,!0),carshopCam.setActive(!0),mp.game.cam.renderScriptCams(!0,!1,0,!0,!1),Webwindow.CarShopWindow.call("vio._callEvent","dealer:update",!1))});
  516. mp.events.add("requestBuyDealerCarShop",function(a,b,c){"CarShop"==a&&(Webwindow.CarShopWindow.destroy(),Webwindow.CarShopWindow=null,isPlayerOnTuningPlace=disableAllControls=!1,carshopCam.setActive(!1),carshopCam.destroy(),mp.game.cam.renderScriptCams(!1,!1,0,!0,!1),null!=CarHouseTempVehicle&&(CarHouseTempVehicle.destroy(),CarHouseTempVehicle=null),mp.events.callRemote("requestCarShopBuy",b,CarHouse))});var ClothesLanguage={},ClothesTable={},clothesCam;
  517. function ClothesShopOpen(){ClothesTable={mode:"buy"};ClothesTable.money=InventoryItems["0"];ClothesTable.items={};ClothesTable.items[4]={};ClothesTable.items[4].name="Legs";ClothesTable.items[4].price=0;ClothesTable.items[4].select=4;ClothesTable.items[6]={};ClothesTable.items[6].name="Feet";ClothesTable.items[6].price=0;ClothesTable.items[6].select=6;ClothesTable.items[11]={};ClothesTable.items[11].name="Tops";ClothesTable.items[11].price=0;ClothesTable.items[11].select=11;TempArguments.Dealer={};
  518. TempArguments.Dealer["1"]=JSON.stringify(ClothesLanguage);TempArguments.Dealer["2"]=JSON.stringify(ClothesTable);Webwindow.ClothesWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}
  519. function ClothesShopDetailOpen(a){if(null==Webwindow.ClothesDetailWindow){ClothesTable={mode:"buy"};ClothesTable.money=InventoryItems["0"];ClothesTable.items={};var b=0;1885233650==mp.players.local.getModel()&&(b=1);a=JSON.parse(a);if(4==ClothesShopDetail||6==ClothesShopDetail){var c=0,d;for(d in a)if(Number(a[d].gender)==b)for(var e=0;e<=a[d].texture;e++)ClothesTable.items[c]={},ClothesTable.items[c].slot=a[d].slot,ClothesTable.items[c].drawable=a[d].drawable,ClothesTable.items[c].texture=e,ClothesTable.items[c].price=
  520. a[d].price,ClothesTable.items[c].id=c,ClothesTable.items[c].name=a[d].drawable.toString()+" - "+e.toString(),c+=1}else if(11==ClothesShopDetail)for(e in c=0,a)if(Number(a[e].gender)==b)for(d=0;d<=a[e].topstex;d++)ClothesTable.items[c]={},ClothesTable.items[c].id=c,ClothesTable.items[c].slot=a[e].slot,ClothesTable.items[c].drawable=1,ClothesTable.items[c].tops=a[e].tops,ClothesTable.items[c].topstex=d,ClothesTable.items[c].undershirt=a[e].undershirt,ClothesTable.items[c].undershirttex=0,ClothesTable.items[c].torso=
  521. a[e].torso,ClothesTable.items[c].price=a[e].price,ClothesTable.items[c].name=a[e].tops+" - "+a[e].undershirt,c+=1;TempArguments.Dealer={};TempArguments.Dealer["1"]=JSON.stringify(ClothesLanguage);TempArguments.Dealer["2"]=JSON.stringify(ClothesTable);Webwindow.ClothesDetailWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}}
  522. mp.events.add("requestCloseDealerClothesShopDetail",function(a){"ClothesShopDetail"==a&&null!=Webwindow.ClothesDetailWindow&&(Webwindow.ClothesDetailWindow.destroy(),Webwindow.ClothesDetailWindow=null,mp.events.callRemote("requestClothesShop"))});
  523. mp.events.add("requestCloseDealerClothesShop",function(a){"ClothesShop"==a&&null!=Webwindow.ClothesWindow&&(Webwindow.ClothesWindow.destroy(),Webwindow.ClothesWindow=null,clothesCam.setActive(!1),clothesCam.destroy(),mp.game.cam.renderScriptCams(!1,!1,0,!0,!1),disableAllControls=!1,mp.events.callRemote("requestCloseClothesShopDetail"))});
  524. mp.events.add("requestTryDealerClothesShopDetail",function(a,b,c){"ClothesShopDetail"==a&&(11==Number(ClothesTable.items[c].slot)?(mp.players.local.setComponentVariation(11,Number(ClothesTable.items[c].tops),Number(ClothesTable.items[c].topstex),2),mp.players.local.setComponentVariation(8,Number(ClothesTable.items[c].undershirt),Number(ClothesTable.items[c].undershirttex),2),mp.players.local.setComponentVariation(3,Number(ClothesTable.items[c].torso),0,2)):mp.players.local.setComponentVariation(Number(ClothesTable.items[c].slot),
  525. Number(ClothesTable.items[c].drawable),Number(ClothesTable.items[c].texture),2),Webwindow.ClothesDetailWindow.call("vio._callEvent","dealer:update",!1))});mp.events.add("requestSelectDealerClothesShop",function(a,b,c){"ClothesShop"==a&&null!=Webwindow.ClothesWindow&&(Webwindow.ClothesWindow.destroy(),Webwindow.ClothesWindow=null,ClothesShopDetail=Number(c),mp.events.callRemote("requestClothesShopDetail",c))});var ClothesShopDetail=0;
  526. mp.events.add("requestBuyDealerClothesShopDetail",function(a,b,c){"ClothesShopDetail"==a&&(Webwindow.ClothesDetailWindow.destroy(),Webwindow.ClothesDetailWindow=null,6==Number(ClothesTable.items[c].slot)||4==Number(ClothesTable.items[c].slot)?mp.events.callRemote("requestBuyClothesShopDetail",Number(ClothesTable.items[c].id),Number(ClothesTable.items[c].slot),Number(ClothesTable.items[c].drawable),Number(ClothesTable.items[c].texture),Number(ClothesTable.items[c].price),0,0,0):mp.events.callRemote("requestBuyClothesShopDetail",
  527. Number(ClothesTable.items[c].id),Number(ClothesTable.items[c].slot),Number(ClothesTable.items[c].tops),Number(ClothesTable.items[c].topstex),Number(ClothesTable.items[c].undershirt),Number(ClothesTable.items[c].undershirttex),Number(ClothesTable.items[c].torso),Number(ClothesTable.items[c].price)))});
  528. mp.events.add("ClothesShopOpenNew",function(){ClothesLanguage=lang_de.items;ClothesShopOpen();disableAllControls=!0;mp.players.local.position=new mp.Vector3(132.159,-211.7974,54.5578);mp.players.local.setRotation(0,0,106.0372,1,!0);clothesCam=mp.cameras.new("ClothesCam",new mp.Vector3(130.159,-211.7974-.8,54.8578),new mp.Vector3,50);clothesCam.pointAtCoord(132.159,-211.7974-.8,54.8578);clothesCam.setActive(!0);mp.game.cam.renderScriptCams(!0,!1,0,!0,!1)});mp.events.add("ClothesShopOpen",function(){ClothesShopOpen()});
  529. mp.events.add("ClothesShopDetailOpen",function(){mp.players.local.setRotation(0,0,106.0372,1,!0);11==ClothesShopDetail?(clothesCam.setCoord(130.159,-211.7974-.8,54.8578),clothesCam.pointAtCoord(132.159,-211.7974-.8,54.8578)):4==ClothesShopDetail?(clothesCam.setCoord(130.159,-211.7974-.8,54.2578),clothesCam.pointAtCoord(132.159,-211.7974-.8,54.2578)):6==ClothesShopDetail&&(clothesCam.setCoord(130.159,-211.7974-.8,54.0578),clothesCam.pointAtCoord(132.159,-211.7974-.8,54.0578));ClothesShopDetailOpen(0>=
  530. arguments.length?void 0:arguments[0])});mp.events.add("GunShopOpen",function(){if(null==Webwindow.GunWindow){Webwindow.GunWindow=!1;disableAllControls=!0;var a={mode:"buy"};a.money=0>=arguments.length?void 0:arguments[0];a.items=JSON.parse(1>=arguments.length?void 0:arguments[1]);TempArguments.Dealer={};TempArguments.Dealer["1"]=lang_de.items;TempArguments.Dealer["2"]=JSON.stringify(a);Webwindow.GunWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}});
  531. mp.events.add("TownHallOpen",function(){if(null==Webwindow.TownHallWindow){Webwindow.TownHallWindow=!1;disableAllControls=!0;var a={mode:"buy"};a.money=0>=arguments.length?void 0:arguments[0];a.items=JSON.parse(1>=arguments.length?void 0:arguments[1]);TempArguments.TownHall={};TempArguments.TownHall["1"]=lang_de.items;TempArguments.TownHall["2"]=JSON.stringify(a);Webwindow.TownHallWindow=new CEFBrowser("package://viov/client_ui/html/dealer/dealer.html",!0)}});
  532. mp.events.add("requestCloseDealerGunShop",function(a){"GunShop"==a&&(Webwindow.GunWindow.active(!1),setTimeout(function(){null!=Webwindow.GunWindow&&(Webwindow.GunWindow.destroy(),Webwindow.GunWindow=null,disableAllControls=!1)},10))});mp.events.add("requestCloseDealerTownHall",function(a){"TownHall"==a&&(Webwindow.TownHallWindow.active(!1),setTimeout(function(){null!=Webwindow.TownHallWindow&&(Webwindow.TownHallWindow.destroy(),Webwindow.TownHallWindow=null,disableAllControls=!1)},10))});
  533. mp.events.add("requestBuyDealerGunShop",function(a,b,c){"GunShop"==a&&(Webwindow.GunWindow.active(!1),setTimeout(function(){mp.events.callRemote("requestGunShopBuy",b);null!=Webwindow.GunWindow&&(Webwindow.GunWindow.destroy(),Webwindow.GunWindow=null,disableAllControls=!1)},10))});
  534. mp.events.add("requestBuyDealerTownHall",function(a,b,c){"TownHall"==a&&(Webwindow.TownHallWindow.active(!1),setTimeout(function(){mp.events.callRemote("requestTownHallBuy",b);null!=Webwindow.TownHallWindow&&(Webwindow.TownHallWindow.destroy(),Webwindow.TownHallWindow=null,disableAllControls=!1)},10))});
  535. var moneypersecond=8,maxmoney=800,showmoneyinterval=5,maxmsforpolicerob=24E4,maxmsforgangshoprob=48E4,pedrobclasses=[],robrunning=[],robbingclass=null,lasttrigger=0,robcounter=0,lastrobid=-1,robstarttick=0,gotproductinfo=[],poscheckedattime=[],pedRob=function(a,b,c){this.ped=vioPeds[a];this.pos=this.ped._pos;this.rot=this.ped._rot;this.task=b;null==pedrobclasses[b]&&(pedrobclasses[b]=[]);this.id=pedrobclasses[b].length;pedrobclasses[b][this.id]=this;this.i=robcounter;this.robID=c;robcounter++};
  536. pedRob.prototype.startRob=function(){robrunning[this.i]=!0;poscheckedattime=[]};pedRob.prototype.stopRob=function(){robrunning[this.i]=null;lastrobid=-1};
  537. var getNextPedRobClass=function(){for(var a in pedrobclasses)if(null!=pedrobclasses[a][0])for(var b=0;b<pedrobclasses[a].length;b++)if(3>=mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x,mp.players.local.position.y,mp.players.local.position.z,pedrobclasses[a][b].pos.x,pedrobclasses[a][b].pos.y,pedrobclasses[a][b].pos.z,!0))return lastrobid=pedrobclasses[a][b].i,pedrobclasses[a][b];return null},getPedClassByTaskAndID=function(a,b){return null!=pedrobclasses[b]?pedrobclasses[b][a]:
  538. null};function isBlockedWeapon(a){return-1!=[2343591895,2725352035].indexOf(a)?!0:!1}mp.keys.bind(69,!1,function(){if(null==robbingclass){var a=(new Date).getTime();!mp.game.controls.isControlPressed(2,25)||-1!=lastrobid&&null!=robrunning[lastrobid]||!(0==lasttrigger||1E3<a-lasttrigger)||0!=mp.players.local.isInAnyVehicle(!0)||isBlockedWeapon(mp.players.local.weapon)||(lasttrigger=a,a=getNextPedRobClass(),null!=a&&mp.events.callRemote("StartPedRobServer",a.robID,a.task))}});
  539. var stopOwnRob=function(){robbingclass=null;robstarttick=0;mp.events.callRemote("StopPedRobServer")};
  540. mp.events.add("render",function(){if(null!=robbingclass){var a=(new Date).getTime()-robstarttick;if(null==poscheckedattime[Math.floor(a/400)]){var b=mp.players.local.position;if(7<mp.game.gameplay.getDistanceBetweenCoords(b.x,b.y,b.z,robbingclass.pos.x,robbingclass.pos.y,robbingclass.pos.z,!0)){stopOwnRob();return}if(1==mp.players.local.isInAnyVehicle(!0)){stopOwnRob();return}if(0==mp.players.local.getHealth()){stopOwnRob();return}poscheckedattime[Math.floor(a/400)]=!0}switch(robbingclass.task){case "shoprob":b=
  541. Math.floor(a/1E3*moneypersecond);b>=maxmoney&&null==gotproductinfo[0]?(b=maxmoney,gotproductinfo[0]=!0,mp.game.audio.playSoundFrontend(1,"LOCAL_PLYR_CASH_COUNTER_COMPLETE","DLC_HEISTS_GENERAL_FRONTEND_SOUNDS",!0),mp.game.graphics.notify("$"+b+" - du hast die Kasse leer ger\u00e4umt!")):b<maxmoney&&0!=b&&a/1E3>=showmoneyinterval&&null==gotproductinfo[Math.floor(a/1E3/showmoneyinterval)]&&(gotproductinfo[Math.floor(a/1E3/showmoneyinterval)]=!0,mp.game.audio.playSoundFrontend(1,"LOCAL_PLYR_CASH_COUNTER_INCREASE",
  542. "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS",!0),mp.game.graphics.notify("$"+b));break;case "policerob":a>=maxmsforpolicerob&&null==gotproductinfo[0]&&(gotproductinfo[0]=!0,mp.game.audio.playSoundFrontend(1,"LOCAL_PLYR_CASH_COUNTER_COMPLETE","DLC_HEISTS_GENERAL_FRONTEND_SOUNDS",!0),stopOwnRob());break;case "ammorob":a>=maxmsforpolicerob&&null==gotproductinfo[0]&&(gotproductinfo[0]=!0,mp.game.audio.playSoundFrontend(1,"LOCAL_PLYR_CASH_COUNTER_COMPLETE","DLC_HEISTS_GENERAL_FRONTEND_SOUNDS",!0),stopOwnRob());
  543. break;case "gangseller":a>=maxmsforgangshoprob&&null==gotproductinfo[0]&&(gotproductinfo[0]=!0,mp.game.audio.playSoundFrontend(1,"LOCAL_PLYR_CASH_COUNTER_COMPLETE","DLC_HEISTS_GENERAL_FRONTEND_SOUNDS",!0),stopOwnRob())}}});mp.events.add("StartPedRobClient",function(){var a=getPedClassByTaskAndID(0>=arguments.length?void 0:arguments[0],1>=arguments.length?void 0:arguments[1]);null!=a&&a.startRob()});
  544. mp.events.add("StartYourPedRobClient",function(){var a=0>=arguments.length?void 0:arguments[0],b=1>=arguments.length?void 0:arguments[1];gotproductinfo=[];robbingclass=getPedClassByTaskAndID(a,b);robstarttick=(new Date).getTime();mp.game.audio.playSoundFrontend(1,"GO_NON_RACE","HUD_MINI_GAME_SOUNDSET",!0)});mp.events.add("StopPedRobClient",function(){var a=getPedClassByTaskAndID(0>=arguments.length?void 0:arguments[0],1>=arguments.length?void 0:arguments[1]);null!=a&&a.stopRob()});
  545. var VehicleFuel=100;
  546. mp.events.add("GasstationOpen",function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];null!=Webwindow.GasstationWindow||0!=disableAllControls||1!=mp.players.local.isInAnyVehicle(!0)||1==mp.players.local.isDead()||20<=mp.players.local.vehicle.getSpeed()||mp.players.local.vehicle.getPedInSeat(-1)!=mp.players.local.handle||(disableAllControls=!0,a={},a.money=InventoryItems["0"],a.gasstation="Tanktelle",a.username="Forces",a.cartype="",a.maxfuel=50,a.currentfuel=VehicleFuel,b=
  547. b[0].replace(",","."),a.fuelprice=Number(b),a.canisterprice=135,a.snackprice=7,TempArguments.Gasstation={},TempArguments.Gasstation["1"]=lang_de.window_gasstation,TempArguments.Gasstation["2"]=JSON.stringify(a),Webwindow.GasstationWindow=new CEFBrowser("package://viov/client_ui/html/gasstation/gasstation.html",!0),b=mp.players.local.vehicle,null!=b&&(b.freezePosition(!0),a=b.getRotation(2),b.setRotation(new mp.Vector3(0,0,a.Z))))});
  548. mp.events.add("GasstationUpdate",function(){if(1==mp.players.local.isDead()||null==Webwindow.GasstationWindow){null!=Webwindow.GasstationWindow&&(Webwindow.GasstationWindow.destroy(),Webwindow.GasstationWindow=null);disableAllControls=!1;var a=mp.players.local.vehicle;null!=a&&a.freezePosition(!1)}else null!=Webwindow.GasstationWindow&&(a={},a.money=InventoryItems["0"],a.currentfuel=VehicleFuel,Webwindow.GasstationWindow.call("vio._callEvent","gasstation:update",JSON.stringify(a)))});
  549. mp.events.add("setVehicleFuel",function(){VehicleFuel=Number(0>=arguments.length?void 0:arguments[0])});mp.events.add("gasstationinit",function(){null!=Webwindow.GasstationWindow&&Webwindow.GasstationWindow.call("vio._callEvent","gasstation:init",TempArguments.Gasstation["1"],TempArguments.Gasstation["2"])});
  550. mp.events.add("gasstationfill",function(a){null!=Webwindow.GasstationWindow&&(Webwindow.GasstationWindow.destroy(),Webwindow.GasstationWindow=null);disableAllControls=!1;mp.events.callRemote("requestGasstationBuy","fuel",a,VehicleFuel)});mp.events.add("gasstationclose",function(){null!=Webwindow.GasstationWindow&&(Webwindow.GasstationWindow.destroy(),Webwindow.GasstationWindow=null);disableAllControls=!1;var a=mp.players.local.vehicle;null!=a&&a.freezePosition(!1)});
  551. mp.events.add("gasstationbuy",function(a){mp.events.callRemote("requestGasstationBuy",a,0,0)});mp.events.add("openStorageWindow",function(a,b,c){});mp.events.add("initStorageWindow",function(){null!=Webwindow.StorageWindow&&(Webwindow.StorageWindow.call("vio._callEvent","storage:init",ItemsNames,JSON.parse(TempArguments.Storage["1"]),JSON.parse(TempArguments.Storage["2"]),JSON.parse(TempArguments.Storage["3"])),mp.game.graphics.getScreenActiveResolution(1,1),TempArguments.Storage={})});
  552. var bikes={1131912276:!0,448402357:!0,3458454463:!0,4108429845:!0,1127861609:!0,3061159916:!0,3894672200:!0},Tacho=function(){function a(){_classCallCheck(this,a);this._setup()}_createClass(a,[{key:"_setup",value:function(){var a=this;a.speed=0;a.rpm=0;a.fuel=0;a.max_fuel=50;a.km=0;a.pos=null;a.browser=mp.browsers.new("package://viov/client_ui/html/tacho/index.html");a.browser.active=!1;a._ready=!1;a._static=!1;a._locked=!0;a._engine=!1;a._light=!1;a._seatbelt=!1;a._kmCounter=0;a._kmUpdaterThreshold=
  553. 2;mp.events.add("render",function(){a.render()});mp.events.add("initTacho",function(){a.ready()});mp.events.add("reload_tacho",function(){a.reload()});mp.events.add("setVehicleFuel",function(){a.setFuel(Number(0>=arguments.length?void 0:arguments[0]))});mp.events.add("setVehicleDistance",function(){a.setMileage(Number(0>=arguments.length?void 0:arguments[0]))});mp.events.add("playerLeaveVehicle",function(b,d){0<a._kmCounter&&mp.events.callRemote("updateVehicleDistance",parseFloat(a._kmCounter));a._kmCounter=
  554. 0;a.speed=0;a.rpm=0;a.fuel=0;a.max_fuel=50;a.km=0})}},{key:"render",value:function(){if(0==mp.game.ui.isPauseMenuActive()){var a=mp.players.local.vehicle;if(a)if(this._ready&&a.getPedInSeat(-1)==mp.players.local.handle&&null==Webwindow.CarTuneWindow)if(this._static||(this._static=!0,this.browser.execute("drawCircle("+(new Date).getHours()+")"),this.browser.execute("drawInfo()"),this.browser.execute("drawFuel(0,false,false)")),this.browser&&this._ready){null==this.pos&&(this.pos=mp.players.local.position);
  555. var c=mp.players.local.position;"1"==ClientSettings[6]&&0==this.browser.active&&(this.browser.active=!0,0==this._kmCounter&&(this._kmCounter=.01,mp.events.callRemote("updateVehicleDistance",.0001)));var d=mp.game.system.vdist2(c.x,c.y,c.z,this.pos.x,this.pos.y,this.pos.z)/1E3;this.pos!=c&&(this.pos=c,.3>d&&0<d&&(d*=2.4,this.km+=d,1==this.browser.active&&this.browser.execute("drawMileage("+this.km+")"),this._kmCounter+=d,this._kmCounter>=this._kmUpdaterThreshold&&(mp.events.callRemote("updateVehicleDistance",
  556. parseFloat(this._kmCounter)),this._kmCounter=0)));if("1"==ClientSettings[6]){if(c=3.6*a.getSpeed(),c!=this.speed&&(this.browser.execute("drawNeedle("+c+")"),this.speed=c),c=2==a.getDoorLockStatus()?!0:!1,d=a.getIsEngineRunning(),a=a.getLightsState(1,1),a=1==a.lightsOn?1:1==a.highbeamsOn?1:0,this._locked!=c||this._engine!=d||this._light!=a)this._locked=c,this._engine=d,this._light=a,this.browser.execute("drawInfo("+this._engine+","+this._light+","+this._locked+","+this._seatbelt+")")}else this.browser.active=
  557. !1}else this.browser.active=!1;else this._static=this.browser.active=!1;else this._static=this.browser.active=!1}}},{key:"ready",value:function(){this._ready=!0}},{key:"reload",value:function(){this.browser.execute("drawCircle("+(new Date).getHours()+")");this.browser.execute("drawInfo(true,true,false)");this.browser.execute("drawFuel(0,false,false)")}},{key:"setSeatbelt",value:function(a){this._seatbelt=a;this.browser.execute("drawInfo("+this._engine+","+this._light+","+this._locked+","+this._seatbelt+
  558. ")")}},{key:"setFuel",value:function(a){this.fuel=a;a=mp.players.local.vehicle;var b=!1;5>this.fuel&&(b=!0);a&&(bikes[a.model]?this.browser.execute("drawFuel("+this.fuel+",false,true)"):this.browser.execute("drawFuel("+this.fuel+","+b+",false)"))}},{key:"setMileage",value:function(a){this.km=a;this._kmCounter=0}},{key:"loadFuel",value:function(){mp.events.callRemote("updateVehicleDistance",.00001)}}]);return a}();Tacho=new Tacho;
  559. var VehicleWindow=null,PlayerVehicles={1:{},2:{},3:{}},StorageOpen=!1,MarkedVehicleSellTo=temp_blip=temp_marker=!1;setInterval(reattachVehicleBlips,15E3);mp.events.add("initVehicleWindow",function(a){PlayerVehicles[1]=JSON.parse(a)});
  560. mp.events.add("openVehicleWindow",function(a){null==Webwindow.VehicleWindow&&(Webwindow.VehicleWindow=!1,PlayerVehicles[2]=null!=InventoryItems["1"]?InventoryItems["1"]:{},PlayerVehicles[3]=JSON.parse(a),TempArguments.Vehicle={},TempArguments.Vehicle["1"]=lang_de.items,TempArguments.Vehicle["2"]=PlayerVehicles,mp.game.graphics.getScreenActiveResolution(1,1),Webwindow.VehicleWindow=new CEFBrowser("package://viov/client_ui/html/vehicle/vehicle.html",!0))});
  561. mp.events.add("vehicleWindowReady",function(){null!=Webwindow.VehicleWindow&&Webwindow.VehicleWindow.call("vio._callEvent","vehicle:init",TempArguments.Vehicle["1"],TempArguments.Vehicle["2"])});mp.events.add("requestCloseVehicleWindow",function(){Webwindow.VehicleWindow.destroy();Webwindow.VehicleWindow=null});
  562. mp.events.add("requestVehicleListAction",function(a,b){b=JSON.parse(b).vehicle_id;"refresh"==a?mp.events.callRemote("onClientRequestPrivateVehicleActionJSON","respawn",b):"lock"==a?mp.events.callRemote("onClientRequestPrivateVehicleActionJSON","lock",b):"unlock"==a?mp.events.callRemote("onClientRequestPrivateVehicleActionJSON","unlock",b):"road"==a?mp.events.callRemote("onClientRequestPrivateVehicleActionJSON","position",b):"sell"==a&&mp.events.callRemote("onClientRequestPrivateVehicleActionJSON",
  563. "sell",b)});mp.events.add("requestGroupAction",function(a){"road"==a&&mp.events.callRemote("updateGroup","get_gang_pos","1",0,0)});var VehicleMarker=[];
  564. function reattachVehicleBlips(){var a;for(a=0;a<VehicleMarker.length;a++)VehicleMarker[a].destroy();for(a=0;a<PoliceMarker.length;a++)PoliceMarker[a].destroy();VehicleMarker=[];PoliceMarker=[];null!=mp.players.local.getVariable("TRASH_CAR")&&(a=mp.players.local.getVariable("TRASH_CAR").position,a=mp.blips.new(318,a,{color:47,scale:.9}),VehicleMarker[VehicleMarker.length]=a);0<=LocalGroupID&&mp.vehicles.forEachInStreamRange(function(a){if(a.dimension==mp.players.local.dimension){if(null!=a.getVariable("Marker")&&
  565. void 0!==a.getPedInSeat(-1)&&0!=a.getPedInSeat(-1)){var b=a.position;b=mp.blips.new(1,b,{color:75,shortRange:!0,scale:.7});b.setFlashes(!0);VehicleMarker[VehicleMarker.length]=b}0==LocalGroupID&&null!=a.getVariable("PoliceMarker")&&void 0!==a.getPedInSeat(-1)&&0!=a.getPedInSeat(-1)&&(b=a.position,b=mp.blips.new(1,b,{color:47,shortRange:!0,scale:.7}),b.setFlashes(!0),VehicleMarker[VehicleMarker.length]=b)}})}
  566. var vehicleMaxSpeed={},vehicleMaxSpeedEnabled={},blockedModels=[782665360,-1860900134,666166960],blockedCategories=[14,15,16];function IsModelBlocked(a){return-1<blockedModels.indexOf(a)||-1<blockedCategories.indexOf(mp.players.local.vehicle.getClass())?!0:!1}function GetVehicleLimiterStatus(a){a=a.model;return void 0===vehicleMaxSpeedEnabled[a]?!1:vehicleMaxSpeedEnabled[a]}
  567. function SetVehicleLimiterStatus(a,b){var c=a.model;mp.players.local.vehicle.setMaxSpeed();b?a.setMaxSpeed(void 0===vehicleMaxSpeed[c]?3.6*mp.game.vehicle.getVehicleModelMaxSpeed(c):vehicleMaxSpeed[c]/3.6):a.setMaxSpeed(3.6*mp.game.vehicle.getVehicleModelMaxSpeed(c))}function getVehicleLimit(a){a=API.getEntityModel(a);return void 0===vehicleMaxSpeed[a]?0:vehicleMaxSpeed[a]}mp.events.add("SetPlayerSeatbelt",function(a){Tacho.setSeatbelt(a);mp.players.local.setConfigFlag(32,!a)});
  568. mp.events.add("SetEngineTorqueMultiplier",function(a){var b=mp.players.local.vehicle;null!=b&&b.setEngineTorqueMultiplier(a)});mp.events.add("SetEnginePowerMultiplier",function(a){var b=mp.players.local.vehicle;null!=b&&b.setEnginePowerMultiplier(a)});
  569. mp.events.add("playerEnterVehicle",function(a,b){null!=TempBarricade&&TempBarricade.destroy();"0"==ClientSettings[2]?(mp.game.audio.setVehRadioStation(a.handle,"OFF"),mp.game.audio.setUserRadioControlEnabled(!1)):mp.game.audio.setUserRadioControlEnabled(!0);"1"==ClientSettings[6]&&(Tacho.setFuel(Number(0)),Tacho.setSeatbelt(!1));WeedPlantDrug.reset()});
  570. mp.events.add("entityStreamIn",function(a){"vehicle"===a.type&&(null!=a.getVariable("Indicator_warning")&&(a.setIndicatorLights(0,!0),a.setIndicatorLights(1,!0)),null!=a.getVariable("VEHICLE_HEALTH")&&(a.setBodyHealth(a.getVariable("VEHICLE_HEALTH")),a.setEngineHealth(a.getVariable("VEHICLE_HEALTH"))))});var wheel_cramps=[];
  571. mp.events.addDataHandler("Indicator_warning",function(a,b){"vehicle"===a.type&&(null!=a.getVariable("Indicator_warning")?(a.setIndicatorLights(0,!0),a.setIndicatorLights(1,!0)):(a.setIndicatorLights(0,!1),a.setIndicatorLights(1,!1)))});
  572. mp.events.addDataHandler("VEHICLE_HEALTH",function(a,b){"vehicle"===a.type&&void 0!=b&&(b=a.getVariable("VEHICLE_HEALTH"),-200>=b?(a.setDisablePetrolTankFires(!1),a.setDisablePetrolTankDamage(!1),a.setBodyHealth(-999),a.setEngineHealth(-999),a.setPetrolTankHealth(-999)):(a.setBodyHealth(b),a.setEngineHealth(b)))});
  573. mp.events.addDataHandler("BlockedVehicle",function(a,b){if("vehicle"===a.type){b=a.getVariable("BlockedVehicle");var c=a.getBoneIndexByName("wheel_lf");a&&a.handle&&(null!==b?null===c||wheel_cramps[Number(a.handle)]||(wheel_cramps[Number(a.handle)]=mp.objects.new(mp.game.joaat("gr_prop_gr_target_03a"),a.position),wheel_cramps[Number(a.handle)].attachTo(a.handle,c,0,0,-.25,0,0,0,!1,!1,!1,!1,0,!0)):wheel_cramps[Number(a.handle)]&&void 0!=wheel_cramps[Number(a.handle)]&&(wheel_cramps[Number(a.handle)].destroy(),
  574. delete wheel_cramps[Number(a.handle)]))}});mp.keys.bind(75,!1,function(){null==Webwindow.TicketsystemBrowser&&null==Webwindow.Settings&&0!=mp.players.local.dimension&&1==InHouse&&0==mp.gui.cursor.visible&&mp.events.callRemote("requestOpenHouseStorage")});
  575. mp.keys.bind(76,!1,function(){if(null==Webwindow.TicketsystemBrowser&&null==Webwindow.Settings&&!mp.gui.cursor.visible){var a=mp.players.local.vehicle;if(null!=a&&a.getPedInSeat(-1)==mp.players.local.handle){var b=parseInt(3.6*a.getSpeed()),c=a.model;IsModelBlocked(c)?mp.game.graphics.notify("~r~Auf diesem Fahrzeug kannst du den Limitor nicht verwenden"):0!=GetVehicleLimiterStatus(a)?(SetVehicleLimiterStatus(a,!1),vehicleMaxSpeedEnabled[c]=void 0,vehicleMaxSpeed[c]=void 0,mp.game.graphics.notify("~r~Limit deaktiviert")):
  576. b<=3.6*mp.game.vehicle.getVehicleModelMaxSpeed(mp.players.local.vehicle.model)?50<=b?(54==b?b=55:72==b?b=73:90==b?b=91:108==b?b=109:126==b?b=127:144==b?b=145:162==b?b=163:180==b&&(b=181),vehicleMaxSpeed[c]=b,vehicleMaxSpeedEnabled[c]=!0,a.setMaxSpeed(void 0===b?3.6*mp.game.vehicle.getVehicleModelMaxSpeed(mp.players.local.vehicle.model):b/3.6),mp.game.graphics.notify("~g~Limit auf "+b+" km/h eingestellt")):mp.game.graphics.notify("~r~Mindestgeschwindigkeit Limit : 50 km/h"):mp.game.graphics.notify("~r~Maximale Geschwindigkeit Limit : "+
  577. Math.round(3.6*mp.game.vehicle.getVehicleModelMaxSpeed(mp.players.local.vehicle.model))+" km/h")}}});
  578. mp.events.add("setWaypoint",function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];mp.game.ui.setNewWaypoint(b[0].x,b[0].y);b[1]&&(0!=temp_marker&&(temp_marker.destroy(),temp_marker=!1),0!=temp_blip&&(temp_blip.destroy(),temp_blip=!1),temp_marker=mp.markers.new(24,new mp.Vector3(b[0].x,b[0].y,b[0].z+.5),1.2,{color:[200,70,63,200],visible:!0}),temp_blip=mp.blips.new(8,new mp.Vector3(b[0].x,b[0].y,b[0].z),{color:6,scale:.6,alpha:230}))});
  579. mp.events.add("deleteWaypoint",function(){mp.game.ui.setNewWaypoint(mp.players.local.position.x,mp.players.local.position.y);0!=temp_marker&&(temp_marker.destroy(),temp_marker=!1);0!=temp_blip&&(temp_blip.destroy(),temp_blip=!1)});
  580. mp.events.add("createMarker",function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];MarkedVehicleSellTo=mp.markers.new(0,new mp.Vector3(b[0].x,b[0].y,b[0].z),1,{color:[255,0,0,255]});a=MarkedVehicleSellTo.getBoneIndexByName("0");MarkedVehicleSellTo.attachTo(b[0].handle,a,0,0,2,0,0,0,!0,!1,!1,!1,0,!1)});mp.events.add("StopMarkVehicleSell",function(){0!=MarkedVehicleSellTo&&(MarkedVehicleSellTo.destroy(),MarkedVehicleSellTo=!1)});
  581. mp.events.add("playerCreateWaypoint",function(a,b){mp.game.graphics.notify("~r~ playerCreateWaypoint")});mp.events.add("CheckPlayerVehicleParkCommand",function(){mp.players.local.isInAnyVehicle(!0)&&mp.events.callRemote("onClientRequestParkVehicle",mp.players.local.vehicle.getSpeed())});
  582. setInterval(function(){mp.players.local.isInAnyVehicle(!1)&&ClientSettings[2]&&("0"==ClientSettings[2]?(mp.game.audio.setVehRadioStation(mp.players.local.vehicle.handle,"OFF"),mp.game.audio.setUserRadioControlEnabled(!1)):mp.game.audio.setUserRadioControlEnabled(!0))},2E3);
  583. var seats={0:"seat_pside_f",1:"seat_dside_r",2:"seat_pside_r",3:"seat_dside_r1",4:"seat_pside_r1",5:"seat_dside_r2",6:"seat_pside_r2",7:"seat_dside_r3",8:"seat_pside_r3",9:"seat_dside_r4",10:"seat_pside_r4",11:"seat_dside_r5",12:"seat_pside_r5",13:"seat_dside_r6",14:"seat_pside_r6",15:"seat_dside_r7",16:"seat_pside_r7"},enter_marker_temp=mp.game.controls.useDefaultVehicleEntering=!1,enter_marker_timer=!1;
  584. mp.keys.bind(71,!1,function(){if(null===mp.players.local.vehicle&&!mp.gui.cursor.visible){var a=mp.players.local.position,b=null,c=100;mp.vehicles.forEachInStreamRange(function(d){var e=d.position;e=mp.game.system.vdist2(a.x,a.y,a.z,e.x,e.y,e.z);e<c&&(c=e,b=d)});var d=b;if(null!==d&&d.isAnySeatEmpty()){var e=0,f=99999;new mp.Vector3(0,0,0);for(var g=!1,h=mp.game.vehicle.getVehicleSeats(d),l=0;l<=h;l++)if(d.isSeatFree(l)){2>=l&&(g=!0);var m=d.getWorldPositionOfBone(d.getBoneIndexByName(seats[l])),
  585. n=mp.game.gameplay.getGroundZFor3dCoord(m.x,m.y,m.z,0,!1),p=mp.game.system.vdist2(a.x,a.y,a.z,m.x,m.y,m.z);!(2<l&&1==g)&&p<f&&(f=p,e=l,new mp.Vector3(m.x,m.y,n+.05))}1475773103==d.model&&0<e?mp.players.local.taskEnterVehicle(d.handle,5E3,e,2,16,0):mp.players.local.taskEnterVehicle(d.handle,5E3,e,2,1,0)}}});
  586. var GarageClass=function(){function a(b){_classCallCheck(this,a);this._setup(b)}_createClass(a,[{key:"_setup",value:function(a){this.init(a)}},{key:"init",value:function(a){this._slots=a;this.window=new CEFBrowser("package://viov/client_ui/html/garage/index.html",!0)}},{key:"close",value:function(){this.window.destroy()}}]);return a}(),garage,cached_vehicles=[];mp.events.add("initGarage",function(){garage&&garage.window.call("OnClientSendsStoredVehicles",cached_vehicles)});
  587. mp.events.add("OnClientRequestGarageOpen",function(){garage=new GarageClass;cached_vehicles=0>=arguments.length?void 0:arguments[0]});mp.events.add("OnGarageClose",function(){null!==garage&&(garage.close(),garage=null,cached_vehicles=[])});mp.events.add("OnClientRequestVehicleFromGarage",function(a){mp.events.callRemote("OnClientRequestVehicleFromGarage",a)});
  588. var CarTuneTable={},CarTuneLanguage={},Vehiclemods={},CarDetails={},CarTunes,TunePrices,isPlayerOnTuningPlace=!1,CarTuneNumbers={0:!0,1:!0,2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0,12:!0,13:!0,14:!0,15:!0,18:!0,22:!0,23:!0,24:!0,25:!0,27:!0,28:!0,30:!0,33:!0,34:!0,35:!0,38:!0,46:!0,48:!0,69:!0,200:!0};
  589. mp.events.add("playerActionCloseCarTune",function(){if(null!=Webwindow.CarTuneWindow&&isPlayerOnTuningPlace){Webwindow.CarTuneWindow.destroy();Webwindow.CarTuneWindow=null;mp.events.callRemote("requestBuyCarTuneShopDetail",9999999,0,0,0,0);mp.gui.cursor.visible=!1;mainCam.setActive(!1);mainCam.destroy();mp.game.cam.renderScriptCams(!1,!1,0,!0,!1);mp.game.ui.setMinimapVisible(!1);mp.game.ui.displayRadar(!0);var a=mp.players.local.vehicle;a.setNeonLightEnabled(0,!1);a.setNeonLightEnabled(1,!1);a.setNeonLightEnabled(2,
  590. !1);a.setNeonLightEnabled(3,!1);for(var b in CarTuneNumbers)CarTuneNumbers[b]&&0<a.getNumMods(Number(b))&&a.removeMod(Number(b));disableAllControls=isPlayerOnTuningPlace=!1;CarTuneTable={}}});mp.keys.bind(32,!1,function(){isPlayerOnTuningPlace&&mp.events.call("playerActionCloseCarTune")});
  591. function CarTuneShopOpen(){Webwindow.CarTuneWindow=new CEFBrowser("package://viov/client_ui/html/cartune/index.html",!0);mp.game.ui.displayRadar(!1);CarTuneTable={mode:"buy"};CarTuneTable.money=InventoryItems["0"];CarTuneTable.items={};var a=mp.players.local.vehicle,b;for(b in CarTuneNumbers)if(CarTuneNumbers[b]){var c=a.getNumMods(Number(b));0<c&&(CarTuneTable.items[b]={},CarTuneTable.items[b].name=Vehiclemods["item."+b],CarTuneTable.items[b].native_name=vehicle_data.getSlotName(b),CarTuneTable.items[b].price=
  592. 0,CarTuneTable.items[b].select=!0);if(11!=Number(b)&&12!=Number(b)&&200>Number(b)&&0<c){CarDetails[b]={};CarDetails[b][-1]={};CarDetails[b][-1].name="Standard";CarDetails[b][-1].price=TunePrices[b];CarDetails[b][-1].drawable=b;CarDetails[b][-1].texture=-1;for(var d=0;d<c;d++){CarDetails[b][d]={};CarDetails[b][d].name=mp.game.ui.getLabelText(a.getModTextLabel(Number(b),Number(d)));if("NULL"==CarDetails[b][d].name){var e=vehicle_data.getPartName(b,d);CarDetails[b][d].name=e}CarDetails[b][d].price=TunePrices[b];
  593. CarDetails[b][d].drawable=b;CarDetails[b][d].texture=d}}11==Number(b)&&4==c&&(d=TunePrices[b],TunePrices[b]={},CarDetails[b]={},CarDetails[b][-1]={},CarDetails[b][-1].name="Standard",CarDetails[b][-1].price=d,CarDetails[b][-1].drawable=11,CarDetails[b][-1].texture=-1,TunePrices[b][-1]=d,CarDetails[b][0]={},CarDetails[b][0].name="EMS I (+4% Beschleunigung)",CarDetails[b][0].price=d,CarDetails[b][0].drawable=11,CarDetails[b][0].texture=0,TunePrices[b][0]=d,CarDetails[b][1]={},CarDetails[b][1].name=
  594. "EMS II (+8% Beschleunigung)",CarDetails[b][1].price=1.5*d,CarDetails[b][1].drawable=11,CarDetails[b][1].texture=1,TunePrices[b][1]=1.5*d,CarDetails[b][2]={},CarDetails[b][2].name="EMS III (+11% Beschleunigung)",CarDetails[b][2].price=2*d,CarDetails[b][2].drawable=11,CarDetails[b][2].texture=2,TunePrices[b][2]=2*d,CarDetails[b][3]={},CarDetails[b][3].name="EMS IV (+15% Beschleunigung)",CarDetails[b][3].price=3*d,CarDetails[b][3].drawable=11,CarDetails[b][3].texture=3,TunePrices[b][3]=3*d);12==Number(b)&&
  595. 3==c&&(c=TunePrices[b],TunePrices[b]={},CarDetails[b]={},CarDetails[b][-1]={},CarDetails[b][-1].name="Standard",CarDetails[b][-1].price=c,CarDetails[b][-1].drawable=12,CarDetails[b][-1].texture=-1,TunePrices[b][-1]=c,CarDetails[b][0]={},CarDetails[b][0].name="Verbesserte Bremsanlage",CarDetails[b][0].price=c,CarDetails[b][0].drawable=12,CarDetails[b][0].texture=0,TunePrices[b][0]=c,CarDetails[b][1]={},CarDetails[b][1].name="Sport Bremsanlage",CarDetails[b][1].price=1.5*c,CarDetails[b][1].drawable=
  596. 12,CarDetails[b][1].texture=1,TunePrices[b][1]=1.5*c,CarDetails[b][2]={},CarDetails[b][2].name="Rennsport Bremsanlage",CarDetails[b][2].price=3*c,CarDetails[b][2].drawable=12,CarDetails[b][2].texture=2,TunePrices[b][2]=3*c);200==Number(b)&&(CarDetails[b]={},TunePrices[b]=7500,CarDetails[b][-1]={},CarDetails[b][-1].name="Default",CarDetails[b][-1].price=0,CarDetails[b][-1].drawable=200,CarDetails[b][-1].texture=-1,CarDetails[b][0]={},CarDetails[b][0].name="NeonStateLeft",CarDetails[b][0].price=200,
  597. CarDetails[b][0].drawable=200,CarDetails[b][0].texture=0,CarDetails[b][1]={},CarDetails[b][1].name="NeonStateRight",CarDetails[b][1].price=200,CarDetails[b][1].drawable=200,CarDetails[b][1].texture=1,CarDetails[b][2]={},CarDetails[b][2].name="NeonStateFront",CarDetails[b][2].price=200,CarDetails[b][2].drawable=200,CarDetails[b][2].texture=2,CarDetails[b][3]={},CarDetails[b][3].name="NeonStateBack",CarDetails[b][3].price=200,CarDetails[b][3].drawable=200,CarDetails[b][3].texture=3)}CarTuneTable.items[200]=
  598. {};CarTuneTable.items[200].name=Vehiclemods["item.200"];CarTuneTable.items[200].price=0;CarTuneTable.items[200].select=!0;CarTuneTable.items[300]={};CarTuneTable.items[300].name=Vehiclemods["item.300"];CarTuneTable.items[300].price=0;CarTuneTable.items[300].select=!0}var currentCam={x:0,y:0,z:0,r:45,dist:6},tuning_Cam;
  599. mp.events.add("InitCarTuneShop",function(){mp.players.local.vehicle&&(mp.players.local.vehicle.position=new mp.Vector3(-332.5066,-136.8213,38.73852),mp.players.local.vehicle.setRotation(0,0,111,0,!1),mp.players.local.vehicle.setOnGroundProperly(),mp.game.cam.doScreenFadeOut(500),tuning_Cam=mp.cameras.new("default",new mp.Vector3(-353,-135,39),new mp.Vector3(0,0,0),70),tuning_Cam.setActive(!0),tuning_Cam.pointAt(mp.players.local.vehicle.handle,0,0,0,!0),mp.game.cam.renderScriptCams(!0,!1,0,!0,!1))});
  600. mp.events.add("CarTuneShopOpenNew",function(){Vehiclemods=lang_de.vehiclemods;CarTunes=0>=arguments.length?void 0:arguments[0];TunePrices=JSON.parse(1>=arguments.length?void 0:arguments[1]);TunePrices[11]=2>=arguments.length?void 0:arguments[2];TunePrices[12]=3>=arguments.length?void 0:arguments[3];disableAllControls=!0;mp.players.local.vehicle.position=new mp.Vector3(-332.5066,-136.8213,38.73852);mp.players.local.vehicle.setRotation(0,0,111,0,!1);mp.players.local.vehicle.setOnGroundProperly();setTimeout(function(){mp.game.cam.doScreenFadeIn(500);
  601. var a=(new mp.Vector3(mp.players.local.position.x,mp.players.local.position.y,mp.players.local.position.z+1)).findRot(0,6,180);currentCam={x:a.x,y:a.y,z:a.z,r:180,dist:6};var b=mp.raycasting.testPointToPoint(mp.players.local.position,a,mp.players.local,17);b&&(a=b.position);mainCam=mp.cameras.new("gameplay",a,new mp.Vector3,70);mainCam.setCoord(a.x,a.y,a.z);mainCam.pointAt(mp.players.local.vehicle.handle,0,0,0,!0);null!=tuning_Cam?mainCam.setActiveWithInterp(tuning_Cam.handle,2E3,0,0):mainCam.setActive(!0);
  602. mp.game.cam.renderScriptCams(!0,!1,0,!0,!1);isPlayerOnTuningPlace=!0;CarTuneShopOpen()},100)});mp.events.add("tuningLoaded",function(){Webwindow.CarTuneWindow.call("init",JSON.stringify(CarTuneTable),JSON.stringify(CarDetails),CarTunes,TunePrices)});mp.events.add("onInventoryUpdate",function(a,b,c){isPlayerOnTuningPlace&&Webwindow.CarTuneWindow&&Webwindow.CarTuneWindow.call("updateMoney",InventoryItems["0"])});
  603. mp.events.add("moveTuningCam",function(a,b,c){"none"!=a&&("right"==a?currentCam.r+=2:"left"==a&&(currentCam.r-=2));"none"!=b&&("up"==b?currentCam.z+=.05:"down"==b&&(currentCam.z-=.05));"none"!=c&&("in"==c?currentCam.dist-=.12:"out"==c&&(currentCam.dist+=.12));currentCam.z>mp.players.local.vehicle.position.z+2&&(currentCam.z=mp.players.local.vehicle.position.z+2);38.5>currentCam.z&&(currentCam.z=38.5);0>currentCam.r&&(currentCam.r=360);360<currentCam.r&&(currentCam.r=0);3>currentCam.dist&&(currentCam.dist=
  604. 3);5<=currentCam.dist&&(currentCam.dist=5);a=(new mp.Vector3(mp.players.local.vehicle.position.x,mp.players.local.vehicle.position.y,currentCam.z)).findRot(0,currentCam.dist,currentCam.r);if(b=mp.raycasting.testPointToPoint(mp.players.local.vehicle.position,a,mp.players.local,17))a=b.position;mainCam.setCoord(a.x,a.y,a.z)});
  605. mp.events.add("requestTryDealerCarTuneShopDetail",function(a,b,c,d,e){mp.players.local.vehicle.setModKit(0);CarDetails[a]&&(200==Number(CarDetails[a][b].drawable)?-1==Number(CarDetails[a][b].texture)?(mp.players.local.vehicle.setNeonLightEnabled(0,!1),mp.players.local.vehicle.setNeonLightEnabled(1,!1),mp.players.local.vehicle.setNeonLightEnabled(2,!1),mp.players.local.vehicle.setNeonLightEnabled(3,!1)):(mp.players.local.vehicle.setNeonLightEnabled(Number(CarDetails[a][b].texture),!0),mp.players.local.vehicle.setNeonLightsColour(Number(c),
  606. Number(d),Number(e))):14==Number(CarDetails[a][b].drawable)?(-1==Number(CarDetails[a][b].drawable)?mp.players.local.vehicle.removeMod(Number(CarDetails[a][b].drawable)):mp.players.local.vehicle.setMod(Number(CarDetails[a][b].drawable),Number(CarDetails[a][b].texture)),mp.players.local.vehicle.startHorn(1E4,mp.game.gameplay.getHashKey("HELDDOWN"),!0)):-1==Number(CarDetails[a][b].drawable)?mp.players.local.vehicle.removeMod(Number(CarDetails[a][b].drawable)):mp.players.local.vehicle.setMod(Number(CarDetails[a][b].drawable),
  607. Number(CarDetails[a][b].texture)))});
  608. mp.events.add("forceCloseTuning",function(){null!=Webwindow.CarTuneWindow&&Webwindow.CarTuneWindow.destroy();var a=mp.players.local.vehicle;mp.players.local.vehicle.setNeonLightEnabled(0,!1);mp.players.local.vehicle.setNeonLightEnabled(1,!1);mp.players.local.vehicle.setNeonLightEnabled(2,!1);mp.players.local.vehicle.setNeonLightEnabled(3,!1);for(var b in CarTuneNumbers)CarTuneNumbers[b]&&0<a.getNumMods(Number(b))&&a.removeMod(Number(b));mp.gui.cursor.visible=!1;mainCam&&(mainCam.setActive(!1),mainCam.destroy(),
  609. mp.game.cam.renderScriptCams(!1,!1,0,!0,!1));mp.game.ui.setMinimapVisible(!1);mp.game.ui.displayRadar(!0);disableAllControls=isPlayerOnTuningPlace=!1});
  610. mp.events.add("carTuneDeleteTunes",function(){var a=mp.players.local.vehicle;mp.players.local.vehicle.setNeonLightEnabled(0,!1);mp.players.local.vehicle.setNeonLightEnabled(1,!1);mp.players.local.vehicle.setNeonLightEnabled(2,!1);mp.players.local.vehicle.setNeonLightEnabled(3,!1);for(var b in CarTuneNumbers)CarTuneNumbers[b]&&0<a.getNumMods(Number(b))&&a.removeMod(Number(b))});
  611. mp.events.add("setVehicleNeon",function(){1==Number(0>=arguments.length?void 0:arguments[0])&&mp.players.local.vehicle.setNeonLightEnabled(0,!0);1==Number(1>=arguments.length?void 0:arguments[1])&&mp.players.local.vehicle.setNeonLightEnabled(1,!0);1==Number(2>=arguments.length?void 0:arguments[2])&&mp.players.local.vehicle.setNeonLightEnabled(2,!0);1==Number(3>=arguments.length?void 0:arguments[3])&&mp.players.local.vehicle.setNeonLightEnabled(3,!0)});
  612. mp.events.add("requestTryColorCarTuneShop",function(a,b,c,d){var e=mp.players.local.vehicle;1==Number(a)&&e.setCustomPrimaryColour(b,c,d);2==Number(a)&&e.setCustomSecondaryColour(b,c,d)});mp.events.add("carTuneCursor",function(a){mp.gui.cursor.visible=a});
  613. mp.events.add("requestBuyColorCarTuneShop",function(a,b,c,d){CarTunes.Color1R!=b&&CarTunes.Color1G!=c&&CarTunes.Color1B!=d&&1==a&&mp.events.callRemote("requestBuyCarTuneShopDetail",300,1,b,c,d);CarTunes.Color2R!=b&&CarTunes.Color2G!=c&&CarTunes.Color2B!=d&&2==a&&mp.events.callRemote("requestBuyCarTuneShopDetail",300,2,b,c,d)});
  614. mp.events.add("requestBuyDealerCarTuneShopDetail",function(a,b,c,d,e){var f=mp.players.local.vehicle;for(g in CarTuneNumbers)CarTuneNumbers[g]&&0<f.getNumMods(Number(g))&&f.removeMod(Number(g));f=CarDetails[a][b].drawable;var g=CarDetails[a][b].texture;var h=TunePrices[a];TunePrices[a][b]&&(h=TunePrices[a][b]);200==a?-1!=b?mp.events.callRemote("requestBuyCarTuneShopDetail",f,g,c,d,e):mp.events.callRemote("requestBuyCarTuneShopDetail",f,b,0,0,0):mp.events.callRemote("requestBuyCarTuneShopDetail",f,
  615. g,h,0,0)});
  616. var removeObject=function(){function a(b,c,d,e,f,g,h){_classCallCheck(this,a);this._setup(b,c,d,e,f,g,h)}_createClass(a,[{key:"_setup",value:function(a,c,d,e,f,g,h){var b=this;b.x=a;b.y=c;b.y=d;b._model=f;b._dist=g;b._radius=e;b._checkinterval=h;b._checkTimer=setInterval(function(){b.check()},1E3*b._checkinterval)}},{key:"check",value:function(){var a=mp.players.local.position;mp.game.system.vdist(a.x,a.y,a.z,this.x,this.y,this.z)<this._dist&&(mp.gui.chat.push("Remove Object"),mp.game.entity.createModelHide(this.x,this.y,
  617. this.z,this._radius,mp.game.joaat(this._model),!0))}}]);return a}(),AC_frozen=!1,AC_active=!1,AC_weapon={},AC_ammo={},AC_aim=!1,AC_anticheat={},disableSprintJumpTimes=0;AC_anticheat.AC_movement=0;AC_anticheat.AC_cam=0;AC_anticheat.AC_teleport=0;AC_anticheat.AC_airbreak=0;
  618. function isPlayerAdmin(a){return"PARADYZE"==a||"Forces"==a||"Fabian"==a||"William"==a||"Burberry"==a||"kultstar"==a||"swordfish"==a||"Z8pn"==a||"feris"==a||"Schnizzar"==a||"Zaxon"==a||"MaNe"==a||"Varo"==a||"JannaKaiju"==a||"CarloGambino"==a?!0:!1}mp.events.add("setPlayerHealth",function(a){0>a&&mp.players.local.applyDamageTo(200,!0)});mp.events.add("setPlayerArmor",function(a){});
  619. function AntiCheat(){var a=mp.players.local;a.getIsTaskActive(32)||a.getIsTaskActive(169)?mp.events.callRemote("AntiCheat","CHEAT_AUTODRIVE"):playerVehicleHandlerAntiCheat()}mp.events.add("playerWeaponShot",function(a,b){a=Number(weapon_data.getWeaponHash(Number(mp.players.local.weapon)));-1569615261!=a&&2725352035!=a&&1!=AC_weapon[a]&&mp.events.callRemote("AntiCheat","CHEAT_WEAPON")});
  620. mp.events.add("entityStreamIn",function(a){"player"===a.type&&(mp.game.player.setTargetingMode(1),mp.game.player.setLockon(!1),mp.game.player.setLockonRangeOverride(0),mp.players.local.setOnlyDamagedByPlayer(!1),mp.players.local.setProofs(!0,!1,!1,!1,!1,!1,!1,!1),mp.game.player.setLockonRangeOverride(0))});mp.events.add("removeAllPlayerWeapons",function(a,b){AC_weapon={}});mp.events.add("givePlayerWeapon",function(a,b){AC_weapon[Number(a)]=!0});
  621. mp.events.add("setPlayerPositionFrozen",function(a,b){AC_frozen=a});
  622. function playerVehicleHandlerAntiCheat(){var a=mp.players.local.vehicle;if(a&&a.getPedInSeat(-1)==mp.players.local.handle){var b=a.model;a=mp.game.vehicle.getDisplayNameFromVehicleModel(b);var c=mp.game.vehicle.getVehicleModelAcceleration(b).toFixed(3),d=mp.game.vehicle.getVehicleModelMaxBraking(b).toFixed(3),e=mp.game.vehicle.getVehicleModelMaxSpeed(b).toFixed(3);b=mp.game.vehicle.getVehicleModelMaxTraction(b).toFixed(3);mp.events.callRemote("onClientCheckVehicleModel",a,c,d,e,b,0,0,0,0)}}
  623. var teleportCheck={vehicle:null,lastCall:null,lastPos:null,threshold:200,strikes:0,max_strike:1,timeout:0,pingdata:[],check:function(){if((new Date).getTime()>this.timeout){null==this.lastCall&&(this.lastCall=(new Date).getTime(),this.lastPos=mp.players.local.position);spectating&&null!=specateCam&&(this.strikes=0,this.lastCall=(new Date).getTime(),this.lastPos=mp.players.local.position);mp.players.local.isInAnyVehicle(!1)&&emergencyVehicles[mp.players.local.vehicle.model]&&mp.players.local.vehicle.getPedInSeat(-1)!=
  624. mp.players.local.handle&&(this.timeout=(new Date).getTime()+1E4);var a=1;if(mp.players.local.isInAnyVehicle(!1)){var b=mp.players.local.vehicle.getPedInSeat(-1);(b=mp.players.atHandle(b))&&(a=lerp(1,5,1/1500*this.pingdata[b.name]))}if(mp.players.local.isDead()||0!=isPlayerOnTuningPlace)this.strikes=0,this.lastCall=(new Date).getTime(),this.lastPos=mp.players.local.position;else{b=mp.players.local.position;var c=(new Date).getTime();b=mp.game.system.vdist2(b.x,b.y,0,this.lastPos.x,this.lastPos.y,0)/
  625. (c-this.lastCall);b>this.threshold*a&&(this.strikes+=1);this.lastCall=(new Date).getTime();this.lastPos=mp.players.local.position;this.strikes>=this.max_strike&&(mp.game.invoke("0xD9D2CFFF49FAB35F")?(this.strikes=0,this.lastCall=(new Date).getTime(),this.lastPos=mp.players.local.position):mp.events.callRemote("AntiCheatTeleport",b.toString(),this.threshold.toString(),a.toString()))}}else this.strikes=0,this.lastCall=(new Date).getTime(),this.lastPos=mp.players.local.position},freezeTimer:function(a){this.timeout=
  626. (new Date).getTime()+1E3*a},pingData:function(a){var b=this;b.pingdata=[];a.forEach(function(a){b.pingdata[a.name]=a.ping})}};
  627. mp.events.add("setPlayerPosition",function(a,b){teleportCheck.freezeTimer(8);LastTeleportPosition=a;0!=b&&(moveSkyCamera(mp.players.local,"up",1,!1),mp.players.local.freezePosition(!0),disableAllControls=!0,setTimeout(function(){mp.players.local.position=a},b/2),setTimeout(function(){moveSkyCamera(mp.players.local,"down",1,!1);disableAllControls=!1;mp.players.local.freezePosition(!1)},b))});mp.events.add("onScoreboardUpdate",function(a){teleportCheck.pingData(a)});
  628. setInterval(function(){login?teleportCheck.check():teleportCheck.freezeTimer(1)},100);var noiseHistory=[],offsetData=[],aimData={target:null,timer:null,interval:null};mp.events.add("playerWeaponShot",function(a,b){b&&(aimData.target=b,clearTimeout(aimData.timer),clearInterval(aimData.interval),aimData.timer=setTimeout(function(){aimData.target=null;offsetData=[];clearInterval(aimData.interval)},2E3),aimData.interval=setInterval(function(){getOffsets()},10))});
  629. function getOffsets(){if(null!=aimData.target){var a=mp.players.local.aimingAt,b=aimData.target.position;5>mp.game.system.vdist2(a.x,a.y,a.z,b.x,b.y,b.z)?(a=aimData.target.getOffsetFromGivenWorldCoords(a.x,a.y,a.z),offsetData.push({target:aimData.target,offset:a}),1E3<offsetData.length&&offsetData.shift()):(aimData.target=null,clearTimeout(aimData.timer),clearInterval(aimData.interval),offsetData=[])}}var LocalAntiCheatPeds=[],LocalAntiCheatPedMaxAmount=1,LocalAntiCheatPedSettings=[];
  630. mp.events.add("setPlayerRandomNPC",function(a,b){setTimeout(function(){AC_aim=!0},5E3);LocalAntiCheatPedMaxAmount=a;LocalAntiCheatPedSettings=JSON.parse(b)});
  631. mp.events.add("render",function(a){if(1==AC_aim){var b=mp.game.player.getEntityIsFreeAimingAt(),c=mp.players.local.position;null!=c&&mp.peds.forEachInStreamRange(function(a){if(a.IsAntiCheatNPC&&(a.IsADowner&&a.setCoords(c.x,c.y,c.z-50,!0,!1,!1,!0),natives.SET_ENTITY_ALPHA(a,0,!0),natives.SET_ENTITY_NO_COLLISION_ENTITY(a,mp.players.local,!1),natives.SET_ENTITY_NO_COLLISION_ENTITY(mp.players.local,a,!1),mp.players.local.vehicle&&(natives.SET_ENTITY_NO_COLLISION_ENTITY(a,mp.players.local.vehicle,!1),
  632. natives.SET_ENTITY_NO_COLLISION_ENTITY(mp.players.local.vehicle,a,!1)),natives.DISABLE_PED_PAIN_AUDIO(a,!0),mp.game.audio.stopCurrentPlayingAmbientSpeech(a.handle),b==a.handle)){var d=a.getCoords(!0);null!=d&&a.setCoords(d.x+2,d.y-2,c.z,!0,!1,!1,!0)}})}});setInterval(function(){1==AC_aim&&SpawnAntiCheatNPCs()},2E3);
  633. function SpawnAntiCheatNPCs(){if(LocalAntiCheatPeds.length<=LocalAntiCheatPedMaxAmount){var a=getRandomArbitrary(-100,100);-30<a&&30>a&&(a=30);var b=LocalAntiCheatPedSettings[Math.floor(Math.random()*LocalAntiCheatPedSettings.length)],c="MP_F_Freemode_01";"male"==b.Gender&&(c="MP_M_Freemode_01");var d=mp.players.local.position.x+a;a=mp.players.local.position.y+a;var e=mp.game.gameplay.getGroundZFor3dCoord(d,a,mp.players.local.position.z,0,!1)+1;d=new mp.Vector3(d,a,e);c=mp.peds.new(mp.game.joaat(c),
  634. d,270,0);c.freezePosition(!1);natives.DISABLE_PED_PAIN_AUDIO(c,!0);natives.SET_ENTITY_ALPHA(c,0,!0);d=getRandomArbitrary(0,100);25<=d&&c.taskWanderStandard(10,10);c.setHealth(getRandomArbitrary(100,200));c.setArmour(getRandomArbitrary(0,100));for(a=0;a<b.Datas.length;a++)c.setComponentVariation(b.Datas[a].slot,b.Datas[a].drawable,b.Datas[a].texture,0);LocalAntiCheatPeds.unshift(c);c.IsAntiCheatNPC=!0;5>=d&&(c.IsADowner=!0)}else b=LocalAntiCheatPeds[LocalAntiCheatPedMaxAmount-1],void 0!==b&&(LocalAntiCheatPeds.pop(),
  635. b.destroy())}var SlotLanguage=null;SlotLanguage=lang_de.window_casino_slot;var SlotStake=10;mp.events.add("OnSlotClosed",function(){null!=Webwindow.Slot&&(Webwindow.Slot.destroy(),Webwindow.Slot=null,disableAllControls=mp.gui.cursor.visible=!1)});mp.events.add("OpenPlayerSlotMachine",function(a){null==Webwindow.Slot&&(Webwindow.Slot=new CEFBrowser("package://viov/client_ui/html/casino/slot/slot.html",!0),disableAllControls=!0,mp.gui.cursor.visible=!0,SlotStake=a)});
  636. mp.events.add("OnSlotMaschineLoaded",function(){null!=Webwindow.Slot&&Webwindow.Slot.call("banditInit",SlotLanguage,SlotStake)});mp.events.add("changeHUD",function(a){voiceChat.call("toggleHUD",a)});mp.events.add("startSoundRolling",function(){mp.events.call("playSound","slot_rolling.mp3",!1)});mp.events.add("playWinSound",function(){mp.events.call("playSound","slotmachine_win.mp3",!1)});
  637. mp.events.add("SetPlayerSlotMachineResult",function(a,b,c,d){null!=Webwindow.Slot&&Webwindow.Slot.call("banditStartGame",a,b,c,d)});mp.events.add("requestStartGame",function(a){mp.events.callRemote("OnClientRequestSlotMachineResult",a)});
  638. var casino_positions={cheap_positions:[{x:953.174438,y:27.9130917,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984209)},{x:951.874756,y:28.013092,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984161)},{x:950.475098,y:28.1130924,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:949.275391,y:28.2130928,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:947.875732,y:28.3130932,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:952.323608,y:11.8030014,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:950.823975,
  639. y:11.9030018,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:949.624268,y:12.0030022,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:948.124634,y:12.1030025,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:946.924927,y:12.2030029,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)}],medium_positions:[{x:947.47583,y:22.1130905,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:948.775513,y:22.0130901,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:950.175171,y:21.9130898,z:44.4684334,
  640. rot:new mp.Vector3(0,0,-4.57984114)},{x:951.374878,y:21.8130894,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:952.774536,y:21.713089,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:947.224854,y:18.5030041,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:948.524536,y:18.4030037,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:949.924194,y:18.2030029,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:951.323853,y:18.2030029,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:952.52356,
  641. y:18.1030025,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)}],high_positions:[{x:952.474609,y:15.6130886,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:950.974976,y:15.713089,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:949.675293,y:15.8130894,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:948.475586,y:15.8130894,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:947.075928,y:15.9130898,z:44.4684334,rot:new mp.Vector3(0,0,-4.57984114)},{x:953.023438,y:24.3030033,z:44.4684334,
  642. rot:new mp.Vector3(0,-0,176.419754)},{x:951.623779,y:24.4030037,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:950.324097,y:24.4030037,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:949.024414,y:24.5030041,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)},{x:947.724731,y:24.6030045,z:44.4684334,rot:new mp.Vector3(0,-0,176.419754)}]};
  643. mp.keys.bind(69,!1,function(){if(1!=mp.gui.cursor.visible&&11==mp.players.local.dimension){var a=mp.players.local.position,b=!1;casino_positions.cheap_positions.forEach(function(c){4>=mp.game.system.vdist2(a.x,a.y,a.z,c.x,c.y,c.z)&&(b=!0)});casino_positions.medium_positions.forEach(function(c){4>=mp.game.system.vdist2(a.x,a.y,a.z,c.x,c.y,c.z)&&(b=!0)});casino_positions.high_positions.forEach(function(c){4>=mp.game.system.vdist2(a.x,a.y,a.z,c.x,c.y,c.z)&&(b=!0)});1==b&&mp.events.callRemote("OnClientRequestOpenSlotMachine",
  644. 10)}});
Add Comment
Please, Sign In to add comment