PickPickPick Воскресенье, 15.06.2025, 18:38
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта


Категории раздела
Баги [34]
Сервера [0]

Наш опрос
Нужно ли выкладывать Install к играм на сайт?
Всего ответов: 29

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Lineage » Баги [ Добавить статью ]

Учимся делать ГК, Бафферов, ГМшоп

Мануал: Учимся делать ГК, Бафферов, ГМшоп

Начнем с того, что открываем свой AI.obj (папка scripts)
Там ищем класс teleporter_multi_list. Вот пример моей АИ для гейткипера в гиране:
class 1 clavier : teleporter_multi_list
property_define_begin
telposlist_begin Position1
{"Aden"; 146705; 25840; -2000; 1500; 5 }
{"Coliseum"; 146440; 46723; -3400; 1500; 0 }
{"Dark Elven Village"; 9716; 15502; -4500; 1500; 0 }
{"Dion"; 15744; 142928; -2704; 1500; 2 }
{"Dwarven Village"; 115120; -178112; -916; 1500; 0 }
{"Elven Village"; 46890; 51531; -2976; 1500; 0 }
{"Floran Village"; 17953; 170234; -3504; 1500; 2 }
{"Giran"; 83458; 148012; -3400; 1500; 3 }
{"Giran Harbor"; 47935; 186810; -3420; 1500; 0 }
{"Gludin"; -80826; 149775; -3043; 1500; 0 }
{"Gludio"; -12694; 122776; -3114; 1500; 1 }
{"Goddard"; 148024; -55281; -2728; 1500; 7 }
{"Hardins Academy"; 105846; 109762; -3170; 1500; 3 }
{"Heine"; 111333; 219345; -3546; 1500; 6 }
{"Hunter Village"; 117156; 76878; -2670; 1500; 0 }
{"Ivory Tower"; 85343; 16267; -3640; 1500; 4 }
{"Orc Village"; -45186; -112459; -236; 1500; 0 }
{"Oren"; 82956; 53162; -1470; 1500; 4 }
{"Rune Town"; 43835; -47749; -792; 1500; 0 }
{"Talking Island"; -84141; 244623; -3729; 1500; 0 }
telposlist_end
telposlist_begin Position2
{"Elven Fortress (10-25)"; 29280; 74942; -3776; 1500; 0 }
{"Elven Ruins (10-20)"; -112802; 234963; -3688; 1500; 0 }
{"Ruins of Despair (20-25)"; -20152; 137254; -3896; 1500; 0 }
{"Wastelands (25-35)"; -16510; 209226; -3664; 1500; 0 }
{"Execution Grounds (30-40)"; 44691; 148454; -3696; 1500; 0 }
{"Cruma Tower (40-52)"; 16580; 114178; -3480; 1500; 0 }
{"Death Pass (35-52)"; 71521; 118056; -3672; 1500; 0 }
{"Dragon Valley (55-62)"; 122589; 111117; -3760; 1500; 0 }
{"Dragon Valley Caves (60-78)"; 130816; 114429; -3720; 1500; 0 }
{"Enchanted Valley (45-55)"; 124798; 61741; -3992; 1500; 0 }
{"Cemetery (45-58)"; 166612; 20315; -3328; 1500; 0 }
{"Forbidden GateWay (58-67)"; 185326; 20299; -3272; 1500; 0 }
{"The Front of Anghel Waterfall (50-60)"; 163341; 91374; -3320; 1500; 0 }
{"Giants Cave (55-67)"; 174465; 52672; -4368; 1500; 0 }
{"Forsaken Plains (55-65)"; 167285; 37109; -4008; 1500; 0 }
{"Toi Enterance (58-78)"; 114645; 21491; -5128; 1500; 0 }
{"Blazing Swamp (65-77)"; 159546; -13085; -2872; 1500; 0 }
{"Rune Town Hunting Grounds (58-74)"; 59106; -67593; -3384; 1500; 0 }
{"Hot Springs (70-78)"; 153889; -101027; -2936; 1500; 0 }
{"Ketra Orc Outpost (76-87)"; 146600; -68003; -3688; 1500; 0 }
{"Imperial Tomb (76-82+)"; 186896; -75557; -2832; 1500; 0 }
{"Forge Of God (78-82+)"; 169453; -116244; -2360; 1500; 0 }
{"Varka Silenos Outpost (76-87)"; 125809; -40781; -3744; 1500; 0 }
{"Patriots Necropolis"; -25472; 77728; -3446; 15500; 0 }
{"Ascetics Necropolis"; -56064; 78720; -3011; 18600; 0 }
{"Saints Necropolis"; 79296; 209584; -3709; 9800; 0 }
{"Catacomb of Dark Omens"; -22480; 13872; -3174; 20400; 0 }
telposlist_end
telposlist_begin PositionNoblessNeedItemTown
{"Talking Island Village"; -84141; 244623; -3729; 1; 0 }
{"The Elven Village"; 46951; 51550; -2976; 1; 0 }
{"The Dark Elven Village"; 9709; 15566; -4500; 1; 0 }
{"Orc Village"; -45158; -112583; -236; 1; 0 }
{"Dwarven Village"; 115120; -178224; -917; 1; 0 }
{"The Village of Gludin"; -80826; 149775; -3043; 1; 0 }
{"The Town of Gludio"; -12694; 122776; -3114; 1; 0 }
{"The Town of Dion"; 15671; 142994; -2704; 1; 0 }
{"Heine"; 111455; 219400; -3546; 1; 0 }
{"Town of Oren"; 83011; 53207; -1470; 1; 0 }
{"Hunters Village"; 117088; 76931; -2670; 1; 0 }
{"Town of Aden"; 146783; 25808; -2000; 1; 0 }
{"Rune Castle Town"; 43826; -47688; -792; 1; 0 }
{"Goddard Castle Town"; 147978; -55408; -2728; 1; 0 }
{"Hardin's Academy"; 105918; 109759; -3170; 1; 0 }
{"Giran Harbor"; 47935; 186810; -3420; 1; 0 }
{"Arena (Gludin Harbor)"; -87328; 142266; -3640; 1; 0 }
{"Arena (Giran Castle Town)"; 73579; 142709; -3768; 1; 0 }
{"Coliseum"; 146440; 46723; -3400; 1; 0 }
telposlist_end
telposlist_begin PositionNoblessNeedItemField
{"Dragon Valley"; 122824; 110836; -3727; 1; 0 }
{"Dragon Valley Death Pass"; 73024; 118485; -3720; 1; 0 }
{"Brekas Stronghold"; 85389; 131366; -3707; 1; 0 }
{"Gorgons Flower Garden"; 113553; 134813; -3668; 1; 0 }
{"Tanor Canyon"; 69373; 155208; -3746; 1; 0 }
{"Devils Isle Entrance"; 43408; 206881; -3752; 1; 0 }
{"Lairs of Antharas Entrance"; 131131; 114597; -3720; 1; 0 }
{"Lairs of Antharas 1"; 147071; 120156; -4520; 1; 0 }
{"Lairs of Antharas 2"; 151689; 112615; -5520; 1; 0 }
{"Lairs of Antharas Bridge"; 146425; 109898; -3424; 1; 0 }
{"Lairs of Antharas Heart"; 154396; 121235; -3808; 1; 0 }
telposlist_end
telposlist_begin PositionNoblessNeedItemSSQ
{"Necropolis Of Sacrifice"; -41184; 206752; -3357; 1; 0 }
{"Heretics Catacomb"; 39232; 143568; -3651; 1; 0 }
{"Pilgrims Necropolis"; 45600; 126944; -3686; 1; 0 }
{"Catacomb Of The Branded"; 43200; 170688; -3251; 1; 0 }
{"Worshipers Necropolis"; 107514; 174329; -3704; 1; 0 }
{"Catacomb Of The Apostate"; 74672; 78032; -3398; 1; 0 }
{"Patriots Necropolis"; -25472; 77728; -3446; 1; 0 }
{"Catacomb Of The Witch"; 136672; 79328; -3702; 1; 0 }
{"Ascetics Necropolis"; -56064; 78720; -3011; 1; 0 }
{"Martyr's Necropolis"; 114496; 132416; -3101; 1; 0 }
{"Disciples Necropolis"; 168560; -17968; -3174; 1; 0 }
{"Saints Necropolis"; 79296; 209584; -3709; 1; 0 }
{"Catacomb of Dark Omens"; -22480; 13872; -3174; 1; 0 }
{"Catacomb of the Forbidden Path"; 110912; 84912; -4816; 1; 0 }
telposlist_end
telposlist_begin PositionNoblessNoItemTown
{"Talking Island Village"; -84141; 244623; -3729; 1000; 0 }
{"The Elven Village"; 46951; 51550; -2976; 1000; 0 }
{"The Dark Elven Village"; 9709; 15566; -4500; 1000; 0 }
{"Orc Village"; -45158; -112583; -236; 1000; 0 }
{"Dwarven Village"; 115120; -178224; -917; 1000; 0 }
{"The Village of Gludin"; -80826; 149775; -3043; 1000; 0 }
{"The Town of Gludio"; -12694; 122776; -3114; 1000; 0 }
{"The Town of Dion"; 15671; 142994; -2704; 1000; 0 }
{"Heine"; 111455; 219400; -3546; 1000; 0 }
{"Town of Oren"; 83011; 53207; -1470; 1000; 0 }
{"Hunters Village"; 117088; 76931; -2670; 1000; 0 }
{"Town of Aden"; 146783; 25808; -2000; 1000; 0 }
{"Rune Castle Town"; 43826; -47688; -792; 1000; 0 }
{"Goddard Castle Town"; 147978; -55408; -2728; 1000; 0 }
{"Hardin's Academy"; 105918; 109759; -3170; 1000; 0 }
{"Giran Harbor"; 47935; 186810; -3420; 1000; 0 }
{"Arena (Gludin Harbor)"; -87328; 142266; -3640; 1000; 0 }
{"Arena (Giran Castle Town)"; 73579; 142709; -3768; 1000; 0 }
{"Coliseum"; 146440; 46723; -3400; 1000; 0 }
telposlist_end
telposlist_begin PositionNoblessNoItemField
{"Dragon Valley"; 122824; 110836; -3727; 1000; 0 }
{"Dragon Valley Death Pass"; 73024; 118485; -3720; 1000; 0 }
{"Brekas Stronghold"; 85389; 131366; -3707; 1000; 0 }
{"Gorgons Flower Garden"; 113553; 134813; -3668; 1000; 0 }
{"Tanor Canyon"; 69373; 155208; -3746; 1000; 0 }
{"Devils Isle Entrance"; 43408; 206881; -3752; 1000; 0 }
{"Lairs of Antharas Entrance"; 131131; 114597; -3720; 1000; 0 }
{"Lairs of Antharas 1"; 147071; 120156; -4520; 1000; 0 }
{"Lairs of Antharas 2"; 151689; 112615; -5520; 1000; 0 }
{"Lairs of Antharas Bridge"; 146425; 109898; -3424; 1000; 0 }
{"Lairs of Antharas Heart"; 154396; 121235; -3808; 1000; 0 }
telposlist_end
telposlist_begin PositionNoblessNoItemSSQ
{"Necropolis Of Sacrifice"; -41184; 206752; -3357; 1000; 0 }
{"Heretics Catacomb"; 39232; 143568; -3651; 1000; 0 }
{"Pilgrims Necropolis"; 45600; 126944; -3686; 1000; 0 }
{"Catacomb Of The Branded"; 43200; 170688; -3251; 1000; 0 }
{"Worshipers Necropolis"; 107514; 174329; -3704; 1000; 0 }
{"Catacomb Of The Apostate"; 74672; 78032; -3398; 1000; 0 }
{"Patriots Necropolis"; -25472; 77728; -3446; 1000; 0 }
{"Catacomb Of The Witch"; 136672; 79328; -3702; 1000; 0 }
{"Ascetics Necropolis"; -56064; 78720; -3011; 1000; 0 }
{"Martyr's Necropolis"; 114496; 132416; -3101; 1000; 0 }
{"Disciples Necropolis"; 168560; -17968; -3174; 1000; 0 }
{"Saints Necropolis"; 79296; 209584; -3709; 1000; 0 }
{"Catacomb of Dark Omens"; -22480; 13872; -3174; 1000; 0 }
{"Catacomb of the Forbidden Path"; 110912; 84912; -4816; 1000; 0 }
telposlist_end
property_define_end
class_end
Где:
{"Catacomb of Dark Omens"; -22480; 13872; -3174; 1000; 0 }
{"Имя локации"; x; y; z; Стоимость; 0 (по-моему это налог)}



