انا لقيت ذي المود اتوقع افضل
اكتب كلمه في اف8 يجي حارس شي
سيرفر
local ablauf = {}
local ped = {}
local stat = {}
local firetimer = {}
local timer = {}
local jx, jy, jz = {}, {}, {}
local pedSayTimer = {}
local say_messages = {
[1] = "Hallo!",
[2] = "Ich mache nur meinen Job.",
[3] = "Brauchst du Hilfe? Nein? Ich auch nicht.",
[4] = "Du befindest dich in einer sehr gefaehrlichen Lage.",
[5] = "Menschen koennen unterwasser ueberleben. Aber nicht lange.",
[6] = "Der Koerper eines Menschens enthaelt ein halbes kilo Salz.",
[7] = "Kopiere einen Spiegel, und du erhaelst einen Fotokopierer.",
[8] = "Der erste Passagierflug fand 1940 statt. Alle an Bord kreischten waerend des gesammten Flug's.",
[9] = "Der erste Mensch der bewies, das Kuhmlich trinkbar ist, war sehr, sehr durstig.",
[10] = "Bevor das Flugzeug erfunden wurde, musste jeder Mensch 100 Kilo Helium essen, um fliegen zu koennen.",
[11] = "Mobiltelefone verursachen kein Krebs. Nur Hepatitis.",
[12] = "69 Prozent aller Zaubertricks sind keine Zaubertricks, sondern hexerei.",
[13] = "Ratten koennen nicht spucken.",
[14] = "Auf jeden quadratzentimeter Mensch leben 32 Millionen Bakterien.",
[15] = "Der Mond umkreist die Erde alle 27,32 Tage.",
[16] = "Die Milliardste stelle von Pi ist 9.",
[17] = "Ein Liter Wasser wiegt 9,99 Kilogramm.",
[18] = "Heisses Wasser gefriert schneller als kaltes.",
[19] = "China ist der zweitgroesste Hersteller von Sojabohnen.",
[20] = "Wolfram besitzt den zweithoechsten Siedepunk. 3410.C",
[21] = "Die Zahene 2x Taeglich zu Reinigen ist die beste Methode gegen Mundgeruch.",
[22] = "Die Autobremse wurde erst 1895 erfunden. Zuvor musste der Fahrer solange im Kreis fahren, bis alle Insassen ihre Geschaefte erledigt hatten.",
[23] = "Der erste Mensch auf dem Mount Everest betrat ihn ausversehn, als er einen Vogel jagte.",
[24] = "Der Karpfen ist der giftigste Fisch der Welt.",
[25] = "Rechtshaender leben im Durchschnitt neun Jahre laenger als Linkshaender.",
[26] = "Eine Schlange kann bis zu 3 Jahren schlafen.",
[27] = "Wenn man 6 Jahre und 9 Monate ununterbrochen furzt, hat man genug Gas gesammelt, um die Energie einer Atombombe darzustellen.",
[28] = "Mit dem Kopf gegen die Wand zu knallen verbraucht 150 Kalorien die Stunde.",
[29] = "Es ist unmoeglich mit offenen Augen zu niesen.",
[30] = "Man stirbt eher an einem Champagner-Korken als von einer giftigen Spinne.",
[31] = "1567 stolperte der Mann mit dem laengsten Bart Europas ueber eben diesen, stuerzte die Treppe herab und brach sich das Genick.",
[32] = "In Indien ist es moeglich Tiere zu heiraten.",
[33] = "Erhitzt man Eier in der Mikrowelle explodieren sie.",
[34] = "Ein Mensch wiegt weniger, wenn der Mond genau ueber ihm steht.",
[35] = "Nach einer Auswertung von 32.000.000 Datensaetzen ist das haeufigste Passwort im Internet 123456.",
[36] = "Ein Mensch kann durch einen Sprung auf ebenem Boden nicht laenger als eine Sekunde in der Luft bleiben.",
[37] = "Tritt man gegen eine Laterne mit einer Quecksilberdampflampe, erlischt diese fuer bis zu 5 Minuten.",
[38] = "Der Halleyscher Komet naehert sich der Erde alle 76 Jahre.",
[39] = "Zu jeder Uhrzeit sind auf der ganzen Welt rund 50 Millionen Menschen betrunken."
}
local function doPedSaySomething(ped)
if(isTimer(pedSayTimer[ped])) then
killTimer(pedSayTimer[ped])
end
if(isElement(ped)) then
local message = say_messages[math.random(1, #say_messages)]
local x, y, z = getElementPosition(ped)
local col = createColSphere(x, y, z, 10)
for index, p in ipairs( getElementsWithinColShape(col, "player") ) do
local x2, y2, z2 = getElementPosition ( p )
local distance = getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 )
local rgb = 15 * distance - 125
local rgb = math.abs ( rgb - 255 ) + 125
outputChatBox ("Bodyguard sagt: " ..message, p, rgb, rgb, rgb )
end
destroyElement(col)
pedSayTimer[ped] = setTimer(doPedSaySomething, 10000+math.random(5000, 60000), 1, ped)
end
end
local function functionscheck()
for index, p in next, ped do
if(isElement(p)) then
local player = getPlayerFromName(getElementData(p, "besitzer"))
if(player) and (ped[player]) then
if(isElement(p)) and (ablauf[player] == true) then
if not(stat[p]) then
stat[p] = {}
timer[p] = {}
end
local owner = player
if(owner) then
local x, y, z = getElementPosition(owner)
local x2, y2, z2 = getElementPosition(p)
if(getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) > 3) then
-- SPRINT CHECK --
stat[p]["running"] = true
if(getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) > 10) then
if(stat[p]["jumping"] ~= true) and (stat[p]["inveh"] ~= true) then
setPedAnimation(p, "ped" , "sprint_civi", -1, true, true, false) -- Sprintet
end
else
if(stat[p]["jumping"] ~= true) and (stat[p]["inveh"] ~= true) then
setPedAnimation(p, "ped" , "JOG_maleA", -1, true, true, false) -- Joggt
end
end
-- ROTATION --
local x1, y1 = getElementPosition(p)
local x2, y2 = getElementPosition(owner)
local rot = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi
rot = rot-90
setPedRotation(p, rot)
-- CAR --
local inveh = false
if(isPedInVehicle(player)) then
inveh = true
end
if(inveh == true) and (getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) < 4) then
if(stat[p]["inveh"] ~= true) and (stat[p]["enterveh"] ~= true) then
stat[p]["enterveh"] = true
setPedAnimation(p)
triggerClientEvent(getRootElement(), "doPedEnter", player, p, true)
setTimer(function()
local occupants = getVehicleOccupants(getPedOccupiedVehicle(player))
for i = 1, getVehicleMaxPassengers(getPedOccupiedVehicle(player)), 1 do
if not(occupants[i]) then
warpPedIntoVehicle(p, getPedOccupiedVehicle(player), i)
stat[p]["inveh"] = true
break;
end
end
stat[p]["enterveh"] = false
end, 2000, 1)
end
else
if(stat[p]["inveh"] == true) and (stat[p]["enterveh"] == false) and(isPedInVehicle(player) == false) then -- er ist nicht im auto aber ich bin es
stat[p]["enterveh"] = true
triggerClientEvent(getRootElement(), "doPedExitVeh", player, p, true)
setTimer(function()
removePedFromVehicle(p)
stat[p]["enterveh"] = false
stat[p]["inveh"] = false
end, 1000, 1)
end
end
-- JUMP CHECK --
if(inveh == false) then
if((z-z2) > 0.-- s8) --> and (getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) < 4) and (stat[p]["jumping"] ~= true) then -- er ist oben
stat[p]["jumping"] = true
setPedAnimation(p)
triggerClientEvent(getRootElement(), "doPedJump", player, p, true)
if(isTimer(timer[p]["jump"])) then killTimer(timer[p]["jump"]) end
timer[p]["jump"] = setTimer(function()
stat[p]["jumping"] = false
triggerClientEvent(getRootElement(), "doPedJump", player, p, false)
end, 800, 1)
end
end
else
if (stat[p]["running"] == true)then
stat[p]["running"] = false
setPedAnimation(p)
end
end
else
destroyElement(p)
end
end
end
else
if(isElement(p)) then
destroyElement(p)
end
p = nil
end
end
end
setTimer(functionscheck, 200, -1)
addCommandHandler("follower", function(p)
if(ablauf[p] == true) then return end
ablauf[p] = true
local x, y, z = getElementPosition(p)
ped[p] = createPed(164, x, y+1, z)
setElementData(ped[p], "besitzer", getPlayerName(p))
setElementData(ped[p], "bodyguard", true)
setTimer(giveWeapon, 1000, 1, ped[p], 27, 99999, true)
setPedStat (ped[p], 72, 999)
setPedStat (ped[p], 76, 999)
setPedStat (ped[p], 74, 999)
--addEventHandler("onClientPedDamage", ped, on_damage_check)
pedSayTimer[ped[p]] = setTimer(doPedSaySomething, 5000, 1, ped[p])
addEventHandler("onPedWasted", ped[p], function()
local ped = source
setTimer(destroyElement, 1000, 1, ped)
ablauf[p] = false
end)
end)
كلنت
local gMe = getLocalPlayer()
addEvent("doPedJump", true)
addEvent("doPedEnter", true)
addEvent("doPedExitVeh", true)
addEventHandler("doPedJump", getLocalPlayer(), function(p, boolean)
setPedControlState(p, "jump", boolean)
end)
addEventHandler("doPedEnter", getLocalPlayer(), function(p, boolean)
setPedControlState(p, "enter_passenger", boolean)
end)
addEventHandler("doPedExitVeh", getLocalPlayer(), function(p, boolean)
setPedControlState(p, "enter_exit", boolean)
end)
-- DAMAGE ABFRAGE --
local pedTarget = {}
local pedTimer = {}
local pedShooting = {}
local function doPedAttackOtherPlayer(ped)
if(isTimer(pedTimer[ped])) or (isPedInVehicle(ped)) then
killTimer(pedTimer[ped])
end
if(isElement(ped)) then
pedTimer[ped] = setTimer(function()
if(isElement(ped)) then
local target = pedTarget[ped]
if(target) then
local x, y, z = getElementPosition(ped)
local x2, y2, z2 = getElementPosition(target)
if(isLineOfSightClear(x, y, z, x2, y2, z2, true, false, false, false, false, false)) then
if(getElementHealth(target) > 1) then
if(pedShooting[ped] ~= true) then
--[[
local x1, y1 = getElementPosition(ped)
local x2, y2 = getElementPosition(target)
local rot = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi
rot = rot-90
setPedRotation(ped, rot)
setPedAnimation(ped)
if(getPedControlState(ped, "fire") ~= true) then
setPedControlState(ped, "fire", true)
end
setPedAimTarget(ped, x2, y2, z2)]]
setPedControlState(ped, "fire", true)
pedShooting[ped] = true
else
local x1, y1, z1 = getElementPosition(ped)
local x2, y2, z2 = getElementPosition(target)
local rot = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi
rot = rot-90
setPedRotation(ped, rot)
setPedAimTarget(ped, x2, y2, z2)
end
else
killTimer(pedTimer[ped])
pedShooting[ped] = false
setPedControlState(ped, "fire", false)
end
else
killTimer(pedTimer[ped])
pedShooting[ped] = false
setPedControlState(ped, "fire", false)
end
end
else
killTimer(pedTimer[ped])
end
end, 500, -1)
else
killTimer(pedTimer[ped])
end
end
addEventHandler("onClientPedDamage", getRootElement(), function(attacker)
if(getElementData(source, "bodyguard") == true) then
if(attacker) and (isElement(attacker)) then
if(getElementType(attacker) == "player") or (getElementType(attacker) == "vehicle") then
pedTarget[source] = attacker
doPedAttackOtherPlayer(source)
end
end
end
end)
-- onClientRender Func --
addEventHandler("onClientRender", getRootElement(), function()
for index, p in pairs(getElementsByType("ped", getRootElement(), true)) do
if(getElementData(p, "bodyguard") == true) then
local owner = getElementData(p, "besitzer")
if(owner) then
local x, y, z = getElementPosition(p)
local x2, y2, z2 = getElementPosition(gMe)
if(isLineOfSightClear(x, y, z, x2, y2, z2, true, true, false, true)) then
local sx, sy = getScreenFromWorldPosition(x, y, z+1)
if(sx) and (sy) then
local distance = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
if(distance < 30) then
dxDrawText(owner.."'s Bodyguard", sx+2, sy+2, sx, sy, tocolor(0, 0, 0, 200), 2-(distance/20), "arial", "center", "center")
dxDrawText(owner.."'s Bodyguard", sx, sy, sx, sy, tocolor(0, 255, 0, 200), 2-(distance/20), "arial", "center", "center")
end
end
end
end
end
end
end)
وش الى احتاجه منه ؟