Register for your free account! | Forgot your password?

You last visited: Today at 20:39

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

Advertisement



[R] Skillsystem - like "Scope Square"

Discussion on [R] Skillsystem - like "Scope Square" within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
[R] Skillsystem - like "Scope Square"

Hallo

Ich release mal aus Langeweile mal das Skillsystem von Dyshaxos noname Server Scope Square.
Keine Ahnung, warum er es als Referenz für seinen Service nimmt.. War nur knapp 10 Minuten Arbeit.

Ist untested; falls es Bugs gibt, sagt bescheid.
Evtl fixe ich sie ja.

Habe eine Funktion aus der Seelenstein-Quest genommen, weil ich kein Bock hatte, sie selber zu schreiben.

Wie das ganze funktioniert


Code:
quest skillsystem begin
	state start begin
		when login begin
			send_letter("Skillsystem")
		end
		when login or levelup with pc.getf("skillsystem", "skill_"..pc.level) == 0 begin
			pc.setf("skillsystem", "skillpoints", pc.getf("skillsystem", "skillpoints") + pc.level*2)
			pc.setf("skillsystem", "skill_"..pc.level, 1)
		end
		when button or info begin
			say_title("Skillsystem")
			local list = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group()),{}
			table.foreach(list, function(i) table.insert(menu, list[2][i].." <".. list[1][i]..">") end)
			
			table.insert(menu, "Abbrechen")
			
			say("Wähle eine Fertigkeit:")
			local s = select_table(menu)
			
			if s == table.getn(menu) then return end
			local costs = skillsystem.getSkillCosts()[list[1][s]] or 0
			
			say_title("Skillsystem - ".. menu[s])
			say_reward("Kosten: ".. costs)
			say_reward("Verfügbare Punkte: ".. pc.getf("skillsystem", "skillpoints"))
			say()
			
			if select("Verbessern", "Abbrechen") == 2 then return end
			
			pc.set_skill_level(list[1][s], pc.get_skill_level(list[1][s]) + 1)
			pc.setf("skillsystem", "skillpoints", pc.getf("skillsystem", "skillpoints") - costs)
			
			send_letter("Skillsystem")
		end
		
		function getSkillCosts()
			return ({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
					31,32,33,34,35,36,37,38,39,40})
		end
		
		function BuildGrandMasterSkillList(job, group)
			GRAND_MASTER_SKILL_LEVEL = 30
			PERFECT_MASTER_SKILL_LEVEL = 40

			local skill_list = special.active_skill_list[job+1][group]
			local ret_vnum_list = {}
			local ret_name_list = {}

			-- test_chat(string.format("job=%d, group=%d", job, group))

			table.foreach(skill_list, 
			function(i, skill_vnum) 
			local skill_level = pc.get_skill_level(skill_vnum)

			-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
			if skill_level >= 1 and skill_level < PERFECT_MASTER_SKILL_LEVEL then

				table.insert(ret_vnum_list, skill_vnum)
				local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
				if name == nil then name=skill_vnum end
				table.insert(ret_name_list, name)
			end
			end)
			return {ret_vnum_list, ret_name_list}


			--return {ret_vnum_list, ret_name_list}
		end
	end
end
i[Remix] is offline  
Thanks
6 Users
Old 02/25/2015, 19:08   #2
 
elite*gold: 0
Join Date: Feb 2015
Posts: 156
Received Thanks: 73
danke aber unnötig. lass ihn doch seinen server führen und dont copy things.
[Kaito] is offline  
Thanks
1 User
Old 02/25/2015, 19:22   #3
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Mhh meine Quest ist besser geschrieben =)

Code:
when login begin
			send_letter("Skillsystem")
		end
		when login or levelup with pc.getf("skillsystem", "skill_"..pc.level) == 0 begin
			pc.setf("skillsystem", "skillpoints", pc.getf("skillsystem", "skillpoints") + pc.level*2)
			pc.setf("skillsystem", "skill_"..pc.level, 1)
		end
Wüsste nicht, dass ich das drin hab', wenn schon könntest du auch den Client-Button dazu releasen, dann wirkt das ganze nicht so billig desweiteren fehlen bei dir die Schleifen, und die Formel für die Berechnung der Skillpunktekosten:

f(leck_mich) = 2*skill-level² + 10

dann brauchst du nämlich dashier nicht:

Code:
function getSkillCosts()
			return ({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
					31,32,33,34,35,36,37,38,39,40})
		end
Und die Textfarben hast du auch vergessen, 4 Punkte - Unterkurs.

Nochmal bitte, und diesmal richtig. =)
Dyshaxo is offline  
Thanks
5 Users
Old 02/25/2015, 19:22   #4

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Sieht eig. ganz nett aus. Warum machst du "pc.getf("skillsystem")" anstatt "pc.getqf()", wenn ich fragen darf?
rollback is offline  
Old 02/25/2015, 19:25   #5
 
BizepsSupportAccount's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 1,018
Received Thanks: 499
Quote:
Originally Posted by Dyshaxo View Post
Mhh meine Quest ist besser geschrieben =)

Code:
when login begin
			send_letter("Skillsystem")
		end
		when login or levelup with pc.getf("skillsystem", "skill_"..pc.level) == 0 begin
			pc.setf("skillsystem", "skillpoints", pc.getf("skillsystem", "skillpoints") + pc.level*2)
			pc.setf("skillsystem", "skill_"..pc.level, 1)
		end
Wüsste nicht, dass ich das drin hab', wenn schon könntest du auch den Client-Button dazu releasen, dann wirkt das ganze nicht so billig desweiteren fehlen bei dir die Schleifen, und die Formel für die Berechnung der Skillpunktekosten:

f(x) = 2*skill-level² + 10

dann brauchst du nämlich dashier nicht:

Code:
function getSkillCosts()
			return ({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
					31,32,33,34,35,36,37,38,39,40})
		end
Und die Textfarben hast du auch vergessen, 4 Punkte - Unterkurs.

Nochmal bitte, und diesmal richtig. =)
Wie lange hast du für deine Quest gebraucht ?
BizepsSupportAccount is offline  
Old 02/25/2015, 19:28   #6
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Quote:
Originally Posted by [Sensenmann] View Post
Sieht eig. ganz nett aus. Warum machst du "pc.getf("skillsystem")" anstatt "pc.getqf()", wenn ich fragen darf?
Weil er nichts draufhat =)

Im Großen und ganzen - hat die Quest wenig mit meiner zutun, von dem her :P
Dyshaxo is offline  
Old 02/25/2015, 19:31   #7
 
Fearn's Avatar
 
elite*gold: 108
Join Date: May 2013
Posts: 456
Received Thanks: 854
iRemix hat nichts drauf? Wäre mir neu.
Zum Release, ganz nett gemacht lieber Michi
Fearn is offline  
Thanks
3 Users
Old 02/25/2015, 19:45   #8
 
Dyshaxo's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
Quote:
Originally Posted by i[Remix] View Post
Und trotzdem hast du nichts besseres zu tun als nun hier andauernd rumzuheulen.
Provokation failed.
Denkt er kann mich provozieren.. Was'n Süßer.

Dein ranziger noname Server kann auch mal Promo von bekannten Leuten (in diesem Falle mir) gebrauchen.
Habe ich doch gerne gemacht.
Davon abgesehen, dass du die Quest so dermaßen gefailt hast -> erstmal den Zweck total verfehlt -> Skillpointreward für bestimmte Quests und Raids um dem "Ich uppe immer den selben Skill bis auf M und erst dann den nächsten"-Müll der anderen Server aus dem Weg zu gehen, dann - darf man bei deiner Version c.a. 3x soviele Klicks durchführen, weil du scheinbar den Sinn einer Schleife nicht verstehst, aber gut, soll nicht mein Problem sein - dann - ist die Textformatierung Schlichtweg Krebserregend, ach und dann:

