Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Rappelz > Rappelz Private Server
You last visited: Today at 14:38

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

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.

Reply
 
Old 09/29/2015, 19:26   #5176
 
elite*gold: 0
Join Date: Oct 2011
Posts: 84
Received Thanks: 4
The menu open, i can up my stuff but i can't open his shop :/
kastuki is offline  
Old 09/29/2015, 20:28   #5177
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,915
Received Thanks: 1,492
4. At any point that one of these fails is there any message in the chat window or game server window?

5. If there is a message what is it?
ThunderNikk is offline  
Old 09/30/2015, 20:31   #5178
 
elite*gold: 0
Join Date: Oct 2013
Posts: 474
Received Thanks: 41
how to create 9.1 launcher ?
Sherock is offline  
Old 10/01/2015, 17:44   #5179
 
elite*gold: 0
Join Date: Sep 2008
Posts: 120
Received Thanks: 99
Dumb question... how can I find out what client version/epic version my client has?

I just found a pretty old Rappelz installer and was wondering how old it is.

EDIT: Nvm, it is Dragonic Age.
Player95 is offline  
Old 10/02/2015, 07:25   #5180
 
elite*gold: 0
Join Date: Oct 2013
Posts: 474
Received Thanks: 41
Quote:
2015/10/02 07:19:32 DB COM ERROR(Thread:0, HRESULT:80040E57, GUID:0C733A63-2A1C-11CE-ADE5-00AA0044773D) : DB_GetCommercialStorageInfo(dbo.smp_check_purchase d_item) : Arithmetic overflow error converting expression to data type int.
i'm using ismokedrow's telecaster with his fixes
i delete Billing and same
i make N:billing.use:0 and same

some help plz

i solve it

but i had another problem

Quote:
================================================== ============================

------------------------------------------------------------------------------
Thread Information
------------------------------------------------------------------------------

00 Thread name : IOCP 00
00 job info : 7
00 job id : 0
00 counter : 0
00 execute time : 2037173
01 Thread name : IOCP 01
01 job info : 5
01 job id : 0
01 counter : 0
01 execute time : 2037176
02 Thread name : IOCP 02
02 job info : 219
02 job id : 0
02 counter : 0
02 execute time : 2037171
03 Thread name : IOCP 03
03 job info : 5
03 job id : 0
03 counter : 0
03 execute time : 2037175
04 Thread name : Scheduler 00
04 job info : StructMonster(0x29CD3320)
04 job id : 0
04 counter : 0
04 execute time : 2037179
05 Thread name : Scheduler 01
05 job info : StructPlayer(0x061B38C0)
05 job id : 0
05 counter : 0
05 execute time : 2037171
06 Thread name : Scheduler 02
06 job info : StructMonster(0x2AE00DB0)
06 job id : 0
06 counter : 0
06 execute time : 2037178
07 Thread name : Scheduler 03
07 job info : StructPlayer(0x061EB3C0)
07 job id : 0
07 counter : 0
07 execute time : 2037175


------------------------------------------------------------------------------
Basic Information
------------------------------------------------------------------------------

Program Name : Arcadia
EXE : C:\Users\Administrator\Desktop\Server Files\GameEngine\Game_bin\CaptainHerlockServer.exe
User : Administrator
Computer : VMI49026

Program :
Exception : C0000005 (ACCESS_VIOLATION)
Fault Address: Undeterminable(62027860 00:00000000)
Mem Usage : 2881356KB / 2828752KB

------------------------------------------------------------------------------
Allocation Count Info(by _MEM_USAGE_DEBUG)
------------------------------------------------------------------------------

