Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- addEvent ( "startGWAnzeige", true )
- addEvent ( "updateAnzeigePrepare", true )
- addEvent ( "updateAnzeigeStart", true )
- addEvent ( "updateAnzeigeNachJoinen", true )
- addEvent ( "rechneDMGAn", true )
- addEvent ( "attackereinerdazugekommen", true )
- addEvent ( "defendereinerdazugekommen", true )
- addEvent ( "attackereinergestorben", true )
- addEvent ( "defendereinergestorben", true )
- --addEvent ( "attackereinerofflineohnezaehlen", true )
- --addEvent ( "defendereinerofflineohnezaehlen", true )
- addEvent ( "stopGWAnzeige", true )
- addEvent ( "stopGWAnzeigeSTOP", true )
- --addEvent ( "kaching", true )
- --addEvent ( "rechneKillAn", true )
- --addEvent ( "moveVehicleInGangwar", true )
- -- Nicht zu leerende Tabellen / Variablen --
- local gangPraefix = {
- [2]="Camorra",
- [3]="Ballas",
- [7]="Seville Families",
- [9]="The Lost MC",
- }
- -- Zu leerende Variablen --
- gangwarDamage = 0
- gangwarKills = 0
- gangwarlaeuft = false
- local diezeit, startzeit, attackeralive, defenderalive, attacker, defender = 0, 0, 0, 0, 0, 0
- local attackerR, attackerG, attackerB, defenderR, defenderG, defenderB = 0, 0, 0, 0, 0, 0
- local attackerfracname = ""
- local defenderfracname = ""
- --local thepickup, statistikTabelle = nil
- --local sortierteStatistikTabelle = nil
- --local theveh = nil
- --local lastvehmove = 0
- local showing = false
- local screenx, screeny = guiGetScreenSize()
- local sxA, syA = screenx/1920, screeny/1080
- local screenW, screenH = guiGetScreenSize()
- --- EINSTELLBAR ---
- local reichweiteZumTK = 15 -- Mindestreichweite zum TK, um drin zu sein - ACHTUNG: Serverseitig auch ändern!
- local zeitinsekundenbisstatistikendet = 120 -- In wievielen Minuten die Statistik ausgeblendet werden soll
- -- Funktionen --
- function dxdrawGangwarAnzeige ()
- local daminute = math.floor ( ( diezeit - ( getRealTime().timestamp - startzeit ) ) / 60 )
- local dasekunde = math.floor ( ( diezeit - ( getRealTime().timestamp - startzeit ) ) % 60 )
- local distance = 0
- if thepickup and isElement ( thepickup ) then
- local xp, yp, zp = getElementPosition ( thepickup )
- local xpl, ypl, zpl = getElementPosition ( getLocalPlayer() )
- distance = math.floor (getDistanceBetweenPoints3D ( xp, yp, zp, xpl, ypl, zpl ) * 10)/10
- end
- if dasekunde < 10 then
- dasekunde = "0"..dasekunde
- end
- dxDrawRectangle(screenW * 0.8599, screenH * 0.3120, screenW * 0.1323, screenH * 0.1389, tocolor(0, 0, 0, 181), false) --Hintergund
- dxDrawRectangle(screenW * 0.8599, screenH * 0.3120, screenW * 0.1323, screenH * 0.0176, tocolor(215, 141, 0, 193), false) --Kopfleiste
- dxDrawText("Gangwar", screenW * 0.9115, screenH * 0.3120, screenW * 0.9375, screenH * 0.3259, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "left", "top", false, false, false, false, false) -- Kopfleiste (Text)
- dxDrawRectangle(screenW * 0.9167, screenH * 0.3343, screenW * 0.0656, screenH * 0.0380, tocolor(attackerR, attackerG, attackerB, 193), false) -- Angreifer (Fenster)
- dxDrawRectangle(screenW * 0.9167, screenH * 0.3815, screenW * 0.0656, screenH * 0.0380, tocolor(defenderR, defenderG, defenderB, 193), false) -- Verteidiger (Fenster)
- dxDrawImage(screenW * 0.8646, screenH * 0.3676, screenW * 0.0125, screenH * 0.0185, ":vio/images/kill.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) --Kills (Bild)
- dxDrawImage(screenW * 0.8651, screenH * 0.3389, screenW * 0.0120, screenH * 0.0194, ":vio/images/damage.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) --Damage (Bild)
- dxDrawImage(screenW * 0.8651, screenH * 0.3981, screenW * 0.0115, screenH * 0.0185, ":vio/images/time.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) -- Zeit (Bild)
- dxDrawText(gangwarKills, screenW * 0.8823, screenH * 0.3676, screenW * 0.9031, screenH * 0.3815, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "left", "top", false, false, false, false, false) --Kills (Wert)
- dxDrawText(math.floor(gangwarDamage), screenW * 0.8823, screenH * 0.3389, screenW * 0.9031, screenH * 0.3528, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "left", "top", false, false, false, false, false) --Damage (Wert)
- dxDrawText(daminute..":"..dasekunde, screenW * 0.8823, screenH * 0.3981, screenW * 0.9031, screenH * 0.4120, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "left", "top", false, false, false, false, false) --Zeit (Wert)
- dxDrawText(attackerfracname, screenW * 0.9219, screenH * 0.3343, screenW * 0.9771, screenH * 0.3481, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "center", "top", false, false, false, false, false) -- Angreifer (Fraktionsname)
- dxDrawText(attackeralive.." / "..attacker, screenW * 0.9219, screenH * 0.3491, screenW * 0.9771, screenH * 0.3630, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "center", "top", false, false, false, false, false) -- Angreifer (Lebensanzeige)
- dxDrawText(defenderfracname, screenW * 0.9219, screenH * 0.3815, screenW * 0.9771, screenH * 0.3954, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "left", "center", false, false, false, false, false) -- Verteidiger (Fraktionsname)
- dxDrawText(defenderalive.." / "..defender, screenW * 0.9219, screenH * 0.3963, screenW * 0.9771, screenH * 0.4102, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "center", "top", false, false, false, false, false) -- Verteidiger (Lebensanzeige)
- -- Distanz zum TK --
- if distance > reichweiteZumTK then
- distance = "Entfernung zum Totenkopf "..distance.."m"
- dxDrawText(distance, screenW * 0.8651, screenH * 0.4278, screenW * 0.9823, screenH * 0.4417, tocolor(255, 0, 0, 255), 1.00*syA, "default-bold", "left", "top", false, false, false, false, false) -- Distanz (rot)
- else
- distance = "Entfernung zum Totenkopf "..distance.."m"
- dxDrawText(distance, screenW * 0.8651, screenH * 0.4278, screenW * 0.9823, screenH * 0.4417, tocolor(255, 255, 255, 255), 1.00*syA, "default-bold", "left", "top", false, false, false, false, false) -- Distanz (weiß)
- end
- showing = true
- end
- function startAnzeige ( )
- gangwarlaeuft = true
- gangwarDamage = 0
- gangwarKills = 0
- addEventHandler ( "onClientRender", getRootElement(), dxdrawGangwarAnzeige )
- addEventHandler ( "onClientKey", getRootElement(), deactivateInventar )
- -- removeEventHandler ( "onClientRender", getRootElement(), startStatistik )
- addEventHandler ( "onClientPlayerWasted", localPlayer, calculateGangwarKills )
- startzeit = getRealTime().timestamp
- end
- addEventHandler ( "startGWAnzeige", getRootElement(), startAnzeige )
- function updateAnzeigePrepare_func ( zeitzumende, attackergesamt, attackerfrac, ownerfrac, pickup )
- gangwarlaeuft = true
- diezeit = zeitzumende
- attacker = attackergesamt
- attackeralive = attackergesamt
- attackerfracname = gangPraefix[attackerfrac]
- defenderfracname = gangPraefix[ownerfrac]
- thepickup = pickup
- attackerR = factionColors[attackerfrac][1]
- attackerG = factionColors[attackerfrac][2]
- attackerB = factionColors[attackerfrac][3]
- defenderR = factionColors[ownerfrac][1]
- defenderG = factionColors[ownerfrac][2]
- defenderB = factionColors[ownerfrac][3]
- startzeit = getRealTime().timestamp
- end
- addEventHandler ( "updateAnzeigePrepare", getRootElement(), updateAnzeigePrepare_func )
- function updateAnzeigeStart_func ( zeitzumende, attackerlebend, attackergesamt )
- gangwarlaeuft = true
- diezeit = zeitzumende
- attackeralive = attackerlebend
- attacker = attackergesamt
- startzeit = getRealTime().timestamp
- end
- addEventHandler ( "updateAnzeigeStart", getRootElement(), updateAnzeigeStart_func )
- function updateAnzeigeNachJoinen_func ( zeitzumende, attackergesamt, attackerlebend, defendergesamt, defenderlebend, attackerfrac, ownerfrac, pickup )
- gangwarlaeuft = true
- diezeit = zeitzumende
- attacker = attackergesamt
- attackeralive = attackerlebend
- defender = defendergesamt
- defenderalive = defenderlebend
- attackerfracname = gangPraefix[attackerfrac]
- defenderfracname = gangPraefix[ownerfrac]
- thepickup = pickup
- attackerR = factionColors[attackerfrac][1]
- attackerG = factionColors[attackerfrac][2]
- attackerB = factionColors[attackerfrac][3]
- defenderR = factionColors[ownerfrac][1]
- defenderG = factionColors[ownerfrac][2]
- defenderB = factionColors[ownerfrac][3]
- startzeit = getRealTime().timestamp
- end
- addEventHandler ( "updateAnzeigeNachJoinen", getRootElement(), updateAnzeigeNachJoinen_func )
- function attackerEinerHinzugekommen ( )
- attacker = attacker + 1
- attackeralive = attackeralive + 1
- end
- addEventHandler ( "attackereinerdazugekommen", getRootElement(), attackerEinerHinzugekommen )
- function defenderEinerHinzugekommen ( )
- defender = defender + 1
- defenderalive = defenderalive + 1
- end
- addEventHandler ( "defendereinerdazugekommen", getRootElement(), defenderEinerHinzugekommen )
- function attackerEinerTot ( )
- attackeralive = attackeralive - 1
- end
- addEventHandler ( "attackereinergestorben", getRootElement(), attackerEinerTot )
- function defenderEinerTot ( )
- defenderalive = defenderalive - 1
- end
- addEventHandler ( "defendereinergestorben", getRootElement(), defenderEinerTot )
- --[[
- function attackerEinerOffVorStart ( )
- attackeralive = attackeralive - 1
- attacker = attacker - 1
- end
- addEventHandler ( "attackereinerofflineohnezaehlen", getRootElement(), attackerEinerOffVorStart )
- function defenderEinerOffVorStart ( )
- defenderalive = defenderalive - 1
- defender = defender - 1
- end
- addEventHandler ( "defendereinerofflineohnezaehlen", getRootElement(), defenderEinerOffVorStart )
- ]]
- function stopAnzeige ( dmgkilltable )
- gangwarlaeuft = false
- removeEventHandler ( "onClientRender", getRootElement(), dxdrawGangwarAnzeige )
- removeEventHandler ( "onClientKey", getRootElement(), deactivateInventar )
- removeEventHandler ("onClientPlayerWasted", localPlayer, calculateGangwarKills)
- diezeit, startzeit, attackeralive, defenderalive, attacker, defender = 0, 0, 0, 0, 0, 0
- attackerfracname = ""
- defenderfracname = ""
- thepickup = nil
- showing = false
- end
- addEventHandler ( "stopGWAnzeige", getRootElement(), stopAnzeige )
- function stopAnzeigeSTOP ( )
- gangwarlaeuft = false
- removeEventHandler ( "onClientRender", getRootElement(), dxdrawGangwarAnzeige )
- removeEventHandler ( "onClientKey", getRootElement(), deactivateInventar )
- diezeit, startzeit, attackeralive, defenderalive, attacker, defender = 0, 0, 0, 0, 0, 0
- attackerfracname = ""
- defenderfracname = ""
- thepickup = nil
- showing = false
- end
- addEventHandler ( "stopGWAnzeigeSTOP", getRootElement(), stopAnzeigeSTOP )
- function calculateGangwarDamage ( dmg )
- gangwarDamage = gangwarDamage + dmg
- if not showing then
- addEventHandler ( "onClientRender", getRootElement(), dxdrawGangwarAnzeige )
- end
- end
- addEventHandler ("rechneDMGAn", getRootElement(), calculateGangwarDamage)
- function calculateGangwarKills ( killer )
- triggerServerEvent ( "rechneKILLAnServer", source, killer )
- end
- addEventHandler ( "rechneKillAn", root, function ( kills )
- gangwarKills = kills
- end )
- function deactivateInventar ( button, press )
- if ( press ) and button == "i" then
- cancelEvent()
- end
- end
- --[[
- function startStatistik()
- local ver, ang = 0, 0
- local hoehe = 0
- for index, tables in pairs ( sortierteStatistikTabelle ) do
- if tables["Attacker"] then
- hoehe = hoehe + 1
- end
- end
- for index, tables in pairs ( sortierteStatistikTabelle ) do
- if tables["Attacker"] then
- -- Rechteck --
- dxDrawRectangle(screenx-400*sxA, screeny-775*syA+46*syA*(index-ang), 180*sxA, 45*syA, tocolor(attackerR, attackerG, attackerB, 200), true) -- ATTACKER
- -- Stats --
- dxDrawText("Kill: "..tables["Kills"].." | Dmg: "..tables["Damage"], screenx-400*sxA, screeny-754*syA+46*syA*(index-ang), screenx-220, screeny-740*syA+46*syA*(index-ang),tocolor(255, 255, 255, 255), 1.2*sxA, "default-bold", "center", "top", false, false, true, false, false) -- Name
- -- Name --
- dxDrawText(tables["Player"], screenx-400*sxA, screeny-770*syA+46*syA*(index-ang), screenx-220, screeny-740*syA+46*syA*(index-ang),tocolor(255, 255, 255, 255), 1.2*sxA, "default-bold", "center", "top", false, false, true, false, false) -- Stats
- ver = ver + 1
- else
- -- Rechteck --
- dxDrawRectangle(screenx-210*sxA, screeny-775*syA+46*syA*(index-ver), 180*sxA, 45*syA, tocolor(defenderR, defenderG, defenderB, 200), true) -- DEFENDER
- -- Stats --
- dxDrawText("Kill: "..tables["Kills"].." | Dmg: "..tables["Damage"], screenx-210*sxA, screeny-754*syA+46*syA*(index-ver), screenx-30, screeny-740*syA+46*syA*(index-ver),tocolor(255, 255, 255, 255), 1.2*sxA, "default-bold", "center", "top", false, false, true, false, false) -- Name
- -- Name --
- dxDrawText(tables["Player"], screenx-210*sxA, screeny-770*syA+46*syA*(index-ver), screenx-30, screeny-740*syA+46*syA*(index-ver),tocolor(255, 255, 255, 255), 1.2*sxA, "default-bold", "center", "top", false, false, true, false, false) -- Stats
- ang = ang + 1
- end
- end
- setTimer ( function () removeEventHandler ( "onClientRender", getRootElement(), startStatistik ) end, 1000 * zeitinsekundenbisstatistikendet, 1 )
- end
- function kachingsound_func ( )
- playSound ( "sounds/kaching.mp3" )
- end
- addEventHandler ( "kaching", getRootElement(), kachingsound_func )
- addEventHandler ( "moveVehicleInGangwar", root, function ( veh )
- theveh = veh
- lastvehmove = getTickCount()
- addEventHandler ( "onClientRender", root, showVehicleFlying )
- showCursor ( true )
- bindKey ( "mouse1", "up", triggerTheVehiclePosition )
- bindKey ( "mouse_wheel_up", "both", setVehicleRotationUpDown, 3 )
- bindKey ( "mouse_wheel_down", "both", setVehicleRotationUpDown, -3 )
- end )
- function showVehicleFlying ( )
- local _, _, worldx, worldy, worldz = getCursorPosition()
- local px, py, pz = getCameraMatrix()
- local playerx, playery, playerz = getElementPosition ( localPlayer )
- setCameraMatrix ( playerx, playery, playerz+50, playerx, playery, playerz )
- local hit, x, y, z, elementHit = processLineOfSight ( px, py, pz, worldx, worldy, worldz )
- local _, _, rz = getElementRotation ( theveh )
- if x and y and z then
- z = getGroundPosition ( x, y, z )
- setElementPosition ( theveh, x, y, z+0.6 )
- end
- setElementRotation ( theveh, 0, 0, rz )
- end
- function triggerTheVehiclePosition ( )
- if lastvehmove+500 <= getTickCount() then
- unbindKey ( "mouse1", "both", triggerTheVehiclePosition )
- unbindKey ( "mouse_wheel_up", "both", setVehicleRotationUpDown )
- unbindKey ( "mouse_wheel_down", "both", setVehicleRotationUpDown )
- removeEventHandler ( "onClientRender", root, showVehicleFlying )
- local screenx, screeny, worldx, worldy, worldz = getCursorPosition()
- local px, py, pz = getCameraMatrix()
- local hit, x, y, z, elementHit = processLineOfSight ( px, py, pz, worldx, worldy, worldz )
- z = getGroundPosition ( x, y, z )
- local _, _, rz = getElementRotation ( theveh )
- triggerServerEvent ( "triggerActualVehiclePositionForGangwar", player, theveh, x, y, z+0.9, rz )
- setCameraTarget ( localPlayer )
- theveh = nil
- end
- end
- function setVehicleRotationUpDown ( button, _, value )
- local _, _, rz = getElementRotation ( theveh )
- setElementRotation ( theveh, 0, 0, rz+value )
- end
- ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement