-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathletter.mod
More file actions
130 lines (116 loc) · 3.06 KB
/
letter.mod
File metadata and controls
130 lines (116 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
letter={}
letter["ok"]=nil
letter["fail"]=nil
letter["npc"]=""
letter["city"]=""
letter["searchcount"]=0
letter.yuelimax=0
do_letter=function(letter_ok,letter_fail,yuelimax)
letter["ok"]=letter_ok
letter["fail"]=letter_fail
letter.yuelimax=getnum(tonumber(yuelimax))
setlettertri()
letter.main()
end
letter["check"]=function()
if do_check(letter["main"],letter["main"]) then
elseif checkstudy(letter["main"],letter["main"]) then
elseif checkfangqi(letter["main"],letter["main"]) then
else
go(familys[me.fam].masterloc,letter["questarrive"],letter_end_fail)
end
end
letter["questarrive"]=function()
npchere (familys[me.fam].masterid,"give receipt to "..familys[me.fam].masterid..";quest cancel")
busytest(letter["quest"])
end
letter.quest=function()
if npc.nobody==1 then
letter_end_fail()
return
end
letter["npc"]=""
run("drop receipt")
run("quest "..familys[me.fam].masterid)
run("quest")
busytest(letter.questok)
end
letter.questok=function()
if letter["npc"]=="" or (letter.city=="华山" and huashanletter~=true)then
letter_end_fail()
return
end
npc.name=letter["npc"]
letter["searchcount"]=0
do_npcinpath(city[letter.city].path,letter.npcfind,letter_end_fail)
end
letter.npcfind=function()
if npc.id==nil or npc.id=="" then
npc.id=getcnname(npc.name)
end
if npc.id==nil then npc.id ="" end
npchere(npc.id,"give letter to "..npc.id)
busytest(letter.npcgiven)
end
letter.npcgiven=function()
if npc.nobody==1 then
do_searchnpc(letter.npcfind,letter_end_fail)
else
go(familys[me.fam].masterloc,letter.receipt,letter_end_fail)
end
end
letter.receipt=function()
run("give receipt to "..familys[me.fam].masterid..";drop receipt")
if letter.yuelimax~=0 then score() end
busytest(letter_end_ok)
end
letter.loop=function()
if letter.yuelimax==0 or letter.yuelimax>getnum(me.score.yueli) then
busytest(letter.loopcmd)
return
end
run("drop letter;drop receipt")
letter["end"]()
busytest(aliasaftercmd)
end
letter.loopcmd=function()
do_letter(letter.loop,letter.loop,letter.yuelimax)
end
letter["main"]=function()
EnableTriggerGroup("letter",true)
if quest.stop then
letter["end"]()
return
end
run("drop letter")
getstatus(letter["check"])
end
letter["searchend"]=function()
letter["searchcount"]=letter["searchcount"]+1
if letter["searchcount"]<4 then
do_npcinpath(city[letter.city].path,letter.npcfind,letter_end_fail)
else
letter_end_fail()
end
end
letter["end"]=function(s)
if ((s~="")and(s~=nil)) then
call(letter[s])
end
letter["ok"]=nil
letter["fail"]=nil
EnableTriggerGroup("letter",false)
end
letter_end_ok=function()
letter["end"]("ok")
end
letter_end_fail=function()
letter["end"]("fail")
end
setlettertri=function()
SetTriggerOption ("letter_quest", "match", "^(> )*"..familys[me.fam].mastername.."吩咐你在.*之前把信件送到(.*)手中,取回执交差。\\n据闻不久前此人曾经在(.*)。$")
end
letter_quest=function(n,l,w)
letter.npc=w[2]
letter.city=UTF8Sub(w[3],0,2)
end