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 ...?
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 ;DWahrscheinlich 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
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
Geändert von BennyG (18.12.2007 um 20:55 Uhr)