Мне кажется, что всё дело опять же в PA сервере и его связи с аутхом. Могу ошибаться правда, т. к. с такой системой авторизации я ещё не работал никогда.Капец тут Санта-Барбара. Вы чего парни? Все мужики взрослые, а такой балаган устроили.
irk с такими слабыми нервами тебе абсолютно точно не стоит заниматься линейкой )
У меня вопрос по теме.
Когда логинюсь, в списке нет сервера.
Интересный момент, что если с иннововского клиента 286 протокола подключаюсь, то сервера отображаются, но зайти понятное дело не могу.
Как вы эту проблему победили? Какой-то параметр нужно переключить в AUTHD или AuthGateD конфигах?
Или в L2.ini клиента нужно что-то поменять?
Я вот тоже тему перечитывал, и вроде как у парней еще до него сервера отображались хотябы.Мне кажется, что всё дело опять же в PA сервере и его связи с аутхом. Могу ошибаться правда, т. к. с такой системой авторизации я ещё не работал никогда.
Такая же ситуация, но пока решения не нашёл)Я вот тоже тему перечитывал, и вроде как у парней еще до него сервера отображались хотябы.
А потом уже париться с PA начинали чтобы в мир зайти.
У меня же даже серверов не видно в списке.
Обалдеть. Я вообще не в том направлении смотрел!Сервер айди нужен другой, в кор скалеформах костылем сделано.
У меня есть. Как в облако зальется, скину ссылку.А остался у кого файл? L2.CLASSIC.S.20180626.10 А то не могу найти у себя.
А остался у кого файл? L2.CLASSIC.S.20180626.10 А то не могу найти у себя.
Держи.А остался у кого файл? L2.CLASSIC.S.20180626.10 А то не могу найти у себя.
А это разве одно и тоже? Не думаю что фури в раздачах один и тот же материал дублировала.PTS сервер
Мануалы, экстендеры (Community Open Source Extender (COEP)), скрипты и многое другоеmmo-dev.info
same here withIn general, again faced with the procedure. charms are created in the database but are not visible in the client
Посмотреть вложение 47566
А ты классик юзаешь или мэйн?В общем опять столкнулся с процедурой . чары создаются в базе но в клиенте не видно
Посмотреть вложение 47566
Я понял что 287 протокол. Но в классик версии набор столбцов у чара один, а в мэйне другой.нну скь тогда как пофиксить и войти. 287 я юзаю
Ну смотри сам.Дядь да тупо процедуры доки нь я сам уже потом проверю.
USE [lin2world]
GO
/****** Object: StoredProcedure [dbo].[lin_GetUserDataByCharId] Script Date: 24.01.2023 18:17:05 ******/
DROP PROCEDURE [dbo].[lin_GetUserDataByCharId]
GO
/****** Object: StoredProcedure [dbo].[lin_GetUserDataByCharId] Script Date: 24.01.2023 18:17:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[lin_GetUserDataByCharId]
(
@char_id int
)
as
set nocount on
declare @subjob_id_s int
declare @lev_s int
declare @exp_s bigint
if @char_id > 0
begin
select top 1 @subjob_id_s = [subjob_id], @lev_s = [level], @exp_s = [exp]
from user_subjob(nolock) where char_id = @char_id order by [exp] desc
if @subjob_id_s is null
begin
set @subjob_id_s = -1
set @lev_s = 0
set @exp_s = 0
end
select
RTRIM(ud.char_name), ud.char_id, RTRIM(ud.account_name), ud.account_id, ud.pledge_id, ud.builder,
ud.gender, ud.race, ud.class, ud.world, ud.xloc, ud.yloc, ud.zloc, ud.IsInVehicle,
ud.HP, ud.MP, ud.Max_HP, ud.Max_MP, ud.CP, ud.Max_CP, ud.SP, ud.Exp, ud.Lev,
case when ud.subjob_id = @subjob_id_s then ud.Exp when ud.Exp >= @exp_s then ud.Exp else @exp_s end,
case when ud.subjob_id = @subjob_id_s then ud.Lev when ud.Exp >= @Exp_s then ud.Lev else @lev_s end,
ud.align, ud.PK, ud.duel, ud.pkpardon,
ISNULL(usl.ST_underwear, 0), ISNULL(usl.ST_right_ear, 0), ISNULL(usl.ST_left_ear, 0),
ISNULL(usl.ST_neck, 0), ISNULL(usl.ST_right_finger, 0), ISNULL(usl.ST_left_finger, 0),
ISNULL(usl.ST_head, 0), ISNULL(usl.ST_right_hand, 0), ISNULL(usl.ST_left_hand, 0),
ISNULL(usl.ST_gloves, 0), ISNULL(usl.ST_chest, 0), ISNULL(usl.ST_legs, 0), ISNULL(usl.ST_feet, 0),
ISNULL(usl.ST_back, 0), ISNULL(usl.ST_both_hand, 0), ISNULL(usl.ST_hair, 0), ISNULL(usl.ST_hair2, 0),
ISNULL(usl.ST_right_bracelet, 0), ISNULL(usl.ST_left_bracelet, 0),
ISNULL(usl.ST_agathion_main, 0), ISNULL(usl.ST_agathion_sub1, 0), ISNULL(usl.ST_agathion_sub2, 0), ISNULL(usl.ST_agathion_sub3, 0), ISNULL(usl.ST_agathion_sub4, 0),
ISNULL(usl.ST_deco1, 0), ISNULL(usl.ST_deco2, 0), ISNULL(usl.ST_deco3, 0),
ISNULL(usl.ST_deco4, 0), ISNULL(usl.ST_deco5, 0), ISNULL(usl.ST_deco6, 0),
ISNULL(usl.ST_waist, 0), ISNULL(usl.ST_brooch, 0), ISNULL(usl.ST_jewel1, 0),ISNULL(usl.ST_jewel2, 0),ISNULL(usl.ST_jewel3, 0),ISNULL(usl.ST_jewel4, 0),ISNULL(usl.ST_jewel5, 0),ISNULL(usl.ST_jewel6, 0),
ISNULL(YEAR(temp_delete_date),0), ISNULL(MONTH(temp_delete_date),0), ISNULL(DAY(temp_delete_date),0),
ISNULL(DATEPART(HOUR, temp_delete_date),0), ISNULL(DATEPART(mi, temp_delete_date),0), ISNULL(DATEPART(s, temp_delete_date),0),
ud.quest_flag, ud.face_index, ud.hair_shape_index, ud.hair_color_index,
ud.nickname, ud.power_flag, ud.pledge_dismiss_time, ud.pledge_ousted_time, ud.pledge_withdraw_time,
ud.surrender_war_id, ud.use_time, ud.drop_exp,
ISNULL(ub.status, 0), ISNULL(ub.ban_end , 0), ISNULL(ud.subjob_id , 0),
ud.subjob0_class, ud.subjob1_class, ud.subjob2_class, ud.subjob3_class,
ISNULL(ud.dual_class_id , 0), ISNULL(ssq_dawn_round, 0),
ISNULL(unc.color_rgb, 0xFFFFFF), isnull(unc.nickname_color_rgb, 0xECF9A2),
ud.pledge_type , ud.grade_id, ISNULL(ud.academy_pledge_id, 0), ISNULL(us.service_flag, 0),
ISNULL(ud.tutorial_flag, 0), ISNULL(ud.associated_inzone, 0), ISNULL(ud.bookmark_slot, 0), ISNULL(ud.associated_inzone_uid, 0),
ISNULL(uj.job_group, -1), ISNULL(ud.PP, 0)
from
(select * from user_data (nolock) where char_id = @char_id and account_id > 0) as ud
left outer join
(select * from user_ban (nolock) where char_id = @char_id) as ub on ud.char_id = ub.char_id
left outer join
(select * from user_name_color (nolock) where char_id = @char_id) as unc on ud.char_id = unc.char_id
left outer join
(select * from user_service (nolock) where char_id = @char_id) as us on ud.char_id = us.char_id
left outer join
(select * from user_slot (nolock) where char_id = @char_id) as usl on ud.char_id = usl.char_id
left outer join
(select * from user_job_group (nolock) where char_id = @char_id) as uj on ud.char_id = uj.char_id
end
GO
USE [lin2world]
GO
/****** Object: Table [dbo].[user_slot] Script Date: 24.01.2023 18:19:56 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[user_slot]') AND type in (N'U'))
DROP TABLE [dbo].[user_slot]
GO
/****** Object: Table [dbo].[user_slot] Script Date: 24.01.2023 18:19:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[user_slot](
[char_id] [int] NOT NULL,
[ST_underwear] [int] NULL,
[ST_right_ear] [int] NULL,
[ST_left_ear] [int] NULL,
[ST_neck] [int] NULL,
[ST_right_finger] [int] NULL,
[ST_left_finger] [int] NULL,
[ST_head] [int] NULL,
[ST_right_hand] [int] NULL,
[ST_left_hand] [int] NULL,
[ST_gloves] [int] NULL,
[ST_chest] [int] NULL,
[ST_legs] [int] NULL,
[ST_feet] [int] NULL,
[ST_back] [int] NULL,
[ST_both_hand] [int] NULL,
[ST_hair] [int] NULL,
[ST_hair2] [int] NULL,
[ST_right_bracelet] [int] NULL,
[ST_left_bracelet] [int] NULL,
[ST_deco1] [int] NULL,
[ST_deco2] [int] NULL,
[ST_deco3] [int] NULL,
[ST_deco4] [int] NULL,
[ST_deco5] [int] NULL,
[ST_deco6] [int] NULL,
[ST_waist] [int] NULL,
[ST_brooch] [int] NULL,
[ST_jewel1] [int] NULL,
[ST_jewel2] [int] NULL,
[ST_jewel3] [int] NULL,
[ST_jewel4] [int] NULL,
[ST_jewel5] [int] NULL,
[ST_jewel6] [int] NULL,
[ST_agathion_main] [int] NULL,
[ST_agathion_sub1] [int] NULL,
[ST_agathion_sub2] [int] NULL,
[ST_agathion_sub3] [int] NULL,
[ST_agathion_sub4] [int] NULL
) ON [PRIMARY]
GO
ISNULL(usl.ST_artifactbook, 0),
ISNULL(usl.ST_artifact_a1, 0), ISNULL(usl.ST_artifact_a2, 0), ISNULL(usl.ST_artifact_a3, 0),
ISNULL(usl.ST_artifact_a4, 0), ISNULL(usl.ST_artifact_a5, 0), ISNULL(usl.ST_artifact_a6, 0),
ISNULL(usl.ST_artifact_a7, 0), ISNULL(usl.ST_artifact_a8, 0), ISNULL(usl.ST_artifact_a9, 0),
ISNULL(usl.ST_artifact_a10, 0), ISNULL(usl.ST_artifact_a11, 0), ISNULL(usl.ST_artifact_a12, 0),
ISNULL(usl.ST_artifact_b1, 0), ISNULL(usl.ST_artifact_b2, 0), ISNULL(usl.ST_artifact_b3, 0),
ISNULL(usl.ST_artifact_c1, 0), ISNULL(usl.ST_artifact_c2, 0), ISNULL(usl.ST_artifact_c3, 0),
ISNULL(usl.ST_artifact_d1, 0), ISNULL(usl.ST_artifact_d2, 0), ISNULL(usl.ST_artifact_d3, 0),
Вот это спасибо)Ну смотри сам.
Скрипты для дропа и создания объектов
SQL:USE [lin2world] GO /****** Object: StoredProcedure [dbo].[lin_GetUserDataByCharId] Script Date: 24.01.2023 18:17:05 ******/ DROP PROCEDURE [dbo].[lin_GetUserDataByCharId] GO /****** Object: StoredProcedure [dbo].[lin_GetUserDataByCharId] Script Date: 24.01.2023 18:17:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[lin_GetUserDataByCharId] ( @char_id int ) as set nocount on declare @subjob_id_s int declare @lev_s int declare @exp_s bigint if @char_id > 0 begin select top 1 @subjob_id_s = [subjob_id], @lev_s = [level], @exp_s = [exp] from user_subjob(nolock) where char_id = @char_id order by [exp] desc if @subjob_id_s is null begin set @subjob_id_s = -1 set @lev_s = 0 set @exp_s = 0 end select RTRIM(ud.char_name), ud.char_id, RTRIM(ud.account_name), ud.account_id, ud.pledge_id, ud.builder, ud.gender, ud.race, ud.class, ud.world, ud.xloc, ud.yloc, ud.zloc, ud.IsInVehicle, ud.HP, ud.MP, ud.Max_HP, ud.Max_MP, ud.CP, ud.Max_CP, ud.SP, ud.Exp, ud.Lev, case when ud.subjob_id = @subjob_id_s then ud.Exp when ud.Exp >= @exp_s then ud.Exp else @exp_s end, case when ud.subjob_id = @subjob_id_s then ud.Lev when ud.Exp >= @Exp_s then ud.Lev else @lev_s end, ud.align, ud.PK, ud.duel, ud.pkpardon, ISNULL(usl.ST_underwear, 0), ISNULL(usl.ST_right_ear, 0), ISNULL(usl.ST_left_ear, 0), ISNULL(usl.ST_neck, 0), ISNULL(usl.ST_right_finger, 0), ISNULL(usl.ST_left_finger, 0), ISNULL(usl.ST_head, 0), ISNULL(usl.ST_right_hand, 0), ISNULL(usl.ST_left_hand, 0), ISNULL(usl.ST_gloves, 0), ISNULL(usl.ST_chest, 0), ISNULL(usl.ST_legs, 0), ISNULL(usl.ST_feet, 0), ISNULL(usl.ST_back, 0), ISNULL(usl.ST_both_hand, 0), ISNULL(usl.ST_hair, 0), ISNULL(usl.ST_hair2, 0), ISNULL(usl.ST_right_bracelet, 0), ISNULL(usl.ST_left_bracelet, 0), ISNULL(usl.ST_agathion_main, 0), ISNULL(usl.ST_agathion_sub1, 0), ISNULL(usl.ST_agathion_sub2, 0), ISNULL(usl.ST_agathion_sub3, 0), ISNULL(usl.ST_agathion_sub4, 0), ISNULL(usl.ST_deco1, 0), ISNULL(usl.ST_deco2, 0), ISNULL(usl.ST_deco3, 0), ISNULL(usl.ST_deco4, 0), ISNULL(usl.ST_deco5, 0), ISNULL(usl.ST_deco6, 0), ISNULL(usl.ST_waist, 0), ISNULL(usl.ST_brooch, 0), ISNULL(usl.ST_jewel1, 0),ISNULL(usl.ST_jewel2, 0),ISNULL(usl.ST_jewel3, 0),ISNULL(usl.ST_jewel4, 0),ISNULL(usl.ST_jewel5, 0),ISNULL(usl.ST_jewel6, 0), ISNULL(YEAR(temp_delete_date),0), ISNULL(MONTH(temp_delete_date),0), ISNULL(DAY(temp_delete_date),0), ISNULL(DATEPART(HOUR, temp_delete_date),0), ISNULL(DATEPART(mi, temp_delete_date),0), ISNULL(DATEPART(s, temp_delete_date),0), ud.quest_flag, ud.face_index, ud.hair_shape_index, ud.hair_color_index, ud.nickname, ud.power_flag, ud.pledge_dismiss_time, ud.pledge_ousted_time, ud.pledge_withdraw_time, ud.surrender_war_id, ud.use_time, ud.drop_exp, ISNULL(ub.status, 0), ISNULL(ub.ban_end , 0), ISNULL(ud.subjob_id , 0), ud.subjob0_class, ud.subjob1_class, ud.subjob2_class, ud.subjob3_class, ISNULL(ud.dual_class_id , 0), ISNULL(ssq_dawn_round, 0), ISNULL(unc.color_rgb, 0xFFFFFF), isnull(unc.nickname_color_rgb, 0xECF9A2), ud.pledge_type , ud.grade_id, ISNULL(ud.academy_pledge_id, 0), ISNULL(us.service_flag, 0), ISNULL(ud.tutorial_flag, 0), ISNULL(ud.associated_inzone, 0), ISNULL(ud.bookmark_slot, 0), ISNULL(ud.associated_inzone_uid, 0), ISNULL(uj.job_group, -1), ISNULL(ud.PP, 0) from (select * from user_data (nolock) where char_id = @char_id and account_id > 0) as ud left outer join (select * from user_ban (nolock) where char_id = @char_id) as ub on ud.char_id = ub.char_id left outer join (select * from user_name_color (nolock) where char_id = @char_id) as unc on ud.char_id = unc.char_id left outer join (select * from user_service (nolock) where char_id = @char_id) as us on ud.char_id = us.char_id left outer join (select * from user_slot (nolock) where char_id = @char_id) as usl on ud.char_id = usl.char_id left outer join (select * from user_job_group (nolock) where char_id = @char_id) as uj on ud.char_id = uj.char_id end GO
Внимание это именно для версии Classic 287. То что я себе сделал.SQL:USE [lin2world] GO /****** Object: Table [dbo].[user_slot] Script Date: 24.01.2023 18:19:56 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[user_slot]') AND type in (N'U')) DROP TABLE [dbo].[user_slot] GO /****** Object: Table [dbo].[user_slot] Script Date: 24.01.2023 18:19:56 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[user_slot]( [char_id] [int] NOT NULL, [ST_underwear] [int] NULL, [ST_right_ear] [int] NULL, [ST_left_ear] [int] NULL, [ST_neck] [int] NULL, [ST_right_finger] [int] NULL, [ST_left_finger] [int] NULL, [ST_head] [int] NULL, [ST_right_hand] [int] NULL, [ST_left_hand] [int] NULL, [ST_gloves] [int] NULL, [ST_chest] [int] NULL, [ST_legs] [int] NULL, [ST_feet] [int] NULL, [ST_back] [int] NULL, [ST_both_hand] [int] NULL, [ST_hair] [int] NULL, [ST_hair2] [int] NULL, [ST_right_bracelet] [int] NULL, [ST_left_bracelet] [int] NULL, [ST_deco1] [int] NULL, [ST_deco2] [int] NULL, [ST_deco3] [int] NULL, [ST_deco4] [int] NULL, [ST_deco5] [int] NULL, [ST_deco6] [int] NULL, [ST_waist] [int] NULL, [ST_brooch] [int] NULL, [ST_jewel1] [int] NULL, [ST_jewel2] [int] NULL, [ST_jewel3] [int] NULL, [ST_jewel4] [int] NULL, [ST_jewel5] [int] NULL, [ST_jewel6] [int] NULL, [ST_agathion_main] [int] NULL, [ST_agathion_sub1] [int] NULL, [ST_agathion_sub2] [int] NULL, [ST_agathion_sub3] [int] NULL, [ST_agathion_sub4] [int] NULL ) ON [PRIMARY] GO
Если нужно для версии Main 287, то принцип тот же, но нужны слоты для артефактов еще.
SQL:ISNULL(usl.ST_artifactbook, 0), ISNULL(usl.ST_artifact_a1, 0), ISNULL(usl.ST_artifact_a2, 0), ISNULL(usl.ST_artifact_a3, 0), ISNULL(usl.ST_artifact_a4, 0), ISNULL(usl.ST_artifact_a5, 0), ISNULL(usl.ST_artifact_a6, 0), ISNULL(usl.ST_artifact_a7, 0), ISNULL(usl.ST_artifact_a8, 0), ISNULL(usl.ST_artifact_a9, 0), ISNULL(usl.ST_artifact_a10, 0), ISNULL(usl.ST_artifact_a11, 0), ISNULL(usl.ST_artifact_a12, 0), ISNULL(usl.ST_artifact_b1, 0), ISNULL(usl.ST_artifact_b2, 0), ISNULL(usl.ST_artifact_b3, 0), ISNULL(usl.ST_artifact_c1, 0), ISNULL(usl.ST_artifact_c2, 0), ISNULL(usl.ST_artifact_c3, 0), ISNULL(usl.ST_artifact_d1, 0), ISNULL(usl.ST_artifact_d2, 0), ISNULL(usl.ST_artifact_d3, 0),
В этой теме парни ранее уже говорили об этом.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?