Anpassende Kreaturen

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Anpassende Kreaturen

      Hallo ich wollte mal wissen ob es möglich ist über LUA einen NPC (Boss oder Kreatur) zu erstellen die sich an das Level, Leben, Mana und Rüsstung des Spielers Anpasst.

      Ich habe mit das eigentlich so gedacht:

      C Source Code

      1. local NpcID = 51001
      2. local pAttacker = pPlayer
      3. function player_Infos (pUnit, pAttacker, Event)
      4. pUnit:SetLevel(pAttacker:GetLevel())
      5. pUnit:SetHealth(pAttacker:GetMaxHealth())
      6. pUnit:SetMana(pAttacker:GetMaxMana())
      7. end
      8. function SSTrash_OnCombat(Unit, Event)
      9. Unit:RegisterEvent("player_Infos", 1000, 0)
      10. end
      11. function SSTrash_OnLeaveCombat(Unit, Event)
      12. Unit:RemoveEvents()
      13. end
      14. function SSTrash_OnDeath(Unit, Event)
      15. Unit:RemoveEvents()
      16. end
      17. RegisterUnitEvent(NpcID, 1, "SSTrash_OnCombat")
      18. RegisterUnitEvent(NpcID, 2, "SSTrash_OnLeaveCombat")
      19. RegisterUnitEvent(NpcID, 4, "SSTrash_OnDeath")
      Display All

      So oder so ähnlich. Aber so wie ich es mache geht es nicht.

      Hier die Fehler Meldung:

      C Source Code

      1. [ERR] report scripts/UnitScripts/Seelenschmiede(Custom)/SSTrash.lua:5: attempt to index a nil value (local 'pAttacker')
      Ich hoffe mir kann jemand dabei helfen.

      MFG

      RyffLe aka Chris
    • local NpcID = 51001

      function player_Infos (pUnit, pAttacker, Event)
      pUnit:SetLevel(pAttacker:GetLevel())
      pUnit:SetHealth(pAttacker:GetMaxHealth())
      pUnit:SetMana(pAttacker:GetMaxMana())
      End

      Function SSTrash_OnCombat (pUnit, Event, pAttacker)
      local NPC_Name = pUnit:GetName() pUnit:RegisterEvent(function() player_infos(pUnit, Event, pAttacker); end, 3000, 1)end

      function SSTrash_OnLeaveCombat(Unit, Event)
      Unit:RemoveEvents()
      end

      function SSTrash_OnDeath(Unit, Event)
      Unit:RemoveEvents()
      end

      RegisterUnitEvent(NpcID, 1, "SSTrash_OnCombat")
      RegisterUnitEvent(NpcID, 2, "SSTrash_OnLeaveCombat")
      RegisterUnitEvent(NpcID, 4, "SSTrash_OnDeath")
    • Ok hab es Gestern noch gefixt danke Aaron.

      Hier der Script:

      C Source Code

      1. function SSTrash_Infos(Unit, event, player)
      2. Unit:SetLevel(player:GetLevel())
      3. Unit:SetMaxHealth(player:GetMaxHealth() * math.random(1,3))
      4. Unit:SetMaxMana(player:GetMaxMana() * math.random(1,3))
      5. Unit:SetHealthPct(100)
      6. Unit:RegisterEvent("SSTrash_Battle", 1000, 1)
      7. end
      8. function SSTrash_Battle(Unit, event)
      9. Unit:RemoveEvents()
      10. end
      11. function SSTrash_OnCombat (pUnit, Event, player)
      12. pUnit:RegisterEvent(function() SSTrash_Infos(pUnit, Event, player); end, 1000, 1)--[[Deklaration der Funktion mit Parametern]]--
      13. end
      14. function SSTrash_OnLeaveCombat(Unit, Event)
      15. Unit:RemoveEvents()
      16. end
      17. function SSTrash_OnDeath(Unit, Event)
      18. Unit:RemoveEvents()
      19. end
      20. RegisterUnitEvent([NpcID], 1, "SSTrash_OnCombat")
      21. RegisterUnitEvent([NpcID], 2, "SSTrash_OnLeaveCombat")
      22. RegisterUnitEvent([NpcID], 4, "SSTrash_OnDeath")
      Display All