Type: StructSummon Allocated: [Current: 131]/[Peek Concurrent: 135]/[Total: 426]
Type: StructQuestManager Allocated: [Current: 52]/[Peek Concurrent: 53]/[Total: 251]
Type: StructPlayer Allocated: [Current: 52]/[Peek Concurrent: 53]/[Total: 251]
Type: AutoAuctionInfo Allocated: [Current: 46]/[Peek Concurrent: 46]/[Total: 46]
Type: GuildInfo Allocated: [Current: 13]/[Peek Concurrent: 13]/[Total: 17]
Type: PartyInfo Allocated: [Current: 40]/[Peek Concurrent: 43]/[Total: 89]
Type: StructItem Allocated: [Current: 8539]/[Peek Concurrent: 9073]/[Total: 188685]
Type: ItemKeepingInfo Allocated: [Current: 6]/[Peek Concurrent: 10]/[Total: 7]
Type: StructFieldProp Allocated: [Current: 59704]/[Peek Concurrent: 59821]/[Total: 62123]
Type: StructNPC Allocated: [Current: 7285]/[Peek Concurrent: 7285]/[Total: 7285]
Type: StructSkill Allocated: [Current: 27060]/[Peek Concurrent: 27157]/[Total: 88539]
Type: StructTitleCondition Allocated: [Current: 882]/[Peek Concurrent: 905]/[Total: 3440]
Type: StructPet Allocated: [Current: 36]/[Peek Concurrent: 38]/[Total: 151]
Type: StructTitle Allocated: [Current: 571]/[Peek Concurrent: 590]/[Total: 2313]
Type: StructQuest Allocated: [Current: 8]/[Peek Concurrent: 13]/[Total: 44]
Type: StructSkillProp Allocated: [Current: 1]/[Peek Concurrent: 7]/[Total: 1617]
Type: AuctionInfo Allocated: [Current: 17]/[Peek Concurrent: 19]/[Total: 18]


------------------------------------------------------------------------------
x86 Registers
------------------------------------------------------------------------------

RAX=0000000061FBD9B8 RBX=0000000062185848 RCX=0000000062185848 RDX=0000000062185848
ESI=0000000002D44549 EDI=0000000062185848 EBP=00000000061694C0
DS =002B ES=002B FS=0053 GS:002B
CS:RIP=0033:0000000062027860
SS:RSP=002B:0000000002D43028
Flags=00010206


