Баффы по 61 уровень, кубик по 34.
NASC:
AI:
NASC:
Код:
class 1 newbie_guide : citizen{
parameter:
string fnHi = "";
string fnHighLevel = "";
string fnRaceMisMatch = "";
string fnGuideF05 = "";
string fnGuideF10 = "";
string fnGuideF15 = "";
string fnGuideF20 = "";
string fnGuideM07 = "";
string fnGuideM14 = "";
string fnGuideM20 = "";
string ShopName = "";
property:
TelPosList NewbieTokenTeleports = {{"Dark Elf Village"; 9716; 15502; -4500; 0; 0 };{"Dwarven Village"; 115120; -178112; -916; 0; 0 };{"Talking Island Village"; -84141; 244623; -3729; 0; 0 };{"Elven Village";46890; 51531; -2976; 0; 0 };{"Orc Village - Newbie Travel Token"; -45186; -112459; -236; 0; 0 }};
handler:
EventHandler TELEPORT_REQUESTED(talker)
{
if ( talker.level > 20 )
{
myself::ShowPage(talker, fnHighLevel);
return;
}
myself::Teleport(talker, NewbieTokenTeleports, ShopName, "", "", "", 8542, "");
}
EventHandler TALKED(talker)
{
myself::DeleteRadar(talker, -71073, 258711, -3099, 2);
myself::DeleteRadar(talker, -84081, 243277, -3723, 2);
myself::DeleteRadar(talker, 45492, 48359, -3060, 2);
myself::DeleteRadar(talker, 12111, 16686, -4582, 2);
myself::DeleteRadar(talker, -45042, -113598, -192, 2);
myself::DeleteRadar(talker, 115632, -177996, -905, 2);
myself::ShowPage(talker, fnHi);
}
EventHandler MENU_SELECTED(talker, ask, reply)
{
if ( ask == -7 && reply == 1 )
{
if ( talker.race != myself.sm.race )
{
myself::ShowPage(talker, fnRaceMisMatch);
}
else if ( talker.level > 20 || myself::IsInCategory(5, talker.occupation) == 0 )
{
myself::ShowPage(talker, fnHighLevel);
}
if ( myself::IsInCategory(0, talker.occupation) )
{
if ( talker.level <= 5 )
{
myself::ShowPage(talker, fnGuideF05);
}
else if ( talker.level <= 10 )
{
myself::ShowPage(talker, fnGuideF10);
}
else if ( talker.level <= 15 )
{
myself::ShowPage(talker, fnGuideF15);
}
else
{
myself::ShowPage(talker, fnGuideF20);
}
}
else if ( talker.level <= 7 )
{
myself::ShowPage(talker, fnGuideM07);
}
else if ( talker.level <= 14 )
{
myself::ShowPage(talker, fnGuideM14);
}
else
{
myself::ShowPage(talker, fnGuideM20);
}
}
else if ( ask == -7 && reply == 2 )
{
if ( talker.level < 62 )
{
if ( myself::IsInCategory(0, talker.occupation) && talker.level > 5 )
{
if ( talker.level >= 6 && talker.level <= 61 )
{
myself::AddUseSkillDesire(talker, 1106433, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1106689, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1106945, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1107201, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1107457, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1107713, 1, 0, 1000000);
}
if ( talker.level >= 16 && talker.level <= 34 )
{
myself::AddUseSkillDesire(talker, 1110529, 1, 0, 1000000);
}
}
else if ( myself::IsInCategory(1, talker.occupation) && talker.level > 5 )
{
if ( talker.level >= 6 && talker.level <= 61 )
{
myself::AddUseSkillDesire(talker, 1106433, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1106689, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1107969, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1108225, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1108481, 1, 0, 1000000);
myself::AddUseSkillDesire(talker, 1108737, 1, 0, 1000000);
}
if ( talker.level >= 16 && talker.level <= 34 )
{
myself::AddUseSkillDesire(talker, 1110529, 1, 0, 1000000);
}
}
else
{
myself::ShowPage(talker, "guide_for_newbie002.htm");
}
}
else
{
myself::ShowPage(talker, "guide_for_newbie003.htm");
}
}
if ( ask == -7 && reply == 3 )
{
if ( myself::IsNewbie(talker) && talker.level < 40 )
{
myself::AddUseSkillDesire(talker, 1326593, 1, 0, 1000000);
}
else
{
myself::ShowPage(talker, fnHighLevel);
}
}
}
}
}
Код:
class 1 newbie_guide : citizenparameter_define_begin
string fnHi ""
string fnHighLevel ""
string fnRaceMisMatch ""
string fnGuideF05 ""
string fnGuideF10 ""
string fnGuideF15 ""
string fnGuideF20 ""
string fnGuideM07 ""
string fnGuideM14 ""
string fnGuideM20 ""
string ShopName ""
parameter_define_end
property_define_begin
telposlist_begin NewbieTokenTeleports
{"Dark Elf Village"; 9716; 15502; -4500; 0; 0}
{"Dwarven Village"; 115120; -178112; -916; 0; 0}
{"Talking Island Village"; -84141; 244623; -3729; 0; 0}
{"Elven Village"; 46890; 51531; -2976; 0; 0}
{"Orc Village - Newbie Travel Token"; -45186; -112459; -236; 0; 0}
telposlist_end
property_define_end
handler 28 47 // TELEPORT_REQUESTED
variable_begin
"talker"
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 20
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 fnHighLevel
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
exit_handler
L2
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_property NewbieTokenTeleports
push_parameter ShopName
S0. ""
push_string S0
S1. ""
push_string S1
S2. ""
push_string S2
push_const 8542
S3. ""
push_string S3
func_call 185073739 // func[Teleport]
shift_sp -8
shift_sp -1
handler_end
handler 3 113 // TALKED
variable_begin
"talker"
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_const 71073
negate
push_const 258711
push_const 3099
negate
push_const 2
func_call 184877319 // func[DeleteRadar]
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_const 84081
negate
push_const 243277
push_const 3723
negate
push_const 2
func_call 184877319 // func[DeleteRadar]
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_const 45492
push_const 48359
push_const 3060
negate
push_const 2
func_call 184877319 // func[DeleteRadar]
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_const 12111
push_const 16686
push_const 4582
negate
push_const 2
func_call 184877319 // func[DeleteRadar]
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_const 45042
negate
push_const 113598
negate
push_const 192
negate
push_const 2
func_call 184877319 // func[DeleteRadar]
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_const 115632
push_const 177996
negate
push_const 905
negate
push_const 2
func_call 184877319 // func[DeleteRadar]
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
handler_end
handler 32 794 // 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 7
negate
equal
push_reg_sp
fetch_i
branch_false L5
push_event // reply
push_const 164
add
fetch_i4
push_const 1
equal
and
L5
branch_false L4
L3
push_event // talker
push_const 40
add
fetch_i // race
push_const 188
add
fetch_i4
push_event // myself
push_const 704
add
fetch_i // sm
push_const 544
add
fetch_i // race
push_const 188
add
fetch_i4
not_equal
branch_false L7
L6
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnRaceMisMatch
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L8
L7
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 20
greater
push_reg_sp
fetch_i
branch_true L11
push_event // myself
push_const 704
add
fetch_i
push_const 5
push_event // talker
push_const 40
add
fetch_i // occupation
push_const 192
add
fetch_i4
func_call 184680656 // func[IsInCategory]
shift_sp -2
push_const 0
equal
or
L11
branch_false L10
L9
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnHighLevel
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L10
L8
push_event // myself
push_const 704
add
fetch_i
push_const 0
push_event // talker
push_const 40
add
fetch_i // occupation
push_const 192
add
fetch_i4
func_call 184680656 // func[IsInCategory]
shift_sp -2
branch_false L13
L12
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 5
less_equal
branch_false L15
L14
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideF05
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L16
L15
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 10
less_equal
branch_false L18
L17
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideF10
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L19
L18
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 15
less_equal
branch_false L21
L20
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideF15
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L22
L21
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideF20
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L22
L19
L16
jump L23
L13
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 7
less_equal
branch_false L25
L24
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideM07
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L26
L25
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 14
less_equal
branch_false L28
L27
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideM14
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
jump L29
L28
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnGuideM20
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L29
L26
L23
jump L30
L4
push_event // ask
push_const 160
add
fetch_i4
push_const 7
negate
equal
push_reg_sp
fetch_i
branch_false L33
push_event // reply
push_const 164
add
fetch_i4
push_const 2
equal
and
L33
branch_false L32
L31
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 62
less
branch_false L35
L34
push_event // myself
push_const 704
add
fetch_i
push_const 0
push_event // talker
push_const 40
add
fetch_i // occupation
push_const 192
add
fetch_i4
func_call 184680656 // func[IsInCategory]
shift_sp -2
push_reg_sp
fetch_i
branch_false L38
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 5
greater
and
L38
branch_false L37
L36
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 6
greater_equal
push_reg_sp
fetch_i
branch_false L41
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 61
less_equal
and
L41
branch_false L40
L39
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_const 1106433
push_const 1
push_const 0
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_const 1106689
push_const 1
push_const 0
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_const 1106945
push_const 1
push_const 0
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_const 1107201
push_const 1
push_const 0
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_const 1107457
push_const 1
push_const 0
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_const 1107713
push_const 1
push_const 0
push_const 1000000
func_call 184877074 // func[AddUseSkillDesire]
shift_sp -5
shift_sp -1
L40
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 16
greater_equal
push_reg_sp
fetch_i
branch_false L44
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 34
less_equal
and
L44
branch_false L43
L42
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_const 1110529
push_const 1
push_const 0
push_const 1000000
func_call 184877074 // func[AddUseSkillDesire]
shift_sp -5
shift_sp -1
L43
jump L45
L37
push_event // myself
push_const 704
add
fetch_i
push_const 1
push_event // talker
push_const 40
add
fetch_i // occupation
push_const 192
add
fetch_i4
func_call 184680656 // func[IsInCategory]
shift_sp -2
push_reg_sp
fetch_i
branch_false L48
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 5
greater
and
L48
branch_false L47
L46
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 6
greater_equal
push_reg_sp
fetch_i
branch_false L51
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 61
less_equal
and
L51
branch_false L50
L49
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_const 1106433
push_const 1
push_const 0
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_const 1106689
push_const 1
push_const 0
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_const 1107969
push_const 1
push_const 0
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_const 1108225
push_const 1
push_const 0
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_const 1108481
push_const 1
push_const 0
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_const 1108737
push_const 1
push_const 0
push_const 1000000
func_call 184877074 // func[AddUseSkillDesire]
shift_sp -5
shift_sp -1
L50
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 16
greater_equal
push_reg_sp
fetch_i
branch_false L54
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 34
less_equal
and
L54
branch_false L53
L52
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_const 1110529
push_const 1
push_const 0
push_const 1000000
func_call 184877074 // func[AddUseSkillDesire]
shift_sp -5
shift_sp -1
L53
jump L55
L47
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
S4. "guide_for_newbie002.htm"
push_string S4
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L55
L45
jump L56
L35
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
S5. "guide_for_newbie003.htm"
push_string S5
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L56
L32
L30
push_event // ask
push_const 160
add
fetch_i4
push_const 7
negate
equal
push_reg_sp
fetch_i
branch_false L59
push_event // reply
push_const 164
add
fetch_i4
push_const 3
equal
and
L59
branch_false L58
L57
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
func_call 184615293 // func[IsNewbie]
shift_sp -1
push_reg_sp
fetch_i
branch_false L62
push_event // talker
push_const 40
add
fetch_i // level
push_const 1092
add
fetch_i4
push_const 40
less
and
L62
branch_false L61
L60
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_const 1326593
push_const 1
push_const 0
push_const 1000000
func_call 184877074 // func[AddUseSkillDesire]
shift_sp -5
shift_sp -1
jump L63
L61
push_event // myself
push_const 704
add
fetch_i
push_event // talker
push_const 40
add
fetch_i
push_parameter fnHighLevel
func_call 184680516 // func[ShowPage]
shift_sp -2
shift_sp -1
L63
L58
handler_end
class_end