PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausrüstung Spawnen



Specter123
20.03.2008, 16:49
Hoi,

heute habe ich mich mal langsam an Lua gewagt und auf dem Gmod Wiki ein Tut gefunden um ein Fenster zu öffnen wo man mit einem Knopf 100 HP sich Selbst geben kann.
Meine Frage, wie kann man jetzt darunter mehrere Knöpfe machen um z.b. ein Medikit,Batterie oder verschiedene Munition zu Spawnen.
Ich verstehe kaum etwas von Lua habe es aber geschafft ohne Hilfe oder sonstiges den Schalter so umzustellen, das ich 10000 Hp bekomme und 100 Armor bei einem mal Drücken darauf (Leider war Gmod nach ein paar Sekunden abgestüzt weil ich so oft darauf geklickt habe :D)
Habe aber schon alle Hilfen und Tut´s durchgelesen und finde nichts davon um soetwas zu machen.

BennyG
20.03.2008, 17:02
local kit = ents.Create("item_healthkit") //weiß nit ob der Name richtig ist
kit:SetPos(ply:GetEyeTrace().HitPos + Vector(0,0,10)) //10 aus Sicherheitsgründen dazu
kit:Spawn()
kit:Activate()

(Serverside natürlich)
Müsste gehn habs aber net getestet.

Specter123
20.03.2008, 17:13
Also so sieht´s bisher aus mit meinem kleinen Menü.
Vom Server:

function check_message(ply, msg, bool)



if msg == "/menu" then

ply:ConCommand("open_test_vgui\n")

end



end



hook.Add("PlayerSay", "check_message_of_player", check_message)

function give_player_health(ply)



ply:SetHealth(ply:Health() + 10000)

ply:SetArmor(ply:Armor() +100)

ply:ChatPrint("Ausgerüstet!")


end



concommand.Add("give_player_health", give_player_health)

concommand.Add("give_player_armor", give_player_armor)

Wundert euch nicht über den Hohen Wert 10000 ich wollte nur mal Probieren ob es auch klappt, ich werde das auf 100 ändern da sonst Gmod abstürzt.

Vom Client:

local ply = LocalPlayer()

local Pan = vgui.Create( "Frame" )
Pan:SetSize( 200, 200 )
Pan:SetPos( ScrW()/2-100, ScrH()/2-100 )
Pan:PostMessage( "setTitle", "text", "Ausrüstungsmenu" )

local Button = vgui.Create( "Button", Pan )
Button:SetSize(100,100)
Button:SetText( "Ausrüsten" )
Button:SetPos( 5, 30 )


function Pan:Think()
local xy = Pan:GetSize()
if xy != {200,200} then
Pan:SetSize( 200, 200 )
end

Button:SetPos( 5, 30 )

end


function Button:DoClick( )

LocalPlayer():ConCommand("give_player_health\n")

LocalPlayer():ConCommand("give_player_armor\n")

end


function open_test_vgui()



Pan:SetVisible(true)

end

concommand.Add("open_test_vgui", open_test_vgui)

Probleme die aufgetreten sind:
Wenn ich den Knopf drücke kommt nich mehr die Meldung Ausgerüstet im Chat sondern irgendseine Fehlermeldung.

BennyG
20.03.2008, 17:16
function give_player_health(ply)



ply:SetHealth(ply:Health() + 10000)

ply:SetArmor(ply:Armor() +100)

ply:ChatPrint("Ausgerüstet!")


end



concommand.Add("give_player_health", give_player_health)

concommand.Add("give_player_armor", give_player_armor)



Probleme die aufgetreten sind:
Wenn ich den Knopf drücke kommt nich mehr die Meldung Ausgerüstet im Chat sondern irgendseine Fehlermeldung.[/QUOTE]

Ja,achne,wo hast du denn die Funktion give_player_armor?
(Bitte les dir Basic Lua Tutorial durch,da werden Funktionen erklärt)

Specter123
20.03.2008, 17:56
Ok das mit der Fehlermeldung ist gelöst, ich habe grade versuch das einzugeben mit dem Medikit, ging aber net.

Mingebag1
21.03.2008, 08:34
info : setz die health ruhig bis 99899 (inklusive start HP) wenn du bei 100000 angelangst dann crasht dein game... also darfste nach dein button kein einziges bissle HP mehr bekommen ^^

Specter123
21.03.2008, 09:30
Irgendswie will das Menü gar net mehr kommen :D ich fang nochmal von vorne an, hab zuviel verändert, wenn mir einer den Code geben Könnte wäre ich sehr Erfreut :) (Den Code um Items zu Spawnen)