Хтмл гейкипера:



Gatekeeper Clarissa:

We Gatekeepers use the will of the Gods to open the doors to time and space and teleport others. Which door would you like to open?

Teleport

Hunting Grounds

Exchange with the Dimension Diamond

[Noblesse Only] teleport

Move to Monster Derby Track (Free of Charge)

Quest


Где reply=1 - это лист локаций в АИ, которые покажет вам ГК. В данном случае это telposlist_begin Position1, то есть
{"Aden"; 146705; 25840; -2000; 1500; 5 }
{"Coliseum"; 146440; 46723; -3400; 1500; 0 }
{"Dark Elven Village"; 9716; 15502; -4500; 1500; 0 }
{"Dion"; 15744; 142928; -2704; 1500; 2 }
{"Dwarven Village"; 115120; -178112; -916; 1500; 0 }
{"Elven Village"; 46890; 51531; -2976; 1500; 0 }
{"Floran Village"; 17953; 170234; -3504; 1500; 2 }
{"Giran"; 83458; 148012; -3400; 1500; 3 }
{"Giran Harbor"; 47935; 186810; -3420; 1500; 0 }
{"Gludin"; -80826; 149775; -3043; 1500; 0 }
{"Gludio"; -12694; 122776; -3114; 1500; 1 }
{"Goddard"; 148024; -55281; -2728; 1500; 7 }
{"Hardins Academy"; 105846; 109762; -3170; 1500; 3 }
{"Heine"; 111333; 219345; -3546; 1500; 6 }
{"Hunter Village"; 117156; 76878; -2670; 1500; 0 }
{"Ivory Tower"; 85343; 16267; -3640; 1500; 4 }
{"Orc Village"; -45186; -112459; -236; 1500; 0 }
{"Oren"; 82956; 53162; -1470; 1500; 4 }
{"Rune Town"; 43835; -47749; -792; 1500; 0 }
{"Talking Island"; -84141; 244623; -3729; 1500; 0 }
То есть, в любой лист можете добавить нужные локации.

