Так. Что добавлено в новой версии
1. Терь крафтить можно только на анвиле специальном. Причем в руке должен быть любой мейс
2. Добавлена графика ковки
3. Добавлен звук. Я не нашел звук БСа, тока карпентра. Так что сами ищите и меняйте число ))
4. Терь над головой показываеться что вы скрафтили
5. Добавлены физлы
Код
//////////////////////////////////////////////////////////////////
// Blacksmithing v 1.1 //
//////////////////////////////////////////////////////////////////
// Crafted By Paul & Griever //
//////////////////////////////////////////////////////////////////
// 1. Идея и скриптинг мои. Гриверу спасибо за Дезаин менюшки //
// тесты, моральную поддержку //
//////////////////////////////////////////////////////////////////
// 2. Много плюсов перед стандартным БСом. Нет задержки при //
// крафте, нет физлов (хотя и то и другое можно добавить без //
// проблем но имхо лишнее на не-РПГ шарде). Фиксированный //
// скиллгейн. Растет не рандомно, а как скажешь. Абсолютно //
// все легко настраиваеться под ваш шард. //
//////////////////////////////////////////////////////////////////
// 3. Обо всех багах и пожеланиях о совершенстве писать на //
// fallen@gothic.com.ua или в 530784 //
//////////////////////////////////////////////////////////////////
[ITEMDEF i_anvil_new]
//anvil
id=i_anvil
TYPE=T_ANVIL
WEIGHT=255
Name = Anvil
CATEGORY=Items by Professions
SUBSECTION=Blacksmiths
DESCRIPTION=Anvil (N)
DUPELIST=0fb0
ON=@DCLICK
if (<src.act.distance> > 2) // Какое должно быть расстояние до форжа что бы заюзать его
src.sysmessage You must be closer....
return 1
endif
if (<src.findlayer(1).type> == T_WEAPON_MACE_SMITH) // Проверка или молоток в правой руке
DIALOG bsmenu
else
src.sysmessage You must have a Hammer in your right hand!
return 1
endif
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
src.sound 573 // Звук
src.anim 9 // Анимация
if (<eval rand(1000)> < <src.blacksmithing>) // Физлы
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
src.emote craft <src.act.name>
else
src.say You fail to create this item...
return 1
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