Код
[itemdef i_cookbook] 
name=CookBook
id=i_spellbook
WEIGHT=1
VALUE=50
type=t_spellbook

CATEGORY=Other
SUBSECTION=Books
DESCRIPTION=CookBook

on=@create
type=t_wand
color=00848

on=@dclick
IF !(<TOPOBJ.UID>==<SRC.UID>)
SRC.MESSAGE You have to be carrying this to use it!
ELSE
dialog d_cookbook_new
RETURN 1
ENDIF

[DIALOG d_cookbook_new]
0,0
gumppic 100 100 0500 //Background: open book

page 1 //Page 1: Book Index
button 456 100 0502 0502 0 2 //per pagina 2 alto destra
text 147 125 0210 0 //Text: cookbook ver.1.0
text 155 150 0000 1 //Text: By
text 174 150 0005 2 //Text: GM Athlon
gumppic 180 190 7001 //img pane-vino
button 370 260 1028 1027 1 0 7 //button: quit

text 355 110 0100 3 //text: ricettario
button 330 150 1209 1210 0 2 //to page 2 prodotti da forno
text 350 146 0000 4 //text: prodotti da forno
button 330 180 1209 1210 0 3 //to page 3 dolci e dessert
text 350 176 0000 5 //text: dolci e dessert
button 330 210 1209 1210 0 4 //to page 4 liquori e vini
text 350 206 0000 6 //text: liquori e vini

page 2 //PRODOTTI DA FORNO
button 100 100 0501 0501 0 1 //per pagina 1 alto sinistra
button 456 100 0502 0502 0 3 //per pagina 3 alto destra
text 168 115 0210 7 //text: prodotti da forno
text 150 150 0000 12 //text: Note
text 150 175 0000 13 //text: questo tipo di
text 150 190 0000 14 //text: prodotti richiede
text 150 205 0000 15 //text: l'uso di un
text 150 220 0000 16 //text: mattarello e vari
text 150 235 0000 17 //text: ingredienti culinari.
text 220 260 0005 18 //text: Athlon

button 330 140 1209 1210 1 0 1 //to craft pane francese
text 350 136 0000 22 //text: pane francese
button 330 220 1209 1210 1 0 2 //to craft pizza
text 350 216 0000 23 //text: pizza

text 360 158 0000 24 //text: Ingredienti
text 340 175 0000 25 //text: 1 brocca d'acqua
text 340 190 0000 26 //text: 1 sacco di farina
text 360 238 0000 24 //text: Ingredienti
text 340 255 0000 25 //text: 1 brocca d'acqua
text 340 270 0000 26 //text: 1 sacco di farina
text 340 285 0000 27 //text: 1 Bowl of Tomato

page 3 //DOLCI E DESSERT
button 100 100 0501 0501 0 2 //per pagina 2 alto sinistra
button 456 100 0502 0502 0 4 //per pagina 4 alto destra
text 168 115 0210 8 //text: dolci e dessert
text 150 150 0000 11 //text: Note
text 220 260 0005 18 //text: Athlon
text 150 175 0000 13 //text: questo tipo di
text 150 195 0000 14 //text: prodotti richiede
text 150 215 0000 19 //text: l'uso di vari
text 150 235 0000 17 //text: ingredienti culinari.

button 330 140 1209 1210 1 0 3 //to craft cake
text 350 136 0000 28 //text: Torta
button 330 235 1209 1210 1 0 4 //to craft ciambelle
text 350 231 0000 31 //text: ciambelle

text 360 158 0000 24 //text: Ingredienti
text 340 175 0000 29 //text: 1 brocca di latte
text 340 190 0000 26 //text: 1 sacco di farina
text 340 205 0000 30 //text: 5 uova fresche
text 360 253 0000 24 //text: ingredienti
text 340 270 0000 32 //text: 1 barattolo di miele
text 340 285 0000 26 //text: 1 sacco di farina