Code:
-- test_chat(string.format("job=%d, group=%d", job, group))
Quote:
Ist untested; falls es Bugs gibt, sagt bescheid.
muss dir ja ziemlich wichtig gewesen sein (:

Quote:
Originally Posted by BizepsSupportAccount View Post
Bemerkenswert was einige Menschen in 10 Minuten schaffe wobei hingegen andere Monate für' brauchen.
Nur mal so - wenn du 'ne fertige Quest innerhalb einem Monat nicht eingefügt bekommst, Stichwort "Can not find map by index" - "Öööööh Syserr-fehler omg was mach ich jetzt" - ist das dein Problem, nicht meins =)
Dyshaxo is offline  
Thanks
2 Users
Old 02/25/2015, 20:00   #9
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724

Tolle Quest, hat was, danke fuers teilen!
ProfessorEnte is offline  
Thanks
2 Users
Old 02/25/2015, 20:02   #10
 
.Ryuzaki™'s Avatar
 
elite*gold: 1
Join Date: Aug 2014
Posts: 1,339
Received Thanks: 875
Bin ja auch so ein Posthunter, deshalb muss ich meinen Senf dazu geben.

Das System von dir ist nicht halb so gut, wie das von Dyshaxo.
Trotzdem danke für dieses Release...

Michi's Hate auf 3, 2, 1...
.Ryuzaki™ is offline  
Old 02/25/2015, 20:10   #11
 
Alergix2's Avatar
 
elite*gold: 103
Join Date: Aug 2014
Posts: 1,425
Received Thanks: 315
Danke das du dir mühe gegeben hast :/
Werde es jedoch nicht nutzen
Alergix2 is offline  
Old 02/25/2015, 21:28   #12
 
.Xilent's Avatar
 
elite*gold: 12
Join Date: Jun 2012
Posts: 978
Received Thanks: 860
Quote:
Originally Posted by Dyshaxo View Post
Mhh meine Quest ist besser geschrieben =)
[...]

Wüsste nicht, dass ich das drin hab', wenn schon könntest du auch den Client-Button dazu releasen, dann wirkt das ganze nicht so billig desweiteren fehlen bei dir die Schleifen, und die Formel für die Berechnung der Skillpunktekosten:
Was soll den daran so besonders sein? Das Konzept der Client-Quest Kommunikation ist schon seit Längerem veröffentlicht und iRemix kann etwas Python, von daher dürfte es nicht das Problem sein.

Quote:
Originally Posted by Dyshaxo View Post
f(x) = 2*skill-level² + 10
Du hättest eine Konstante als Ergebnis, da F von X abhängig ist. Anscheinend solltest du dich nochmal mit den Grundlagen der Algebra beschäftigen.

Quote:
Originally Posted by Dyshaxo View Post
dann brauchst du nämlich dashier nicht:

Code:
function getSkillCosts()
			return ({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
					31,32,33,34,35,36,37,38,39,40})
		end
Dies dient zur individuellen Anpassung, wenn kein Algorithmus festgelegt ist.


Quote:
Originally Posted by Mr.ChingLing View Post
Haha geben bester mann <3
Haha, ja jetzt sitzt er bestimmt in der Ecke und heult wegen euch.
.Xilent is offline  
Thanks
7 Users
Old 02/25/2015, 21:37   #13
 
elite*gold: 0
Join Date: Jul 2013
Posts: 334
Received Thanks: 130
Danke fürs Release, aber gab's das in der Art nicht schon?^^
methosiea is offline  
Old 02/25/2015, 23:01   #14
 
Vordeaux's Avatar
 
elite*gold: 0
Join Date: Feb 2015
Posts: 17
Received Thanks: 9
habe ich eine denk Lücke oder ist
PHP Code:
cost 
nicht das selbe wie
PHP Code:
pc.get_skill_level(list[1][s]) 
???
Vordeaux is offline  
Old 02/26/2015, 13:24   #15

 
AntikerGolem's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 2,125
Received Thanks: 844
ich verstehe den sinn hinter diesem system nicht..

was ist den so schlimm an dem Originalem skillsystem
AntikerGolem is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
[Preview]Scope Square - Anfangsdungeon "The Garden"
01/02/2015 - Metin2 Private Server - 2 Replies
http://bit.ly/14iLKsS Siehe Videobeschreibung :) Vieles der eigentlichen 20-Gigabyte-Quali wurde vom convertieren genommen, und von Youtube dann noch der rest. Es ist ein Dungeon, Spielbar in allen Levels, zum Leveln für Spieler zwischen 20-40. Aufgebaut - normal mit verschiedenen Pfaden, das interessante ist der Bossfight ->



All times are GMT +1. The time now is 20:39.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.