Archiv verlassen und diese Seite im Standarddesign anzeigen : VGui auf F2 binden.
NinjaTuna
09.12.2010, 21:23
Wie der Titel schon sagt,
Ich will auf meinem server ne VGui auf F2 binden.
Bevor einer sagt Google benutzen oder sonstwas...hab ich.
http://wiki.garrysmod.com/?title=Binding_a_VGUI_to_F1-F4
Habs wie beschrieben gemacht.
Funzt trotzallem nicht.
Aufm Server läuft Sandbox.
Ich habs einfach habs in gamemodes/sandbox.../cl_init.lua reingeknallt.
Funzt aber nich.
Hoffe jemand hat nen Tipp.
Ne Erklärung mit Dateipfaden wär nich schlecht da ich wirklich 0-Plan hab.
Danke schonmal.
Stan
ALL YOU CAN EAT
09.12.2010, 21:29
Hast du es denn auch in deiner int.lua gehookt?
NinjaTuna
09.12.2010, 21:32
ja da isses auch drin.
das stand in der console: Warning: Unhandled usermessage 'InfoACH'
ALL YOU CAN EAT
09.12.2010, 21:52
Also ich hab das jetzt mal getestet und es klapp doch wunderbar?
Du erstellst eine Funktion in deiner cl_init.lua
Vorraussetzung ist natürlich das du das nicht in ein bestehenden Gamemode reinkopierst. Da eine mehrfach Deklaration Fehler verursachen könnte....
function Menu()
DFrame2 = vgui.Create('DFrame')
DFrame2:SetSize(280, 550)
DFrame2:SetPos(575, 150)
DFrame2:SetTitle(' A |CookYs Home - Donation Info')
DFrame2:SetDraggable(true)
DFrame2:SetVisible(true)
DFrame2:SetSizable(false)
DFrame2:SetDeleteOnClose(false)
DFrame2:MakePopup()
end
usermessage.Hook("menu",Menu)
und eine Funktion in deiner init.lua
function GM:ShowHelp(ply)
umsg.Start("menu",ply)
umsg.End()
end
NinjaTuna
09.12.2010, 21:56
also muss ich nen komplett neuen gamemode schreiben?
nix von wegen in sandbox reinkopiern?
ALL YOU CAN EAT
09.12.2010, 21:58
Das sollte man immer machen wenn man keine Ahnung hat wie der bestehende Gamemode aufgebaut ist.
(Und wenn du nicht weißt wie das geht solltest du lieber etwas kleiner anfgangen oder dir ne base ziehen und da dran rumbasteln aber wie auch immer du es machst vergess nie die !Credits!)
also muss ich nen komplett neuen gamemode schreiben?
nix von wegen in sandbox reinkopiern?
Du schreibst in diesem Fall den Gamemode nicht komplett neu.
Du machst sozusagen 'n neuen Gamemode und sagst diesem er soll "Sandbox" als Grundlage benutzen und veränderst einfach nicht's außer die Sache mit F2.
(Ich hoffe das geht noch, bin da nicht so auf dem aktuellen Stand was Lua angeht)
ALL YOU CAN EAT
09.12.2010, 22:14
Das Problem wird aber folgendes sein dass ShowHelp in Sandbox schon besteht und man diesen Eintrag vorher auskommentieren sollte
Dann versuch mal "return true" am ende der ShowHelp Funktion einzufügen, also noch vor dem "end".
Soweit ich mich erinnern kann, wird dies den Hook überschreiben.
NinjaTuna
10.12.2010, 15:58
Also so?:
/*---------------------------------------------------------
Show the school window when F1 is pressed..
---------------------------------------------------------*/
function GM:ShowHelp( ply )
ply:ConCommand( "SchoolMe" )
return true
end
function GM:ShowTeam( ply )
umsg.Start( "InfoACH", ply )
umsg.End()
end
/*---------------------------------------------------------
Called once on the player's first spawn
---------------------------------------------------------*/
function GM:PlayerInitialSpawn( ply )
sandbox/gamemode/init.lua
und in
sandbox/gamemode/cl_init.lua
mein gui rein kopiern?
Das musst du schon selber ausprobieren, im Kopf simulieren kann ich das auch nicht xD
Vom Code her scheint das aber soweit richtig zu sein.
Was wo rein gehört entnimmst du den Link den du in deinem 1. Beitrag stehen hast.
Wenn Pac sich richtig erinnert, also ein Überschreiben per 'return true' möglich ist, würde ich ein Addon erstellen, anstatt die bestehenden Dateien zu modifizieren.
Zum Beispiel so:
hook.Add("ShowTeam", "MyVGUI", function(ply)
//Dein Code
return true
end)
Diesen Code dann beispielsweise in
garrysmod\addons\MyVGUI\lua\autorun\server\MyVGUI .lua
speichern und zum MyVGUI Ordner eine gültige info.txt hinzufügen.
Das Problem wird aber folgendes sein dass ShowHelp in Sandbox schon besteht und man diesen Eintrag vorher auskommentieren sollte
Lass die Sandbox/Base Dateien lieber wie sie sind. Die Hooks werden automatisch überschrieben, wenn du sie in der Form GM:ShowHelp bzw. GM:ShowTeam in einem eigenen Gamemode definierst.
gogokiller
13.03.2011, 14:33
Leichenschänder D:
Ups. Naja, ich weiß sowieso nicht, was da so schlimm dran sein soll. Solche Threads werden auch noch gefunden und dann hilft meine Antwort vielleicht. Im Übrigen ist dieser Thread, wenn man die Frequenz beachtet, mit der hier geposted wird, gar nicht mal so alt.
Powered by vBulletin® Version 4.2.2 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.