Guest User

Untitled

a guest
May 31st, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 13.58 KB | None | 0 0
  1. function playerdeath ( ammo, killer, weapon, part )
  2.  
  3.     local player = source
  4.     vioSetElementData ( player, "alcoholFlushPoints", 0 )
  5.     vioSetElementData ( player, "drugFlushPoints", 0 )
  6.     vioSetElementData ( player, "cigarettFlushPoints", 0 )
  7.     if part then
  8.         if part == 9 then
  9.             setPedHeadless ( player, true )
  10.         end
  11.     end
  12.     if getElementData ( player, "In_DMArena" ) == 1 then
  13.        
  14.     else
  15.         if isKeyBound ( player, "enter_exit", "down", heliCoSeat ) then
  16.             heliCoSeat ( player )
  17.         end
  18.         if not vioGetElementData ( player, "isInHighNoon" ) and ( not getElementData ( player, "In_DMArena" ) or getElementData ( player, "In_DMArena" ) == 0 ) then
  19.             vioSetElementData ( player, "hunger", 40 )
  20.             if vioGetElementData ( player, "callswith" ) then
  21.                 if vioGetElementData ( player, "callswith" ) ~= "none" then
  22.                     local caller = getPlayerFromName ( vioGetElementData ( player, "callswith" ) )
  23.                     if caller then
  24.                         vioSetElementData ( caller, "callswith", "none" )
  25.                         vioSetElementData ( caller, "call", false )
  26.                         vioSetElementData ( caller, "calls", "none" )
  27.                         vioSetElementData ( caller, "callswith", "none" )
  28.                         vioSetElementData ( caller, "calledby", "none" )
  29.                         outputChatBox ( "*Knack* - Die Leitung ist tod!", caller, 125, 0, 0 )
  30.                     end
  31.                     vioSetElementData ( player, "callswith", "none" )
  32.                     vioSetElementData ( player, "call", false )
  33.                     vioSetElementData ( player, "calls", "none" )
  34.                     vioSetElementData ( player, "callswith", "none" )
  35.                     vioSetElementData ( player, "calledby", "none" )
  36.                 end
  37.             end
  38.             if vioGetElementData ( player, "isInDrivingSchool" ) then
  39.                 cancelDrivingSchoolPlayer ( player )
  40.             end
  41.             if getPedOccupiedVehicle ( player ) then
  42.                 removePedFromVehicle ( player )
  43.             end
  44.             if isElement ( killer ) and killer ~= player and getPlayerName ( killer ) and weapon and not isOnStateDuty(killer) then
  45.                 outputServerLog ( getPlayerName ( killer ).." hat "..getPlayerName(player).." mit Waffe "..weapon.." erledigt!" )
  46.                 if vioGetElementData ( player, "fraktion" ) == 0 then
  47.                     local x1, y1, z1 = getElementPosition ( player )
  48.                     local x2, y2, z2 = getElementPosition ( killer )
  49.                     if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) < 7.5 then
  50.                         outputChatBox ( "Du hast ein Verbrechen begangen: Mord, gemeldet von: Anonym", killer, 0, 0, 150 )
  51.                         if vioGetElementData ( killer, "wanteds" ) <= 5 then
  52.                             vioSetElementData ( killer, "wanteds", vioGetElementData ( killer, "wanteds" ) + 1 )
  53.                             setPlayerWantedLevel ( killer, vioGetElementData ( killer, "wanteds" ) )
  54.                         end
  55.                     elseif getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) < 15 then
  56.                         if math.random ( 1, 2 ) == 1 then
  57.                             outputChatBox ( "Du hast ein Verbrechen begangen: Mord, gemeldet von: Anonym", killer, 0, 0, 150 )
  58.                             if vioGetElementData ( killer, "wanteds" ) <= 5 then
  59.                                 vioSetElementData ( killer, "wanteds", vioGetElementData ( killer, "wanteds" ) + 1 )
  60.                                 setPlayerWantedLevel ( killer, vioGetElementData ( killer, "wanteds" ) )
  61.                             end
  62.                         else
  63.                             vioSetElementData ( killer, "lastcrime", "mord" )
  64.                         end
  65.                     else
  66.                         vioSetElementData ( killer, "lastcrime", "mord" )
  67.                     end
  68.                 end
  69.             end
  70.             vioSetElementData ( player, "isinairportmission", false )
  71.             setPlayerNametagColor ( player, 200, 200, 200 )
  72.             vioSetElementData ( player, "isInRace", false )
  73.             unbindKey ( player, "mouse_wheel_up", "down", weaponsup )
  74.             unbindKey ( player, "mouse_wheel_down", "down", weaponsdown )
  75.             unbindKey ( player , "g", "down", rein )
  76.             unbindKey ( player, "enter", "down", eject )
  77.             unbindKey ( player, "rshift", "down", helidriveby )
  78.             unbindKey ( player, "1", "down", tazer_func )
  79.             local timeToBeDeath = 60*1000
  80.             if vioGetElementData ( player, "playingtime" ) >= 100 then
  81.                 timeToBeDeath = timeToBeDeath + 2
  82.             elseif vioGetElementData ( player, "playingtime" ) >= 50 then
  83.                 timeToBeDeath = timeToBeDeath + 1
  84.             end
  85.             if isElement ( killer ) then
  86.                 if isHitman ( killer ) then
  87.                     local contract = vioGetElementData ( player, "contract" )
  88.                     if contract > 0 then
  89.                         vioSetElementData ( player, "hitmandeath", true )
  90.                         timeToBeDeath = timeToBeDeath + 2
  91.                         vioSetElementData ( player, "contract", 0 )
  92.                         vioSetElementData ( killer, "money", tonumber ( vioGetElementData ( killer, "money" ) ) + contract )
  93.                         givePlayerMoney ( killer, contract )
  94.                         triggerClientEvent ( killer, "HudEinblendenMoney", getRootElement() )
  95.                         playSoundFrontEnd ( killer, 40 )
  96.                         outputChatBox ( "Du solltest dir Gedanken machen - auf dich waren "..contract.." $ Kopfgeld ausgesetzt!", player, 125, 0, 0 )
  97.                         outputChatBox ( "Ziel erledigt. Belohnung: "..contract.." $.", killer, 125, 0, 0 )
  98.                     end
  99.                 end
  100.                 if vioGetElementData ( player, "fraktion" ) > 0 and vioGetElementData ( player, "fraktion" ) > 0 then
  101.                     if vioGetElementData ( player, "fraktion" ) ~= vioGetElementData ( player, "fraktion" ) then
  102.                         timeToBeDeath = timeToBeDeath + 60
  103.                     end
  104.                 end
  105.             end
  106.            
  107.             vioSetElementData ( player, "heaventime", timeToBeDeath )
  108.             setTimer ( endfade, 5000, 1, player, timeToBeDeath )
  109.             vioSetElementData ( player, "hitmandeath", false )
  110.             if vioGetElementData ( source, "isInArea51Mission" ) then
  111.                 setPlayerOutOfArea51 ( source )
  112.                 outputChatBox ( "Mission gescheitert!", source, 125, 0, 0 )
  113.             end
  114.             if killer and killer ~= player and getElementType ( killer ) == "player" then
  115.                 local kills = tonumber ( vioGetElementData ( killer, "kills" ) )
  116.                 vioSetElementData ( killer, "kills", kills + 1 )
  117.                 blackListKillCheck ( player, killer, weapon )
  118.                 if isOnDuty ( killer ) or isArmy ( killer ) then
  119.                     if vioGetElementData ( player, "wanteds" ) == 0 then
  120.                         vioSetElementData ( killer, "boni", vioGetElementData ( killer, "boni" )-wantedprice*3 )
  121.                         outputChatBox ( "Du hast einen Zivilisten erledigt - dir werden "..(wantedprice*3).." $ bei der naechsten Abrechnung abgezogen!", killer, 125, 0, 0 )
  122.                     else
  123.                         local strafe = vioGetElementData ( player, "wanteds" ) * wantedprice
  124.                         local wanteds = vioGetElementData ( player, "wanteds" )
  125.                         local time = vioGetElementData ( player, "wanteds" ) * jailtimeperwanted * 1.2
  126.                         vioSetElementData ( player, "wanteds", 0 )
  127.                         setPlayerWantedLevel ( player, 0 )
  128.                         if tonumber(strafe) > vioGetElementData ( player, "money" ) then       
  129.                             takePlayerMoney ( player, vioGetElementData ( player, "money" ) )
  130.                             triggerClientEvent ( player, "HudEinblendenMoney", getRootElement() )
  131.                             vioSetElementData ( player, "money", 0 )
  132.                         else
  133.                             vioSetElementData ( player, "money", tonumber(vioGetElementData ( player, "money" )) - tonumber(strafe) )
  134.                             takePlayerMoney ( player, tonumber(strafe) )
  135.                             triggerClientEvent ( player, "HudEinblendenMoney", getRootElement() )
  136.                         end
  137.                         vioSetElementData ( player, "jailtime", time )
  138.                         vioSetElementData ( player, "bail", 0 )
  139.                         local grammafix  = " ohne Kaution "
  140.                         outputChatBox ( "Du wurdest von Polizist "..getPlayerName(killer).." erledigt und"..grammafix.."fuer "..strafe.." $ und "..time.." Minuten eingesperrt!", player, 0, 125, 0 )
  141.                         vioSetElementData ( killer, "boni", vioGetElementData ( killer, "boni" )+wanteds*(wantedprice/3) )
  142.                         outputChatBox ( "Du hast "..getPlayerName ( player ).." erledigt und erhaelst bei der naechsten Abrechnung "..wanteds*(wantedprice/3).." $ Bonus!", killer, 0, 125, 0 )
  143.                     end
  144.                 end
  145.             end
  146.             if isKeyBound ( player, "mouse3", "up", explodeTerror, player ) then
  147.                 explodeTerror ( player )
  148.             end
  149.             vioSetElementData ( player, "deaths", vioGetElementData ( player, "deaths" ) + 1 )
  150.             setPlayerNametagShowing ( player, true )
  151.             if not vioGetElementData ( player, "isInHighNoon" ) then
  152.            
  153.                 local curdrogen = vioGetElementData ( player, "drugs" )
  154.                 local amount = getDropAmount ( curdrogen )
  155.                 if amount > 0 then
  156.                     vioSetElementData ( player, "drugs", curdrogen - amount )
  157.                     local x, y, z = getElementPosition ( player )
  158.                     pickup = createPickup ( 0, 0, 0, 3, 1210, 1 )
  159.                     setElementPosition ( pickup, x, y, z )
  160.                     vioSetElementData ( pickup, "amount", amount )
  161.                     setElementDimension ( pickup, getElementDimension ( player ) )
  162.                     setElementInterior ( pickup, getElementInterior ( player ) )
  163.                    
  164.                     addEventHandler ( "onPickupHit", pickup, drugDropHit )
  165.                 end
  166.                 local curmats = vioGetElementData ( player, "mats" )
  167.                 amount = getDropAmount ( curmats )
  168.                 if amount > 0 then
  169.                     vioSetElementData ( player, "mats", curmats - amount )
  170.                     local x, y, z = getElementPosition ( player )
  171.                     pickup = createPickup ( 0, 0, 0, 3, 1210, 1 )
  172.                     setElementPosition ( pickup, x + 0.5, y, z )
  173.                     vioSetElementData ( pickup, "amount", amount )
  174.                     setElementDimension ( pickup, getElementDimension ( player ) )
  175.                     setElementInterior ( pickup, getElementInterior ( player ) )
  176.                    
  177.                     addEventHandler ( "onPickupHit", pickup, matDropHit )
  178.                 end
  179.                
  180.                 local money = vioGetElementData ( player, "money" )
  181.                 loss = 5
  182.                 if money > 0 then
  183.                     vioSetElementData ( player, "money", math.abs(math.floor(money/100*(100-loss))) )
  184.                     takePlayerMoney ( player, math.floor(money/100*loss) )
  185.                     local x, y, z = getElementPosition ( player )
  186.                     pickup = createPickup ( 0, 0, 0, 3, 1212, 1 )
  187.                     setElementPosition ( pickup, x, y + 0.5, z )
  188.                     vioSetElementData ( pickup, "money", math.floor(money/100*loss) )
  189.                     setElementDimension ( pickup, getElementDimension ( player ) )
  190.                     setElementInterior ( pickup, getElementInterior ( player ) )
  191.                    
  192.                     addEventHandler ( "onPickupHit", pickup, moneyDropHit )
  193.                 end
  194.             end
  195.             setElementDimension ( player, 0 )
  196.             setElementInterior ( player, 0 )
  197.         else
  198.             vioSetElementData ( player, "isInHighNoon", false )
  199.             setTimer ( savespawn, 5000, 1, player, -2617.2189941406, 212, 4.4970808029175, 0, 0, 0, true )
  200.         end
  201.     end
  202.     showChat ( player, true )
  203.     showPlayerHudComponent ( player, "radar", true )
  204.     if isElement ( killer ) then
  205.         outputLog ( getPlayerName ( player ).." wurde von "..tostring ( getPlayerName ( killer ) ).." getoetet ( Waffe: "..weapon.." )", "kill" )
  206.     else
  207.         outputLog ( getPlayerName ( player ).." ist gestorben.", "death" )
  208.     end
  209. end
  210. addEventHandler ( "onPlayerWasted", getRootElement(), playerdeath )
  211.  
  212. function endfade ( player, timeToBeDeath )
  213.  
  214.     if isElement ( player ) then
  215.         removePedFromVehicle ( player )
  216.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu wurdest erledigt\nund wirst nun im\nKrankenhaus wieder\nzusammen geflickt!", 7500, 125, 0, 0 )
  217.        
  218.         local x1, y1, z1 = getElementPosition ( player )
  219.         local x2, y2, z2 = 1605.4418945313, 1868.0090332031, 27.071100234985
  220.         local x3, y3, z3 = -2537.9006347656, 618.84533691406, 33.35578918457
  221.         local distToSF = getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 )
  222.         local distToLV = getDistanceBetweenPoints3D ( x1, y1, z1, x3, y3, z3 )
  223.         if distToSF > distToLV then
  224.             setCameraMatrix ( player, -2537.9006347656, 618.84533691406, 33.35578918457, -2616.6801757813, 619.22979736328, 39.688884735107 )
  225.         else
  226.             setCameraMatrix ( player, 1605.4418945313, 1868.0090332031, 27.071100234985, 1606.3515625, 1819.0625, 22.315660476685 )
  227.         end
  228.        
  229.         if tonumber ( vioGetElementData ( player, "adminlvl" ) ) < 1 then
  230.             toggleAllControls ( player, false )
  231.         end
  232.         showPlayerHudComponent ( player, "radar", false )
  233.         triggerClientEvent ( player, "showProgressBar", player )
  234.         showChat ( player, true )
  235.        
  236.         refreshDeathTimeForPlayer ( player, 0, timeToBeDeath )
  237.     end
  238. end
  239.  
  240. function refreshDeathTimeForPlayer ( player, timeDone, holeTime )
  241.  
  242.     if isElement ( player ) then
  243.         if timeDone / holeTime >= 1 then
  244.             revive ( player )
  245.             triggerClientEvent ( player, "updateDeathBar", player, 100 )
  246.             return nil
  247.         end
  248.         triggerClientEvent ( player, "updateDeathBar", player, timeDone / holeTime * 100 )
  249.         setTimer ( refreshDeathTimeForPlayer, 2500, 1, player, timeDone + 2500, holeTime )
  250.     end
  251. end
  252.  
  253. function revive ( player )
  254.  
  255.     if isElement ( player ) then
  256.         toggleAllControls ( player, true )
  257.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist wieder\nfit! Pass beim\nnaechsten mal\nbesser auf!", 7500, 0, 125, 0 )
  258.         vioSetElementData ( player, "heaventime", 0 )
  259.        
  260.         if vioGetElementData ( player, "money" ) >= hospitalcosts then
  261.             vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - hospitalcosts )
  262.             takePlayerMoney ( player, hospitalcosts )
  263.         else
  264.             takePlayerMoney ( player, vioGetElementData ( player, "money" ) )
  265.             vioSetElementData ( player, "money", 0 )
  266.         end
  267.         triggerClientEvent ( player, "HudEinblendenMoney", getRootElement() )
  268.         playSoundFrontEnd ( player, 17 )
  269.         RemoteSpawnPlayer ( player )
  270.         showChat ( player, true )
  271.     end
  272. end
  273.  
  274. function headFixOnSpawn ()
  275.  
  276.     setPedHeadless ( source, false )
  277. end
  278. addEventHandler ( "onPlayerSpawn", getRootElement(), headFixOnSpawn )
  279.  
  280. function botGekillt ()
  281.  
  282.     detachElements ( source )
  283.     if vioGetElementData ( source, "bot" ) then
  284.         local x = vioGetElementData ( source, "sx" )
  285.         local y = vioGetElementData ( source, "sy" )
  286.         local z = vioGetElementData ( source, "sz" )
  287.         local dim = vioGetElementData ( source, "dim" )
  288.         local int = vioGetElementData ( source, "int" )
  289.         local rot = vioGetElementData ( source, "rot" )
  290.         local botname = vioGetElementData ( source, "botname" )
  291.         local model = getElementModel ( source )
  292.        
  293.         destroyElement ( source )
  294.        
  295.         _G[botname] = createPed ( model, x, y, z )
  296.         setPedRotation ( _G[botname], rot )
  297.         setElementInterior ( _G[botname], int )
  298.         setElementDimension ( _G[botname], dim )
  299.     end
  300. end
  301. addEventHandler ( "onPedWasted", getRootElement(), botGekillt )
Advertisement
Add Comment
Please, Sign In to add comment