Archiv verlassen und diese Seite im Standarddesign anzeigen : Lern Hilfe?
Hey leute wie lernt mann am besten Gmod10 scripten o0?
1. Schritt:
Lesen
http://www.garrysmod.de/forum/showthread.php?t=4602
Das kann ich doch so dumm bin ich nicht ^^
Irgendein weiteren schritt
2. Schritt:
Das gelesene verstehen und praktisch umsetzen können
Das hätte ich mir eig auch denken können aber hätte jemand vill noch ne ide was mann so als noob scripten könnte so als kleine aufgabe für mich?
MîngeBag.
04.11.2009, 16:44
Schau dir andere Scripts an und verstehe erstmal den aufbau , die funktionen und vieles mehr...
Dann geb ich dir mal eine Aufgabe , ist sogar sehr leicht mit dem garrysmod.com wiki zu basteln : )
Bau ein JoinSound Script , aber ohne den zu nehmen den ich hier bereits gepostet hab...
Das wäre erstmal eine möglichkeit das du die Grundbasis kennen lernst.
Weitere Tipps gibt es eigentlich nicht wirklich , bei lua heisst es "learning by doing".
Bill Gates
04.11.2009, 16:45
Die Gasflasche aus GMod 9 könntest du ja mal scripten
sobald man auf den Kopf schiesst das die dann rumfliegt
Jo danke für eure Tipps :)
bei lua heisst es "learning by doing".
Doing ohne leraning geht nicht. ;)
Ok ich habe jetzt mal was gemacht aber komme nicht weiter hier mein Script.
Was will ich machen?= Ich will das wenn ich Admin in die Console schreibe und ich admin bin sich das menu aufruft aber ich weis nicht wie ich Cliend side und Server Side miteinander verbinde.
-cl_init datei
DeriveGamemode("sandbox")
function sense()
local window = vgui.Create( "DFrame" );
window:SetSize( 200,70 );
window:Center();
window:SetTitle( "DButton Test" );
window:MakePopup();
local button = vgui.Create( "DButton", window );
button:SetSize( 100, 30 );
button:SetPos( 50, 30 );
button:SetText( "Test Button" );
button.DoClick = function( button )
window:SetTitle( "Hello world!" );
end
end
concommand.Add("mysense", sense)
init datei
include( 'adminplugin.lua' )
/*---------------------------------------------------------
Name: gamemode:PlayerSpawn( )
Desc: Wird benutzt wenn ein Spieler Spawnt
---------------------------------------------------------*/
function GM:PlayerSpawn( pl )
self.BaseClass.PlayerSpawn( self, pl )
// Setzt die Spieler geschwindichkeit
GAMEMODE:SetPlayerSpeed( pl, 250, 250 )
end
/*---------------------------------------------------------
Name: gamemode:PlayerLoadout()
Desc:
---------------------------------------------------------*/
function GM:PlayerLoadout( pl )
// Löscht die alte Munition
pl:RemoveAllAmmo()
if ( server_settings.Bool( "sbox_weapons", true ) ) then
pl:Give( "weapon_crowbar" )
end
local cl_defaultweapon = pl:GetInfo( "cl_defaultweapon" )
if ( pl:HasWeapon( cl_defaultweapon ) ) then
pl:SelectWeapon( cl_defaultweapon )
end
end
/*---------------------------------------------------------
Name: GM:ShowHelp
Desc: Wird gezeigt wenn mann F1 drückt
---------------------------------------------------------*/
function GM:ShowHelp( ply )
ply:ConCommand( "SchoolMe" )
end
adminplugin datei
function checkAdmin(ply)
if ply:IsAdmin() then
ply:ChatPrint("Du hast dich Erfolgreich als Admin eingeloggt")
GAMEMODE:SetPlayerSpeed( ply, 250, 1000 )
else
ply:ChatPrint("Du bist kein Admin!")
end
end
concommand.Add("admin", checkAdmin)
Doppelpost:
Habs geschaft ^^
MîngeBag.
05.11.2009, 20:04
entferne DeriveGamemode("sandbox") bei cl_init , das wird in einer shared.lua bei einen Gamemode gesetzt , ums sinnvoll zu nutzen.
Und ich würde wenn du ein extra Script machst , es ausserhalb des Gamemodes machen.
Erstelle eine lua datei namens myscript.lua in garrysmod/lua/autorun/
und füge folgenden Inhalt ein:
if SERVER then
AddCSLuaFile( "autorun/myscript.lua" )
function checkAdmin(ply)
if ply:IsAdmin() then
ply:ChatPrint("Du hast dich Erfolgreich als Admin eingeloggt")
GAMEMODE:SetPlayerSpeed( ply, 250, 1000 )
umsg.Start("OpenSense", ply)
umsg.End()
else
ply:ChatPrint("Du bist kein Admin!")
end
end
concommand.Add("admin", checkAdmin)
else
function sense()
local window = vgui.Create( "DFrame" );
window:SetSize( 200,70 );
window:Center();
window:SetTitle( "Hello world!" );
window:MakePopup();
local button = vgui.Create( "DButton", window );
button:SetSize( 100, 30 );
button:SetPos( 50, 30 );
button:SetText( "Test Button" );
button.DoClick = function( button )
LocalPlayer():ConCommand("say ich hab den button benutzt")
end
end
usermessage.Hook("OpenSense",sense)
end
Hab extra das Menü als usermessage genommen , damit keiner das mit den Geheimen Consolen befehl öffnen kann.
OK das hat mir etwas geholfen noch eine Frage wie ist der befehl um jemanden einen skin zu verpassen z.b
/*--------Admin-Skin----*/
function admins(ply, cmd, args)
if ply:IsAdmin() then
ply:GetSkin( 2 ) //<----------- HIER IST DER FEHLER
else
ply:ChatPrint("Du bist kein Admin")
end
end
concommand.Add( "adminskin", admins)
Tjoa also da hättest aber auch selber drauf kommen können....
Entity.SetSkin (http://wiki.garrysmod.com/?title=Entity.SetSkin)
Also: ply:SetSkin( 2 )
Mit "Get" fragst du lediglich ab, was er für einen Skin momentan hat ;)
ohh ^^ ja jetzt nur noch das problem wo her soll ich wissen welche id welcher skin ist?
Powered by vBulletin® Version 4.2.2 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.