Ultimate Terror

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Das ist der Hitman job. Wie soll ich das denn jetzt so machen, dass nur Terroristen ab Rang 3 Kopfgeldjäger sein können?

    LUA-Quellcode

    1. mincontract = 5000
    2. hitmanjobicon = createPickup ( -1830.404, 572.713, 35.164, 3, 1239, 1000, 0 )
    3. setElementAlpha ( hitmanjobicon, 0 )
    4. hitmanblip = createBlip ( -1830.404, 572.713, 35.164, 43, 1, 255, 0, 0, 255, 0, 99999 )
    5. setElementVisibleTo ( hitmanblip, getRootElement(), false )
    6. function hitmanjobiconHit ( player )
    7. if vioGetElementData ( player, "job" ) == "hitman" then
    8. outputChatBox ( "Tippe /contracts, um die Auftraege zu sehen, /contract [Name] [Summe], um ein Kopfgeld auszusetzen.", player, 200, 125, 125 )
    9. --outputChatBox ( "/arm um dich für 300$ auszurüsten.", player, 200, 125, 125 )
    10. else
    11. triggerClientEvent ( player, "infobox_start", getRootElement(), "Tippe /job, um\nals Hitman zu\narbeiten -\nAllerdings illegal!", 5000, 200, 200, 0 )
    12. end
    13. --outputChatBox ( "Vorruebergehend deaktiviert, bitte wende dich an einen Administrator!", player, 125, 0, 0 )
    14. end
    15. --addEventHandler ( "onPickupHit", hitmanjobicon, hitmanjobiconHit )
    16. function arm_func ( player )
    17. if vioGetElementData ( player, "job" ) == "hitman" then
    18. local x1, y1, z1 = getElementPosition ( player )
    19. local x2, y2, z2 = getElementPosition ( hitmanjobicon )
    20. if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 10 then
    21. if vioGetElementData ( player, "money" ) >= 300 then
    22. takePlayerSaveMoney ( player, 300 )
    23. giveWeapon ( player, 24, 56, true )
    24. giveWeapon ( player, 25, 25, true )
    25. giveWeapon ( player, 34, 10, true )
    26. else
    27. outputChatBox ( "Du hast nicht genug Geld - ein Paket kostet 100$!", player, 125, 0, 0 )
    28. end
    29. else
    30. outputChatBox ( "Du bist an einer ungueltigen Stelle!", player, 125, 0, 0 )
    31. end
    32. end
    33. end
    34. --addCommandHandler ( "arm", arm_func )
    35. function contract_func ( player, cmd, name, geld )
    36. if not name then return end
    37. local target = getPlayerFromName ( name )
    38. if target and vioGetElementData ( target, "loggedin" ) then
    39. local geld = tonumber ( geld )
    40. if geld then
    41. local pmoney = tonumber ( vioGetElementData ( player, "money" ) )
    42. if pmoney >= geld then
    43. if geld >= mincontract then
    44. vioSetElementData ( player, "money", pmoney - geld )
    45. playSoundFrontEnd ( player, 40 )
    46. vioSetElementData ( target, "contract", tonumber ( vioGetElementData ( target, "contract" ) ) + geld )
    47. outputChatBox ( "Du hast "..geld.." $ Kopfgeld auf "..name.." ausgesetzt - ein Hitman wird sich bald um ihn kuemmern...", player, 0, 125, 0 )
    48. else
    49. outputChatBox ( "Bitte setze mindestens "..mincontract.." $ als Belohnung aus!", player, 125, 0, 0 )
    50. end
    51. else
    52. outputChatBox ( "Du hast nicht genug Geld, um einen Mord in Auftrag zu geben.", player, 125, 0, 0 )
    53. end
    54. else
    55. outputChatBox ( "Ungueltige Summe!", player, 125, 0, 0 )
    56. end
    57. else
    58. outputChatBox ( "Der Spieler existiert nicht / ist offline!", player, 125, 0, 0 )
    59. end
    60. end
    61. --addCommandHandler ( "contract", contract_func )
    62. function contracts_func ( player )
    63. --if isHitman ( player ) then
    64. if vioGetElementData ( player, "job" ) == "hitman" then
    65. outputChatBox ( "Auftraege ( Die ersten 5 werden angezeigt ):", player, 200, 200, 20 )
    66. local players = getElementsByType("player")
    67. for i=1, #players do
    68. local playeritem = players[i]
    69. if vioGetElementData ( playeritem, "loggedin" ) == 1 then
    70. local contract = tonumber ( vioGetElementData ( playeritem, "contract" ) )
    71. local i = 0
    72. if contract then
    73. if contract >= mincontract then
    74. local i = i + 1
    75. outputChatBox ( getPlayerName ( playeritem )..", Belohnung: "..contract, player, 200, 200, 20 )
    76. if i == 5 then
    77. break
    78. end
    79. end
    80. end
    81. end
    82. end
    83. else
    84. outputChatBox ( "Du bist kein Hitman!", player, 125, 0, 0 )
    85. end
    86. end
    87. --addCommandHandler ( "contracts", contracts_func )
    Alles anzeigen
    #edit: Bei den Koordinaten -1830.404, 572.713, 35.164, 3, 1239, 1000, 0 ist nichts.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ted ()

  • Hilfreich

    So wie ich das Verstanden habe, willst du das die Commands nur Terror nutzen kann.
    Zu den Blips bzw Marker. Die Marker senden nur eine Nachicht in den Chat und machen den Marker zum armen.
    Das was du haben willst:

    LUA-Quellcode

    1. function contract_func ( player, cmd, name, geld )
    2. if not name then return end
    3. local target = getPlayerFromName ( name )
    4. if target and vioGetElementData ( target, "loggedin" ) then
    5. local geld = tonumber ( geld )
    6. if geld then
    7. local pmoney = tonumber ( vioGetElementData ( player, "money" ) )
    8. if pmoney >= geld then
    9. if geld >= mincontract then
    10. if isTerror(player) then
    11. vioSetElementData ( player, "money", pmoney - geld )
    12. playSoundFrontEnd ( player, 40 )
    13. vioSetElementData ( target, "contract", tonumber ( vioGetElementData ( target, "contract" ) ) + geld )
    14. outputChatBox ( "Du hast "..geld.." $ Kopfgeld auf "..name.." ausgesetzt - ein Hitman wird sich bald um ihn kuemmern...", player, 0, 125, 0 )
    15. else
    16. outputChatBox ( "Du bist kein Terror!", player, 125, 0, 0 )
    17. end
    18. else
    19. outputChatBox ( "Bitte setze mindestens "..mincontract.." $ als Belohnung aus!", player, 255, 255, 0 )
    20. end
    21. else
    22. outputChatBox ( "Du hast nicht genug Geld, um einen Mord in Auftrag zu geben.", player, 125, 0, 0 )
    23. end
    24. else
    25. outputChatBox ( "Ungueltige Summe!", player, 125, 0, 0 )
    26. end
    27. else
    28. outputChatBox ( "Der Spieler existiert nicht / ist offline!", player, 125, 0, 0 )
    29. end
    30. end
    31. addCommandHandler ( "contract", contract_func )
    32. function contracts_func ( player )
    33. if isTerror(player) then
    34. outputChatBox ( "Auftraege ( Die ersten 5 werden angezeigt ):", player, 200, 200, 20 )
    35. local players = getElementsByType("player")
    36. for i=1, #players do
    37. local playeritem = players[i]
    38. if vioGetElementData ( playeritem, "loggedin" ) == 1 then
    39. local contract = tonumber ( vioGetElementData ( playeritem, "contract" ) )
    40. local i = 0
    41. if contract then
    42. if contract >= mincontract then
    43. local i = i + 1
    44. outputChatBox ( getPlayerName ( playeritem )..", Belohnung: "..contract, player, 200, 200, 20 )
    45. if i == 5 then
    46. break
    47. end
    48. end
    49. end
    50. end
    51. end
    52. else
    53. outputChatBox ( "Du bist kein Terrpr!", player, 125, 0, 0 )
    54. end
    55. end
    56. addCommandHandler ( "contracts", contracts_func )
    Alles anzeigen
    Sprechen sie nach dem Piep...


    [Blockierte Grafik: https://media.giphy.com/media/3o7ZeJz7fDyxvaulri/giphy.gif]

    Piiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiip

    Beitrag von Ted ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fail ().

    Beitrag von Ted ()

    Dieser Beitrag wurde von dennismitzwein aus folgendem Grund gelöscht: Tripplepost ().

    Beitrag von Ted ()

    Dieser Beitrag wurde von dennismitzwein aus folgendem Grund gelöscht: Tripplepost ().
  • AnaConDaa schrieb:

    Das hat so funktioniert. Jedoch können die Zivilisten oder andere Fraktionisten kein Kopfgeld aussetzen
    Wie meinst du das? Willst du das Jeder Kopfgeld aussetzen kann?



    Dann sind wir da dir zu helfen nicht die Funktion zu scripten oder zu ändern. Überleg mal selber. Ich habs sogar beschriftet:

    LUA-Quellcode

    1. hitmanjobicon = createPickup ( -1830.404, 572.713, 35.164, 3, 1239, 1000, 0 ) --Info Icom
    2. setElementAlpha ( hitmanjobicon, 0 ) -- Macht das Info icon Unsichtbar Deswegen siehst du das nicht
    3. function arm_func ( player ) -- Funktion
    4. if vioGetElementData ( player, "job" ) == "hitman" then -- Wenn der Spieler den Job Hitman hat, dann...
    5. local x1, y1, z1 = getElementPosition ( player ) -- Lokalisiert den Spieler
    6. local x2, y2, z2 = getElementPosition ( hitmanjobicon ) -- Lokalisiert das hitmanjobicon
    7. if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 10 then -- Legt fest das der spieler nicht weiter als 10 Meter entfernt sein darf vom hitmanjobicon
    8. if vioGetElementData ( player, "money" ) >= 300 then -- Der Spieler muss mindestens 300$ dabei haben
    9. takePlayerSaveMoney ( player, 300 ) -- Nimmt dem spieler die 300$ weg
    10. giveWeapon ( player, 24, 56, true ) -- Gibt ne waffe
    11. giveWeapon ( player, 25, 25, true ) -- Gibt ne Waffe
    12. giveWeapon ( player, 34, 10, true ) -- Gibt ne waffe
    13. else -- Wenn der spieler keine 300$ Dabei hat
    14. outputChatBox ( "Du hast nicht genug Geld - ein Paket kostet 300$!", player, 125, 0, 0 ) -- Chatmessage
    15. end -- Beendet die if abfrage
    16. else -- Wenn er weiter als 10 Meter entfertn ist
    17. outputChatBox ( "Du bist an einer ungueltigen Stelle!", player, 125, 0, 0 ) -- Chatmessage
    18. end-- Beendet die If Abfrage
    19. end -- beendet die IfAbfrage
    20. end -- Beendet die Function
    21. addCommandHandler ( "arm", arm_func ) -- Command
    Alles anzeigen



    Helfen wird dir das:
    setElementAlpha
    createPickup

    Dann must du bei Zeile 7 die Definition von terror festlegen also normal:


    LUA-Quellcode

    1. isTerror



    MfG
    Sprechen sie nach dem Piep...


    [Blockierte Grafik: https://media.giphy.com/media/3o7ZeJz7fDyxvaulri/giphy.gif]

    Piiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiip
  • Sulection schrieb:

    So wie ich das Verstanden habe, willst du das die Commands nur Terror nutzen kann.
    Zu den Blips bzw Marker. Die Marker senden nur eine Nachicht in den Chat und machen den Marker zum armen.
    Das was du haben willst:

    LUA-Quellcode

    1. function contract_func ( player, cmd, name, geld )
    2. if not name then return end
    3. local target = getPlayerFromName ( name )
    4. if target and vioGetElementData ( target, "loggedin" ) then
    5. local geld = tonumber ( geld )
    6. if geld then
    7. local pmoney = tonumber ( vioGetElementData ( player, "money" ) )
    8. if pmoney >= geld then
    9. if geld >= mincontract then
    10. if isTerror(player) then
    11. vioSetElementData ( player, "money", pmoney - geld )
    12. playSoundFrontEnd ( player, 40 )
    13. vioSetElementData ( target, "contract", tonumber ( vioGetElementData ( target, "contract" ) ) + geld )
    14. outputChatBox ( "Du hast "..geld.." $ Kopfgeld auf "..name.." ausgesetzt - ein Hitman wird sich bald um ihn kuemmern...", player, 0, 125, 0 )
    15. else
    16. outputChatBox ( "Du bist kein Terror!", player, 125, 0, 0 )
    17. end
    18. else
    19. outputChatBox ( "Bitte setze mindestens "..mincontract.." $ als Belohnung aus!", player, 255, 255, 0 )
    20. end
    21. else
    22. outputChatBox ( "Du hast nicht genug Geld, um einen Mord in Auftrag zu geben.", player, 125, 0, 0 )
    23. end
    24. else
    25. outputChatBox ( "Ungueltige Summe!", player, 125, 0, 0 )
    26. end
    27. else
    28. outputChatBox ( "Der Spieler existiert nicht / ist offline!", player, 125, 0, 0 )
    29. end
    30. end
    31. addCommandHandler ( "contract", contract_func )
    32. function contracts_func ( player )
    33. if isTerror(player) then
    34. outputChatBox ( "Auftraege ( Die ersten 5 werden angezeigt ):", player, 200, 200, 20 )
    35. local players = getElementsByType("player")
    36. for i=1, #players do
    37. local playeritem = players[i]
    38. if vioGetElementData ( playeritem, "loggedin" ) == 1 then
    39. local contract = tonumber ( vioGetElementData ( playeritem, "contract" ) )
    40. local i = 0
    41. if contract then
    42. if contract >= mincontract then
    43. local i = i + 1
    44. outputChatBox ( getPlayerName ( playeritem )..", Belohnung: "..contract, player, 200, 200, 20 )
    45. if i == 5 then
    46. break
    47. end
    48. end
    49. end
    50. end
    51. end
    52. else
    53. outputChatBox ( "Du bist kein Terrpr!", player, 125, 0, 0 )
    54. end
    55. end
    56. addCommandHandler ( "contracts", contracts_func )
    Alles anzeigen

    So, man sollte als Terrorist ab Rang 3 zum Hitman-Tower gehen können und da sollte sich ein Marker befinden wo man /hit eingeben kann.
    Die Spieler (Egal welche Fraktion bis auf Terror) können dann mit /contract [Name] [Summe] Kopfgeld aussetzen können. Der Mindestbetrag sollte 5000$ betragen. Der Terrorist kann dann mit /contracts die namen der Spieler auf denen ein Kopfgeld ausgesetzt ist, sehen.

    Wenn man /hit eingibt, sollte man eine Deagle mit 56 Schuss, eine Shotgun mit 25 Schuss und eine Sniper mit 10 Schuss erhalten. /hit sollte 5000$ kosten.
  • Sulection schrieb:

    LUA-Quellcode

    1. if not isTerror(player) then
    glaube ich

    So soweit alles gut, man kann Leute auf die Contracts liste stellen aber wenn man diese dann Tötet bekommt man kein Geld und der Spieler bleibt auf der Blacklist.



    LUA-Quellcode

    1. mincontract = 5000
    2. hitmanjobicon = createPickup ( -1830.404, 572.713, 35.164, 3, 1239, 1000, 0 )
    3. setElementAlpha ( hitmanjobicon, 255 )
    4. hitmanblip = createBlip ( -1830.404, 572.713, 35.164, 43, 1, 255, 0, 0, 255, 0, 99999 )
    5. setElementVisibleTo ( hitmanblip, getRootElement(), false )
    6. function hitmanjobiconHit ( player )
    7. if vioGetElementData ( player, "job" ) == "hitman" then
    8. outputChatBox ( "Tippe /contracts, um die Auftraege zu sehen, /contract [Name] [Summe], um ein Kopfgeld auszusetzen.", player, 200, 125, 125 )
    9. outputChatBox ( "/hit um dich für 300$ auszurüsten.", player, 200, 125, 125 )
    10. else
    11. triggerClientEvent ( player, "infobox_start", getRootElement(), "Tippe /job, um\nals Hitman zu\narbeiten -\nAllerdings illegal!", 5000, 200, 200, 0 )
    12. end
    13. --outputChatBox ( "Vorruebergehend deaktiviert, bitte wende dich an einen Administrator!", player, 125, 0, 0 )
    14. end
    15. addEventHandler ( "onPickupHit", hitmanjobicon, hitmanjobiconHit )
    16. function arm_func ( player )
    17. if vioGetElementData ( player, "job" ) == "hitman" then
    18. local x1, y1, z1 = getElementPosition ( player )
    19. local x2, y2, z2 = getElementPosition ( hitmanjobicon )
    20. if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 10 then
    21. if isTerror ( player ) then
    22. if vioGetElementData ( player, "rang" ) >= 3 then
    23. setElementModel ( player, 230)
    24. if vioGetElementData ( player, "money" ) >= 300 then
    25. takePlayerSaveMoney ( player, 300 )
    26. giveWeapon ( player, 24, 56, true )
    27. giveWeapon ( player, 25, 25, true )
    28. giveWeapon ( player, 34, 10, true )
    29. else
    30. outputChatBox ( "Du hast nicht genug Geld - ein Paket kostet 100$!", player, 125, 0, 0 )
    31. end
    32. else
    33. outputChatBox ( "Du bist an einer ungueltigen Stelle!", player, 125, 0, 0 )
    34. end
    35. end
    36. end
    37. addCommandHandler ( "hit", arm_func )
    38. function contract_func ( player, cmd, name, geld )
    39. if not name then return end
    40. local target = getPlayerFromName ( name )
    41. if target and vioGetElementData ( target, "loggedin" ) then
    42. local geld = tonumber ( geld )
    43. if geld then
    44. local pmoney = tonumber ( vioGetElementData ( player, "money" ) )
    45. if pmoney >= geld then
    46. if geld >= mincontract then
    47. if not isTerror(player) then
    48. vioSetElementData ( player, "money", pmoney - geld )
    49. playSoundFrontEnd ( player, 40 )
    50. vioSetElementData ( target, "contract", tonumber ( vioGetElementData ( target, "contract" ) ) + geld )
    51. outputChatBox ( "Du hast "..geld.." $ Kopfgeld auf "..name.." ausgesetzt - ein Hitman wird sich bald um ihn kuemmern...", player, 0, 125, 0 )
    52. else
    53. outputChatBox ( "Du bist kein Terror!", player, 125, 0, 0 )
    54. end
    55. else
    56. outputChatBox ( "Bitte setze mindestens "..mincontract.." $ als Belohnung aus!", player, 255, 255, 0 )
    57. end
    58. else
    59. outputChatBox ( "Du hast nicht genug Geld, um einen Mord in Auftrag zu geben.", player, 125, 0, 0 )
    60. end
    61. else
    62. outputChatBox ( "Ungueltige Summe!", player, 125, 0, 0 )
    63. end
    64. else
    65. outputChatBox ( "Der Spieler existiert nicht / ist offline!", player, 125, 0, 0 )
    66. end
    67. end
    68. addCommandHandler ( "contract", contract_func )
    69. function contracts_func ( player )
    70. if isTerror(player) then
    71. outputChatBox ( "Auftraege ( Die ersten 5 werden angezeigt ):", player, 200, 200, 20 )
    72. local players = getElementsByType("player")
    73. for i=1, #players do
    74. local playeritem = players[i]
    75. if vioGetElementData ( playeritem, "loggedin" ) == 1 then
    76. local contract = tonumber ( vioGetElementData ( playeritem, "contract" ) )
    77. local i = 0
    78. if contract then
    79. if contract >= mincontract then
    80. local i = i + 1
    81. outputChatBox ( getPlayerName ( playeritem )..", Belohnung: "..contract, player, 200, 200, 20 )
    82. if i == 5 then
    83. break
    84. end
    85. end
    86. end
    87. end
    88. end
    89. else
    90. outputChatBox ( "Du bist kein Terrorist!", player, 125, 0, 0 )
    91. end
    92. end
    93. addCommandHandler ( "contracts", contracts_func )
    Alles anzeigen
    Jetzt fehlen nur noch zwei Sachen, einmal dass man beim Jobicon /hit machen kann und dass die Leute die auf der Contractsliste stehen nach dem Tod dann von der Liste entfernt werden und der Mörder die Belohnung erhält
  • @AnaConDaa
    Also 1. So wie ich das sehe hast du nicht viel Script Erfahrung. Dann würde ich mich freuen, wenn wir dir helfen sollen, dann beschreib es bitte klar und deutlich was dein Problem ist und was wir machen sollen.
    Sprechen sie nach dem Piep...


    [Blockierte Grafik: https://media.giphy.com/media/3o7ZeJz7fDyxvaulri/giphy.gif]

    Piiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiip
  • @Sulection habe ich doch dazu geschrieben..




    Man kann jetzt Kopfgeld aussetzen, aber wenn der Kopfgeldjäger den Spieler auf der Contract liste getötet hat, bekommt der Kopfgeldjäger keine Belohnung und der Spieler der durch den Terroristen (Kopfgeldjäger) erledigt wurde, bleibt auf der Blacklist.

    +

    Beim Jobicon (-1830.404, 572.713, 35.164, 3, 1239, 1000, 0) bekommt man keine Waffen wenn man /hit eingibt.



    Ja, ich kann nicht Scripten.
  • Sulection schrieb:

    //edit

    Ich brauch die death.lua

    Wenns das vio script ist, ist es unter environment

    Da: mega.nz/#!VFoWFZjJ!Fgifhjs1LOC…6gf9QP5uKn_jOdDHynnS8kSVw

    LUA-Quellcode

    1. addEvent ( "onPlayerWastedTriggered", true )
    2. thedeathtimer = {}
    3. function playerdeath ( killer, weapon, part )
    4. local player = client
    5. if part == 9 then
    6. setPedHeadless ( client, true )
    7. end
    8. vioSetElementData ( player, "alcoholFlushPoints", 0 )
    9. vioSetElementData ( player, "drugFlushPoints", 0 )
    10. vioSetElementData ( player, "cigarettFlushPoints", 0 )
    11. if isKeyBound ( player, "enter_exit", "down", heliCoSeat ) then
    12. heliCoSeat ( player )
    13. end
    14. if vioGetElementData ( player, "callswith" ) then
    15. if vioGetElementData ( player, "callswith" ) ~= "none" then
    16. local caller = isElement ( vioGetElementData ( player, "callswith" ) ) and vioGetElementData ( player, "callswith" ) or getPlayerFromName ( vioGetElementData ( player, "callswith" ) )
    17. if caller then
    18. vioSetElementData ( caller, "callswith", "none" )
    19. vioSetElementData ( caller, "call", false )
    20. vioSetElementData ( caller, "calls", "none" )
    21. vioSetElementData ( caller, "callswith", "none" )
    22. vioSetElementData ( caller, "calledby", "none" )
    23. outputChatBox ( "*Knack* - Die Leitung ist tod!", caller, 125, 0, 0 )
    24. else
    25. vioSetElementData ( player, "callswith", "none" )
    26. vioSetElementData ( player, "call", false )
    27. vioSetElementData ( player, "calls", "none" )
    28. vioSetElementData ( player, "callswith", "none" )
    29. vioSetElementData ( player, "calledby", "none" )
    30. end
    31. end
    32. end
    33. if vioGetElementData ( player, "isInDrivingSchool" ) then
    34. cancelDrivingSchoolPlayer ( player )
    35. end
    36. if getPedOccupiedVehicle ( player ) then
    37. removePedFromVehicle ( player )
    38. end
    39. if isElement ( killer ) and killer ~= player and weapon and not isOnStateDuty(killer) then
    40. outputServerLog ( getPlayerName ( killer ).." hat "..getPlayerName(player).." mit Waffe "..weapon.." erledigt!" )
    41. if vioGetElementData ( player, "fraktion" ) == 0 then
    42. local x1, y1, z1 = getElementPosition ( player )
    43. local x2, y2, z2 = getElementPosition ( killer )
    44. local dist = getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 )
    45. if dist < 7.5 then
    46. outputChatBox ( "Du hast ein Verbrechen begangen: Mord, gemeldet von: Anonym", killer, 0, 0, 150 )
    47. if vioGetElementData ( killer, "wanteds" ) <= 5 then
    48. vioSetElementData ( killer, "wanteds", vioGetElementData ( killer, "wanteds" ) + 1 )
    49. setPlayerWantedLevel ( killer, vioGetElementData ( killer, "wanteds" ) )
    50. end
    51. elseif dist < 15 then
    52. if math.random ( 1, 2 ) == 1 then
    53. outputChatBox ( "Du hast ein Verbrechen begangen: Mord, gemeldet von: Anonym", killer, 0, 0, 150 )
    54. if vioGetElementData ( killer, "wanteds" ) <= 5 then
    55. vioSetElementData ( killer, "wanteds", vioGetElementData ( killer, "wanteds" ) + 1 )
    56. setPlayerWantedLevel ( killer, vioGetElementData ( killer, "wanteds" ) )
    57. end
    58. else
    59. vioSetElementData ( killer, "lastcrime", "mord" )
    60. end
    61. else
    62. vioSetElementData ( killer, "lastcrime", "mord" )
    63. end
    64. end
    65. end
    66. vioSetElementData ( player, "isinairportmission", false )
    67. vioSetElementData ( player, "isInRace", false )
    68. unbindKey ( player, "mouse_wheel_up", "down", weaponsup )
    69. unbindKey ( player, "mouse_wheel_down", "down", weaponsdown )
    70. unbindKey ( player , "g", "down", rein )
    71. unbindKey ( player, "enter", "down", eject )
    72. unbindKey ( player, "rshift", "down", helidriveby )
    73. unbindKey ( player, "1", "down", tazer_func )
    74. local timeToBeDeath = 60*1000
    75. if vioGetElementData ( player, "playingtime" ) >= 100 then
    76. timeToBeDeath = timeToBeDeath + 2
    77. elseif vioGetElementData ( player, "playingtime" ) >= 50 then
    78. timeToBeDeath = timeToBeDeath + 1
    79. end
    80. if isElement ( killer ) then
    81. if isHitman ( killer ) then
    82. local contract = vioGetElementData ( player, "contract" )
    83. if contract > 0 then
    84. timeToBeDeath = timeToBeDeath + 2
    85. vioSetElementData ( player, "contract", 0 )
    86. vioSetElementData ( killer, "money", tonumber ( vioGetElementData ( killer, "money" ) ) + contract )
    87. playSoundFrontEnd ( killer, 40 )
    88. outputChatBox ( "Du solltest dir Gedanken machen - auf dich waren "..contract.." $ Kopfgeld ausgesetzt!", player, 125, 0, 0 )
    89. outputChatBox ( "Ziel erledigt. Belohnung: "..contract.." $.", killer, 125, 0, 0 )
    90. end
    91. end
    92. end
    93. vioSetElementData ( player, "heaventime", timeToBeDeath )
    94. setTimer ( endfade, 5000, 1, player, timeToBeDeath )
    95. if vioGetElementData ( source, "isInArea51Mission" ) then
    96. setPlayerOutOfArea51 ( source )
    97. outputChatBox ( "Mission gescheitert!", source, 125, 0, 0 )
    98. end
    99. if killer and killer ~= player and getElementType ( killer ) == "player" then
    100. local kills = tonumber ( vioGetElementData ( killer, "kills" ) )
    101. blackListKillCheck ( player, killer, weapon )
    102. if isOnDuty ( killer ) or isArmy ( killer ) then
    103. if vioGetElementData ( player, "wanteds" ) == 0 then
    104. outputChatBox ( "Du hast einen Zivilisten erledigt!", killer, 125, 0, 0 )
    105. else
    106. local strafe = vioGetElementData ( player, "wanteds" ) * wantedprice
    107. local wanteds = vioGetElementData ( player, "wanteds" )
    108. local time = vioGetElementData ( player, "wanteds" ) * math.ceil(jailtimeperwanted * 1.2)
    109. vioSetElementData ( player, "wanteds", 0 )
    110. setPlayerWantedLevel ( player, 0 )
    111. if tonumber(strafe) > vioGetElementData ( player, "money" ) then
    112. vioSetElementData ( player, "money", 0 )
    113. else
    114. vioSetElementData ( player, "money", tonumber(vioGetElementData ( player, "money" )) - tonumber(strafe) )
    115. end
    116. vioSetElementData ( player, "jailtime", time )
    117. vioSetElementData ( player, "bail", 0 )
    118. local grammafix = " ohne Kaution "
    119. outputChatBox ( "Du wurdest von Polizist "..getPlayerName(killer).." erledigt und"..grammafix.."für "..strafe.." $ und "..time.." Minuten eingesperrt!", player, 0, 125, 0 )
    120. vioSetElementData ( killer, "boni", vioGetElementData ( killer, "boni" )+(wanteds*wantedkillmoney) )
    121. vioSetElementData ( killer, "AnzahlEingeknastet", vioGetElementData ( killer, "AnzahlEingeknastet" ) + 1 )
    122. vioSetElementData ( player, "AnzahlImKnast", vioGetElementData ( player, "AnzahlImKnast" ) + 1 )
    123. outputChatBox ( "Du hast "..getPlayerName ( player ).." erledigt und erhälst bei der nächsten Abrechnung "..(wanteds*wantedkillmoney).."$ Bonus!", killer, 0, 125, 0 )
    124. end
    125. end
    126. end
    127. if isKeyBound ( player, "mouse3", "up", explodeTerror, player ) then
    128. explodeTerror ( player )
    129. end
    130. local curdrogen = vioGetElementData ( player, "drugs" )
    131. local amount = getDropAmount ( curdrogen )
    132. if amount > 0 then
    133. vioSetElementData ( player, "drugs", curdrogen - amount )
    134. local x, y, z = getElementPosition ( player )
    135. local pickup = createPickup ( 0, 0, 0, 3, 1210, 1 )
    136. setElementPosition ( pickup, x, y, z )
    137. vioSetElementData ( pickup, "amount", amount )
    138. setElementDimension ( pickup, getElementDimension ( player ) )
    139. setElementInterior ( pickup, getElementInterior ( player ) )
    140. addEventHandler ( "onPickupHit", pickup, drugDropHit )
    141. end
    142. local curmats = vioGetElementData ( player, "mats" )
    143. amount = getDropAmount ( curmats )
    144. if amount > 0 then
    145. vioSetElementData ( player, "mats", curmats - amount )
    146. local x, y, z = getElementPosition ( player )
    147. local pickup = createPickup ( 0, 0, 0, 3, 1210, 1 )
    148. setElementPosition ( pickup, x + 0.5, y, z )
    149. vioSetElementData ( pickup, "amount", amount )
    150. setElementDimension ( pickup, getElementDimension ( player ) )
    151. setElementInterior ( pickup, getElementInterior ( player ) )
    152. addEventHandler ( "onPickupHit", pickup, matDropHit )
    153. end
    154. local money = vioGetElementData ( player, "money" )
    155. local loss = 5
    156. if money and money > 0 then
    157. local damoney = math.abs(math.floor(money/100*(100-loss)))
    158. vioSetElementData ( player, "money", damoney )
    159. local x, y, z = getElementPosition ( player )
    160. local pickup = createPickup ( 0, 0, 0, 3, 1212, 1 )
    161. setElementPosition ( pickup, x, y + 0.5, z )
    162. vioSetElementData ( pickup, "money", money - damoney )
    163. setElementDimension ( pickup, getElementDimension ( player ) )
    164. setElementInterior ( pickup, getElementInterior ( player ) )
    165. addEventHandler ( "onPickupHit", pickup, moneyDropHit )
    166. end
    167. setElementDimension ( player, 0 )
    168. setElementInterior ( player, 0 )
    169. showChat ( player, true )
    170. showPlayerHudComponent ( player, "radar", true )
    171. checkIfMedicRespawn ( player )
    172. if isElement ( killer ) then
    173. outputLog ( getPlayerName ( player ).." wurde von ".. getPlayerName ( killer ) .." getötet ( Waffe: "..weapon.." )", "kill" )
    174. vioSetElementData ( killer, "Kills", vioGetElementData ( killer, "Kills" ) + 1 )
    175. elseif weapon then
    176. outputLog ( getPlayerName ( player ).." ist gestorben. Grund: "..weapon, "death" )
    177. else
    178. outputLog ( getPlayerName ( player ).." ist gestorben.", "death" )
    179. end
    180. vioSetElementData ( player, "Tode", vioGetElementData ( player, "Tode" ) + 1 )
    181. end
    182. addEventHandler ( "onPlayerWastedTriggered", root, playerdeath )
    183. function endfade ( player, timeToBeDeath )
    184. if isElement ( player ) then
    185. removePedFromVehicle ( player )
    186. triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu wurdest erledigt\nund wirst nun im\nKrankenhaus wieder\nzusammen geflickt!", 7500, 125, 0, 0 )
    187. local x1, y1, z1 = getElementPosition ( player )
    188. local x2, y2, z2 = 1605.4418945313, 1868.0090332031, 27.071100234985
    189. local x3, y3, z3 = -2537.9006347656, 618.84533691406, 33.35578918457
    190. local distToSF = getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 )
    191. local distToLV = getDistanceBetweenPoints3D ( x1, y1, z1, x3, y3, z3 )
    192. if distToSF > distToLV then
    193. setCameraMatrix ( player, -2537.9006347656, 618.84533691406, 33.35578918457, -2616.6801757813, 619.22979736328, 39.688884735107 )
    194. else
    195. setCameraMatrix ( player, 1605.4418945313, 1868.0090332031, 27.071100234985, 1606.3515625, 1819.0625, 22.315660476685 )
    196. end
    197. showPlayerHudComponent ( player, "radar", false )
    198. triggerClientEvent ( player, "showProgressBar", player )
    199. showChat ( player, true )
    200. refreshDeathTimeForPlayer ( player, 0, timeToBeDeath )
    201. end
    202. end
    203. function refreshDeathTimeForPlayer ( player, timeDone, holeTime )
    204. if isElement ( player ) then
    205. if timeDone / holeTime >= 1 then
    206. revive ( player )
    207. triggerClientEvent ( player, "updateDeathBar", player, 100 )
    208. return nil
    209. end
    210. triggerClientEvent ( player, "updateDeathBar", player, timeDone / holeTime * 100 )
    211. thedeathtimer[player] = setTimer ( refreshDeathTimeForPlayer, 2500, 1, player, timeDone + 2500, holeTime )
    212. end
    213. end
    214. function revive ( player )
    215. if isElement ( player ) then
    216. toggleAllControls ( player, true )
    217. triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist wieder\nfit! Pass beim\nnächsten mal\nbesser auf!", 7500, 0, 125, 0 )
    218. vioSetElementData ( player, "heaventime", 0 )
    219. if vioGetElementData ( player, "money" ) and vioGetElementData ( player, "money" ) >= hospitalcosts then
    220. vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - hospitalcosts )
    221. else
    222. vioSetElementData ( player, "money", 0 )
    223. end
    224. playSoundFrontEnd ( player, 17 )
    225. RemoteSpawnPlayer ( player )
    226. showChat ( player, true )
    227. end
    228. end
    229. function headFixOnSpawn ()
    230. setPedHeadless ( source, false )
    231. end
    232. addEventHandler ( "onPlayerSpawn", getRootElement(), headFixOnSpawn )
    Alles anzeigen