2017-07-11 8 views
-1

これを今読んでいるなら、luaとGmodがどのように連携しているかを知っておくことを期待します。私はDarkRP Gmodサーバー上でワイヤーサポート付きの退色ドアアドオンを記録しています。私はワイヤサポートを特定のDarkRPジョブに制限することに問題があります。自分で簡単にするために、私はTEAM_GANGジョブに制限しようとしていました。これは私が変更したコードのビットです。GMOD LUA:ジョブへのワイヤサポートの制限

local function customCheck(pl) 
    return table.HasValue({TEAM_GANG}, pl:Team()) 
end 

local function dooEet(pl, Ent, stuff) 
    if Ent.isFadingDoor then 
     if Ent.fadeDeactivate then Ent:fadeDeactivate() end 
     RemoveKeys(Ent) 
    else 
     Ent.isFadingDoor = true 
     Ent.fadeActivate = fadeActivate 
     Ent.fadeDeactivate = fadeDeactivate 
     Ent.fadeToggleActive = fadeToggleActive 
     Ent:CallOnRemove("Fading Doors", RemoveKeys) 
     if WireLib and customCheck(pl) then 
      doWireInputs(Ent) 
      doWireOutputs(Ent) 
      Ent.fadeTriggerInput = Ent.fadeTriggerInput or Ent.TriggerInput 
      Ent.TriggerInput = TriggerInput 
      if !Ent.IsWire then 
       if !Ent.fadePreEntityCopy and Ent.PreEntityCopy then Ent.fadePreEntityCopy = Ent.PreEntityCopy end 
       Ent.PreEntityCopy = PreEntityCopy 
       if !Ent.fadePostEntityPaste and Ent.PreEntityCopy then Ent.fadePostEntityPaste = Ent.PostEntityPaste end 
       Ent.PostEntityPaste = PostEntityPaste 
      end 
     end 
    end 
    Ent.fadeUpNum = numpad.OnUp(pl, stuff.key, "Fading Door onUp", Ent) 
    Ent.fadeDownNum = numpad.OnDown(pl, stuff.key, "Fading Door onDown", Ent) 
    Ent.fadeToggle = stuff.toggle 
    Ent.fadeReversed = stuff.reversed 
    Ent.fadeKey = stuff.key 
    Ent.fadeCanDisableMotion = stuff.CanDisableMotion 
    Ent.fadeDoorMaterial = stuff.DoorMaterial 
    Ent.fadeDoorOpenSound = stuff.DoorOpenSound 
    Ent.fadeDoorLoopSound = stuff.DoorLoopSound 
    Ent.fadeDoorCloseSound = stuff.DoorCloseSound 
    if stuff.reversed then Ent:fadeActivate() end 
    duplicator.StoreEntityModifier(Ent, "Fading Door", stuff) 
    return true 
end 

は私だけcustomCheck機能

local function customCheck(pl) 
    return table.HasValue({TEAM_GANG}, pl:Team()) 
end 

を追加し、ここに

if WireLib and customCheck(pl) then 

チームのためにすべてのジョブからこの削除のアクセスをチェックし、いずれかTEAM_GANGジョブへのアクセス権を与えていません。私はこれがなぜ機能していないのかわからないし、これを行う別の方法を見つけることができないので、私はちょっと固まっています。

コード全体が必要な場合は、ペーストビンに貼り付けます。リンク:https://pastebin.com/UrkyK8e2

答えて

0

------------------------------------------- - - - - - - - 更新 - - - - - - - - - - - - - - - - - - ----------------------

私はそれを行う別の方法を見つけ、それは働いた。

コードは次のようになります。

local function dooEet(pl, Ent, stuff) 
    if Ent.isFadingDoor then 
     if Ent.fadeDeactivate then Ent:fadeDeactivate() end 
     RemoveKeys(Ent) 
    else 
     Ent.isFadingDoor = true 
     Ent.fadeActivate = fadeActivate 
     Ent.fadeDeactivate = fadeDeactivate 
     Ent.fadeToggleActive = fadeToggleActive 
     Ent:CallOnRemove("Fading Doors", RemoveKeys) 
     if WireLib then 
      if (team.GetName(pl:Team()) == "Gangster") then 
       doWireInputs(Ent) 
       doWireOutputs(Ent) 
       Ent.fadeTriggerInput = Ent.fadeTriggerInput or Ent.TriggerInput 
       Ent.TriggerInput = TriggerInput 
       if !Ent.IsWire then 
        if !Ent.fadePreEntityCopy and Ent.PreEntityCopy then Ent.fadePreEntityCopy = Ent.PreEntityCopy end 
        Ent.PreEntityCopy = PreEntityCopy 
        if !Ent.fadePostEntityPaste and Ent.PreEntityCopy then Ent.fadePostEntityPaste = Ent.PostEntityPaste end 
        Ent.PostEntityPaste = PostEntityPaste 
       end 
      end 
     end 
    end 
    Ent.fadeUpNum = numpad.OnUp(pl, stuff.key, "Fading Door onUp", Ent) 
    Ent.fadeDownNum = numpad.OnDown(pl, stuff.key, "Fading Door onDown", Ent) 
    Ent.fadeToggle = stuff.toggle 
    Ent.fadeReversed = stuff.reversed 
    Ent.fadeKey = stuff.key 
    Ent.fadeCanDisableMotion = stuff.CanDisableMotion 
    Ent.fadeDoorMaterial = stuff.DoorMaterial 
    Ent.fadeDoorOpenSound = stuff.DoorOpenSound 
    Ent.fadeDoorLoopSound = stuff.DoorLoopSound 
    Ent.fadeDoorCloseSound = stuff.DoorCloseSound 
    if stuff.reversed then Ent:fadeActivate() end 
    duplicator.StoreEntityModifier(Ent, "Fading Door", stuff) 
    return true 
end 
関連する問題