GLUA | Waffe geben funktioniert nicht

  • Hallo,
    ich versuche gerade mit GLUA für das Addon Blue's Unboxing 3 ein Autoequip System hinzuzufügen.
    Es funktioniert auch (fast) alles wie ich das möchte, nur werden mir irgendwie die Waffen nicht gegeben und die alten nicht entfernt...

    Code: sv_autoequip.lua
    hook.Add("PlayerSpawn", "Core_AutoEquipSpawn", function(ply)
    	PrintMessage(3,"Core_AutoEquipSpawn aufgerufen! Für: "..ply:Name())
    	local wep = ply:GetInfo("BU3_AutoEquip")
    	if(wep == "") then return end
    	PrintMessage(3,ply:Name()..": "..wep)
    	ply:StripWeapon("csgo_default_t")
    	local knife = ply:Give(wep)
    	local crowbar = ply:Give("weapon_crowbar")
    	PrintMessage(3,ply:Name().." is done")
    end)

    Es werden auch alle Prints ausgegeben, und es ist auch alles richtig, die Waffe wird richtig ausgegeben und der Name ist auch richtig.
    Auch die "is done" Nachricht kommt, aber mir wird halt das Default Knife nicht entfernt und die Crowbar und die Waffe erhalte ich nicht.


    Wo liegt das Problem?

  • Hab den Fehler nun "gefunden".


    Anscheinend wird aus irgendeinem anderen Addon auch PlayerSpawn gehookt und dort werden die Waffen auch gegeben, also hab ich nun einfach timer.Simple(1, function() end) verwendet, um das ganze zu verzögern, da es Deathrun ist, und es ja eh am Anfang Freezetime gibt, klappt alles jetzt.

  • Oh,, kenn ich mit anderen Mods.
    Ich habe es anders gelöst, vielleicht hilft dir der Weg ja auch, denn das mitn Timer kann vill manchmal ned funktionieren.


    Ich habe mit hook.GetTable() die Funktions Addresse meiner konkurierenden Funktion geholt, zwischengespeichert dann mit hilfe von hook.Remove den Hook entfernt und die Funktion selbst nach meiner Tätigkeit wieder aufgerufen, bei dir kannst du vielleicht die Funktion auch ganz vom Event Handler nehmen, just saying.


    Aber gut das du es hinbekommen hast, weiterhin viel Glück :)