------------------------------------------------------------------------------
Environment dump
------------------------------------------------------------------------------
CodePage : 1256
app.checksum : 00E1E978
app.cmdline : "C:\Users\Administrator\Desktop\Server Files\GameEngine\Game_bin\CaptainHerlockServer.exe "
app.filesize : 5393648
app.filetime : 2014/09/12-15:29:42
app.name : game001
auth.connect : complete
auth.server_idx : 1
auth.server_name : Heroes
console.allow_ip : IP
console.port : PORT
db.c.name : Arcadia
db.c.server : IP
db.trace : 1
db.trace_refresh_period : 0
db.user.exec_query : 22
db.user.name : Telecaster
db.user.remain_query : 0
db.user.server : IP
db.user.thread : 4
db.user.thread_active : 0
db.user.thread_total : 0
db.user.work_active : 0
db.user.work_pending : 0
db.user.work_total : 737003
engine.ar_time : 2039017
engine.count_client : 52
engine.count_movable : 46167
engine.count_static : 59767
engine.lock : 1
engine.region_size : 180
engine.scheduler.0.instruction : 181700
engine.scheduler.0.object : 440
engine.scheduler.1.instruction : 181816
engine.scheduler.1.object : 470
engine.scheduler.2.instruction : 181983
engine.scheduler.2.object : 452
engine.scheduler.3.instruction : 182116
engine.scheduler.3.object : 439
engine.scheduler.destroy_cnt : 92791
engine.scheduler.destroy_loop : 186328
engine.scheduler.destroy_pend : 0
engine.use_region_debug : 0
engine.wait : 7
game.AdultServer : 0
game.AutoOpenOnly : 0
game.FindDuplicatePos : 57641
game.FirstLineCount : 54865
game.GamePerformanceLogingInterval : 10000
game.LineCount : 6874296
game.PKPenaltyLevel : 10
game.PKServer : 1
game.PathFindingCount : 68718
game.ProcessingMonsterCount : 16554463
game.ProcessingMonsterTime : 17182882
game.ProcessingPlayerCount : 5435062
game.ProcessingPlayerTime : 1193401
game.ProcessingSummonCount : 72875
game.ProcessingSummonTime : 13187
game.RandomMove : 312832
game.ServiceServer : 1
game.TracingGamePerformance : 1
game.allowed_special_char :
game.ally_pcbang_bonus_rate : 0.100000
game.ally_pcbang_chaos_bonus_rate : 0.100000
game.apply_stamina_bonus_in_premium_pcbang : 0
game.auction_process_request_min_interval : 100
game.auction_search_request_min_interval : 300
game.bUseLockDelayLogging : 0
game.base_ethereal_durability_consumption_on_damag e : 98
game.base_ethereal_durability_consumption_on_norma l_attack : 31
game.base_ethereal_durability_consumption_on_skill _attack : 51
game.battle_arena_reconnect_wait_duration : 18000
game.broadcast_event_item_pickup : 0
game.cash_item_dropable : 0
game.cash_usable_server : 0
game.chaos_drop_rate : 1.000000
game.check_storage_security_always : 1
game.disable_booth : 0
game.disable_buy_booth : 0
game.disable_dungeon_raid_siege : 0
game.disable_huntaholic : 0
game.disable_pk_on : 0
game.disable_trade : 0
game.enhance_fail_type : 2
game.exp_rate : 1800.000000
game.farm_growth_summon_exp : 37087982
game.farm_normal_summon_exp : 145763
game.forbidden_script :
game.forbidden_script_init : 1
game.force_unregister_account_on_kick_fail : 0
game.gold_drop_rate : 50.000000
game.guild_icon_base_url :
game.helpdesk_url :
game.ignore_random_damage : 0
game.item_count : 8539
game.item_drop_rate : 100.000000
game.item_hold_time : 2500
game.item_loading : complete
game.limit_adv_chat_count : 1
game.limit_booth_openable_layer_to_zero : 0
game.limit_field_logout : 0
game.limit_game_time : 0
game.loading : complete
game.local_flag : 8192
game.log_monster_pathfinding : 1
game.log_required_item_list :
game.log_required_state_list :
game.log_scheduling_status : 1
game.log_vulcanus_dungeon : 0
game.logout_timer : 1000
game.map_height : 1000000
game.map_width : 700000
game.max_characters_per_account : 6
game.max_game_time_limited_age : 17
game.max_healthy_game_time : 1080000
game.max_layer : 256
game.max_level : 180
game.max_storage_item_count : 1000
game.max_tired_game_time : 1800000
game.min_booth_startable_level : 0
game.min_global_chat_usable_level : 130
game.mod : 0.000000
game.monster_collision_line : 1
game.monster_drop_respawn : 0
game.monster_pathfinding : 1
game.monster_respawn_cnt : 123012
game.monster_respawn_object_cnt : 32710
game.monster_respawn_try_cnt : 298400
game.monster_wandering : 1
game.newbiehelp_asura_url :
game.newbiehelp_deva_url :
game.newbiehelp_gaia_url :
game.no_collision_check : 0
game.no_skill_cooltime : 0
game.party_exp_rate_0 : 1.000000
game.party_exp_rate_1 : 1.000000
game.party_exp_rate_2 : 1.000000
game.party_exp_rate_3 : 1.000000
game.party_exp_rate_4 : 1.000000
game.party_exp_rate_5 : 1.000000
game.party_exp_rate_6 : 1.000000
game.period_of_security_solution_check : 30000
game.play_point_accumulate_amount : 1
game.play_point_accumulate_term : 60
game.premium_pcbang_bonus_rate : 1.200000
game.premium_pcbang_chaos_bonus_drop_rate : 1.000000
game.premium_pcbang_chaos_bonus_rate : 0.100000
game.premium_pcbang_gold_bonus_drop_rate : 1.000000
game.premium_pcbang_item_bonus_drop_rate : 1.000000
game.premium_pcbang_play_point_bonus_rate : 2.000000
game.pvp_damage_rate_for_player : 0.025000
game.pvp_damage_rate_for_summon : 0.050000
game.restrict_banword_for_booth : 0
game.restrict_special_char : 1
game.script.2068.time : 2036479
game.script.2068.trigger : open_market( 'Hossam_1_1' )
game.script.4288.time : 2034808
game.script.4288.trigger : NPC_TeleportTown_2_Secroute_contact()
game.script.4492.time : 2036519
game.script.4492.trigger : RunTeleport( 150000 , 146188 , 135579 )
game.script.4688.time : 2033785
game.script.4688.trigger : open_market( 'Hossam_4_2' )
game.security_solution_exceptional_ip :
game.security_solution_response_timeout : 3000
game.security_solution_type : 0
game.server_screenshot_url :
game.server_version : 9.1.0.0
game.skip_loading_attribute : 0
game.speed_unit : 30
game.stamina_bonus_rate : 1.000000
game.super_save_bonus_rate : 2.000000
game.super_save_level_max_limit_0 : 130
game.super_save_level_max_limit_1 : 140
game.super_save_level_max_limit_2 : 150
game.super_save_level_max_limit_3 : 160
game.super_save_level_max_limit_4 : 160
game.super_save_level_max_limit_5 : 170
game.super_save_level_max_limit_6 : 180
game.super_save_level_min_limit_0 : 1
game.super_save_level_min_limit_1 : 121
game.super_save_level_min_limit_2 : 131
game.super_save_level_min_limit_3 : 141
game.super_save_level_min_limit_4 : 121
game.super_save_level_min_limit_5 : 151
game.super_save_level_min_limit_6 : 171
game.term_for_time_based_event_db : 60
game.term_for_time_based_event_script : 120
game.tile_size : 42.000000
game.update.version : 24
game.url_list : guild_icon_upload.ip|IP|guild_icon_upload.port|461 5|guild.url|
game.use_account_authority_db : 0
game.use_auto_jail : 0
game.use_auto_trap : 0
game.use_delete_security : 0
game.use_guild_donation_point : 0
game.use_login_logout_debug : 0
game.use_play_point : 0
game.use_security : 0
game.use_storage_security : 0
game.use_time_based_event_db : 0
game.use_time_based_event_script : 1
game.user_count : 52
io.auth.ip : IP
io.connection : 56
io.ip_address : IP
io.port : PORT
io.recv_byte : 70599665
io.recv_count : 3368618
io.send_byte : 1163961024
io.send_count : 17475549
io.upload.ip : IP
io.upload.port : PORT
io.use_message_statistics : 0
iocp.2068.script : Quest_Link_6_1()
iocp.4288.script : Quest_Link_6_2()
iocp.4492.script : quest_start_3600()
iocp.4688.script : quest_start_3600()
iocp.active : 4
iocp.bufsize : 8192
iocp.dis_count : 168
iocp.instruction : 13093138
iocp.max_realloc_size : 1196032
iocp.recv_count : 1584663
iocp.recv_rest_bytes : 0
iocp.recv_traffic : 70600110
iocp.send_count : 11507879
iocp.send_rest_bytes : 1687
iocp.send_traffic : 1160694249
iocp.total : 4
log.chat.working : 0
log.connect_ : 1
log.connect_IOCP 00 : 1
log.connect_IOCP 01 : 1
log.connect_IOCP 02 : 1
log.connect_IOCP 03 : 1
log.connect_Main : 1
log.connect_Scheduler 00 : 1
log.connect_Scheduler 01 : 1
log.connect_Scheduler 02 : 1
log.connect_Scheduler 03 : 1
log.server_name : game001
log.working : 1
memory.item_heap_size : 422656
memory.monster_heap_size : 373828
memory.player_heap_size : 25344
memory.summon_heap_size : 95200
process.id : 4568
process.load : 16
process.load_kernel : 96
process.load_user : 3
process.memory : 2884364
process.memory_peak : 2884364
process.paged_memory : 2829420
process.paged_memory_peak : 2829424
process.start : 2015/10/02-09:45:26
process.uptime : 5 Hour 39 Minute 50 Second
thread.db.0.proc : DB_UpdateSkill
thread.db.1.proc : DB_UpdateCharacter
thread.db.2.proc : DB_UpdateSummon
thread.db.3.proc : DB_UpdateCharacter
thread.iocp.0.proc : 7
thread.iocp.1.proc : 5
thread.iocp.2.proc : 219
thread.iocp.3.proc : 5
thread.scheduler.0.proc : StructMonster
thread.scheduler.1.proc : StructPlayer
thread.scheduler.2.proc : StructMonster
thread.scheduler.3.proc : StructPlayer
upload.connect : complete


