-
[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)
-
AW: [LINK] Lua-based DoorMod
Hört sich gut an!
Dafür geb ich dir mal 5/5 Punkten!
-
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... :D
MfG
-
AW: [LINK] Lua-based DoorMod
Goil!
Ne Group Copy Gun die sogar die verbindungen mit speicher:up:
Respect :gmod:
freue mich schon drauf *download*
greetz Pac_187
-
AW: [LINK] Lua-based DoorMod
Cool! Gleich mal alles ziehen , denn der PropProtector fehlt mir auch noch !
Danke!
Mfg , Kobra
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von Pac_187
Goil!
Ne Group Copy Gun die sogar die verbindungen mit speicher:up:
Respect :gmod:
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.
-
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"
-
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.
-
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
-
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.
-
AW: [LINK] Lua-based DoorMod
Hi, als kleine Info nebenbei, meine CopyGun wird höchstwahrscheinlich morgen veröffnetlicht. Habe heute alle benötigten Teile umgescripted, muss aber noch eine Dokumentation schreiben.
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von aVoN
Hi, als kleine Info nebenbei, meine CopyGun wird höchstwahrscheinlich morgen veröffnetlicht. Habe heute alle benötigten Teile umgescripted, muss aber noch eine Dokumentation schreiben.
*freu,freu*:D
goil
-
AW: [LINK] Lua-based DoorMod
Hi,
genau wie der Link zum PropProtector funktioniert der Link zum DoorMod nicht mehr!
Würde beide Dinge gerne nutzen ;-) Bitte um Hilfe.
Gruß,
Unholy
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von Unholy
Hi,
genau wie der Link zum PropProtector funktioniert der Link zum DoorMod nicht mehr!
Würde beide Dinge gerne nutzen ;-) Bitte um Hilfe.
Gruß,
Unholy
Seine Seite ist grade down.....(wird aber noch wieder kommen):-?
-
AW: [LINK] Lua-based DoorMod
Wie kann ich die Doors an die Buttons binden?
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von Sharky
Wie kann ich die Doors an die Buttons binden?
Hast du dieses Lua-Script etwa noch??
Dann lad es doch bitte hoch;)
Also:
1.Du erstellst ein Combine Tor
2.Du guckst aufs Combine Tor und gibst !Door 1a ein
3.Du spawnst ein Prop
4.Du guckst auf das Prop und gibts ein !Button 1a
5.Nun hast du eine Tür mit Button
-
AW: [LINK] Lua-based DoorMod
Guten Abend,
Avon hat mir soeben geschrieben, dass sein Server erstmal nicht mehr aufrufbar sein wird.
Könnte nun vielleicht jemand so nett sein und den "Lua Based DoorMod" von Avon privat uploaden oder mir per Email schicken? (In Fall 2 bitte zuerst per PM melden)
Am besten wäre natürlich ein Upload bei rapidshare o.ä., denn dann hätten alle etwas davon.
Würde mich wirklich sehr über eure Hilfe freuen, da es etwas nervig ist immer Cheats zu aktivieren, wenn ich Türen öffnen will.. Denn soweit ich weiß funktioniert nur dieser DoorMod wirklich ohne Cheats oder?
Jedenfalls ist es etwas ungünstig, wenn man eine sichere, unstürzbare Base baut, in die dann jeder Depp dank noclip sowieso reinkommt, weil Cheats für die Türen an sein müssen.. o_0
;-)
Deswegen würde ich mich über Hilfe freuen!
Gruß
Unholy
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von Unholy
Guten Abend,
Avon hat mir soeben geschrieben, dass sein Server erstmal nicht mehr aufrufbar sein wird.
Könnte nun vielleicht jemand so nett sein und den "Lua Based DoorMod" von Avon privat uploaden oder mir per Email schicken? (In Fall 2 bitte zuerst per PM melden)
Am besten wäre natürlich ein Upload bei rapidshare o.ä., denn dann hätten alle etwas davon.
Würde mich wirklich sehr über eure Hilfe freuen, da es etwas nervig ist immer Cheats zu aktivieren, wenn ich Türen öffnen will.. Denn soweit ich weiß funktioniert nur dieser DoorMod wirklich ohne Cheats oder?
Jedenfalls ist es etwas ungünstig, wenn man eine sichere, unstürzbare Base baut, in die dann jeder Depp dank noclip sowieso reinkommt, weil Cheats für die Türen an sein müssen.. o_0
;-)
Deswegen würde ich mich über Hilfe freuen!
Gruß
Unholy
Hab das script im erstem posting angehängt.
-
AW: [LINK] Lua-based DoorMod
Ich habe leider ein Problem mit dem script....
jedes mal wenn ich !open oder !close oder einen der anderen Befehle benutze,
schreibt er in die Console folgendes:
[LUA] Error calling 'DoEventHook' : 'Line 21: attempt to index global 'gmx' (a nil value)'
Die Combinetüren spawne ich immer von Huntsmod...
-
AW: [LINK] Lua-based DoorMod
Hey,
das wollte ich auch gerade schreiben..
Genau das gleiche ist bei mir auch!
Wenigstens scheint es dann nicht an uns zu liegen.
Das Script endet auch etwas abrupt oder?
@Avon:
Ist es vielleicht nicht vollständig ins Forum kopiert, weil die Quote Funktion keine Zeichen mehr angenommen hat?
Jedenfalls funzt es nicht? ;-)
Gruß,
Unholy
-
AW: [LINK] Lua-based DoorMod
Soweit wie ich jetzt rausgefunden habe,
funktionieren bei mir alle Commands die per "say" einzugeben sind nicht mehr,
z.B. beim ECS...in der Console funktionieren sie, nur nicht peer "say":roll:
hab mein gmx auch schon neuinstallt....bring nix.:mad:
Außerdem ist mir aufgefallen, das er das:
[LUA] Error calling 'DoEventHook' : 'Line 21: attempt to index global 'gmx' (a nil value)'
jedesmal in die Console schreibt, wenn ich etwas peer "say" sage.
hoffe auf Hilfe
mfg Pac_187
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von Pac_187
Hast du dieses Lua-Script etwa noch??
Dann lad es doch bitte hoch;)
Also:
1.Du erstellst ein Combine Tor
2.Du guckst aufs Combine Tor und gibst !Door 1a ein
3.Du spawnst ein Prop
4.Du guckst auf das Prop und gibts ein !Button 1a
5.Nun hast du eine Tür mit Button
Danke. Jetzt funzt es.
-
AW: [LINK] Lua-based DoorMod
Und als Gegenleistung lädst du jetzt das Script einfach hoch, ok? ;-)
Bei Avons Plaintext scheint sich wohl ein Fehler eingeschlichen zu haben..
Wäre also gut das ganze nochmal als "fertige" lua Datei zu haben.
Falls du keine Seite zum uploaden kennst: http://www.rapidshare.de/
Gruß,
Unholy
-
AW: [LINK] Lua-based DoorMod
Meine Doormod ist aber keine LUA.
Die Tore schließen sich nach recht kurzer Zeit wieder. :(
Aber trotzdem net schlecht die Mod.
Ich weis aber nicht, von wem die Mod ist.
http://rapidshare.de/files/29358362/DoorMod.zip.html
-
AW: [LINK] Lua-based DoorMod
Ach mann... So langsam ist es echt frustrierend...... Jetzt hast du auch noch die falsche DoorMod :(
Diese Mod habe ich auch schon genutzt.. Fand ich aber absolut scheiße, weil Cheats an sein müssen.. o.Ô Musst zugeben, dass es den Spaß verdirbt, wenn du eine Basis baust mit Türen und dann sowieso jeder mit noclip reinfliegen kann!
Deswegen hätte ich gerne Avons Lua DoorMod gehabt. Das scheint der einzige ohne "sv_cheats 1" zu sein. Aber irgendwie scheint fast keiner mehr in diesem Forum aktiv zu sein, sonst müsste es doch irgendeinen Garry's Mod Spieler geben, der mir Avons (und nur Avons!) DoorMod senden kann. :evil:
@Sharky:
Ist jetzt nichts gegen dich. Danke, dass du die Mod hochgeladen hast, nur leider kann ich nichts damit anfangen! Trotzdem danke!
Mfg
Unholy
-
AW: [LINK] Lua-based DoorMod
np. Waren keine Umstände.
PS: Ich hätte a noch ne Idee. Vieleicht sollte man nach dieser LUA-Door-Mod googeln.
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von Sharky
np. Waren keine Umstände.
PS: Ich hätte a noch ne Idee. Vieleicht sollte man nach dieser LUA-Door-Mod googeln.
Bereits ein paar mal passiert.. Aber nichts gefunden.. Zum DoorMod von Avon nur diese SEite hier.. Und dann noch PP und ECG..
Tja..
Gruß,
unholy
-
AW: [LINK] Lua-based DoorMod
Moin bin neu hier.
Hat mich auch ganz schön genervt, dass das Lua Script aufgrund von GMX net läuft.
Habs dann mal umgeschrieben und auf meinem Server installiert.
Funzt perfekt.
Hier der Code:
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 my_explode(str,seperator)
local t={};
local ll=0;
while true do
local l=string.find(str,seperator,ll+1,true);
if l~=nil then
table.insert(t,string.sub(str,ll,l-1));
ll=l+1;
else
table.insert(t,string.sub(str,ll));
break;
end
end
return t;
end
--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);
strText1 = string.sub(strText, uname_pos + 1)
local splitted = my_explode(strText1," ");
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 = my_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 = my_explode(name,";");
-- Dont add a ; to a doors name!
_EntSetName(entity,"door_"..make_door[1]);
end
HookEvent("eventPlayerSay", s_eventPlayerSay)
Bin ein absoluter Neuling in Lua also net meckern :D .
Werde evtl. noch ein paar andere Sachen wie Camera open und Plate open einbauen ma gucken.
Ansonsten have fun.
-
AW: [LINK] Lua-based DoorMod
Jetzt geht's!!!! DANKE!!! :)
Wo lag das Problem?
-
AW: [LINK] Lua-based DoorMod
Kann mir jemand sagen, wo ich so einen lua-Code hinkopieren muss?
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von W|CK3D
Kann mir jemand sagen, wo ich so einen lua-Code hinkopieren muss?
Du erstellst einfach eine neue Textdatei und bennenst diese in Door_Mod.lua ,
dort fügst du dann das Script ein.
Die Door_Mod.lua plazierst du dann im gmod9\lua\init Ordner.
Fertig;)
mfg Pac_187
-
AW: [LINK] Lua-based DoorMod
Hallo an alle,
Ich wollte fragen ob mir jemand evt. den LUA script geben kann oder schicken wär echt dankbar darüber.
Bedanke mich jetzt schon mal an alle (Danke Schön)
mfg.
DeaLagga
-
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von DeaLagga
Hallo an alle,
Ich wollte fragen ob mir jemand evt. den LUA script geben kann oder schicken wär echt dankbar darüber.
Bedanke mich jetzt schon mal an alle (Danke Schön)
mfg.
DeaLagga
Schonmal auf der Ersten Seite geguckt?;)
-
AW: [LINK] Lua-based DoorMod
der link tut es ja irgendwie nicht und mit dem code kann ich nichts anfangen deswegen frage ich ja nach der datei
-
Liste der Anhänge anzeigen (Anzahl: 1)
AW: [LINK] Lua-based DoorMod
Zitat:
Zitat von DeaLagga
der link tut es ja irgendwie nicht und mit dem code kann ich nichts anfangen deswegen frage ich ja nach der datei
Najut dann halt so:
Anhang 230
-
AW: [LINK] Lua-based DoorMod