Код
//////////////////////////////////////////////////////////////////
// Blacksmithing v 1.0 //
//////////////////////////////////////////////////////////////////
// Crafted By Paul & Griever //
//////////////////////////////////////////////////////////////////
// 1. Идея и скриптинг мои. Гриверу спасибо за Дезаин менюшки //
// тесты, моральную поддержку //
//////////////////////////////////////////////////////////////////
// 2. Много плюсов перед стандартным БСом. Нет задержки при //
// крафте, нет физлов (хотя и то и другое можно добавить без //
// проблем но имхо лишнее на не-РПГ шарде). Фиксированный //
// скиллгейн. Растет не рандомно, а как скажешь. Абсолютно //
// все легко настраиваеться под ваш шард. //
//////////////////////////////////////////////////////////////////
// 3. Обо всех багах и пожеланиях о совершенстве писать на //
// fallen@gothic.com.ua или в 530784 //
//////////////////////////////////////////////////////////////////
[ITEMDEF i_bs_hammer] // Молоток. с другим работать не будет
ID=i_hammer_sledge
TYPE=T_WEAPON_MACE_SMITH
FLIP=1
RESOURCES=4 i_ingot_iron
SKILLMAKE=TINKERING 54.1,t_tinker_tools
WEIGHT=9
DUPELIST=0fb5
ON=@DCLICK
DIALOG bsmenu
return 1
[dialog BSMenu]
0,0
page 0
noclose
nodispose
resizepic -4 1 2620 606 486
resizepic 1 5 3000 597 474
gumppic 42 71 62043
gumppic -1 1 5500
gumppic 541 -11 5555
page 1
button 54 200 1209 1210 1 0 0
button 54 220 1209 1210 1 0 1
button 54 240 1209 1210 1 0 2
button 54 260 1209 1210 1 0 3
button 54 280 1209 1210 1 0 4
button 54 300 1209 1210 1 0 5
button 54 320 1209 1210 1 0 6
button 54 340 1209 1210 1 0 7
text 74 200 1209 0
text 74 220 1209 1
text 74 240 1209 2
text 74 260 1209 3
text 74 280 1209 4
text 74 300 1209 5
text 74 320 1209 6
text 74 340 1209 7
text 200 50 1209 8
text 190 460 1209 9
[dialog BSMenu TEXT]
Iron
Your Metall
Your Metall
Your Metall
Your Metall
Your Metall
Your Metall
Exit
<src.name>, What are you want to craft?
Designed by Griever, Crafted by Paul, <serv.name> Shard
[dialog BSMenu BUTTON]
onbutton=0
dialog d_iron_menu
return 1
onbutton=1
return 1
onbutton=2
return 1
onbutton=3
return 1
onbutton=4
return 1
onbutton=5
return 1
onbutton=6
return 1
onbutton=7
return 1
[dialog d_iron_menu]
0,0
page 0
noclose
nodispose
resizepic -4 1 2620 606 486
resizepic 1 5 3000 597 474
gumppic 42 71 62043
gumppic -1 1 5500
gumppic 541 -11 5555
page 1
button 54 200 1209 1210 1 0 0
button 54 220 1209 1210 1 0 1
button 54 240 1209 1210 1 0 2
button 54 260 1209 1210 1 0 3
button 54 280 1209 1210 1 0 4
button 54 300 1209 1210 1 0 5
button 54 320 1209 1210 1 0 6
button 54 340 1209 1210 1 0 7
text 74 200 1209 0
text 74 220 1209 1
text 74 240 1209 2
text 74 260 1209 3
text 74 280 1209 4
text 74 300 1209 5
text 74 320 1209 6
text 74 340 1209 7
[dialog d_iron_menu TEXT]
Heater
Chest
Leggings
Gloves
Helm
Arms
Gorget
Exit
[dialog d_iron_menu BUTTON]
onbutton=0
src.tag.newitem = i_shield_heater // вставьте итемдеф шмотки, которая будет крафтаться
src.tag.number_points = 20 // Скока за нее будет экспы (нужна для роста БСа)
src.tag.skill_blacksmithing = 500 // При каком скилле делается
src.tag.number_ingots = 20 // Скока ингов идет на нее
src.tag.kind_ingots = i_ingot_iron // И каких ингов
test_skill_bs // И работа закипела....
return 1
onbutton=1
src.tag.newitem = i_platemail_chest
src.tag.number_points = 20
src.tag.skill_blacksmithing = 500
src.tag.number_ingots = 20
src.tag.kind_ingots = i_ingot_iron
test_skill_bs
return 1
onbutton=2
src.tag.newitem = i_platemail_leggings
src.tag.number_points = 20
src.tag.skill_blacksmithing = 500
src.tag.number_ingots = 20
src.tag.kind_ingots = i_ingot_iron
test_skill_bs
return 1
onbutton=3
src.tag.newitem = i_platemail_gloves
src.tag.number_points = 20
src.tag.skill_blacksmithing = 500
src.tag.number_ingots = 20
src.tag.kind_ingots = i_ingot_iron
test_skill_bs
return 1
onbutton=4
src.tag.newitem = i_platemail_helm
src.tag.number_points = 20
src.tag.skill_blacksmithing = 500
src.tag.number_ingots = 20
src.tag.kind_ingots = i_ingot_iron
test_skill_bs
return 1
onbutton=5
src.tag.newitem = i_platemail_arms
src.tag.number_points = 20
src.tag.skill_blacksmithing = 500
src.tag.number_ingots = 20
src.tag.kind_ingots = i_ingot_iron
test_skill_bs
return 1
onbutton=6
src.tag.newitem = i_platemail_gorget
src.tag.number_points = 20
src.tag.skill_blacksmithing = 500
src.tag.number_ingots = 20
src.tag.kind_ingots = i_ingot_iron
test_skill_bs
return 1
onbutton=7
src.sysmessage Closing menu...
return 1
[FUNCTION test_skill_bs] // Сам движок
IF (<SRC.BLACKSMITHING> < <src.tag.skill_blacksmithing>) // тест скилла
SRC.SYSMESSAGE You skill is too low...
return 1
ELIF <SRC.RESTEST <src.tag.number_ingots> <src.tag.kind_ingots>> // тест ингов
SRC.CONSUME <src.tag.number_ingots> <src.tag.kind_ingots>
SRC.NEWITEM i_bs_gainer
SRC.ACT.AMOUNT <src.tag.number_points>
SRC.ACT.equip
ELSE
SRC.SYSMESSAGE You lack ingots to craft this!...
RETURN 1
ENDIF
IF (<SRC.BLACKSMITHING> == 100.0) // Тут ставим скилл при котором будет приписка crafted by
SRC.NEWITEM <src.tag.newitem>
SRC.ACT.AMOUNT 1
src.act.name = <src.act.name> crafted by <src.name>
SRC.ACT.BOUNCE
else
SRC.NEWITEM <src.tag.newitem>
SRC.ACT.AMOUNT 1
SRC.ACT.BOUNCE
endif
// Скиллгейн
IF (<SRC.blacksmithing> < 100)
IF <SRC.RESTEST 100 I_bs_GAINER> // скока экспы до прироста
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 100 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 200)
IF <SRC.RESTEST 200 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 200 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 300)
IF <SRC.RESTEST 300 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 300 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 400)
IF <SRC.RESTEST 400 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 400 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 500)
IF <SRC.RESTEST 500 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 500 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 600)
IF <SRC.RESTEST 600 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 600 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 700)
IF <SRC.RESTEST 700 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 700 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 800)
IF <SRC.RESTEST 800 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 800 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 900)
IF <SRC.RESTEST 900 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 900 I_bs_GAINER
RETURN 1
ENDIF
endif
IF (<SRC.blacksmithing> < 1000)
IF <SRC.RESTEST 1000 I_bs_GAINER>
SRC.blacksmithing=<SRC.blacksmithing> + 0.1
SRC.CONSUME 1000 I_bs_GAINER
RETURN 1
ENDIF
endif
[itemdef i_bs_gainer] // Экспинка
id=i_memory
name=bs gainer
type=t_eq_script
on=@create
ATTR=attr_invis|attr_newbie|attr_move_never