Vorwort:
Ich sehe viele Leute die schon bei den einfachen Quests viele Fehler reinhauen, also mache ich diesen Thread. Ich wollte es einfach nur mal versuchen besser zu erkären.
Ich hab mir das Quest schreiben alleine beigebracht, und anderen Leuten in "Die Questkontrolle" zu helfen ist aussichtslos.
Ich hab angefangen die Quests auf Deutsch zu übersetzen, hab sie verstanden und fing an meine eigenen zu schreiben.
Aber ich werde es euch hier ein bisschen leichter machen.
Ich hab mir das Quest schreiben alleine beigebracht, und anderen Leuten in "Die Questkontrolle" zu helfen ist aussichtslos.
Ich hab angefangen die Quests auf Deutsch zu übersetzen, hab sie verstanden und fing an meine eigenen zu schreiben.
Aber ich werde es euch hier ein bisschen leichter machen.
Questfunktionen:
Alle Questbefehle findet ihr in Filezilla unter:
da findet ihr die datei "questfunctions".
(in den Ordner müsst ihr außerdem alle Quests hochladen)
oder hier die Quest-Funktionen:
Code:
usr/rain/channel/share_data/locale/hongkong/quest
(in den Ordner müsst ihr außerdem alle Quests hochladen)
oder hier die Quest-Funktionen:
__give_char_priv
addimage
addmapsignal
affect.add
affect.remove
affect.remove_bad
affect.remove_good
bool_to_str
building.get_land_id
building.get_land_info
building.has_land
building.set_land_owner
char_log
chat
clear_server_timer
clearmapsignal
cleartimer
cmdchat
color
complete_quest
complete_quest_state
confirm
sys_log
d.check_eliminated
d.clear_regen
d.count_monster
d.exit
d.exit_all
d.exit_all_to_start_position
d.get_kill_mob_count
d.get_kill_stone_count
d.get_map_index
d.getf
d.is_unique_dead
d.is_use_potion
d.join
d.jump_all
d.jump_all_local
d.kill_unique
d.new_jump
d.new_jump_all
d.purge
d.purge_unique
d.regen_file
d.revived
d.select
d.set_dest
d.set_exit_all_at_eliminate
d.set_regen_file
d.set_unique
d.set_warp_at_eliminate
d.setf
d.spawn
d.spawn_goto_mob
d.spawn_group
d.spawn_mob
d.spawn_move_group
d.spawn_move_unique
d.spawn_name_mob
d.spawn_stone_door
d.spawn_unique
d.spawn_wooden_door
d.unique_get_hp_perc
d.unique_set_def_grade
d.unique_set_hp
d.unique_set_maxhp
delay
find_npc_by_vnum
find_pc_by_name
find_pc_cond
game.drop_item
game.get_event_flag
game.get_guild_name
game.get_safebox_level
game.get_warp_guild_war_list
game.open_mall
game.open_safebox
game.request_make_guild
game.set_event_flag
game.set_safebox_level
get_global_time
get_locale
get_server_timer_arg
get_time
guild.around_ranking_string
guild.get_any_war
guild.get_ladder_point
guild.get_name
guild.get_rank
guild.get_reserve_war_table
guild.get_warp_war_list
guild.high_ranking_string
guild.is_bet
guild.is_war
guild.level
guild.name
guild.war_bet
guild.war_enter
highscore.register
highscore.show
horse.advance
horse.feed
horse.get_grade
horse.get_health
horse.get_health_pct
horse.get_hp
horse.get_level
horse.get_stamina
horse.get_stamina_pct
horse.is_dead
horse.is_mine
horse.is_riding
horse.revive
horse.ride
horse.set_level
horse.summon
horse.unride
horse.unsummon
input
is_test_server
item.get_count
item.get_level
item.get_name
item.get_refine_vnum
item.get_size
item.get_socket
item.get_sub_type
item.get_type
item.get_value
item.get_vnum
item.has_flag
item.next_refine_vnum
item.remove
item.set_socket
item_name
loop_timer
makequestbutton
marriage.divorce_time_check
marriage.end_wedding
marriage.engage_to
marriage.find_married_vid
marriage.get_married_time
marriage.get_wedding_list
marriage.join_wedding
marriage.marry_to
marriage.remove
marriage.set_to_marriage
marriage.warp_to_my_marriage_map
marriage.wedding_dark
marriage.wedding_snow
marriage.wedding_music
marriage.wedding_is_playing_music
math.floor
math.max
math.mod
math.random
member.chat
member.clear_ready
member.set_ready
mob.spawn
mob.spawn_group
mob_name
mob_vnum
next_time_is_now
next_time_set
notice
npc.dec_remain_hairdye_count
npc.dec_remain_skill_book_count
npc.get_empire
npc.get_race
npc.get_remain_hairdye_count
npc.get_remain_skill_book_count
npc.getrace
npc.is_near
npc.is_near_vid
npc.is_pc
npc.is_quest
npc.kill
npc.lock
npc.open_shop
npc.purge
npc.unlock
npc_get_job
npc_is_same_empire
npc_is_same_job
number
party.chat
party.clear_ready
party.get_max_level
party.get_near_count
party.getf
party.is_leader
party.is_party
party.run_cinematic
party.setf
party.setqf
party.show_cinematic
party.syschat
pc.aggregate_monster
pc.change_alignment
pc.change_gold
pc.change_money
pc.change_sp
pc.changealignment
pc.changegold
pc.changemoney
pc.clear_skill
pc.clear_sub_skill
pc.clear_one_skill
pc.count_item
pc.countitem
pc.delqf
pc.destroy_guild
pc.enough_inventory
pc.forget_my_attacker
pc.get_armor
pc.get_empire
pc.get_equip_refine_level
pc.get_exp
pc.get_gold
pc.get_guild
pc.get_horse_level
pc.get_hp
pc.get_job
pc.get_leadership
pc.get_level
pc.get_local_x
pc.get_local_y
pc.get_map_index
pc.get_max_hp
pc.get_max_sp
pc.get_money
pc.get_name
pc.get_next_exp
pc.get_part
pc.get_playtime
pc.get_sex
pc.get_skill_level
pc.get_sp
pc.get_start_location
pc.get_vid
pc.get_war_map
pc.get_weapon
pc.get_x
pc.get_y
pc.getarmor
pc.getcurrentmapindex
pc.getempire
pc.getf
pc.getgold
pc.getguild
pc.gethp
pc.getleadership
pc.getmaxhp
pc.getmaxsp
pc.getmoney
pc.getname
pc.getplaytime
pc.getqf
pc.get_skill_group
pc.getsp
pc.getweapon
pc.getx
pc.gety
pc.give_exp
pc.give_exp2
pc.give_exp_perc
pc.give_gold
pc.give_item
pc.give_item2
pc.give_item_from_special_item_group
pc.give_lotto
pc.has_guild
pc.has_master_skill
pc.hasguild
pc.have_map_scroll
pc.have_pos_scroll
pc.in_dungeon
pc.is_guild_master
pc.is_horse_alive
pc.is_married
pc.is_mount
pc.is_polymorphed
pc.isguildmaster
pc.mount
pc.pc_attract_ranger
pc.polymorph
pc.refine_equip
pc.remove_from_guild
pc.remove_item
pc.remove_polymorph
pc.removeitem
pc.reset_point
pc.revive_horse
pc.select
pc.set_part
pc.set_warp_location
pc.set_warp_location_local
pc.setf
pc.setqf
pc.set_skill_group
pc.set_skill_level
pc.unmount
pc.warp
pc.warp_exit
pc.warp_local
pc.warp_to_guild_war_observer_position
pc.is_clear_skill_group
pc_find_skill_teacher_vid
pc_find_square_guard_vid
pc_get_exp_bonus
pc_get_village_map_index
pc_is_novice
q.done
q.getcurrentquestindex
q.no_send
q.set_clock
q.set_clock_name
q.set_clock_value
q.set_counter
q.set_counter_name
q.set_counter_value
q.set_icon
q.set_quest_state
q.set_state
q.set_title
q.set_title2
q.setstate
q.start
q.yield
raw_script
restart_quest
say
say_npc_name
say_pc_name
say_reward
say_title
say_item
say_item_vnum
select
select_table
clear_letter
send_letter
send_letter_ex
server_loop_timer
server_timer
set_quest_state
set_state
setbgimage
setcolor
setleftimage
setmapcenterposition
setskin
setstate
show_horse_menu
skill_group_dialog
syschat
table.insert
table.foreach
table.foreachi
table.getn
table_get_random_item
target.clear
target.delete
target.id
target.npc
target.pc
target.pos
target.vid
test_chat
time_hour_to_sec
time_min_to_sec
timer
tonumber
tostring
type
wait
pc.is_engaged
time_to_str
string.format
math.ceil
pc.is_gm
pc.get_gm_level
pc.get_alignment
pc.get_real_alignment
pc.learn_grand_master_skill
pc.is_skill_book_no_delay
pc.remove_skill_book_no_delay
__get_empire_priv_string
__give_empire_priv
npc.get_guild
pc.mining
d.notice
pc.ore_refine
under_han
d.kill_all
d.setqf
__get_guild_priv_string
__give_guild_priv
__get_guildid_byname
item.get_id
item.select
select_item
item.select_cell
pc.diamond_refine
__fish_real_refine_rod
__refine_pick
item.get_cell
building.reconstruct
arena.start_duel
arena.get_duel_list
arena.add_observer
arena.is_in_arena
BuildSkillList
notice_all
warp_all_to_village
say_in_map
goldbar.quest
warp_all_in_map
regen_in_map
kill_all_in_map
notice_in_map
forked.decdeadcount
forked.cleardeadcount
forked.setdeadcount
forked.initkillcount
forked.inckillcount
forked.initmobkillcount
forked.incmobkillcount
forked.getmobkillcount
warp_all_except_my_empire_in_map
warp_all_my_empire_in_map
forked.initforked
warp_to_village
forked.getdeadcount
forked.incbosskillcount
forked.getbosskillcount
forked.getsungziposx
forked.getsungziposy
forked.getpassstartposx
forked.getpassstartposy
forked.getsungzimapindex
forked.getpassmapindex
forked.getpassmapindexbyempire
get_start_mapindex
get_start_pos_X
get_start_pos_Y
forked.getsungzipath
forked.getpasspath
forked.getpasspathbyempire
forked.isforkedmapindex
forked.issungzimapindex
warp_all_to_village_except_my_empire
is_allow_map
oh.candidacy_list
oh.election
oh.candidacy_name
oh.candidacy
oh.takemonarchmoney
pc.teleport
oh.isguildmaster
oh.candidacycount
affect.remove_hair
affect.add_hair
affect.add_collect
affect.add_collect_point
pc.get_premium_remain_sec
oh.ismonarch
oh.spawnmob
oh.monarchbless
oh.monarchpowerup
oh.monarchdefenseup
pc.send_block_mode
command
oxevent.get_status
oxevent.open
oxevent.close
oxevent.quiz
oxevent.end_event
oxevent.get_attender
oxevent.give_item
oxevent.end_event_force
forked.getlevellimit
mgmt.monarch_state
mgmt.monarch_change_lord
oh.frog_to_empire_money
oh.spawnguard
oh.info
oh.transfer
oh.warp
pc.change_sex
pc.change_empire
pc.get_change_empire_count
get_quest_state
affect.remove_collect
addimage
addmapsignal
affect.add
affect.remove
affect.remove_bad
affect.remove_good
bool_to_str
building.get_land_id
building.get_land_info
building.has_land
building.set_land_owner
char_log
chat
clear_server_timer
clearmapsignal
cleartimer
cmdchat
color
complete_quest
complete_quest_state
confirm
sys_log
d.check_eliminated
d.clear_regen
d.count_monster
d.exit
d.exit_all
d.exit_all_to_start_position
d.get_kill_mob_count
d.get_kill_stone_count
d.get_map_index
d.getf
d.is_unique_dead
d.is_use_potion
d.join
d.jump_all
d.jump_all_local
d.kill_unique
d.new_jump
d.new_jump_all
d.purge
d.purge_unique
d.regen_file
d.revived
d.select
d.set_dest
d.set_exit_all_at_eliminate
d.set_regen_file
d.set_unique
d.set_warp_at_eliminate
d.setf
d.spawn
d.spawn_goto_mob
d.spawn_group
d.spawn_mob
d.spawn_move_group
d.spawn_move_unique
d.spawn_name_mob
d.spawn_stone_door
d.spawn_unique
d.spawn_wooden_door
d.unique_get_hp_perc
d.unique_set_def_grade
d.unique_set_hp
d.unique_set_maxhp
delay
find_npc_by_vnum
find_pc_by_name
find_pc_cond
game.drop_item
game.get_event_flag
game.get_guild_name
game.get_safebox_level
game.get_warp_guild_war_list
game.open_mall
game.open_safebox
game.request_make_guild
game.set_event_flag
game.set_safebox_level
get_global_time
get_locale
get_server_timer_arg
get_time
guild.around_ranking_string
guild.get_any_war
guild.get_ladder_point
guild.get_name
guild.get_rank
guild.get_reserve_war_table
guild.get_warp_war_list
guild.high_ranking_string
guild.is_bet
guild.is_war
guild.level
guild.name
guild.war_bet
guild.war_enter
highscore.register
highscore.show
horse.advance
horse.feed
horse.get_grade
horse.get_health
horse.get_health_pct
horse.get_hp
horse.get_level
horse.get_stamina
horse.get_stamina_pct
horse.is_dead
horse.is_mine
horse.is_riding
horse.revive
horse.ride
horse.set_level
horse.summon
horse.unride
horse.unsummon
input
is_test_server
item.get_count
item.get_level
item.get_name
item.get_refine_vnum
item.get_size
item.get_socket
item.get_sub_type
item.get_type
item.get_value
item.get_vnum
item.has_flag
item.next_refine_vnum
item.remove
item.set_socket
item_name
loop_timer
makequestbutton
marriage.divorce_time_check
marriage.end_wedding
marriage.engage_to
marriage.find_married_vid
marriage.get_married_time
marriage.get_wedding_list
marriage.join_wedding
marriage.marry_to
marriage.remove
marriage.set_to_marriage
marriage.warp_to_my_marriage_map
marriage.wedding_dark
marriage.wedding_snow
marriage.wedding_music
marriage.wedding_is_playing_music
math.floor
math.max
math.mod
math.random
member.chat
member.clear_ready
member.set_ready
mob.spawn
mob.spawn_group
mob_name
mob_vnum
next_time_is_now
next_time_set
notice
npc.dec_remain_hairdye_count
npc.dec_remain_skill_book_count
npc.get_empire
npc.get_race
npc.get_remain_hairdye_count
npc.get_remain_skill_book_count
npc.getrace
npc.is_near
npc.is_near_vid
npc.is_pc
npc.is_quest
npc.kill
npc.lock
npc.open_shop
npc.purge
npc.unlock
npc_get_job
npc_is_same_empire
npc_is_same_job
number
party.chat
party.clear_ready
party.get_max_level
party.get_near_count
party.getf
party.is_leader
party.is_party
party.run_cinematic
party.setf
party.setqf
party.show_cinematic
party.syschat
pc.aggregate_monster
pc.change_alignment
pc.change_gold
pc.change_money
pc.change_sp
pc.changealignment
pc.changegold
pc.changemoney
pc.clear_skill
pc.clear_sub_skill
pc.clear_one_skill
pc.count_item
pc.countitem
pc.delqf
pc.destroy_guild
pc.enough_inventory
pc.forget_my_attacker
pc.get_armor
pc.get_empire
pc.get_equip_refine_level
pc.get_exp
pc.get_gold
pc.get_guild
pc.get_horse_level
pc.get_hp
pc.get_job
pc.get_leadership
pc.get_level
pc.get_local_x
pc.get_local_y
pc.get_map_index
pc.get_max_hp
pc.get_max_sp
pc.get_money
pc.get_name
pc.get_next_exp
pc.get_part
pc.get_playtime
pc.get_sex
pc.get_skill_level
pc.get_sp
pc.get_start_location
pc.get_vid
pc.get_war_map
pc.get_weapon
pc.get_x
pc.get_y
pc.getarmor
pc.getcurrentmapindex
pc.getempire
pc.getf
pc.getgold
pc.getguild
pc.gethp
pc.getleadership
pc.getmaxhp
pc.getmaxsp
pc.getmoney
pc.getname
pc.getplaytime
pc.getqf
pc.get_skill_group
pc.getsp
pc.getweapon
pc.getx
pc.gety
pc.give_exp
pc.give_exp2
pc.give_exp_perc
pc.give_gold
pc.give_item
pc.give_item2
pc.give_item_from_special_item_group
pc.give_lotto
pc.has_guild
pc.has_master_skill
pc.hasguild
pc.have_map_scroll
pc.have_pos_scroll
pc.in_dungeon
pc.is_guild_master
pc.is_horse_alive
pc.is_married
pc.is_mount
pc.is_polymorphed
pc.isguildmaster
pc.mount
pc.pc_attract_ranger
pc.polymorph
pc.refine_equip
pc.remove_from_guild
pc.remove_item
pc.remove_polymorph
pc.removeitem
pc.reset_point
pc.revive_horse
pc.select
pc.set_part
pc.set_warp_location
pc.set_warp_location_local
pc.setf
pc.setqf
pc.set_skill_group
pc.set_skill_level
pc.unmount
pc.warp
pc.warp_exit
pc.warp_local
pc.warp_to_guild_war_observer_position
pc.is_clear_skill_group
pc_find_skill_teacher_vid
pc_find_square_guard_vid
pc_get_exp_bonus
pc_get_village_map_index
pc_is_novice
q.done
q.getcurrentquestindex
q.no_send
q.set_clock
q.set_clock_name
q.set_clock_value
q.set_counter
q.set_counter_name
q.set_counter_value
q.set_icon
q.set_quest_state
q.set_state
q.set_title
q.set_title2
q.setstate
q.start
q.yield
raw_script
restart_quest
say
say_npc_name
say_pc_name
say_reward
say_title
say_item
say_item_vnum
select
select_table
clear_letter
send_letter
send_letter_ex
server_loop_timer
server_timer
set_quest_state
set_state
setbgimage
setcolor
setleftimage
setmapcenterposition
setskin
setstate
show_horse_menu
skill_group_dialog
syschat
table.insert
table.foreach
table.foreachi
table.getn
table_get_random_item
target.clear
target.delete
target.id
target.npc
target.pc
target.pos
target.vid
test_chat
time_hour_to_sec
time_min_to_sec
timer
tonumber
tostring
type
wait
pc.is_engaged
time_to_str
string.format
math.ceil
pc.is_gm
pc.get_gm_level
pc.get_alignment
pc.get_real_alignment
pc.learn_grand_master_skill
pc.is_skill_book_no_delay
pc.remove_skill_book_no_delay
__get_empire_priv_string
__give_empire_priv
npc.get_guild
pc.mining
d.notice
pc.ore_refine
under_han
d.kill_all
d.setqf
__get_guild_priv_string
__give_guild_priv
__get_guildid_byname
item.get_id
item.select
select_item
item.select_cell
pc.diamond_refine
__fish_real_refine_rod
__refine_pick
item.get_cell
building.reconstruct
arena.start_duel
arena.get_duel_list
arena.add_observer
arena.is_in_arena
BuildSkillList
notice_all
warp_all_to_village
say_in_map
goldbar.quest
warp_all_in_map
regen_in_map
kill_all_in_map
notice_in_map
forked.decdeadcount
forked.cleardeadcount
forked.setdeadcount
forked.initkillcount
forked.inckillcount
forked.initmobkillcount
forked.incmobkillcount
forked.getmobkillcount
warp_all_except_my_empire_in_map
warp_all_my_empire_in_map
forked.initforked
warp_to_village
forked.getdeadcount
forked.incbosskillcount
forked.getbosskillcount
forked.getsungziposx
forked.getsungziposy
forked.getpassstartposx
forked.getpassstartposy
forked.getsungzimapindex
forked.getpassmapindex
forked.getpassmapindexbyempire
get_start_mapindex
get_start_pos_X
get_start_pos_Y
forked.getsungzipath
forked.getpasspath
forked.getpasspathbyempire
forked.isforkedmapindex
forked.issungzimapindex
warp_all_to_village_except_my_empire
is_allow_map
oh.candidacy_list
oh.election
oh.candidacy_name
oh.candidacy
oh.takemonarchmoney
pc.teleport
oh.isguildmaster
oh.candidacycount
affect.remove_hair
affect.add_hair
affect.add_collect
affect.add_collect_point
pc.get_premium_remain_sec
oh.ismonarch
oh.spawnmob
oh.monarchbless
oh.monarchpowerup
oh.monarchdefenseup
pc.send_block_mode
command
oxevent.get_status
oxevent.open
oxevent.close
oxevent.quiz
oxevent.end_event
oxevent.get_attender
oxevent.give_item
oxevent.end_event_force
forked.getlevellimit
mgmt.monarch_state
mgmt.monarch_change_lord
oh.frog_to_empire_money
oh.spawnguard
oh.info
oh.transfer
oh.warp
pc.change_sex
pc.change_empire
pc.get_change_empire_count
get_quest_state
affect.remove_collect
P-Server all inclusive:
<<<-----Da könnt ihr auch schauen wegen Quests einfügen und schreiben, aber ich kenne niemanden wie man als anfänger bei "Eigene Quest schreiben" etwas lernt oder sich wirklich auskennt.
Vergleichsoperationen:
für 2 Werte
| Vergleich-Zeichen | Erklärung | Beispiel |
| < | Prüft, ob x kleiner y ist. | 3 < 5 ergibt True (Wahr), 5 < 3 ergibt False (Falsch) |
| > | Prüft, ob x größer y ist | 3 > 5 ergibt False, 5 > 3 ergibt True |
| <= | Prüft, ob x kleiner oder gleich y ist | 5 <= 5 und 3 <= 5 ergeben True, 5 <= 3 ergibt False |
| >= | Prüft, ob x größer oder gleich y ist | 5 >= 5 und 5 >= 3 ergeben True, 3 >= 5 ergibt False |
| == | Prüft, ob x und y gleich sind | 3 == 5 ergibt False, 5 == 5 ergibt True |
| != | Prüft, ob x und y ungleich sind 3 | 3 != 5 ergibt True, 5 != 5 ergibt False |
umändern kann man da sowiso nix. oder könnt ihr Mathe verändern? ^^
Um Quests schreiben zu können, empfehle ich einen guten Editor (ich hab Notepad++. Geht auch mit Wordpad)
Zeilenumbrüche: /mit Beispiel-Quest
Zeilenumbrüche zu machen ist für mich sehr wichtig, denn damit behalte ich die übersicht. Jedes mal sehe ich leute die falsche umbrüche gemacht haben und sich dann wundern wenn sie einen "end-fehler" bekommen. Ich habe jetz mal ein beispiel für euch:
Zeilenumbrüche werden nur bei Quest, State, When und If-Anweisungen verwendet. Und daher kommt dann die übersicht bei den End´s. Ein Umbruch für ein End.
PHP Code:
quest name begin
state start begin
when 20011.chat."Beispielquest" with pc.is_gm begin
say_title("Dieser Text ist gelb.")
say("Dieser Text ist weiß.")
say("---------||----------")
say_reward("Dieser Text ist rot.")
notice_all("--Im Chatfenster-- Schrift als ob ein GM schreibt.Jeder sieht es.")
chat("--Im Chatfenster-- Rote Schrift. Nur derjenige Spieler sieht die Schrift.")
local auswahl=select("Weiter reden","Schließen")
if auswahl==1 then
say("Ok ich rede weiter.")
elseif auswahl==2 then
say("Fenster wird geschlossen.")
return
end (-- if ende)
end (-- when ende)
end (-- state ende)
end (-- Quest ende)
Von Quest - End
QUEST-Abschnitt:
STATE-Abschnitt:
und dann wann die quest bzw. der Quest-Teil beginnen soll:
WHEN-Abschnitt:
Button-Auswahl:
/für das "a" kann man alles mögliche einsetzen ausser leerzeichen, umlaute und zahlen.
Basis-Befehle:
Beispiel FEHLERMELDUNG:
bei mir ist das meistens ein "end fehler".
d.h. ich habe ein end zu viel oder zu wenig.
Man kann jeden Fehler beheben. Man muss nur die Meldung ungefähr auf Deutsch übersetzen. Und natürlich die Brain.exe benutzen ^^
alles beginnt mit
/questname: name der datei (ohne ".quest")
PHP Code:
quest questname begin
STATE-Abschnitt:
dann erstes state:
state start begin
ihr könnt auch zwischen states wechseln:
set_state(statewechsel)
ihr könnt in die klammer irgendein wort einfügen.
state start begin
ihr könnt auch zwischen states wechseln:
set_state(statewechsel)
ihr könnt in die klammer irgendein wort einfügen.
PHP Code:
quest beispiel begin
state start begin
when .....
say("Hallo. Weiter zum nächstens State:")
set_state(weiter)
end
end
end
state weiter begin
when .....
say("Du bist nun im nächsten State.")
end
end
end
und dann wann die quest bzw. der Quest-Teil beginnen soll:
WHEN-Abschnitt:
zB. Spieler wird lvl 28:
oder
bei einem Login wird das so verbunden:
die abstände bei pc.get_level() und den anderen befehlen ist nicht so wichtig.
also ihr könnt auch schreiben "pc.get_level()>=28"
den Abstand könnt ihr aber NICHT bei jedem Befehl machen.
jeder wie er will.
Funktion wenn ein NPC sprechen soll:
bei npc_ID die gewünschte ID einfügen. Aber das gilt nur für Mobs bzw. NPC´s.
Bei einem Item:
dann kann man wieder ein Level hinzufügen
oder
.Sind die selben befehle.
PHP Code:
when pc.get_level() >= 28 begin
PHP Code:
when pc.level >= 28 begin
PHP Code:
when login with pc.get_level() >= 28
also ihr könnt auch schreiben "pc.get_level()>=28"
den Abstand könnt ihr aber NICHT bei jedem Befehl machen.
jeder wie er will.
Funktion wenn ein NPC sprechen soll:
PHP Code:
when npc_ID.chat."Überschrift" begin
Bei einem Item:
PHP Code:
when item_ID.use begin
Code:
... with pc.level begin
Code:
... with pc.get_level()
Button-Auswahl:
PHP Code:
local a = select("Auswahl 1","Auswahl 2","Auswahl 3","Abbrechen")
if a==1 then /bei einem "elseif" muss man nicht jedes if beenden (end)
.....
elseif a==2 then
.....
elseif a==3 then
.....
elseif a==4 then
return
end
Basis-Befehle:
angegeben in Sekunden. Beispiel: entweder 600 (600sek=10min) oder 60*10 (60sek*10=10min)
zum einzelnen mob spawnen:
es fällt etwas auf den boden.
PHP Code:
timer("name", Zeit)
....
when name.timer begin (dann läuft der timer ab)
PHP Code:
d.spawn_mob(mob_ID, x-Koordinate, y-Koordinate)
PHP Code:
game.drop_item(item_ID, Anzahl)
Beispiel FEHLERMELDUNG:
PHP Code:
assertion failure : nested==0
eeksring.quest:33:Abort trap (core dumped)
d.h. ich habe ein end zu viel oder zu wenig.
Man kann jeden Fehler beheben. Man muss nur die Meldung ungefähr auf Deutsch übersetzen. Und natürlich die Brain.exe benutzen ^^
Schlusswort:
Es gibt noch soviele andere Sachen, die man machen kann. wenn ich hier alles aufliste sitze ich eine woche ^^
falls ich noch etwas dazueditieren soll, oder wenn ihr fragen habt, stellt sie. ich werde das dann ergänzen.
ABER WENN IHR ES RICHTIG LERNEN WOLLT, DANN SCHAUT EUCH QUESTS AN. VON DENEN LERNT MAN DAS MEISTE UND SIE BEINHALTEN KEINE FEHLER. (Die unveränderten haben 100% keine Fehler)
Quests zu verstehen bringt euch mehr als irgend-jemand der euch das erklärt. So is es bei mir ^^
Ihr müsst sowiso auf das meiste alleine draufkommen. Nicht alles wird erklärt. Es sei denn, ihr habt einen Lehrer ^^
falls ich noch etwas dazueditieren soll, oder wenn ihr fragen habt, stellt sie. ich werde das dann ergänzen.
ABER WENN IHR ES RICHTIG LERNEN WOLLT, DANN SCHAUT EUCH QUESTS AN. VON DENEN LERNT MAN DAS MEISTE UND SIE BEINHALTEN KEINE FEHLER. (Die unveränderten haben 100% keine Fehler)
Quests zu verstehen bringt euch mehr als irgend-jemand der euch das erklärt. So is es bei mir ^^
Ihr müsst sowiso auf das meiste alleine draufkommen. Nicht alles wird erklärt. Es sei denn, ihr habt einen Lehrer ^^
Aber keine vollständigen Quests.
Und das hier ist auch keine Questkontrolle.
MfG CoreDump