Не слишком обременяя себя мыслительной деятельностью, но обладая усидчивостью и трудолюбием, вы можете сделать глобал ГК всего за несколько часов.

2) Далее мануал по созданию ГМ-шопа.
Ну тут все проще простого. Открываем свой мультиселл (scripts), там видим следующее:
MultiSell_begin [blackmerchant_weapon] 1
is_dutyfree = 1
selllist={
{{{[flamberge];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[stormbringer];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[sword_of_delusion];1}};{{[crystal_c];1075};{[crystal_d];5375}}};
{{{[war_pick];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[war_axe];1}};{{[crystal_c];1075};{[crystal_d];5375}}};
{{{[crystal_staff];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[sage's_staff];1}};{{[crystal_c];1075};{[crystal_d];5375}}};
{{{[cursed_dagger];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[dark_screamer];1}};{{[crystal_c];1075};{[crystal_d];5375}}};
{{{[chakram];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[fist_blade];1}};{{[crystal_c];1075};{[crystal_d];5375}}};
{{{[crystallized_ice_bow];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[akat_long_bow];1}};{{[crystal_c];1075};{[crystal_d];5375}}};
{{{[orcish_glaive];1}};{{[crystal_c];573};{[crystal_d];2865}}};
{{{[poleaxe];1}};{{[crystal_c];1075};{[crystal_d];5375}}}
}
MultiSell_end
Что это можеть быть? Люксор, конечно. (обмен кристаллов на веапон).
По такому же принципу сделаем наш гм шоп. Только вместо кри у нас буду адены. Открываем самый конец мультиселла, Пропускаем 2 строчки, и пишем следующее
MultiSell_begin [Пишем тут любое не использованное название] 575 (любое чило, главное, что бы второго такого не было в мультиселле.
is_dutyfree = 1
is_show_all = 1
selllist={
{{{[ring_of_aurakyria];1}};{{[coin_of_luck];5325000}}};
{{{[ring_of_baium];1}};{{[coin_of_luck];6450000}}};
{{{[sanddragon's_earing];1}};{{[coin_of_luck];5950000}}};
{{{[earring_of_antaras];1}};{{[coin_of_luck];8200000}}};
{{{[earring_of_zaken];1}};{{[coin_of_luck];7520000}}};
{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}};
{{{[necklace_of_valakas];1}};{{[coin_of_luck];12600000}}}
}
MultiSell_end
Где вместо ring_of_aurakyria любой предмет, прописанный в itemdata.txt, после названия итема идет количесво,затем мы видим coin_of_luck. Вместо коинов могут быть опять же любые предметы из itemdata.txt, adena, например. Потом идет количесво вещей, на которые обменивается наш итем. Хочу предостеречь от распостранненой ошибки: после самой последней строчки не должно быть;. То есть, все строчки у нас выглядят вот так:

{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}};
Последняя должна быть такой:
{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}}


Наш мультиселл готов. Теперь остается только привязать НПС к этому мультиселлу. Для этого подходим к желаемому нпс в игре на правах гма и разговариваем с ним. В чате пашишут имя его хтмлки. Например, galladuchi0001. Лезем в папку хтмл, ищем искомую хтмл-ку, открываем ее блокнотом. Там видим следующую срочку:

Buy weapon

Где 1 - это номер мультиселла, который мы указали рядом с именем мультиселла.

Вот и все, при должном рвении хороший гм шоп (или любой другой обменник) самому. Или скачать готовый, и поправить в нем цены.

_http://dump.ru/files/0/0084470174/ (allcheats - пароль
как сделать собственного бафера.
class 1 buffer_npc : default_npc
parameter_define_begin
string fnHi "buffer_npc001.htm"
string fnYouAreChaotic "buffer_npc002.htm"
string fnNotEnoughAdena "buffer_npc003.htm"
string fnWait "buffer_npc004.htm"
int ItemBuff 57
int Amount 1000
int Delay 500
parameter_define_end

handler 13 11 // CREATED
variable_begin
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end

push_event // myself
push_const 704
add
fetch_i // i_ai0
push_const 308
add
push_reg_sp
fetch_i
push_const 0
assign4
shift_sp -1
handler_end

handler 3 38 // TALKED
variable_begin
"talker"
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end

push_event // talker
push_const 40
add
fetch_i // karma
push_const 468
add
fetch_i4
push_const 0
greater
branch_false L2
L1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnYouAreChaotic
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L3
L2
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnHi
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L3
handler_end

handler 32 134 // MENU_SELECTED
variable_begin
"talker"
"ask"
"reply"
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end

push_event // ask
push_const 160
add
fetch_i4
push_const 201
negate
equal
push_reg_sp
fetch_i
branch_false L4
shift_sp 1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter ItemBuff
func_call 184680579 // func[OwnItemCount]
shift_sp -2
push_parameter Amount
greater_equal
and
L4
branch_false L5
L6
push_event // myself
push_const 704
add
fetch_i // i_ai0
push_const 308
add
fetch_i4
push_const 0
equal
branch_false L8
L7
push_event // myself
push_const 704
add
fetch_i // i_ai0
push_const 308
add
push_reg_sp
fetch_i
push_const 1
assign4
shift_sp -1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter ItemBuff
push_parameter Amount
func_call 184746114 // func[DeleteItem1]
shift_sp -3
shift_sp -1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_event // reply
push_const 164
add
fetch_i
push_const 1
push_const 1
push_const 1000000
func_call 184877074 // func[AddUseSkillDesire]
shift_sp -5
shift_sp -1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnHi
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
push_event // myself
push_const 704
add
fetch_i
push_const 1
push_parameter Delay
func_call 184680487 // func[AddTimerEx]
shift_sp -2
shift_sp -1
jump L9
L8
shift_sp 1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnWait
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L9
jump L10
L5
shift_sp 1
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnNotEnoughAdena
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L10
handler_end

handler 12 20 // TIMER_FIRED_EX
variable_begin
"timer_id"
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end

push_event // timer_id
push_const 236
add
fetch_i4
push_const 1
equal
branch_false L12
L11
push_event // myself
push_const 704
add
fetch_i // i_ai0
push_const 308
add
push_reg_sp
fetch_i
push_const 0
assign4
shift_sp -1
L12
handler_end

class_endДалее открываем npcdata,
Далее открываем npcdata, туда вставляем
npc_begin citizen 14003 [buffer_npc] level=70 acquire_exp_rate=0 acquire_sp=0 unsowing=1 clan={} ignore_clan_list={} clan_help_range=300 slot_chest=[] slot_rhand=[] slot_lhand=[] shield_defense_rate=0 shield_defense=0 skill_list={@s_race_undead;@s_npc_weakness_holy3;
@s_evil_attack;@s_npc_weakness_fire1} npc_ai={[buffer_npc];{[fnHi]=[buffer_npc001.htm]}} category={} race=human sex=female undying=1 can_be_attacked=0 corpse_time=1 no_sleep_mode=0 agro_range=0 ground_high={120;0;0} ground_low={50;0;0} exp=429634528 org_hp=2444.5 org_hp_regen=7.5 org_mp=10000 org_mp_regen=200 collision_radius={8;8} collision_height={24;24} str=60 int=90 dex=50 wit=90 con=60 men=40 base_attack_type=sword base_attack_range=40 base_damage_range={0;0;80;120} base_rand_dam=30 base_physical_attack=688.86373 base_critical=4 physical_hit_modify=4.75 base_attack_speed=253 base_reuse_delay=0 base_magic_attack=470.4 base_defend=295.91 base_magic_defend=216.53 physical_avoid_modify=0 soulshot_count=0 spiritshot_count=0 hit_time_factor=0.6 item_make_list={} corpse_make_list={} additional_make_list={} additional_make_multi_list={} hp_increase=0 mp_increase=0 safe_height=100 npc_end
Ну и NPC_PCH:

[buffer_npc] = 1014003
Далее хтмл:

Buffer NPC:

Por solo 1000 adenas te podemos dar auras! Elije aquellas que prefieras!


[Might]

[Shield]

[Focus]

[Windwalk]

[Guidance]

[Agility]

[Magic Barrier]
[Acumen]

[Empower]

[Bless the Soul]

[Berserker Spirit]

[Holy Weapon]

[Mental Shield]

[Concrentrarion]
[Regeneration]

[Freezing Skin]

[Bless the Body]

[Bless the Shield]

[Haste]

[Death Wisper]

[Kiss Of Eva]


Вот и все. Вам остается написать только хтмлки для функций
string fnYouAreChaotic "buffer_npc002.htm"
string fnNotEnoughAdena "buffer_npc003.htm", это не сложно, ну и добавить нпц в клиент.

Как почистить весь мусор, после того, как чар был удален. Запрос в скуль.
Перед выполнением рекомендую сделать бэкап БД.
begin tran
delete from bookmark where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from nobless_achievements where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from olympiad_match where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from olympiad_result where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from Quest where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from shortcut_data where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from ssq_user_data where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_ActiveSkill where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_ban where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_blocklist where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_comment where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_deleted where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_friend where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_henna where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_history where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_item where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_log where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));

delete from user_macroinfo where macro_id in (SELECT macro_id FROM user_macro WHERE char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1)));
delete from user_macro where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));

delete from user_mail where id in (SELECT mail_id FROM user_mail_receiver WHERE receiver_id in (select char_id from user_data where (account_id = - 1)));
delete from user_mail where id in (SELECT mail_id FROM user_mail_sender WHERE sender_id in (select char_id from user_data where (account_id = - 1)));
delete from user_mail_receiver where receiver_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_mail_sender where sender_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));

delete from user_newbie where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_nobless where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_punish where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_recipe where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_skill where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_sociality where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_subjob where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete from user_surrender where char_id in (SELECT char_id FROM user_data WHERE (account_id = - 1));
delete FROM user_data WHERE (account_id = - 1);
commit(с)srh

Защищаем гм - аккаунт от брута и тп. вещей.
Качаем amped
[Builder]
UseIPFilter=true
; list of allowed IPs or host names, delimited by ";"
; i.e.: 127.0.0.1;11.22.33.*;11.44.*.*;foo.no-ip.com
IP=**.**.**;****.**.** (ИП гмов, разделенные точками с запятой.)
И закройте все порты, кроме 2106 и 7777. Ну и 1433 для реги.
Категория: Баги | Добавил: Metal (05.01.2010)
Просмотров: 1322 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2025