Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 04:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Lua - String Addition // dofile()

Discussion on Lua - String Addition // dofile() within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Lua - String Addition // dofile()

Hi there, hatte die Voll krass behinderte Idee, meine Quests so voll Gameforgelike und so umzuschreiben, und dabei... 'ne Million Probleme.

angefangen mit dem dofile()-command und damit verbundene Lua-Chunks:

Beispiel:
Inhalt einer Questlib.lua:

Code:
dofile("/locale/germany/quest/metin2.lua"
dofile("/locale/germany/quest/scope_square.lua")

function scope_send_skill_dialog(job)
	jobstring = get_race_name_pl(job)
	say_title("Fertigkeiten der ".. jobstring)
	say("")
	if job == 0 then
		say(scope_square.skchoose_war)
		e = select(scope_square.war_job1, scope_square.war_job2)
	elseif job == 1 then
		say(scope_square.skchoose_nin)
		e = select(scope_square.nin_job1, scope_square.nin_job2)
	elseif job == 2 then
		say(scope_square.skchoose_sur)
		e = select(scope_square.sur_job1, scope_square.sur_job2)
	elseif job == 3 then
		say(scope_square.skchoose_sha)
		e = select(scope_square.sha_job1, scope_square.sha_job2)
	end
	pc.set_skill_group(e)
end

function get_race_name_pl(job)
	if job == 0 then
		jobstring = metin2.war_pl
	elseif job == 1 then
		jobstring = metin2.nin_pl
	elseif job == 2 then
		jobstring = metin2.sur_pl
	elseif job == 3 then
		jobstring = metin2.sha_pl
	end
	
	return jobstring
end
Beispiel Inhalt in scope_square.lua:
Code:
scope_square = {}
scope_square.nin_job1 = "Nahkämpfer"
scope_square.nin_job2 = "Fernkämpfer"
Beispiel Inhalt in metin2.lua:
Code:
metin2 = {}
metin2.sur_g2_sk1 = "Dunkler Schlag"
metin2.sur_g2_sk2 = "Flammenschlag"
metin2.sur_g2_sk3 = "Geist der Flamme"
metin2.sur_g2_sk4 = "Dunkler Schutz"
metin2.sur_g2_sk5 = "Geisterschlag"
metin2.sur_g2_sk6 = "Dunkler Stein"
metin2.sha_g1_sk1 = "Fliegender Talisman"
"Theoretisch" sollte das auf die Art funktionieren, nicht?

Dann -> String Addition.

Nehmen wir an, man will 'ne Variable aus der metin2.lua mit einer aus der scope_square.lua verketten -> theoretisch währe der Verknüpfungsoperand:
Code:
..
like: 
say("blablabla" .. metin2.sur_g2_sk6)
2 Variablen?
say(metin2.sur_g2_sk4 .. metin2.sur_g1_sk3)
^- Funktioniert nicht
Also yo damit die Frage eindeutig ist -> wie Verkettet man 2 String-Variabeln?
Dyshaxo is offline  
Old 02/05/2015, 18:50   #2

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,258
normalerweise sollte .. funktionieren.

Versuchen könntest du noch:
Code:
say(metin2.sur_g2_sk4 .."".. metin2.sur_g1_sk3)
.yorliK is offline  
Old 02/05/2015, 18:53   #3
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Quote:
Originally Posted by Kilroy. View Post
normalerweise sollte .. funktionieren.
Mhh vielleicht wär's nützlich gewesen wenn ich den Fehler dazu gepostet hätte, siehe unten ^.^

Quote:
Originally Posted by Kilroy. View Post
Versuchen könntest du noch:
Code:
say(metin2.sur_g2_sk4 .."".. metin2.sur_g1_sk3)
Das hab' ich versucht, syserr dazu:

Code:
attempt to concatenate field `sur_g1_sk3' (a nil value)
(Fehlermeldung dem Beispiel angepasst)
Dyshaxo is offline  
Old 02/05/2015, 18:57   #4

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,258
Quote:
Originally Posted by Dyshaxo View Post

Das hab' ich versucht, syserr dazu:

Code:
attempt to concatenate field `sur_g1_sk3' (a nil value)
(Fehlermeldung dem Beispiel angepasst)
sur_g1_sk3 existiert doch auch gar nicht? In der Lua sehe ich ist es immer sur_g2
.yorliK is offline  
Old 02/05/2015, 19:13   #5
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Quote:
Originally Posted by Kilroy. View Post
sur_g1_sk3 existiert doch auch gar nicht? In der Lua sehe ich ist es immer sur_g2
Das war nur ein Beispiel, das sind an die 200 Variabeln, die alle zu Posten machst das ganze nur unübersichtlich, existieren tut die schon :P

Ach egal, hab' mein Umlauteproblem jetzt bedeutend einfacher gelöst, lacht mich aus, los!!!

#closerequest
Dyshaxo is offline  
Reply


Similar Threads Similar Threads
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code: #include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Name Generator", 236, 299, 815, 246) $Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21) $Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21) $Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21) $Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21) $Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
Addition in der Konsolenausgabe...
01/07/2012 - C/C++ - 20 Replies
Hi, weiß zufällig jemand warum das hier nicht funktioniert?
[VB08]String in String mit mehreren Funden
08/08/2011 - .NET Languages - 6 Replies
Hey, bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße. Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei _StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")... da man in VB08 kein Array returnen kann, komme ich aber einfach...



All times are GMT +2. The time now is 04:01.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.