Seite 1 von 4 1234 LetzteLetzte
Ergebnis 1 bis 10 von 36

Thema: [LINK] Lua-based DoorMod

  1. #1
    Avatar von aVoN
    Registriert seit
    23.04.2006
    Ort
    Hannover

    Standard [LINK] Lua-based DoorMod

    Und hier mal ne kleine Mod, die ich auf meinem eigenen dedicated Server verwende. Sehr nützliches Teil. Erlaubt das öffnen/schließen von mit DoorMod/BaseWars etc. erstellten Türen und das binden dieser zu Buttons. Multibutton binds möglich!

    http://www.avon.fneuweiler.de/index2...kel=1146336296

    Ihr wollt die Mod ausprobieren? Kein Problem! Joint www.fredbert.de:27016 (Wenn diese kleine Art von Webung verboten ist, bitte URL zum Server oben entfernen)

    Zusäzlich arbeitet meine CopyGun (vieleicht release ich sie auch, mal sehen) ebenfalls mit den Buttons/Doors zusammen, und speichert auch die Binds zwischen Doors/Buttons.

    Viel Spass mit dem Ding

    Und fasst vergessen: Benötigt wird GMX und PropProtector. - sollte eigendlich auf fast jedem guten Server standard sein

    Edit
    Da mein alter Server off ist, die domain gehijacked wurde und ich oft nach dem LuaBased DoorMod gefragt werde:
    Code:
    -- Lua based Door controle with Chat Commands v 1.1
    -- Script by aVoN - www.avon.fneuweiler.de
    
    -- Feel free to use any part of this script for your own usage. You can modify and/or distribute it as long as you give credits to me.
    
    -- Usable doors - Working with chatcommands. Protected by PropProtector! (Just the owner can open/close them!)
    -- This needs additionally to PropProtector the GMX library! I'm using GMX 1.31, but i think, it will even work with versions before!
    -- Example function found on FP in a Lua help thread. Made me to think about "how to do" this - written everything by my own
    
    -- Usage : Look at a door an say "!door <doorname comes here>" without the < and >
    -- Then, look any Prop, and say "!button <dooname>". You can bind multi doors to one button. Just lookt at the button/pro prop again and bind it with saying "!button <dooname 2>" or multibind
    -- them with "!door <door1>;<door2>;<door3>"
    
    --Doors
    function s_eventPlayerSay( userid, strText, bTeam )
    	-- Ignore the console
    	if(userid ~= 0) then
    	    _TraceLine(_PlayerGetShootPos(userid),_PlayerGetShootAng(userid),4096,userid)
    		local username,uname_pos = string.find(string.lower(strText), string.lower(_PlayerInfo(userid,"name")..": "), 1, true);
    		strText = string.sub(strText, uname_pos + 1)
    		local splitted = gmx.explode(strText," ");
    	    if (splitted[1] == "!open") then
    			if(splitted[2] == nil) then
    		        if _TraceHitNonWorld() then
    					if(prop_protection (userid,_TraceGetEnt())) then
    						_EntFire(_TraceGetEnt(),"setanimation","open",0)
    					end
    		        end
    			else
    				if(prop_protection (userid,_EntGetByName(splitted[2]))) then
    					_EntFire(_EntGetByName("door_"..splitted[2]),"setanimation","open",0)
    				end
    			end
    	    end
    		if (splitted[1] == "!close") then
    			if(splitted[2] == nil) then
    		        if _TraceHitNonWorld() then
    					if(prop_protection (userid,_TraceGetEnt())) then
    						_EntFire(_TraceGetEnt(),"setanimation","close",0)
    					end
    		        end
    			else
    				if(prop_protection (userid,_EntGetByName(splitted[2]))) then
    					_EntFire(_EntGetByName("door_"..splitted[2]),"setanimation","close",0)
    				end
    			end
    	    end
    		if(splitted[1] == "!door" and splitted[2] ~= nil) then
    			if(prop_protection (userid,_TraceGetEnt())) then
    				make_door(_TraceGetEnt(),splitted[2])
    			end
    		end
    		if(splitted[1] == "!button" and splitted[2] ~= nil) then
    			if(prop_protection (userid,_TraceGetEnt())) then
    				make_button(userid,_TraceGetEnt(),splitted[2])
    			end
    		end
    	end
    end
    
    function make_button(userid,entity,name)
    	local ent_name = "";
    	-- Check first, if the person is the owner of the door. Otherwise, dont allow him, to make it a button for it!
    	if(_EntGetByName(door) ~= "" and _EntGetByName(door)  ~= nil and _EntGetByName(door)  ~= 0) then
    		if(prop_protection (userid,_EntGetByName(door)) == false) then
    			return;
    		end
    	end
    	local door_table = gmx.explode(name,";")-- Multi doors!
    	for k,door in door_table do
    		ent_name = _EntGetName(entity);
    		_EntFire(entity, "addoutput", "spawnflags 256" , 0);
    		_EntFire(entity, "addoutput", "onplayeruse door_"..door..",setanimation,open" , 0);
    		_EntFire(entity, "addoutput", "onplayeruse door_"..door..",setanimation,close,3" , 0);
    		if(string.find(tostring(ent_name),"button") == nil) then
    			_EntSetName(entity,"button_"..door);
    		else
    			-- Multi Button
    			_EntSetName(entity,ent_name..";"..door);
    		end
    	end
    end
    
    function make_door(entity,name)
    	local make_door = gmx.explode(name,";");
    	-- Dont add a ; to a doors name!
    	_EntSetName(entity,"door_"..make_door[1]);
    end
    
    HookEvent("eventPlayerSay", s_eventPlayerSay)

  2. Folgender Benutzer sagt Danke zu aVoN für den nützlichen Beitrag:


  3. #2

    AW: [LINK] Lua-based DoorMod

    Hört sich gut an!
    Dafür geb ich dir mal 5/5 Punkten!

  4. Folgender Benutzer sagt Danke zu *DEAD*Pr0no0b für den nützlichen Beitrag:


  5. #3

    Standard AW: [LINK] Lua-based DoorMod

    Jo, auch von meiner Seite ein großes Lob, klingt wirklich gut!

    Werds bei gelegenheit vieleicht mal testen.. bin gerade zu müde/faul...

    MfG
    AMD Athlon64 3200+ | 2048Mb DDR-Ram | ATI Radeon X850 Pro

  6. #4

    Standard AW: [LINK] Lua-based DoorMod

    Goil!

    Ne Group Copy Gun die sogar die verbindungen mit speicher

    Respect


    freue mich schon drauf *download*


    greetz Pac_187

  7. #5

    AW: [LINK] Lua-based DoorMod

    Cool! Gleich mal alles ziehen , denn der PropProtector fehlt mir auch noch !
    Danke!

    Mfg , Kobra

  8. #6
    Avatar von aVoN
    Registriert seit
    23.04.2006
    Ort
    Hannover

    Standard AW: [LINK] Lua-based DoorMod

    Zitat Zitat von Pac_187
    Goil!

    Ne Group Copy Gun die sogar die verbindungen mit speicher

    Respect


    freue mich schon drauf *download*


    greetz Pac_187

    Nicht nur die Verbindungen dazu. Das ist nur n kleines gimmick. Kann alles außer Brushes speichern. Also Vehicles,Magnetised stuff uvm. Hat dann noch ne SmartWelding funktion und zwei neue Sweps: SphereSelect und QuadSelect, um mehrer sachen auf einmal auszuwählen. Einmal über ne Kugel und einmal über ne Box.

    Ich werd mal sehen ob ichs release. Und wenn, dann zunächst bei FP. Das wird dann greve für mich wahrscheinlich dort releasen.

  9. #7

    Standard AW: [LINK] Lua-based DoorMod

    Zitat Zitat von aVoN
    Nicht nur die Verbindungen dazu. Das ist nur n kleines gimmick. Kann alles außer Brushes speichern. Also Vehicles,Magnetised stuff uvm. Hat dann noch ne SmartWelding funktion und zwei neue Sweps: SphereSelect und QuadSelect, um mehrer sachen auf einmal auszuwählen. Einmal über ne Kugel und einmal über ne Box.

    Ich werd mal sehen ob ichs release. Und wenn, dann zunächst bei FP. Das wird dann greve für mich wahrscheinlich dort releasen.

    *saber* *saber* *Ehrwartungsvollvorbilschirmsitz* *saber* *saber*

    Das ist ma ne geiles Lua-"SWEP"

  10. #8
    Avatar von aVoN
    Registriert seit
    23.04.2006
    Ort
    Hannover

    Standard AW: [LINK] Lua-based DoorMod

    Ach hätte fast vergessen, meine CopyGun hat natürlich auch ein nach Benutzer sortierbares Patternmenü mit Gruppensystem (Vip, admin). Naja. Das gruppensystem were ich wohl net releasen..
    Mal sehen ob ich die release

    Btw. Auch der CopyCorruption bug (Props sind aufeinmal irgendwo, jedenfalls net dort wo sie sein sollen) ist behoben und PropProtection wie immer
    Spätestens, wenn ich alles alles zu Gmod10 portiert habe, mache ich die scripts von 9.0.4 pub.

  11. #9

    AW: [LINK] Lua-based DoorMod

    Zitat Zitat von aVoN
    Ach hätte fast vergessen, meine CopyGun hat natürlich auch ein nach Benutzer sortierbares Patternmenü mit Gruppensystem (Vip, admin). Naja. Das gruppensystem were ich wohl net releasen..
    Mal sehen ob ich die release

    Btw. Auch der CopyCorruption bug (Props sind aufeinmal irgendwo, jedenfalls net dort wo sie sein sollen) ist behoben und PropProtection wie immer
    Spätestens, wenn ich alles alles zu Gmod10 portiert habe, mache ich die scripts von 9.0.4 pub.

    Du scheinst dich ja ultra gut mit LUA auszukennen...


    Wie so schreibst du nicht mal ein leicht verständliches Tutorial für dieses Forum,
    denn es gibt ja leider nur wenige (fast gar keine) die LUA beherschen

    Ich jedenfalls wäre sehr dankbar

    greetz Pac_187

  12. #10
    Avatar von aVoN
    Registriert seit
    23.04.2006
    Ort
    Hannover

    Standard AW: [LINK] Lua-based DoorMod

    Eigendlich gibts doch genug Tuts für lua. Bzw, ich habe es ohne tuts gelernt, was ich immer noch am einfachsten finde.
    Einfach mal irgend ein einfaches script, das man erweitern möchte anschauen, durcharbeiten, und verstehen, was es wie macht.
    Wenn man dass dan gelernt hat, soltle man sich nur das GM wiki zu Herzen legen, und dort bei eventhooks und engine binds nachschauen.
    Ein Wissen über Vektorrechnung bzw. Mathematik ist auch ein Vorteil. Besonders bei Spieleentwicklung bzw. Entwicklungs für Spiele.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •