Frage:
Wie kommt man auf "moneytable"?PHP-Code:
local texttable = string.Explode(" ",txt)
local Anzahl = moneytable[2]
Ich will schliesslich was draus lernen ;D
So wie ich das sehe wurde im oberen ein array erzeugt und im unteren dann ...?
Druckbare Version
Frage:
Wie kommt man auf "moneytable"?PHP-Code:
local texttable = string.Explode(" ",txt)
local Anzahl = moneytable[2]
Ich will schliesslich was draus lernen ;D
So wie ich das sehe wurde im oberen ein array erzeugt und im unteren dann ...?
Wahrscheinlich hat er es wieder einfach via copy 'n paste gemacht und
Übersetzt...
Denn selbstgeschrieben sieht es nicht aus.
EDIT:
PHP-Code:
function GiveHealth( ply, txt, team ) // Die Funktion überhaupt,Serverside
if string.find(txt, "/heal") == 1 then // Prüfen ob /heal vorkommt
local texttable = string.Explode(" ",txt) // Jedes einzelnes wort in eine tabelle einfügen
local Anzahl = texttable[2] // Die Anzahl is der zweite Wert aus der Tabelle mit den Geschrieben Wörtern
if table.getn( texttable ) > 2 then // Falls es mehr als zwei Wörter gibt,beenden.
ply:PrintMessage( HUD_PRINTCHAT , "Falsche Anwendung! Die Anwendung lautet /heal <Anzahl> " )
return end
if !tonumber( Anzahl ) then // Falls die Anzahl keine Zahl ist,beenden.
ply:PrintMessage( HUD_PRINTCHAT, "Dies ist keine Zahl!." )
return end
if tonumber( Anzahl ) ~= math.Round(tonumber(Anzahl)) then // Falls,die zahl keine normale(Also Keine Dezimal) ist,beenden.
ply:PrintMessage( HUD_PRINTCHAT, "Keine Dezimalzahlen!" )
return end
ply:SetHealth( ply:Health() + tonumber( Anzahl ) ) // Addiere sein jetziges leben mit den der Anzahl
end
end
hook.Add ( "PlayerSay", "GiveSomeHealth", GiveHealth )
So sollte es funktionieren!
Ich will ja nicht meckern, aber ist der Code nicht besser so?
Code:function healcommand( ply, saywhat )
if string.find(saywhat , "/heal") == 1 then
local texttable = string.Explode( " ", saywhat )
local health = texttable[2]
if table.getn(texttable) > 2 then
ply:PrintMessage(HUD_PRINTTALK ,"The command is /heal <Number>")
return
end
if not ( tonumber( health ) ) or ( tonumber( health ) ~= math.Round( tonumber( health ) ) ) or (health > 50000) or (health < 1) then
ply:PrintMessage(3,"You didn't entered a valid numer!")
return
end
ply:SetHealth( ply:Health() + tonumber(health) )
end
end
hook.Add ( "PlayerSay", "healcommand", healcommand )
Doof wird es dann, wenn man nicht weiss wie viele Parameter der Benutzer eingibt, zB bei einem rcon befehl...
ebendrum ja ;DZitat:
Wahrscheinlich hat er es wieder einfach via copy 'n paste gemacht und
Übersetzt...
Denn selbstgeschrieben sieht es nicht aus.
Macht mir ein Beispiel mit rcon-befehl und ich bin glücklich ;D
Zum glück mach ich kein rcon-mod, sonst wäre das ja doof :)
PS: wenn ich das zum laufen bringe wäre das mein erster "brauchbarer" mod ;D
So habe meine letzen Beitrag noch einmal editiert!
Ich hatte außerdem selbst gesagt,ich hohle ein Beispiel und nicht das ich es eben selbst Schreibe,da ich mir das String.Explode nie merken kann ;)
Zumal das Copy and Paste aus mein eigenen Script war
Und warum Wieder,hat ich schonmal was andres per Copy & Paste gezeigt?
Auch glaube ich sollte es damit keine Probleme geben mit Rcon "say"
Da dies ja auch Chat hookt,und dass den Text auch in den Chat wiedergibt,aber nur ohne den Namen halt.
Aber der name gehöhrt ja nicht zum text,deswegen sollte es soweit keine Probleme damit geben,denke ich