page 4 //LIQUORI E VINI
button 100 100 0501 0501 0 3 //per pagina 3 alto sinistra
text 168 115 0210 9 //text: liquori e vini
text 150 150 0000 10 //text: Note
text 220 260 0005 18 //text: Athlon
text 150 175 0000 13 //text: questo tipo di
text 150 195 0000 14 //text: prodotti richiede
text 150 215 0000 20 //text: l'uso di uve
text 150 235 0000 21 //text: di prima scelta.

button 330 140 1209 1210 1 0 5 //to craft brocca di vino
text 350 136 0000 33 //text: brocca di vino
button 330 220 1209 1210 1 0 6 //to craft brocca di liquore
text 350 216 0000 34 //text: brocca di liquore

text 360 158 0000 24 //text: Ingredienti
text 340 175 0000 35 //text: 1 brocca vuota
text 340 190 0000 36 //text: 10 grappoli d'uva
text 360 238 0000 24 //text: Ingredienti
text 340 255 0000 35 //text: 1 brocca vuota
text 340 270 0000 36 //text: 10 grappoli d'uva

[DIALOG d_cookbook_new TEXT]
Cook-Book ver. 1.0
by
GM Athlon
CONTENTS
Baked Goods
Sweetness
Liquor and Wine
Baked Goods
Sweetness
Liquor and Wine
Note
Note
Note
This type of
product needs
a rolling
pin and various
ingredients.
Athlon
various
grapes of the  
very best quality.
French Bread
Pizza
Ingredients
1 Pitcher of Water
1 Flour Sack
1 Bowl of Tomato
Cake
1 Pitcher of Water
5 Fresh Eggs
Donuts
1 Jar of Honey
Pitcher of Wine
Pitcher of Liquor
1 Empty Pitcher
10 Grape Bunch

[DIALOG d_cookbook_new BUTTON]
on=0
return 1

on=1 //craft bread uncooked
if ((<src.restest 1 i_pitcher_water> ) && (<src.restest 1 i_flour_sack) && (<src.cooking>>600) && (<src.restest i_rolling_pin> ))
src.consume 1 i_pitcher_water
src.consume 1 i_flour_sack
f_makeitempane
else
src.message You don't have the ingredients or your skill is enough!
endif

on=2 //craft pizza uncooked
if ((<src.restest 1 i_pitcher_water> ) && (<src.restest 1 i_flour_sack> ) && (<src.restest 1 i_bowl_tomato_soup> ) && (<src.cooking>>650) && (<src.restest 1 i_rolling_pin> ))
src.consume 1 i_pitcher_water
src.consume 1 i_flour_sack
src.consume 1 i_bowl_tomato_soup
f_makeitempizza
else
src.message You don't have the ingredients or your skill is enough!
endif

on=3 //craft cake uncooked
if ((<src.restest 1 i_pitcher_milk> ) && (<src.restest 5 i_eggs_fresh> ) && (<src.restest 1 i_flour_sack> ) && (<src.cooking>>700))
src.consume 1 i_pitcher_milk
src.consume 5 i_eggs_fresh
src.consume 1 i_flour_sack
f_makeitemcake
else
src.message You don't have the ingredients or your skill is enough!
endif

on=4 //craft donuts uncooked
if ((<src.restest 1 i_jar_honey> ) && (<src.restest 1 i_flour_sack> ) && (<src.cooking>>700))
src.consume 1 i_jar_honey
src.consume 1 i_flour_sack
f_makeitemciam
else
src.message You don't have the ingredients or your skill is enough!
endif

on=5 //craft pitcher of wine
if ((<src.restest 10 i_fruit_grapes> ) && (<src.restest 1 i_pitcher_empty> ) && (<src.cooking>>750))
src.consume 10 i_fruit_grapes
src.consume 1 i_pitcher_empty
f_makeitemwine
else
src.message You don't have the ingredients or your skill is enough!
endif

on=6 //craft pitcher of liquor
if ((<src.restest 10 i_fruit_grapes> ) && (<src.restest 1 i_pitcher_empty> ) && (<src.cooking>>750))
src.consume 10 i_fruit_grapes
src.consume 1 i_pitcher_empty
f_makeitemliqu
else
src.message You don't have the ingredients or your skill is enough!
endif

