|
You last visited: Today at 22:47
Advertisement
[Help Thread] Please post your questions here.
Discussion on [Help Thread] Please post your questions here. within the Rappelz Private Server forum part of the Rappelz category.
12/09/2015, 02:32
|
#5326
|
elite*gold: 0
Join Date: Jul 2015
Posts: 476
Received Thanks: 632
|
8.1+ sframe's require a special bypass. Check my signature and update the code you have accordingly.
Edit:
Lol Raskim ninja'd me
|
|
|
12/09/2015, 14:52
|
#5327
|
elite*gold: 0
Join Date: Nov 2015
Posts: 18
Received Thanks: 1
|
Quote:
Originally Posted by TheOnlyOneRaskim
9.1 Launcher need atleast the cmdlauncher, provided by glandu2 or the Bypass to read/control the handle wich the Sframe needs.
|
glandu2 tools is great, but leave open a .bat
Also I wanted to use the update system of a launcher.
Quote:
Originally Posted by SilentWisdom
8.1+ sframe's require a special bypass. Check my signature and update the code you have accordingly.
|
I looked at the source code sframe but I did not understand.
I do not know generate Sframe.exe, but I'll find out :c
Thank you for your replies
|
|
|
12/10/2015, 07:02
|
#5328
|
elite*gold: 0
Join Date: Jul 2012
Posts: 64
Received Thanks: 2
|
Hellow, comrades.
Rappelz is constantly evolving. And our korean friends makes new things.
Some days ago i had trying to open db_item.rdb but i has got an error!
Some hours later i had open db_item.rdb and WOW instead of texture designation i had seen Natural values, and table got some changes in structure...
After this i had found new file inside data.004 whats was called db_item.ref, it contains texture names, but i have no idea, how to open it, it's fully different structure unlike RDB
So, i need your help!
Any ideas\tools for opening .ref files?
Also i need Item92Database.dll for RDB tool by Glandu2.
Sorry me for my very bad english.
|
|
|
12/10/2015, 08:52
|
#5329
|
elite*gold: 0
Join Date: Oct 2013
Posts: 474
Received Thanks: 41
|
is it able to make launcher [.bat] with our domain ?
if so , how ?
is it able to use same respawn_id in InstanceDungeonMonsterRespawnResource ?
|
|
|
12/10/2015, 20:35
|
#5330
|
elite*gold: 0
Join Date: Jun 2010
Posts: 188
Received Thanks: 19
|
hi there, question time. Is there a way to change pet size by editing something in my client in particular tyrant its way to big always stands on top of my char and i just find it really annoying client in question 7.3 .7.4. Thanks
|
|
|
12/10/2015, 20:45
|
#5331
|
elite*gold: 0
Join Date: Nov 2011
Posts: 978
Received Thanks: 1,011
|
Quote:
Originally Posted by 8ballx
hi there, question time. Is there a way to change pet size by editing something in my client in particular tyrant its way to big always stands on top of my char and i just find it really annoying client in question 7.3 .7.4. Thanks
|
You didnt looked at the Database, right?
In the SummonResource there are 2 columns for your Request.
They get called size and scale.
Quote:
Originally Posted by Space()
glandu2 tools is great, but leave open a .bat
Also I wanted to use the update system of a launcher.
I looked at the source code sframe but I did not understand.
I do not know generate Sframe.exe, but I'll find out :c
Thank you for your replies
|
describe the Envoirment, wich the Sframe requests from the Launcher. (Well the Launcher creates it and the Sframe is reading it).
All you have to do is to start the Launcher with correct Arguments, but called from this class.
|
|
|
12/10/2015, 20:48
|
#5332
|
elite*gold: 0
Join Date: Sep 2015
Posts: 594
Received Thanks: 1,188
|
Quote:
Originally Posted by 8ballx
hi there, question time. Is there a way to change pet size by editing something in my client in particular tyrant its way to big always stands on top of my char and i just find it really annoying client in question 7.3 .7.4. Thanks
|
In 8.X and 9.1 it's the scale-column in summon/monsterresource.
If that one exists in 7.3/7.4 too, try to change that one
(can't test so fast, i don't have any epic 7 client on pc xD)
Edit: ****, Raskim was faster -.- xD
|
|
|
12/10/2015, 21:04
|
#5333
|
elite*gold: 0
Join Date: Jun 2010
Posts: 188
Received Thanks: 19
|
Quote:
Originally Posted by TheOnlyOneRaskim
You didnt looked at the Database, right?
In the SummonResource there are 2 columns for your Request.
They get called size and scale.
|
its not my server i don't have access to Db. Guessing there's nothing i can change in client it self is there.
|
|
|
12/10/2015, 21:08
|
#5334
|
elite*gold: 0
Join Date: Sep 2015
Posts: 594
Received Thanks: 1,188
|
Quote:
Originally Posted by 8ballx
its not my server i don't have access to Db. Guessing there's nothing i can change in client it self is there.
|
You can edit the column-values via Glandu's rdb-tool and insert your edited rdb into your resource-folder.
|
|
|
12/11/2015, 05:40
|
#5335
|
elite*gold: 0
Join Date: Oct 2013
Posts: 474
Received Thanks: 41
|
there is a commend that update worllocation info while the server is running ?
|
|
|
12/12/2015, 20:17
|
#5336
|
elite*gold: 0
Join Date: Oct 2013
Posts: 474
Received Thanks: 41
|
Quote:
2015/12/12 10:52:26 DB COM ERROR(Thread:1, HRESULT:80004005, GUID:0C733A63-2A1C-11CE-ADE5-00AA0044773D) : DB_UpdateGlobalVariable(dbo.smp_set_global_variabl e) : Transaction (Process ID 71) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
|
what's mean ?
|
|
|
12/12/2015, 22:11
|
#5337
|
Moderator
elite*gold: 1
Join Date: Dec 2012
Posts: 4,767
Received Thanks: 1,460
|
I think it means what it says...
The process deadlocked with another and was chosen as the victim.
Means it failed over the other process that was given priority and you will need to run the process again in order for it to complete properly.
I think you just try do do too many things without shutting the server down to do them. Too many real time processes make your server actions complicated and interfere with each other which results in server crashes and data loss and all other kinds of failures.
|
|
|
12/12/2015, 23:38
|
#5338
|
elite*gold: 0
Join Date: Oct 2006
Posts: 34
Received Thanks: 3
|
Job change
Hello fellow Rappelzians,
I have been able to establish the 9.1 server using the guide without a hitch (well, after all of the failed attempts it went on without a hitch ).
I have been fiddling about with the server tweaking one thing and another and have come across the Master Class change process not giving the characters job_depth 3. I have looked around and the 9.1 setup thread only had one mention of this issue with no answer if it was resolved.
Whenever I set the job depth to 3 in the DB it does not reflect in the game when launched again; Hector does not offer the quests.
My question: Can somebody point me to the proper way to set up the lua, or maybe show me how one is setup. I have thought about adding something onto the end of JobChange common to set job depth 3 for every MC.
EDIT: Another thing I have noticed is that the changing from Rogue -> Fighter -> Champion does not set the job_depth above 0. I assume that is the case for any job change.
The Lua I am currently working with. Changed/added some teleports for ease of access.
-- Lua 스크립트 암호화
function get_module_name()
return "NPC_JobChange"
end
function NPC_JobChange_get_resetcount()
local reset_count = get_flag( 'reset_count' )
if reset_count == '' then
return 0
else
return reset_count
end
end
--================================================== ==========
-- <<<<<< 전직 NPC (공통) >>>>>>
--================================================== ==========
function NPC_JobChange_contact()
-- 임시 변수 선언과 동시에 NPC ID 가져오기
local npc_id = get_npc_id()
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_text( "@90400403" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_text( "@90100403" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_text( "@90200403" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_text( "@90600403" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_text( "@90703203" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_text( "@90700403" )
end -- if 끝
dlg_menu( "@90010060", "NPC_JobChange_change_job()" )
dlg_menu( "@90010252", "NPC_JobChange_change_race()" )
dlg_menu( "@90010002", " " )
dlg_show()
end
function NPC_JobChange_change_race()
local npc_id = get_npc_id()
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
--수련자의 섬 일 때 (3019)
elseif npc_id == 3019 then
dlg_title( "@90300401" )
end -- if 끝
if has_item(601100284) >= 1 then
dlg_text( "@90010256" )
local race = get_value( "race" )
if race ~= 4 then
dlg_menu( "@90010253", "NPC_JobChange_set_race(4)" )
end
if race ~= 5 then
dlg_menu( "@90010254", "NPC_JobChange_set_race(5)" )
end
if race ~= 3 then
dlg_menu( "@90010255", "NPC_JobChange_set_race(3)" )
end
dlg_show()
else
dlg_text( "@90010257" )
dlg_menu( "@90010002", " " )
dlg_show()
end
end
function NPC_JobChange_set_race( changed_race )
if has_item(601100284) >= 1 then -- 심장 있는지 체크 (아까 체크했지만 스크립트 열어 놓고 이것저것 할수있으므로 다시체크)
local success = set_race( changed_race )
local npc_id = get_npc_id()
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
--수련자의 섬 일 때 (3019)
elseif npc_id == 3019 then
dlg_title( "@90300401" )
end -- if 끝
if success == 1 then
delete_item( get_item_handle( 601100284 ), 1 )
dlg_text( "@90010258" )
dlg_menu( "@90010002", " " )
else
dlg_text( "@90010259" )
dlg_menu( "@90010002", " " )
end
else
dlg_text( "@90010257" )
dlg_menu( "@90010002", " " )
end
dlg_show()
end
function NPC_JobChange_change_job()
-- 임시 변수 선언과 동시에 NPC ID 가져오기
local npc_id = get_npc_id()
-- 국가 코드 읽어오기
-- get_local_info()의 반환값들
--LOCAL_INFO_KOREA = 1
--LOCAL_INFO_HONGKONG = 2
--LOCAL_INFO_AMERICA = 4
--LOCAL_INFO_EUROPE = 8
--LOCAL_INFO_JAPAN = 16
--LOCAL_INFO_TAIWAN = 32
--LOCAL_INFO_CHINA = 64
local state_code = get_local_info()
local reset_count = NPC_JobChange_get_resetcount()
--reset_count = 0
--================================================== ==============================
-- 전직 불가능한 경우 골라내기
--================================================== ==============================
--local reset_count
-- 기본직업일 때 Lv이나 JLv이 10 미만이면 전직불가.
if get_value( "job_depth" ) == 0 then
if get_value( "level" ) < 10 or get_value( "job_level" ) < 10 then
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_text( "@90400403" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_text( "@90100403" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_text( "@90200403" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_text( "@90600403" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_text( "@90703203" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_text( "@90700403" )
end -- if 끝
dlg_menu( "@90010002", "" )
dlg_show()
return
end
-- 1차 직업일 때 Lv50 미만 JLv이 40 미만이면 전직불가.
elseif get_value( "job_depth" ) == 1 then
-- 중국은 2차 직업 막음. 2007.9.4. 중국 판호 관련으로 임시 해제.
--if state_code == 2 then
-- 더 이상 전직이 불가능하다는 멘트
--dlg_text( "@90100411" )
--dlg_menu( "@90010002", "" )
--dlg_show()
--return
--end
-- 전직 불가능한 조건이면 튕김
if get_value( "level" ) < 50 or get_value( "job_level" ) < 40 then
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
-- 가이아 일 때 (4004)
if npc_id == 4004 then
if is_able_to_jobchange() == true then
dlg_text( "@90400409" )
else
dlg_text( "@90400402" )
end
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
if is_able_to_jobchange() == true then
dlg_text( "@90100409" )
else
dlg_text( "@90100402" )
end
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
if is_able_to_jobchange() == true then
dlg_text( "@90200409" )
else
dlg_text( "@90200402" )
end
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
if is_able_to_jobchange() == true then
dlg_text( "@90600409" )
else
dlg_text( "@90600402" )
end
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
if is_able_to_jobchange() == true then
dlg_text( "@90703209" )
else
dlg_text( "@90703202" )
end
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
if is_able_to_jobchange() == true then
dlg_text( "@90700409" )
else
dlg_text( "@90700402" )
end
end -- if 끝
dlg_menu( "@90010002", "" )
dlg_show()
return
-- 전직 가능할 때 테섭이 아니면 튕김.
else
if is_able_to_jobchange() == false then
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_text( "@90400402" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_text( "@90100402" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_text( "@90200402" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_text( "@90600402" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_text( "@90703202" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_text( "@90700402" )
end -- if 끝
dlg_menu( "@90010002", "" )
dlg_show()
return
end
end
-- 여기까지 오면 2차직업인 상태. 3차로의 전직은 불가능함
elseif get_value( "job_depth" ) == 3 then
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
if reset_count == 0 then
dlg_text( "@90604793" )
elseif reset_count == 1 then
dlg_text( "@90604794" )
elseif reset_count == 2 then
dlg_text( "@90604795" )
elseif reset_count == 3 then
dlg_text( "@90604796" )
elseif reset_count == 4 then
dlg_text( "@90604797" )
elseif reset_count == 5 then
dlg_text( "@90604798" )
elseif reset_count == 6 then
dlg_text( "@90604799" )
elseif reset_count == 7 then
dlg_text( "@90604800" )
elseif reset_count == 8 then
dlg_text( "@90604801" )
elseif reset_count == 9 then
dlg_text( "@90604802" )
end
-- 마스터 클래스 초기화 스킬 가능 멘트
-- 루피로 초기화하기
dlg_menu( "@90604803", "gold_skill_reset_check(npc_id)")
-- JP로 초기화하기
dlg_menu( "@90604804", "jp_skill_reset_check(npc_id)")
-- 아이템 테스트용
--dlg_menu( "Skill reset count Init", "Skill_reset_count_init()")
--dlg_menu( "Item skill reset", "item_skill_reset()")
dlg_menu( "@90010002", "" )
dlg_show()
return
else
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
-- 더 이상 전직이 불가능하다는 멘트
-- dlg_text( "@90100411" )
-- 마스터 클래스로 전직을 원한다면 영웅 헥토르를 만나라는 멘트
dlg_text( "@91002563" )
dlg_menu( "Teleport to Master Arena", "MasterArenaTeleport()" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
-- 여기까지 왔으면 전직 가능
local race = get_value( "race" )
local job_name1, job1, job_name2, job2, job_name3, job3, number_job, current_job
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
-- 전직 가능한 직업의 개수를 초기화. 기본이 3이니 그냥 3으로...
number_job = 3
-- 현재 직업 ID를 받아 놓는다.
current_job = get_value( "job" )
--================================================== ==============================
-- 1차 전직일 경우. (테이블에서 못읽어오므로 전직정보는 여기서 고치자)
--================================================== ==============================
if get_value( "job_depth" ) == 0 then
dlg_text( "@90100404" )
-- 전직 가능한 직업의 개수를 설정. 1차 전직이므로 모두 3 이다.
number_job = 3
--================================================== ==========================
-- 얘가 데바면 파이터 201, 클레릭 202, 테이머 203
if race == 4 then
job_name1 = "@10201"
job1 = 201
job_name2 = "@10202"
job2 = 202
job_name3 = "@10203"
job3 = 203
--================================================== ==========================
-- 아수라면 스트라이더 301, 매지션 302, 서모너 303
elseif race == 5 then
job_name1 = "@10301"
job1 = 301
job_name2 = "@10302"
job2 = 302
job_name3 = "@10303"
job3 = 303
--================================================== ==========================
-- 가이아라면 투사 101, 주술자 102, 야수사 103
else
job_name1 = "@10101"
job1 = 101
job_name2 = "@10102"
job2 = 102
job_name3 = "@10103"
job3 = 103
end
--================================================== ==============================
-- 2차 전직일 경우. (테이블에서 못읽어오므로 전직정보는 여기서 고치자)
--================================================== ==============================
elseif get_value( "job_depth" ) == 1 then
dlg_text( "@90700410" )
--================================================== ==========================
-- 데바일 때
if race == 4 then
-- 파이터 전직 전직
if current_job == 201 then
-- 나이트 210, 워리어 211
number_job = 2
job_name1 = "@10210"
job1 = 210
job_name2 = "@10211"
job2 = 211
-- 클레릭의 전직
elseif current_job == 202 then
-- 메이지 212, 프리스트 213
number_job = 2
job_name1 = "@10212"
job1 = 212
job_name2 = "@10213"
job2 = 213
-- 테이머의 전직
elseif current_job == 203 then
-- 브리더
number_job = 1
job_name1 = "@10214"
job1 = 214
-- 이도저도 아니면 아무것도 아니다.
else
number_job = 0
end
--================================================== ==========================
-- 아수라
elseif race == 5 then
-- 스트라이더의 전직
if current_job == 301 then
-- 어쌔신 310, 레인저 311
number_job = 2
job_name1 = "@10310"
job1 = 310
job_name2 = "@10311"
job2 = 311
-- 다크매지션의 전직
elseif current_job == 302 then
-- 소서러 312, 다크매지션 313
number_job = 2
job_name1 = "@10312"
job1 = 312
job_name2 = "@10313"
job2 = 313
-- 서모너 전직
elseif current_job == 303 then
--
number_job = 1
job_name1 = "@10314"
job1 = 314
-- (무시.)
else
number_job = 0
end
--================================================== ==========================
-- 가이아
else
-- 투사의 전직 101
if current_job == 101 then
-- 전사 110, 궁사 111
number_job = 2
job_name1 = "@10110"
job1 = 110
job_name2 = "@10111"
job2 = 111
-- 주술사의 전직
elseif current_job == 102 then
-- 마도사 112, 마투사 113
number_job = 2
job_name1 = "@10112"
job1 = 112
job_name2 = "@10113"
job2 = 113
-- 야수사의 전직
elseif current_job == 103 then
-- 마수사 114
number_job = 1
job_name1 = "@10114"
job1 = 114
-- 이도저도 아니면 아무것도 아니다.
else
number_job = 0
end
end
end
if number_job == 1 then
dlg_menu( job_name1 , "Run_JobChange_check_common( '" .. job_name1 .. "' , " .. job1 .. " )" )
elseif number_job == 2 then
dlg_menu( job_name1 , "Run_JobChange_check_common( '" .. job_name1 .. "' , " .. job1 .. " )" )
dlg_menu( job_name2 , "Run_JobChange_check_common( '" .. job_name2 .. "' , " .. job2 .. " )" )
elseif number_job == 3 then
dlg_menu( job_name1 , "Run_JobChange_check_common( '" .. job_name1 .. "' , " .. job1 .. " )" )
dlg_menu( job_name2 , "Run_JobChange_check_common( '" .. job_name2 .. "' , " .. job2 .. " )" )
dlg_menu( job_name3 , "Run_JobChange_check_common( '" .. job_name3 .. "' , " .. job3 .. " )" )
else
end
dlg_menu( "@90010001", '' )
dlg_show()
end
----------------------------------------------------------------------------------------------------------------------
function NPC_master_partdevil_contact()
-- 임시 변수 선언과 동시에 NPC ID 가져오기
local npc_id = get_npc_id()
-- 국가 코드 읽어오기
-- get_local_info()의 반환값들
--LOCAL_INFO_KOREA = 1
--LOCAL_INFO_HONGKONG = 2
--LOCAL_INFO_AMERICA = 4
--LOCAL_INFO_EUROPE = 8
--LOCAL_INFO_JAPAN = 16
--LOCAL_INFO_TAIWAN = 32
--LOCAL_INFO_CHINA = 64
local state_code = get_local_info()
local quest_progress3322 = get_quest_progress(3322)
--================================================== ==============================
-- 전직 불가능한 경우 골라내기
--================================================== ==============================
-- 마스터 클래스 전직 가능 여부
if get_value( "job_depth" ) == 2 then
-- 전직 불가능한 조건이면 튕김
-- 전직 조건 변경 : 145 -> 148 2011년 4월 18일 우상욱
if get_value( "level" ) < 147 or get_value( "job_level" ) < 49 then
-- 마스터 사탄소녀
dlg_title( "@91002405" )
if is_able_to_jobchange() == true then
dlg_text( "@91002407" )
dlg_menu( "@Return to Hector", "goto_hector()" )
else
--지금은 마스터클래스로의 전직이 불가능한 상태입니다.
dlg_text( "@91002406" )
dlg_menu( "Return to Hector", "goto_hector()" )
end
dlg_menu( "@90010002", "" )
dlg_show()
return
-- 전직 가능할 때 테섭이 아니면 튕김.
else
if is_able_to_jobchange() == false then
dlg_title( "@91002405" )
dlg_text( "@91002406" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
end
-- 이미 3차직업인 상태. 더이상 전직은 불가능함
elseif get_value("job_depth") == 3 then
dlg_title( "@91002405" )
-- 더 이상 전직이 불가능하다는 멘트
dlg_text( "@91002408" )
--TP 포인트란?
dlg_menu( "@91002550", "tp_point_2()")
dlg_menu( "Return to Hector", 'goto_hector()' )
dlg_menu( "@90010002", "" )
dlg_show()
return
-- 1차 직업이 여기서 뭐하니? 누구랑 왔니? 전직 하고 와라 -_-
else
dlg_title( "@91002405" )
if get_value("job") == 200 then
job_name = "@1356"
elseif get_value("job") == 201 then
job_name = "@1357"
elseif get_value("job") == 202 then
job_name = "@1358"
elseif get_value("job") == 203 then
job_name = "@1359"
elseif get_value("job") == 100 then
job_name = "@1342"
elseif get_value("job") == 101 then
job_name = "@1343"
elseif get_value("job") == 102 then
job_name = "@1344"
elseif get_value("job") == 103 then
job_name = "@1345"
elseif get_value("job") == 300 then
job_name = "@1372"
elseif get_value("job") == 301 then
job_name = "@1373"
elseif get_value("job") == 302 then
job_name = "@1374"
elseif get_value("job") == 303 then
job_name = "@1375"
end
dlg_text_without_quest_menu(sconv("@91002426", "#@job_name@#",job_name))
dlg_menu( "@90010002", "" )
dlg_show()
return
end
-- 여기까지 왔으면 전직 가능
local race = get_value( "race" )
local job_name1, job1, job_name2, job2, job_name3, job3, number_job, current_job
dlg_title( "@91002405" )
-- 전직 가능한 직업의 개수를 초기화. 기본이 3이니 그냥 3으로...
number_job = 3
-- 현재 직업 ID를 받아 놓는다.
current_job = get_value( "job" )
--================================================== ==============================
-- 마스터 클래스 전직일 경우. (테이블에서 못읽어오므로 전직정보는 여기서 고치자)
--================================================== ==============================
if get_value( "job_depth" ) == 2 then
-- 퀘스트 상태 체크 get_quest_progress(ID)
-- 반환값 -1 : 아무것도 아님 / 0 : 수락가 / 1 : 수행중 / 2 : 종료가능 / 255 : 이미종료
--if quest_progress3322 == 255 then
dlg_text( "@91002409" ) --마스터클래스 전직 대상자 대사
--================================================== ==========================
-- 데바일 때
if race == 4 then
-- 나이트 전직 전직
if current_job == 210 then
-- 가즈나이트 220
number_job = 1
job_name1 = "@10220"
job1 = 220
-- 워리어 전직 전직
elseif current_job == 211 then
-- 히어로 221
number_job = 1
job_name1 = "@10221"
job1 = 221
-- 메이지의 전직
elseif current_job == 212 then
-- 아크메이지 222
number_job = 1
job_name1 = "@10222"
job1 = 222
-- 프리스트의 전직
elseif current_job == 213 then
-- 세인트 223
number_job = 1
job_name1 = "@10223"
job1 = 223
-- 브리더의 전직
elseif current_job == 214 then
-- 마에스트로 224
number_job = 1
job_name1 = "@10224"
job1 = 224
-- 이도저도 아니면 아무것도 아니다.
else
number_job = 0
end
--================================================== ==========================
-- 아수라
elseif race == 5 then
-- 어쌔신의 전직
if current_job == 310 then
-- 스펙터 320
number_job = 1
job_name1 = "@10320"
job1 = 320
-- 레인져의 전직
elseif current_job == 311 then
-- 섀도우스토커 321
number_job = 1
job_name1 = "@10321"
job1 = 321
-- 소서러의 전직
elseif current_job == 312 then
-- 둠세이어 322
number_job = 1
job_name1 = "@10322"
job1 = 322
-- 다크매지션의 전직
elseif current_job == 313 then
-- 소울리버 323
number_job = 1
job_name1 = "@10323"
job1 = 323
-- 배틀서모너 전직
elseif current_job == 314 then
-- 길가메쉬 324
number_job = 1
job_name1 = "@10324"
job1 = 324
-- (무시.)
else
number_job = 0
end
--================================================== ==========================
-- 가이아
else
-- 전사의 전직
if current_job == 110 then
-- 투신 120
number_job = 1
job_name1 = "@10120"
job1 = 120
-- 궁사의 전직
elseif current_job == 111 then
-- 신궁 121
number_job = 1
job_name1 = "@10121"
job1 = 121
-- 마도사의 전직
elseif current_job == 112 then
-- 현자 122
number_job = 1
job_name1 = "@10122"
job1 = 122
-- 마투사의 전직
elseif current_job == 113 then
-- 금강 123
number_job = 1
job_name1 = "@10123"
job1 = 123
-- 마수사의 전직
elseif current_job == 114 then
-- 나찰 124
number_job = 1
job_name1 = "@10124"
job1 = 124
-- 이도저도 아니면 아무것도 아니다.
else
number_job = 0
end
end
else
-- 모든 시련을 이겨내고 여기까지 온 것을 축하합니다.<(version:7.3)>
dlg_title( "@90300401" )
dlg_text( "@91002486" )
dlg_menu( "@Return to Hector", 'goto_hector()' )
dlg_menu( "@90010002", " " )
dlg_show()
return
end
if number_job == 1 then
dlg_menu( job_name1 , "Run_JobChange_check_common( '" .. job_name1 .. "' , " .. job1 .. " )" )
elseif number_job == 2 then
dlg_menu( job_name1 , "Run_JobChange_check_common( '" .. job_name1 .. "' , " .. job1 .. " )" )
dlg_menu( job_name2 , "Run_JobChange_check_common( '" .. job_name2 .. "' , " .. job2 .. " )" )
elseif number_job == 3 then
dlg_menu( job_name1 , "Run_JobChange_check_common( '" .. job_name1 .. "' , " .. job1 .. " )" )
dlg_menu( job_name2 , "Run_JobChange_check_common( '" .. job_name2 .. "' , " .. job2 .. " )" )
dlg_menu( job_name3 , "Run_JobChange_check_common( '" .. job_name3 .. "' , " .. job3 .. " )" )
else
end
dlg_menu( "Return to Hector", 'goto_hector()' )
dlg_menu( "@90010001", '' )
dlg_show()
end
function goto_hector()
warp( 138645, 75174, gv("layer") )
end
function tp_point()
-- 다이얼로그 출력
dlg_title( "@90999851" )
dlg_text( "@91002551" )
--특성 스킬이란?
dlg_menu( "@91002554", "tp_skill()")
-- 대화종료
--dlg_menu( "@90010003","NPC_master_partdevil_contact()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
function tp_skill()
-- 다이얼로그 출력
dlg_title( "@90999851" )
--TP 포인트 분배는 어쩌구 저쩌구
dlg_text( "@91002553" )
--상위 특성 스킬이란?
dlg_menu( "@91002556", "upper_tp_skill()")
-- 하위 특성 스킬이란?
dlg_menu( "@91002558", "lower_tp_skill()")
-- 대화종료
dlg_menu( "@90010003","tp_point()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
function upper_tp_skill()
-- 다이얼로그 출력
dlg_title( "@90999851" )
-- 상위 특성 스킬은 어쩌구 저쩌구
dlg_text( "@91002557" )
-- 대화종료
dlg_menu( "@90010003","tp_skill()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
function lower_tp_skill()
-- 다이얼로그 출력
dlg_title( "@90999851" )
-- 하위 특성 스킬은 어쩌구 저쩌구
dlg_text( "@91002559" )
-- 대화종료
dlg_menu( "@90010003","tp_skill()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
-----------------------------------------------------------
-- 사탄소녀 TP 포인트 설명
function tp_point_2()
-- 다이얼로그 출력
dlg_title( "@91002405" )
dlg_text( "@91002551" )
--특성 스킬이란?
dlg_menu( "@91002554", "tp_skill_2()")
-- 대화종료
dlg_menu( "@90010003","NPC_master_partdevil_contact()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
function tp_skill_2()
-- 다이얼로그 출력
dlg_title( "@91002405" )
--TP 포인트 분배는 어쩌구 저쩌구
dlg_text( "@91002553" )
--상위 특성 스킬이란?
dlg_menu( "@91002556", "upper_tp_skill_2()")
-- 하위 특성 스킬이란?
dlg_menu( "@91002558", "lower_tp_skill_2()")
-- 대화종료
dlg_menu( "@90010003","tp_point_2()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
function upper_tp_skill_2()
-- 다이얼로그 출력
dlg_title( "@91002405" )
-- 상위 특성 스킬은 어쩌구 저쩌구
dlg_text( "@91002557" )
-- 대화종료
dlg_menu( "@90010003","tp_skill_2()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
function lower_tp_skill_2()
-- 다이얼로그 출력
dlg_title( "@91002405" )
-- 하위 특성 스킬은 어쩌구 저쩌구
dlg_text( "@91002559" )
-- 대화종료
dlg_menu( "@90010003","tp_skill_2()" ) -- 돌아가기
dlg_menu( "@90010002", " " )
dlg_show()
end
------------------------------------------------------------------------------------------------------------------------
function Run_JobChange_check_common( job_name , job_id )
-- 임시 변수 선언과 동시에 NPC ID 가져오기
local npc_id = get_npc_id()
local jobid = job_id
-- 클릭 실수했을지도 모르므로 확실한지 확인해줌.
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
-- 마스터 사탄소녀
elseif npc_id == 11555 then
dlg_title( "@91002405" )
end -- if 끝
if jobid == 210 then
dlg_text_without_quest_menu("@90700411")
elseif jobid == 211 then
dlg_text_without_quest_menu("@90700412")
elseif jobid == 212 then
dlg_text_without_quest_menu("@90700413")
elseif jobid == 213 then
dlg_text_without_quest_menu("@90700414")
elseif jobid == 214 then
dlg_text_without_quest_menu("@90700415")
elseif jobid == 310 then
dlg_text_without_quest_menu("@90700416")
elseif jobid == 311 then
dlg_text_without_quest_menu("@90700417")
elseif jobid == 312 then
dlg_text_without_quest_menu("@90700418")
elseif jobid == 313 then
dlg_text_without_quest_menu("@90700419")
elseif jobid == 314 then
dlg_text_without_quest_menu("@90700420")
elseif jobid == 110 then
dlg_text_without_quest_menu("@90700421")
elseif jobid == 111 then
dlg_text_without_quest_menu("@90700422")
elseif jobid == 112 then
dlg_text_without_quest_menu("@90700423")
elseif jobid == 113 then
dlg_text_without_quest_menu("@90700424")
elseif jobid == 114 then
dlg_text_without_quest_menu("@90700425")
elseif jobid == 101 then
dlg_text_without_quest_menu("@90301919")
elseif jobid == 102 then
dlg_text_without_quest_menu("@90301920")
elseif jobid == 103 then
dlg_text_without_quest_menu("@90301921")
elseif jobid == 201 then
dlg_text_without_quest_menu("@90301913")
elseif jobid == 202 then
dlg_text_without_quest_menu("@90301914")
elseif jobid == 203 then
dlg_text_without_quest_menu("@90301915")
elseif jobid == 301 then
dlg_text_without_quest_menu("@90301916")
elseif jobid == 302 then
dlg_text_without_quest_menu("@90301917")
elseif jobid == 303 then
dlg_text_without_quest_menu("@90301918")
elseif jobid == 120 then --투신이란
dlg_text_without_quest_menu("@91002410")
elseif jobid == 121 then --신궁이란
dlg_text_without_quest_menu("@91002411")
elseif jobid == 122 then --현자란
dlg_text_without_quest_menu("@91002412")
elseif jobid == 123 then --금강이란
dlg_text_without_quest_menu("@91002413")
elseif jobid == 124 then --나찰이란
dlg_text_without_quest_menu("@91002414")
elseif jobid == 220 then --가즈나이트란
dlg_text_without_quest_menu("@91002415")
elseif jobid == 221 then --히어로란
dlg_text_without_quest_menu("@91002416")
elseif jobid == 222 then --아크메이지란
dlg_text_without_quest_menu("@91002417")
elseif jobid == 223 then --세인트란
dlg_text_without_quest_menu("@91002418")
elseif jobid == 224 then --마에스트로란
dlg_text_without_quest_menu("@91002419")
elseif jobid == 320 then --스펙터란
dlg_text_without_quest_menu("@91002420")
elseif jobid == 321 then --섀도우스토커란
dlg_text_without_quest_menu("@91002421")
elseif jobid == 322 then --둠세이어란
dlg_text_without_quest_menu("@91002422")
elseif jobid == 323 then --소울리버란
dlg_text_without_quest_menu("@91002423")
elseif jobid == 324 then --길가메쉬란
dlg_text_without_quest_menu("@91002424")
end
dlg_menu( "@90010007", "Run_JobChange_common( '" .. job_name .. "' , " .. job_id ..' )' )
dlg_menu( "@90010001", '' )
dlg_show()
end
function Run_JobChange_common( job_name , job_id )
local current_job, current_jlv, job_depth
-- 임시 변수 선언과 동시에 NPC ID 가져오기
local npc_id = get_npc_id()
-- 시작
-- NPC 대화 최종 단계에서 마스터 클래스 전직 조건 한번 더 하기
-- 마스터 사탄소녀
if npc_id == 11555 then
--================================================== ==============================
-- 전직 불가능한 경우 골라내기
--================================================== ==============================
-- 마스터 클래스 전직 가능 여부
if get_value( "job_depth" ) == 2 then
-- 전직 불가능한 조건이면 튕김
-- 전직 조건 변경 : 145 -> 148 2011년 4월 18일 우상욱
if get_value( "level" ) < 147 or get_value( "job_level" ) < 49 then
-- 마스터 사탄소녀
dlg_title( "@91002405" )
if is_able_to_jobchange() == true then
dlg_text( "@91002407" )
dlg_menu( "Return to Hector", "goto_hector()" )
else
--지금은 마스터클래스로의 전직이 불가능한 상태입니다.
dlg_text( "@91002406" )
dlg_menu( "Return to Hector", "goto_hector()" )
end
dlg_menu( "@90010002", "" )
dlg_show()
return
-- 전직 가능할 때 테섭이 아니면 튕김.
else
if is_able_to_jobchange() == false then
dlg_title( "@91002405" )
dlg_text( "@91002406" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
end
-- 이미 3차직업인 상태. 더이상 전직은 불가능함
elseif get_value("job_depth") == 3 then
dlg_title( "@91002405" )
-- 더 이상 전직이 불가능하다는 멘트
dlg_text( "@91002408" )
--TP 포인트란?
dlg_menu( "@91002550", "tp_point_2()")
dlg_menu( "Return to Hector", 'goto_hector()' )
dlg_menu( "@90010002", "" )
dlg_show()
return
-- 1차 직업이 여기서 뭐하니? 누구랑 왔니? 전직 하고 와라 -_-
else
dlg_title( "@91002405" )
if get_value("job") == 200 then
job_name = "@1356"
elseif get_value("job") == 201 then
job_name = "@1357"
elseif get_value("job") == 202 then
job_name = "@1358"
elseif get_value("job") == 203 then
job_name = "@1359"
elseif get_value("job") == 100 then
job_name = "@1342"
elseif get_value("job") == 101 then
job_name = "@1343"
elseif get_value("job") == 102 then
job_name = "@1344"
elseif get_value("job") == 103 then
job_name = "@1345"
elseif get_value("job") == 300 then
job_name = "@1372"
elseif get_value("job") == 301 then
job_name = "@1373"
elseif get_value("job") == 302 then
job_name = "@1374"
elseif get_value("job") == 303 then
job_name = "@1375"
end
dlg_text_without_quest_menu(sconv("@91002426", "#@job_name@#",job_name))
dlg_menu( "@90010002", "" )
dlg_show()
return
end
end -- if 끝
-- NPC 대화 최종 단계에서 마스터 클래스 전직 조건 한번 더 하기
--종료
-- 에헤라디야~~ 전직이요~
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
-- 마스터 사탄소녀
elseif npc_id == 11555 then
dlg_title( "@91002405" )
end -- if 끝
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_text_without_quest_menu(sconv("@90400406", "#@job_name@#",job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_text_without_quest_menu(sconv("@90100406", "#@job_name@#",job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_text_without_quest_menu(sconv("@90200406", "#@job_name@#",job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_text_without_quest_menu(sconv("@90600406", "#@job_name@#",job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
-- 도시 유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_text_without_quest_menu(sconv("@90703206", "#@job_name@#",job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_text_without_quest_menu(sconv("@90700406", "#@job_name@#",job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
-- 마스터 사탄소녀
elseif npc_id == 11555 then
dlg_text_without_quest_menu(sconv("@91002425", "#@job_name@#",job_name))
local master_up = sconv("@246", "#@user_name@#", get_value("name"),"#@job_name@#",job_name)
announce( master_up )
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
end -- if 끝
dlg_menu( "@90010002", '' )
dlg_show()
-- 전직 전 직업과 잡레벨을 저장한다.
current_job = get_value( "job" )
current_jlv = get_value( "job_level" )
job_depth = get_value( "job_depth" )
if job_depth == 0 then
set_value( "job_0", current_job )
set_value( "jlv_0", current_jlv )
--0차에서 1차 전직할때 "신성한 불꽃의 힘" 아이템을 1개 지급해준다. 해당 아이템은 잡화상점에서도 판매한다.
--insert_item( 2013081, 1 ) --아이템 능력치가 너무 좋아서 미적용으로 수정
--cprint( "@90606144" )
elseif job_depth == 1 then
set_value( "job_1", current_job )
set_value( "jlv_1", current_jlv )
elseif job_depth == 2 then
set_value( "job_2", current_job )
set_value( "jlv_2", current_jlv )
--마스터클래스 전직 전 직업과 잡레벨 저장
elseif job_depth == 3 then
set_value( "job_3", current_job )
set_value( "jlv_3", current_jlv )
end
job_depth = job_depth + 1
-- 전직 시키기.
set_value( "job" , job_id )
set_value( "job_level" , 1 )
set_value( "job_depth" , job_depth )
--##시작
message( sconv("@90010017", "#@job_name@#",job_name) )
--끝 #@job_name@# (/으)로 전직했습니다
current_job = get_value( "job" )
job_depth = get_value( "job_depth" )
if current_job == 120 then
set_value( "job_depth" , job_depth ) = 3
end
end
function NPC_TestServer_Support()
-- 임시 변수 선언과 동시에 NPC ID 가져오기
local npc_id = get_npc_id()
-- 국가 코드 읽어오기
-- get_local_info()의 반환값들
--LOCAL_INFO_KOREA = 1
--LOCAL_INFO_HONGKONG = 2
--LOCAL_INFO_AMERICA = 4
--LOCAL_INFO_EUROPE = 8
--LOCAL_INFO_JAPAN = 16
--LOCAL_INFO_TAIWAN = 32
--LOCAL_INFO_CHINA = 64
local state_code = get_local_info()
-- 0차, 2차 직업일때 도우미 서비스 받을 수 없다.
if get_value( "job_depth" ) == 0 then
dlg_title( "@91002016" )
dlg_text( "@91002018" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
local race = get_value( "race" )
local job_name1, job1, job_name2, job2, job_name3, job3, number_job, current_job
-- 현재 직업 ID를 받아 놓는다.
current_job = get_value( "job" )
--================================================== ==============================
-- 1차 직업일때 레벨업110, 잡레벨50, 5랭크 지원 아이템을 받을 수 있다.
--================================================== ==============================
if get_value( "job_depth" ) == 1 then
dlg_title( "@91002016" )
dlg_text( "@91002019" )
dlg_menu( "@91002020", "TestServer_Support_lv_jp()" )
dlg_menu( "@91002021", "TestServer_Support_5rank_item()" )
dlg_menu( "@90010002", " " )
dlg_show()
return
end
if get_value( "job_depth" ) == 2 then
dlg_title( "@91002016" )
dlg_text( "@91002019" )
dlg_menu( "@91002020", "TestServer_Support_jp()" )
dlg_menu( "@91002027", "TestServer_Support_rupee()" )
dlg_menu( "@90010002", " " )
dlg_show()
return
end
dlg_menu( "@90010002", " " )
dlg_show()
end
--2차전직 후 잡 레벨 지원
function TestServer_Support_jp()
set_value( "job_level" , 50 )
dlg_title( "@91002016" )
dlg_text( "@91002022" )
dlg_menu( "@90010002", "" )
dlg_show()
end
--2차전직 후 루피 지원
function TestServer_Support_rupee()
dlg_title( "@91002016" )
if get_flag( "designteam_bless" ) ~= 1 then
dlg_text( "@91002025" ) -- <(version:7.2)>루피와 루나칩을 지원해준다는 내용
-- 잡포인트 설정
add_value( "jp" , 83120300 )
add_value( "gold" , 500001 )
insert_item( 690303, 4521 )
cprint( "@91000778" ) -- <(version:7.2)><#6DD66D>아이템을 획득 하였습니다.
--루피지원 플래그 설정
set_flag( "designteam_bless", 1 )
else
dlg_text( "@91002026" ) -- <(version:7.2)>이미 지원을 받으셨네요~ 즐거운 하루 되세요!
--add_state( 1013, 10, 120000) -- 이동속도 증가( 10레벨 , 20분)
end
dlg_menu( "@90010002", "" )
dlg_show()
end
function TestServer_Support_lv_jp()
-- 레벨 및 잡포인트 설정
set_value( "level" , 109 )
set_value( "job_level" , 50 )
dlg_title( "@91002016" )
dlg_text( "@91002022" )
dlg_menu( "@90010002", "" )
dlg_show()
end
function TestServer_Support_5rank_item()
-- 넣어줄 아이템ID, 개수
insert_item ( 18000040, 1 )
insert_item ( 18000041, 1 )
insert_item ( 18000042, 1 )
insert_item ( 18000043, 1 )
insert_item ( 18000044, 1 )
insert_item ( 18000045, 1 )
insert_item ( 18000046, 1 )
insert_item ( 18000047, 1 )
insert_item ( 18000048, 1 )
insert_item ( 18000049, 1 )
insert_item ( 18000050, 1 )
insert_item ( 18000051, 1 )
insert_item ( 18000052, 1 )
insert_item ( 18000053, 1 )
insert_item ( 18000054, 1 )
insert_item ( 18000055, 1 )
insert_item ( 18000056, 1 )
insert_item ( 18000057, 1 )
insert_item ( 18000058, 1 )
insert_item ( 18000059, 1 )
insert_item ( 18000060, 1 )
insert_item ( 18000061, 1 )
insert_item ( 18000062, 1 )
insert_item ( 18000063, 1 )
insert_item ( 18000064, 1 )
insert_item ( 18000065, 1 )
insert_item ( 18000066, 1 )
insert_item ( 18000067, 1 )
insert_item ( 18000068, 1 )
insert_item ( 18000069, 1 )
insert_item ( 18000070, 1 )
insert_item ( 18000071, 1 )
insert_item ( 18000072, 1 )
insert_item ( 18000073, 1 )
insert_item ( 18000074, 1 )
insert_item ( 18000075, 1 )
dlg_title( "@91002016" )
dlg_text( "@91002022" )
dlg_menu( "@90010002", "" )
dlg_show()
end
--------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------- 수련자의 섬 잡 서포터는 튜토리얼에 있습니다. 이건 사용하지 않습니다. -------------------------
------------------------------------------------------------------------------------------------------------------------
--================================================== ===
-- 초보자섬 섬 용
--================================================== ===
function NPC_JobChange_Beginner_contact()
--================================================== ==============================
-- 전직 불가능한 경우 골라내기
--================================================== ==============================
-- 기본직업일 때 Lv이나 JLv이 10 미만이면 전직불가.
if get_value( "job_depth" ) == 0 then
if get_value( "level" ) < 10 or get_value( "job_level" ) < 10 then
dlg_title( "@90300401" )
dlg_text( "@90300403" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
-- 1차 직업일 때 Lv50 미만 JLv이 40 미만이면 전직불가. (해제) 2차 직업 전직 모두 막기.
elseif get_value( "job_depth" ) == 1 then
if get_value( "level" ) < 50 or get_value( "job_level" ) < 40 then
dlg_title( "@90300401" )
-- dlg_text( "@90300409" )
dlg_text( "@90300402" ) --> 임시 : 2차전직 불가능하다는 안내메세지
dlg_menu( "@90010002", "" )
dlg_show()
return
else
dlg_title( "@90300401" )
dlg_text( "@90300402" ) --> 임시 : 2차전직 불가능하다는 안내메세지
dlg_menu( "@90010002", "" )
dlg_show()
return
end
-- 여기까지 오면 2차직업인 상태. 3차로의 전직은 불가능함.
else
dlg_title( "@90300401" )
dlg_text( "@90300402" ) --> 지금은 3차전직 안된다는 대사
dlg_menu( "@90010002", "" )
dlg_show()
return
end
-- 여기까지 왔으면 전직 가능
local race = get_value( "race" )
local job_name1, job1, job_name2, job2, job_name3, job3, number_job, current_job
dlg_title( "@90300401" )
-- 전직 가능한 직업의 개수를 초기화. 기본이 3이니 그냥 3으로...
number_job = 3
-- 현재 직업 ID를 받아 놓는다.
current_job = get_value( "job" )
--================================================== ==============================
-- 1차 전직일 경우. (테이블에서 못읽어오므로 전직정보는 여기서 고치자)
--================================================== ==============================
if get_value( "job_depth" ) == 0 then
dlg_text( "@90300404" )
-- 전직 가능한 직업의 개수를 설정. 1차 전직이므로 모두 3 이다.
number_job = 3
--================================================== ==========================
-- 얘가 데바면 디바인솔져 201 또는 클레릭 203, 브리더 204가 될 수 있다.
if race == 4 then
job_name1 = "@10201"
job1 = 201
job_name2 = "@10202"
job2 = 202
job_name3 = "@10203"
job3 = 203
--================================================== ==========================
-- 아수라면 스트라이더301나 다크매지션303, 소서러304가 될 수 있다.
elseif race == 5 then
job_name1 = "@10301"
job1 = 301
job_name2 = "@10302"
job2 = 302
job_name3 = "@10303"
job3 = 303
--================================================== ==========================
-- 데바도 아수라도 아니면 가이아겠지. 투사 101, 주술사 103, 마수사 104 가 될 수 있다.
else
job_name1 = "@10101"
job1 = 101
job_name2 = "@10102"
job2 = 102
job_name3 = "@10103"
job3 = 103
end
end
if number_job == 1 then
dlg_menu( job_name1 , "Run_JobChange_Beginner_check( '" .. job_name1 .. "' , " .. job1 .. " )" )
elseif number_job == 2 then
dlg_menu( job_name1 , "Run_JobChange_Beginner_check( '" .. job_name1 .. "' , " .. job1 .. " )" )
dlg_menu( job_name2 , "Run_JobChange_Beginner_check( '" .. job_name2 .. "' , " .. job2 .. " )" )
elseif number_job == 3 then
dlg_menu( job_name1 , "Run_JobChange_Beginner_check( '" .. job_name1 .. "' , " .. job1 .. " )" )
dlg_menu( job_name2 , "Run_JobChange_Beginner_check( '" .. job_name2 .. "' , " .. job2 .. " )" )
dlg_menu( job_name3 , "Run_JobChange_Beginner_check( '" .. job_name3 .. "' , " .. job3 .. " )" )
else
end
dlg_menu( "@90010001", '' )
dlg_show()
end
function Run_JobChange_Beginner_check( job_name , job_id )
-- 클릭 실수했을지도 모르므로 확실한지 확인해줌.
cprint( job_name )
dlg_title( "@90300401" )
--##시작
--dlg_text( job_name .. "@90300405" )
dlg_text_without_quest_menu(sconv("@90300405", "#@job_name@#",job_name))
--##끝 #@job_name@# (/으)로의 전직이라...<BR>좋은 직업을 골랐군.<BR>확실한가?
dlg_menu( "@90010007", "Run_JobChange_Beginner( '" .. job_name .. "' , " .. job_id ..' )' )
dlg_menu( "@90010001", '' )
dlg_show()
end
function Run_JobChange_Beginner( job_name , job_id )
local current_job, current_jlv
-- 에헤라디야~~ 전직이요~
dlg_title( "@90300401" )
--##시작
dlg_text_without_quest_menu(sconv("@90300406", "#@job_name@#", job_name))
--##끝 축하하네!!<BR>지금 이순간부터 자넨 #@job_name@#(/이)라는 직업을 가지게 되었어.<BR>보다 높은 곳을 향해 정진하도록 하게.'
dlg_menu( "@90010002", '' )
dlg_show()
-- 전직 전 직업과 잡레벨을 저장한다.
current_job = get_value( "job" )
current_jlv = get_value( "job_level" )
if get_value( "job_depth" ) == 0 then
set_value( "job_0", current_job )
set_value( "jlv_0", current_jlv )
elseif get_value( "job_depth" ) == 1 then
set_value( "job_1", current_job )
set_value( "jlv_1", current_jlv )
elseif get_value( "job_depth" ) == 2 then
set_value( "job_2", current_job )
set_value( "jlv_2", current_jlv )
end
-- 전직 시키기.
set_value( "job" , job_id )
set_value( "job_level" , 1 )
set_value( "job_depth" , 1 )
--##시작
message( sconv("@90010017", "#@job_name@#",job_name) )
--##끝 #@job_name@# (/으)로 전직했습니다.
end
------------------------------------------------------------------------------------------------------------------------
------------------------- 수련자의 섬 잡 서포터는 튜토리얼에 있습니다. 이건 사용하지 않습니다. -------------------------
------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
--마스터 클래스 스킬 초기화 스크립트 메인
--루피로 초기화 하기
function gold_skill_reset_check( npc_id )
local reset_gold = { 10000, 2500000, 5000000, 10000000, 25000000, 50000000, 100000000, 500000000, 1000000000, 2000000000 }
local reset_count = NPC_JobChange_get_resetcount()
local cost_gold = reset_gold[ reset_count + 1 ]
local gold = get_value( 'gold' )
local npc_id = get_npc_id()
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
if gold >= cost_gold then
set_value( 'gold', gold - cost_gold )
reset_skill( 3 )
if reset_count < 9 then
set_flag( 'reset_count', reset_count + 1 )
dlg_text( "@90604805" )
dlg_menu( "@90010002", "" )
dlg_show()
return
else
set_flag( 'reset_count', 9 )
dlg_text( "@90604805" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
else
dlg_text( "@90604806" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
end
--JP로 초기화 하기
function jp_skill_reset_check( npc_id )
local reset_jp = { 2000, 500000, 1000000, 2000000, 5000000, 10000000, 20000000, 100000000, 200000000, 400000000 }
local reset_count = NPC_JobChange_get_resetcount()
local cost_jp = reset_jp[ reset_count + 1 ]
local jp = get_value( 'jp' )
local npc_id = get_npc_id()
-- 가이아 일 때 (4004)
if npc_id == 4004 then
dlg_title( "@90400401" )
-- 데바 일 때 (1004)
elseif npc_id == 1004 then
dlg_title( "@90100401" )
-- 아수라 일 때 (2004)
elseif npc_id == 2004 then
dlg_title( "@90200401" )
-- 론도 일 때 (6004)
elseif npc_id == 6004 then
dlg_title( "@90600401" )
-- 도시유적 일 때 (7032)
elseif npc_id == 7032 then
dlg_title( "@90703201" )
-- 시크루트 일 때 (7004)
elseif npc_id == 7004 then
dlg_title( "@90700401" )
end -- if 끝
if jp >= cost_jp then
set_value( 'jp', jp - cost_jp )
reset_skill( 3 )
if reset_count < 9 then
set_flag( 'reset_count', reset_count + 1 )
dlg_text( "@90604805" )
dlg_menu( "@90010002", "" )
dlg_show()
return
else
set_flag( 'reset_count', 9 )
dlg_text( "@90604805" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
else
dlg_text( "@90604806" )
dlg_menu( "@90010002", "" )
dlg_show()
return
end
end
--마스터 클래스 스킬 초기화 카운터 증가 없이 실행
function item_skill_reset()
reset_skill( 3 )
cprint("@90604808")
return
end
--마스터 클래스 초기화 카운터 초기화 하기
function Skill_reset_count_init()
local reset_count = NPC_JobChange_get_resetcount()
set_flag( 'reset_count', 0 )
cprint("@90604807")
return
end
--성별 변환 하기
function Change_Character_Gender()
local transgender = get_value("sex")
if transgender == 1 then
set_value("sex", 2) -- 성별 바꿔주고
elseif transgender == 2 then
set_value("sex", 1)
end
end
function MasterArenaTeleport()
warp(30651,41454)
end
-------------------------------------------------------------------------------------------------------------------------
Thanks,
-gotxp5
|
|
|
12/14/2015, 07:53
|
#5339
|
elite*gold: 0
Join Date: Sep 2012
Posts: 62
Received Thanks: 3
|
Custom monsters
After downloading LamiaCores wonderful work I cannot seem to be able to get the monsters to appear in game.
I have made all new id's for the monsters and have inserted the info into my monster resource SQL database.
I have hashed acsii the cob, nx3 and two other files supplied with each monster and placed these hashed files into my client resource folder.
The monsters are in game, I just cannot see or select them.
All files in my client are acsii so I don't think the hashing is the problem.
|
|
|
12/14/2015, 08:30
|
#5340
|
elite*gold: 0
Join Date: Nov 2011
Posts: 978
Received Thanks: 1,011
|
Quote:
Originally Posted by Domesday Brock
After downloading LamiaCores wonderful work I cannot seem to be able to get the monsters to appear in game.
I have made all new id's for the monsters and have inserted the info into my monster resource SQL database.
I have hashed acsii the cob, nx3 and two other files supplied with each monster and placed these hashed files into my client resource folder.
The monsters are in game, I just cannot see or select them.
All files in my client are acsii so I don't think the hashing is the problem.
|
Try different (and existing) motion_file_id's.
Not the cleanest way, but it will work.
|
|
|
Similar Threads
|
[Helping Topic] 24/7 Helping Services!
08/27/2008 - EO PServer Hosting - 31 Replies
stucked on anything while setuping your server?
post your problem here and you will get answer as fast as possible better than spamming with posts :cool:
first of all try reading Ahmedpotop's Pserver All thing guide.
if your couldn't solve it out post your problem down here
""That includes PHP rankings pages / registrations pages / Status pages""
|
All times are GMT +1. The time now is 22:47.
|
|