|
You last visited: Today at 01:27
Advertisement
[LUA] Input auf Sonderzeichen überprüfen
Discussion on [LUA] Input auf Sonderzeichen überprüfen within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
12/27/2015, 11:42
|
#1
|
elite*gold: 1810
Join Date: Jan 2012
Posts: 2,208
Received Thanks: 1,630
|
[LUA] Input auf Sonderzeichen überprüfen
Heyo Community,
ich wollte mal meine Funktion veröffentlichen, womit ihr eine sichere Inputbox in Lua verwenden könnt,
ohne das der Nutzer Sonderzeichen (punctuation) verwenden kann.
Tut folgende Funktion in eure questlib.lua
Code:
function check_p(input)
local check = string.find(input, '%p')
if check != NULL then return true
else return false
end
end
Anschließend die Deklaration in die quest_functions
Jetzt die Quests reloaden und schon könnt ihr die Funktion anwenden.
Kleines Beispiel:
Code:
quest test begin
state start begin
when 20095.chat."Input ohne Sonderzeichen" begin
local input = tostring(input())
if check_p(input) then
say("vergiss es")
return
end
say(input)
end
end
end
Das Beispiel gibt einen return aus, sofern irgendein Sonderzeichen in der Input verwendet wurde.
Diese Funktion ist äußerst wichtig, um bereits genutzte Prioritäten auszuschließen.
|
|
|
12/27/2015, 12:13
|
#2
|
elite*gold: 0
Join Date: May 2014
Posts: 292
Received Thanks: 519
|
Gefällt mir Danke,
Habe das schon seit längerem gesucht, endlich habe ich es.
Mfg. .Liron
|
|
|
12/27/2015, 12:15
|
#3
|
elite*gold: 17
Join Date: Sep 2015
Posts: 2,487
Received Thanks: 1,032
|
besten dank.
|
|
|
12/27/2015, 15:01
|
#4
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Gibt es NULL in Lua?
I know about nil
Code:
function forbidInput(inp, pattern)
return (inp~=nil and (pattern==nil and inp or (string.find(inp, pattern)==nil and inp or nil)) or nil)
end
quest test begin
state start begin
when 20095.chat."Input mit Regeln" begin
local inp = forbidInput(input(), "%p")
-- local inp = forbidInput(input()) wäre auch möglich..
if inp==nil then
say("not allowed")
else
say(inp)
end
end
end
end
|
|
|
12/27/2015, 18:59
|
#5
|
elite*gold: 0
Join Date: Aug 2009
Posts: 1,422
Received Thanks: 1,368
|
Quote:
Originally Posted by Kilroy.
Gibt es NULL in Lua?
|
Null = Nil in Lua
|
|
|
12/27/2015, 21:23
|
#6
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Deine Funktion würde IMMER true returnen, weil es NULL in Lua nicht gibt und somit eine Variable auch immer ungleich NULL ist.
Code:
function strContainsSpecialCharacters(str)
if type(str) ~= "string" then return nil end
return string.find(str, "%p") ~= nil
end
|
|
|
12/27/2015, 23:01
|
#7
|
elite*gold: 0
Join Date: Dec 2015
Posts: 1
Received Thanks: 2
|
Quote:
Originally Posted by Seחsi
Deine Funktion würde IMMER true returnen, weil es NULL in Lua nicht gibt und somit eine Variable auch immer ungleich NULL ist.
Code:
function strContainsSpecialCharacters(str)
if type(str) ~= "string" then return nil end
return string.find(str, "%p") ~= nil
end
|
In Lua existiert NULL
Ist aber lediglich eine Art keyword für nil
Man kann es also auch einfach so machen:
Code:
function check(str)
return string.find(str, "%d")
end
Man muss nicht checken, ob es ein String ist
Im Source von Lua wird es automatisch zum string (oder eher char pointer) konvertiert
Extra neuen Account gemacht, weil ich während ich den Post geschrieben habe gebannt wurde
Richtig dreist
|
|
|
12/28/2015, 02:09
|
#8
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by std::unique_ptr<remix>()
In Lua existiert NULL
Ist aber lediglich eine Art keyword für nil
Man kann es also auch einfach so machen:
Code:
function check(str)
return string.find(str, "%d")
end
|
Habe in dem Moment nicht dran gedacht, dass in Lua eine nicht deklarierte Variable immer nil ist, der Vergleich würde also funktionieren.
Quote:
Originally Posted by std::unique_ptr<remix>()
Man muss nicht checken, ob es ein String ist
Im Source von Lua wird es automatisch zum string (oder eher char pointer) konvertiert
Extra neuen Account gemacht, weil ich während ich den Post geschrieben habe gebannt wurde
Richtig dreist
|
Wenn man an string.find einen Wert übergibt, der kein String und keine Zahl ist, dann würde es einen Fehler geben:
Code:
Lua 5.0.3 Copyright (C) 1994-2006 Tecgraf, PUC-Rio
> string.find({}, "")
stdin:1: bad argument #1 to `find' (string expected, got table)
stack traceback:
[C]: in function `find'
stdin:1: in main chunk
[C]: ?
>
|
|
|
01/14/2016, 12:31
|
#9
|
elite*gold: 1810
Join Date: Jan 2012
Posts: 2,208
Received Thanks: 1,630
|
Ich benutze in der Regel NULL, weil eine SQL mit "Allow Null" bei keinem zugeteilten Wert auch "NULL" wiedergibt. Damals kam ich wegen nil und null immer durcheinander, weil ich viel mit SQL Tabellen arbeite und deshalb nehme ich einfach NULL.
Bei nicht vorhandenen Variablen ergibt NULL das gleiche wie Nil. Von daher ¯\_(ツ)_/¯
Quote:
Originally Posted by std::unique_ptr<remix>()
Man kann es also auch einfach so machen:
Code:
function check(str)
return string.find(str, "%d")
end
Man muss nicht checken, ob es ein String ist
Im Source von Lua wird es automatisch zum string (oder eher char pointer) konvertiert
|
Als ob...
|
|
|
 |
Similar Threads
|
[Java]could not get audio input stream from input file
07/29/2013 - General Coding - 7 Replies
Ich Habe das Spiel Tetris geschrieben mit einer Hintergrundmusik, die bis zum GameOver in einem Loop läuft, passt alles auch. Die Datei ist 35,4 MB groß und .mp3. Wenn ich aber nen GameOver habe, soll eine andere Musi kommen und die alte stoppen. Klappt auch soweit, aber wenn er die neue Musik abspielen will, kommt die Exception daoben. Die Datei ist nur 282 KB groß und dauert 17 Sekunden, die andere 4 min. Weiß wer Rat, bzw. braucht ihr Code-Teile?
Die ganze Exception:
Jul 28, 2013...
|
Pc überprüfen
06/30/2013 - Hardware Discussions / Questions - 6 Replies
heyo,
ich wollte nur das überprüfen ob das alles passt und sinn macht.
Sollte nicht viel teurer werden als 1021€ ;D
https://www.mindfactory.de/shopping_cart.php/bask et_action/load_basket_extern/id/e7c2dc220bc391705d 2aad7a1977509bd7f8922808e2d00a581
und BITTE keine machtkämpfe zwischen amd und intel
|
input box as an image like php input boxes
03/22/2012 - AutoIt - 2 Replies
is it posible to do that?
like... -> use image -> and put input box as image in gui
so u can enter text in the image but u wont see this crappy input white box :)
as i tryed and searched i dont think but maybe someone has figured it out
|
All times are GMT +1. The time now is 01:28.
|
|