on=7
src.message Hello!
return 1

[function f_makeitemliqu]
if (rand(3)==1)
src.message You making a pitcher of liquor!
src.newitem i_pitcher_liquor
src.act.bounce
else
src.message You fail the prescription!
endif

[function f_makeitemwine]
if (rand(3)==1)
src.message You making a pitcher of wine!
src.newitem i_pitcher_wine
src.act.bounce
else
src.message You fail the prescription!
endif

[function f_makeitemciam]
if (rand(3)==1)
src.message You making a uncooked donuts!
src.newitem i_ciam_crudo
src.act.bounce
else
src.message You fail the prescription!
endif

[function f_makeitemcake]
if (rand(3)==1)
src.message You making a uncooked cake!
src.newitem i_cake_crudo
src.act.bounce
else
src.message You fail the prescription!
endif

[function f_makeitempane]
if (rand(3)==1)
src.message You making a uncooked bread!
src.newitem i_bread_crudo
src.act.bounce
else
src.message You fail the prescription!
endif

[function f_makeitempizza]
if (rand(3)==1)
src.message You making a uncooked pizza!
src.newitem i_pizza_uncooked
src.act.bounce
else
src.message You fail the prescription!
endif

[itemdef i_pitcher_empty]
name=Empty Pitcher
id=i_pitcher_water
type=t_normal

on=@create
type=t_normal

on=@dclick
src.message You can fill this pitcher with a drink!
src.sysmessage Use a cookbook, he is crafted by a inscriptioner
return 1

[itemdef i_bread_crudo]
name=Uncooked Bread
id=i_bread_french

on=@create
type=t_food_raw

on=@dclick
if (<src.restest 1 i_bread_crudo> )
target What do you want to cook this on?
else
src.message You don't have the uncooked bread in your backpack!
return 1
endif

on=@targon_item
if ((<src.targ.type>=t_campfire) && (<src.restest 1 i_bread_crudo> ))
src.consume 1 i_bread_crudo
f_panecotto
return 1
else
src.message You don't have the uncooked bread in your back or you do cook this in a campfire!
return 1
endif

[function f_panecotto]
if (rand(3)==1)
src.newitem i_bread_french
src.act.bounce
src.message You cooked the bread!
return 1
else
src.message Argh he is burned!
return 1
endif

[itemdef i_cake_crudo]
id=i_cake
name=Uncooked Cake

on=@create
type=t_food_raw

on=@dclick
if (<src.restest 1 i_cake_crudo> )
target What do you want to cook this on?
else
src.message You don't have the uncooked cake in your backpack!
return 1
endif

on=@targon_item
if ((<src.targ.type>=t_campfire) && (<src.restest 1 i_cake_crudo> ))
src.consume 1 i_cake_crudo
f_cakecotto
return 1
else
src.message You don't have the uncooked cake in your back or you do cook this in a campfire!
return 1
endif

[function f_cakecotto]
if (rand(3)==1)
src.newitem i_cake
src.act.bounce
src.message You have cooked the cake!
return 1
else
src.message Argh he is burned!
return 1
endif

[itemdef i_ciam_crudo]
id=i_donuts
name=Uncooked Donuts

on=@create
type=t_food_raw

on=@dclick
if (<src.restest 1 i_ciam_crudo> )
target What do you want to cook this on?
else
src.message You don't have the uncooked donuts in your backpack!
return 1
endif

on=@targon_item
if ((<src.targ.type>=t_campfire) && (<src.restest 1 i_ciam_crudo> ))
src.consume 1 i_ciam_crudo
f_ciamcotto
return 1
else
src.message You don't have the uncooked donuts in your back or you do cook this in a campfire!
return 1
endif

[function f_ciamcotto]
if (rand(3)==1)
src.newitem i_donuts
src.act.bounce
src.message You have cooked the donuts!
return 1
else
src.message Argh he is burned!
return 1
endif