------------------------------------------------------------------------------
Application-specific log
------------------------------------------------------------------------------

Server Version : v9.1.0.0
PlayerHeapSize : 25344 kb
MonsterHeapSize : 373828 kb
ItemHeapSize : 422656 kb
SummonHeapSize : 95200 kb
PetHeapSize : 9336 kb
SkillHeapSize : 53760 kb
QuestHeapSize : 5760 kb
TitleHeapSize : 1440 kb
TitleConditionHeapSize: 1440 kb
ProcHeapSize : 2400 kb
DBHeapSize : 21523 kb



------------------------------------------------------------------------------
Call Stack (Short)
------------------------------------------------------------------------------

Address Frame Function SourceFile
0000000062027860 0000000002D43020 Undeterminable(0000:00000000) (e126)
000000013F3217B1 0000000002D43060 ?fillItemBaseInfo@@YAXPEAUTS_ITEM_BASE_INFO@@PEAUS tructItem@@@Z+41
000000013F32586A 0000000002D470E0 ?SendItemList@@YAXPEAUStructPlayer@@_N@Z+16A
000000013F308F60 0000000002D47140 ?onArrangeItem@@YAXPEAUStructPlayer@@PEAUTS_CS_ARR ANGE_ITEM@@@Z+E0
000000013F31A880 0000000002D4F330 ?onReadEvent@@YAXHPEAUIStreamSocketConnection@@@Z+ EE0
000000013F545247 0000000002D4F360 ?onConnectionEvent@XIOCP@@CA_NPEAUIOCPTAG@@HPEAUXO VERLAPPED@@H@Z+87
000000013F545D7B 0000000002D4F8B0 ?IOCPWorkerThread@XIOCP@@CAIPEAX@Z+95B
000000013F55994F 0000000002D4F8E0 _endthreadex+3B
000000013F5599E3 0000000002D4F910 _endthreadex+CF
0000000076F959BD 0000000002D4F940 BaseThreadInitThunk+D
00000000771CA671 0000000002D4F990 RtlUserThreadStart+21




