PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vgui und SMG



Razerds
27.07.2009, 04:43
Hallo ich wollte Fragen ob mir jemand vill Helfen könnte.

Ich habe Folgendes gemacht:



function TestVGUI( )

local Frame = vgui.Create( "Frame" );
Frame:SetSize( 200, 200 );
Frame:SetPos( 100, 100 );
Frame:SetVisible( true );
Frame:MakePopup( ); //Make the frame
Frame:PostMessage( "SetTitle", "text", "This is the title" );

local Button = vgui.Create( "Button", Frame );
Button:SetText( "SMG on" );
Button:SetPos( 30, 5 );
Button:SetWide( 100 );
function Button:DoClick( )
self:SetText( "SMG off" );
end

end

concommand.Add( "TestVGUI", TestVGUI );


Jetzt wurde ich mich sehr Freuhen,wenn jemand mir sagen kann wie ich einbauen kann das wenn ich auf den Button SMG on klicke ich auch eine SMG bekomme.

Währe echt cool wenn ihr mir Helfen könntet.

Pac_187
27.07.2009, 11:43
Dazu machst du dir einen Consolenbefehl auf der Serverseite erstellen welcher dir eine SMG gibt,
diesen Befehl rufst du dann mit deinem Clientseitigem Menü auf.

Hier 'n Kleines Beispiel, das meiste musst du natürlich selbst realisieren,
ich will dir nicht gleich alles sagen, bisschen was lernen sollt du schließlich auch :)

Server:

function giveSMG( ply, cmd, args )

/*

Funktion welche Spieler SMG gibt

*/

end

concommand.Add( "SMGPLEASE", giveSMG )



Client:


/*
...Dein VGUI Zeugs...

Bei DoClick dann den Consolenbefehl "SMGPLEASE" aufrufen ;)

*/




Hier noch eine kleine Hilfe: Klick (http://wiki.garrysmod.com/?title=Player.ConCommand)

Razerds
27.07.2009, 14:54
Ich danke dir da kann mann wirklich was von Lernen. :D
Doppelpost:
Also ich habe leider kleine schwächen gerade,denn sies ist mein 1 lua script :) mein derzeitiges script:

Client:


concommand.Run

function TestVGUI( )

local Frame = vgui.Create( "Frame" );
Frame:SetSize( 200, 200 );
Frame:SetPos( 100, 100 );
Frame:SetVisible( true );
Frame:MakePopup( ); //Make the frame
Frame:PostMessage( "SetTitle", "text", "This is the title" );

local Button = vgui.Create( "Button", Frame );
Button:SetText( "SMG on" );
Button:SetPos( 30, 5 );
Button:SetWide( 100 );
function Button:DoClick( )
self:SetText( "SMG off" );
end

end

concommand.Add( "TestVGUI", TestVGUI );
concommand.Run( giveSMG );

Server:


function giveSMG( ply, cmd, args )

concommand.Add( "SMGPLEASE", giveSMG )

Ich denke mal ich habe sehr viel falsch und bei Server weis ich einfach nicht wie ich es dazu kriege das eine SMG equipt wird habe schon in Wiki´s nachgeschlagen leider ohne Erfolg.

:(

Es würde aber auch reichen wenn mann mir erklärt wie mann ein client script in ein server script scriptet.
Doppelpost:
schon gut habs gechekct :) danke nochma top post :)

Razerds
28.07.2009, 20:30
Ich weis leider nicht wie ich die Waffe in die Server: bekomme ^^ und wie der befehl lauet das ich jemand eine Waffe geben kann.

Server:


function giveSMG( ply, cmd, args )

Funktion welche Spieler SMG gibt

end

concommand.Add|>( "givemesmg", giveSMG )



Client:


function TestVGUI( )

local Frame = vgui.Create( "Frame" );
Frame:SetSize( 200, 200 );
Frame:SetPos( 100, 100 );
Frame:SetVisible( true );
Frame:MakePopup( ); //Make the frame
Frame:PostMessage( "SetTitle", "text", "This is the title" );

local Button = vgui.Create( "Button", Frame );
Button:SetText( "SMG on" );
Button:SetPos( 30, 5 );
Button:SetWide( 100 );
function Button:DoClick()
RunConsoleCommand( "givemesmg" )
surface.PlaySound( "buttons/button15.wav" )
self:SetText( "SMG off" );
end

end

concommand.Add( "TestVGUI", TestVGUI );

Joker
28.07.2009, 22:08
http://wiki.garrysmod.com/?title=Player.Give

Nimm dir Zeit und lies dir ALLE verfügbaren LUA-Funktionen im GMod Wiki durch, auch wenn du manche nicht brauchst. So weißt du auch, welche Befehle vorhanden sind und sobald du eins benötigst, kannst du dich auch erinnern, welcher Befehl es ungefähr war. So findest du deine benötigten Funktionen in Zukunft leichter.

Razerds
28.07.2009, 22:16
Ich danke dir mal wieder habe es aber vor 10 min doch noch selber geschaft und funktioniert :) danke trotzdem