------------------------------------------------------------------------------
Memory Dump
------------------------------------------------------------------------------

Fault address may be corrupted. Memory dump is terminated.

================================================== ============================
Sherock is offline  
Old 10/04/2015, 11:11   #5181
 
elite*gold: 0
Join Date: Aug 2014
Posts: 83
Received Thanks: 17
what are the usage of these commands




qouted from prev post
colonelx is offline  
Old 10/04/2015, 12:48   #5182
 
elite*gold: 0
Join Date: Oct 2014
Posts: 20
Received Thanks: 24
Quote:
Originally Posted by colonelx View Post
what are the usage of these commands




qouted from prev post
These are triggers made for special events in the .opt.

e.g.
game.script.4688.time: has been activated at {d/m/y %d:%d:%d:%d-> 2033785}
what will be activated? ->game.script.4688.trigger : open_market( 'Hossam_4_2' )

basicly means that this npc has been opened at the above set time (and will show function (open_market("')) in this case.

basicly; its the threading (handle) since these ware the last 3 npcs used / spawned / functioning before the crash.

Quote:
Originally Posted by Sherock View Post
i'm using ismokedrow's telecaster with his fixes
i delete Billing and same
i make N:billing.use:0 and same

some help plz

i solve it

but i had another problem


2015/10/02 07:19:32 DB COM ERROR(Thread:0, HRESULT:80040E57, GUID:0C733A63-2A1C-11CE-ADE5-00AA0044773D) : DB_GetCommercialStorageInfo(dbo.smp_check_purchase d_item) : Arithmetic overflow error converting expression to data type int.
As above stated check your smp dbo.smp_check_purchase and set the parameter of d_item to int. save it and you'll be done.
NTOverload is offline  
Thanks
1 User
Old 10/04/2015, 16:16   #5183
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,915
Received Thanks: 1,492
Quote:
Originally Posted by NTOverload View Post
As above stated check your smp dbo.smp_check_purchase and set the parameter of d_item to int. save it and you'll be done.

The SMP is check_purchased_item there is no d_item

Here is mine but I may have the same errors you have if it is with ismokes billing corrections...

Code:
USE [telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_check_purchased_item]    Script Date: 3/29/2015 6:06:47 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- smp_read_purchased_item_list

-- start of smp_check_purchased_item   某浆袍 芒绊俊 酒捞袍 乐绰瘤 咯何 八荤
ALTER PROCEDURE [dbo].[smp_check_purchased_item]
@IN_ACCOUNT_ID			INT,
@IN_CHARACTER_ID		INT,
@OUT_TOTAL_ITEM_COUNT	INT		OUTPUT,
@OUT_NEW_ITEM_COUNT		INT		OUTPUT,
@OUT_PREMIUM_TICKET		INT		OUTPUT,
@OUT_PREMIUM_REST_TIME	INT		OUTPUT,
@OUT_STAMINA_REGEN_TIME	INT		OUTPUT

 
AS
SET NOCOUNT ON

	SET @OUT_PREMIUM_TICKET  = 0
	SET @OUT_PREMIUM_REST_TIME = 0
	SET @OUT_STAMINA_REGEN_TIME = 0

	SELECT @OUT_PREMIUM_TICKET = COUNT(*), @OUT_PREMIUM_REST_TIME = DATEDIFF( second, GETDATE(), MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND isCancel = 0

	IF @OUT_PREMIUM_TICKET < 1
	BEGIN
		SET @OUT_PREMIUM_REST_TIME = 0

		DECLARE @LOGOUT_TIME		DATETIME
		SET @LOGOUT_TIME = GETDATE()

		SELECT @LOGOUT_TIME = logout_time FROM Character WITH (NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND sid = @IN_CHARACTER_ID
		SELECT @OUT_STAMINA_REGEN_TIME = DATEDIFF( minute, @LOGOUT_TIME, MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > @LOGOUT_TIME AND isCancel = 0

		IF @OUT_STAMINA_REGEN_TIME < 1 OR @OUT_STAMINA_REGEN_TIME IS NULL
		BEGIN
			SET @OUT_STAMINA_REGEN_TIME = 0
		END

	DECLARE @NO_LV INT
	DECLARE @NO_Total_JP INT
	SELECT @NO_LV = MAX(lv), @NO_Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	IF  @NO_LV < 30 AND @NO_Total_JP < 100000
	BEGIN
	SET @OUT_PREMIUM_TICKET  = 1
	SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	END

END

--IF  @OUT_PREMIUM_REST_TIME < 3600 * 5
--BEGIN
	
	--DECLARE @LV INT
	--DECLARE @Total_JP INT
	--SELECT @LV = MAX(lv), @Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	--IF  @LV < 30 AND @Total_JP < 100000
	--BEGIN
	--SET @OUT_PREMIUM_TICKET  = 1
	--SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	--END
--END


	SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND valid_time > GETDATE() AND isCancel = 0
	SELECT @OUT_NEW_ITEM_COUNT   = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND confirmed = 0 AND valid_time > GETDATE() AND isCancel = 0

RETURN @@ERROR
This may not be caused by the SMP but rather could have been caused by something in the item box that it is checking that is abnormal.
ThunderNikk is offline  
Old 10/04/2015, 18:35   #5184
 
elite*gold: 0
Join Date: Oct 2010
Posts: 218
Received Thanks: 8
I installed the 9.1 server and I want that master class could only take on quests! help me to do it. Now I have the master class no quests
khshe is offline  
Old 10/04/2015, 21:30   #5185
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,915
Received Thanks: 1,492
It is probably the NPC_JobChange.lua you are using. Try using mine if it doesn't work I will attach my original.

Code:
-- 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( "@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( "@90010003", "goto_hactor()" )
				else
					--Áö±ÝÀº ¸¶½ºÅÍŬ·¡½º·ÎÀÇ ÀüÁ÷ÀÌ ºÒ°¡´ÉÇÑ »óÅÂÀÔ´Ï´Ù.
					dlg_text( "@91002406" )
					dlg_menu( "@90010003", "goto_hactor()" )
				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( "@90010003", 'goto_hactor()' )
		
		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( "@90010003", 'goto_hactor()' )
		
			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( "@90010003", 'goto_hactor()' )
	
	dlg_menu( "@90010001", '' )
 
	dlg_show()
	
end


function goto_hactor()

	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( "@90010003", "goto_hactor()" )
					else
						--Áö±ÝÀº ¸¶½ºÅÍŬ·¡½º·ÎÀÇ ÀüÁ÷ÀÌ ºÒ°¡´ÉÇÑ »óÅÂÀÔ´Ï´Ù.
						dlg_text( "@91002406" )
						dlg_menu( "@90010003", "goto_hactor()" )
					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( "@90010003", 'goto_hactor()' )
			
			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@# (/À¸)·Î ÀüÁ÷Çß½À´Ï´Ù

	
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
	
	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@# (/À¸)·Î ÀüÁ÷Çß½À´Ï´Ù.

	
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






-------------------------------------------------------------------------------------------------------------------------
ThunderNikk is offline  
Old 10/05/2015, 07:08   #5186
 
elite*gold: 0
Join Date: Oct 2010
Posts: 218
Received Thanks: 8

I need that like on the official server. so the master class was for quests
khshe is offline  
Old 10/05/2015, 15:19   #5187
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,915
Received Thanks: 1,492
That's what I posted.
ThunderNikk is offline  
Thanks
1 User
Old 10/10/2015, 10:54   #5188
 
elite*gold: 0
Join Date: Oct 2013
Posts: 474
Received Thanks: 41
i had a problem which it in skill state remaining time

when i use the any skill has a buff , at the first time everything is ok
after that the remaining time go less and less
i use official 9.1 files
i have change the SQL server to another twice and the problem still there

any help ?

notice that when i logoff and login the skill buff remain time back to normal
after 5 mins the problem come back again !
Sherock is offline  
Old 10/17/2015, 23:41   #5189
 
elite*gold: 0
Join Date: Nov 2013
Posts: 4
Received Thanks: 1
NPC Roaming

Hello guys,

I'm trying to make NPC walking as guards patrols (which are monsters).
Also I tried to modify, in NPCResource table, columns : is_roam (1) , roaming_id (ex : 4004), standard_walk_speed (40), standard_run_speed (80), walk_speed (40) and run_speed (80)

Gameserver crash when roaming_id > 0

I took my roaming_id from RoamingResource table, but I think it is a different table for NPCs ...

Is someone have tried to make NPC moving?

Thanks
Wen
ghostfcc is offline  
Old 10/17/2015, 23:55   #5190
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
Quote:
Originally Posted by ghostfcc View Post
Hello guys,

I'm trying to make NPC walking as guards patrols (which are monsters).
Also I tried to modify, in NPCResource table, columns : is_roam (1) , roaming_id (ex : 4004), standard_walk_speed (40), standard_run_speed (80), walk_speed (40) and run_speed (80)

Gameserver crash when roaming_id > 0

I took my roaming_id from RoamingResource table, but I think it is a different table for NPCs ...

Is someone have tried to make NPC moving?

Thanks
Wen
I have tried this before as-well with a similar result. It is my belief that this feature for NPC was not implemented completely (like lightning in the weather effects) just bad cleanup on the developers part.
SilentWisdom is offline  
Thanks
1 User
Reply

Tags
7.4, client, rappelz


Similar Threads 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 14:40.


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