7
7
from utils .message_builder import image
8
8
from models .ban_user import BanUser
9
9
from models .bag_user import BagUser
10
- from models .TZtreasury import TZtreasury
10
+ from . models .TZtreasuryV1 import TZtreasury
11
11
from basic_plugins .ban .data_source import a_ban
12
12
from basic_plugins .shop .shop_handle .data_source import register_goods
13
13
import nonebot
14
14
import random
15
15
import time
16
16
17
- async def dl ():
18
- await AsyncHttpx .download_file (
19
- "https://raw.githubusercontent.com/po-lan/zhenxun_plugins_TZseries/main/models/TZtreasuryV1.py" ,
20
- path = path
21
- )
22
-
23
- try :
24
- from models .TZtreasury import TZtreasury
25
- except :
26
- from utils .http_utils import AsyncHttpx
27
- from pathlib import Path
28
- path = Path ("models" ) / "TZtreasury.py"
29
- import asyncio
30
- loop = asyncio .get_event_loop ()
31
- loop .run_until_complete (dl ())
32
- from models .TZtreasury import TZtreasury
33
-
34
17
__zx_plugin_name__ = "打劫"
35
18
__plugin_usage__ = """
36
19
usage:
@@ -60,21 +43,21 @@ async def dl():
60
43
"rst" : None ,
61
44
}
62
45
63
-
64
46
save = {}
65
47
savetime = 1800
66
48
enableCD = True
67
49
68
50
if enableCD :
69
51
driver : Driver = nonebot .get_driver ()
70
52
53
+
71
54
@driver .on_startup
72
55
async def _ ():
73
56
await register_goods (
74
57
"菜刀" , 500 , "进可攻退可守(影响抢劫概率,自动使用)"
75
58
)
76
59
77
- dj = on_command ("#打劫" , priority = 5 , block = True )
60
+ dj = on_command ("#打劫" , priority = 5 , block = True )
78
61
79
62
80
63
@dj .handle ()
@@ -92,18 +75,19 @@ async def _(event: GroupMessageEvent):
92
75
save [uid ] = 0
93
76
94
77
if qq in save .keys () and save [qq ] > time .time ():
95
- await dj .finish (f"""对方刚被打劫过,被警方层层保护,不好下手。\n 要不等{ '%.2f' % (int (save [qq ]- time .time ())/ 60 + 0.5 )} 分后回来看看?""" , at_sender = True )
78
+ await dj .finish (f"""对方刚被打劫过,被警方层层保护,不好下手。\n 要不等{ '%.2f' % (int (save [qq ] - time .time ()) / 60 + 0.5 )} 分后回来看看?""" ,
79
+ at_sender = True )
96
80
return
97
81
98
- name = await GroupInfoUser .get_member_info (qq , group )
82
+ name = await GroupInfoUser .get_member_info (qq , group )
99
83
if name == None :
100
84
await dj .finish ("你找不到打劫的对象,不如叫他先去签到?" , at_sender = True )
101
85
return
102
86
103
87
xgold1 = await BagUser .get_gold (qq , group )
104
88
xgold2 = await BagUser .get_gold (uid , group )
105
89
106
- #没钱不能打劫
90
+ # 没钱不能打劫
107
91
if xgold1 < 10 :
108
92
await dj .finish ("这人都可以上街乞讨去了,你真的忍心下手吗?" , at_sender = True )
109
93
@@ -123,41 +107,40 @@ async def _(event: GroupMessageEvent):
123
107
d2 = 0
124
108
125
109
text = ""
126
- #双方菜刀 大概率对砍
110
+ # 双方菜刀 大概率对砍
127
111
if random .randint (0 , 100 ) > 100 and d1 and d2 :
128
112
f = random .randint (10 , 30 )
129
113
t = random .randint (1 , 7 )
130
114
text += "\n 双方都持有菜刀\n "
131
115
if t > 3 :
132
- f += int (t ** 2 / 2 )
133
- text += f"斗争更激烈,掉落量增加{ int (t ** 2 / 2 )} %\n "
116
+ f += int (t ** 2 / 2 )
117
+ text += f"斗争更激烈,掉落量增加{ int (t ** 2 / 2 )} %\n "
134
118
elif t == 3 :
135
119
text += f"斗争僵持不下,掉落率没有变化\n "
136
120
else :
137
- f -= int (t ** 3 / 2 )
138
- text += f"{ name .user_name } 更好的保护住了自己的财产,掉落率降低{ int (t ** 3 / 2 )} %\n "
121
+ f -= int (t ** 3 / 2 )
122
+ text += f"{ name .user_name } 更好的保护住了自己的财产,掉落率降低{ int (t ** 3 / 2 )} %\n "
139
123
140
- cost = int (f * xgold1 / 100 )
141
- text += f"总掉落量{ f } %({ cost } )"
124
+ cost = int (f * xgold1 / 100 )
125
+ text += f"总掉落量{ f } %({ cost } )"
142
126
await BagUser .spend_gold (qq , group , cost )
143
127
await BagUser .add_gold (uid , group , cost )
144
128
await dj .finish (text , at_sender = True )
145
129
return
146
-
130
+
147
131
check = random .randint (1 , 121 )
148
132
if enableCD :
149
- #d1 被打劫的
133
+ # d1 被打劫的
150
134
if d1 :
151
135
check -= random .randint (5 , 9 )
152
136
if d2 :
153
137
check += random .randint (3 , 12 )
154
- cost = (min (xgold1 ,xgold2 )* 0.75 + max (xgold1 ,xgold2 )* 0.75 )* 0.75
138
+ cost = (min (xgold1 , xgold2 ) * 0.75 + max (xgold1 , xgold2 ) * 0.75 ) * 0.75
155
139
if cost > xgold1 :
156
140
cost = xgold1 * 0.5
157
141
cost = int (cost + 10 )
158
-
159
142
160
- if check > 120 :
143
+ if check > 120 :
161
144
cost = int (0.5 * xgold1 )
162
145
await BagUser .spend_gold (qq , group , cost )
163
146
text = f'\n 你把{ name .user_name } 五花大绑,并在{ name .user_name } 身上翻出{ str (cost )} (50%)枚金币!!!\n '
@@ -169,85 +152,86 @@ async def _(event: GroupMessageEvent):
169
152
isMax = True
170
153
cost = xgold1
171
154
172
- if check >= random .randint (75 ,90 ):
155
+ if check >= random .randint (75 , 90 ):
173
156
text = f'\n 你一蹦而出,大喊打劫!\n { name .user_name } 屈服于你淫威之下,拱手奉上{ str (cost )} 枚金币!!!'
174
157
if enableCD :
175
158
if d2 and isMax == False :
176
- text += f'\n 你晃动着菜刀,淡淡的问道就这?\n { name .user_name } 又拱手奉上{ str (int (cost / 10 ))} 枚金币!!!\n '
177
- cost += int (cost / 10 )
159
+ text += f'\n 你晃动着菜刀,淡淡的问道就这?\n { name .user_name } 又拱手奉上{ str (int (cost / 10 ))} 枚金币!!!\n '
160
+ cost += int (cost / 10 )
178
161
elif d2 :
179
162
text += f'\n 你晃动着菜刀,淡淡的问道就这?\n 不过你从{ name .user_name } 身上一毛都没翻出来\n '
180
163
save [qq ] = int (time .time () + savetime )
181
164
await BagUser .spend_gold (qq , group , cost )
182
165
await BagUser .add_gold (uid , group , cost )
183
166
else :
184
- num = int ((100 - check )/ 100 * cost )
185
- text = f'\n 你一蹦而出,大喊打劫!\n { name .user_name } 屈服于你淫威之下,拱手奉上{ str (cost )} 枚金币!!!\n 不过逃跑时过于紧张丢掉了其中的{ 100 - check } %({ num } 金币)\n 其中60%({ int (0.6 * num )} )已收集到小金库\n '
167
+ num = int ((100 - check ) / 100 * cost )
168
+ text = f'\n 你一蹦而出,大喊打劫!\n { name .user_name } 屈服于你淫威之下,拱手奉上{ str (cost )} 枚金币!!!\n 不过逃跑时过于紧张丢掉了其中的{ 100 - check } %({ num } 金币)\n 其中60%({ int (0.6 * num )} )已收集到小金库\n '
186
169
if enableCD :
187
170
if d2 :
188
- f = random .randint (15 ,35 )
189
- text += f'不过你又提着刀找回丢失的{ f } %({ int (num * f / 100 )} )\n 核算下来也就丢失了{ num } '
190
- num -= int (num * f / 100 )
171
+ f = random .randint (15 , 35 )
172
+ text += f'不过你又提着刀找回丢失的{ f } %({ int (num * f / 100 )} )\n 核算下来也就丢失了{ num } '
173
+ num -= int (num * f / 100 )
191
174
save [qq ] = int (time .time () + savetime )
192
- await TZtreasury .add ( group , int (0.6 * num ))
175
+ await TZtreasury .add (group , int (0.6 * num ))
193
176
await BagUser .spend_gold (qq , group , cost )
194
177
await BagUser .add_gold (uid , group , (cost - num ))
195
178
else :
196
- if check < random .randint (15 ,20 ):
197
- l = random .randint (5 ,15 )
198
- m = int ((check + l ) * xgold2 / 100 )
199
- text = f'\n 警察正好路过把你带去做笔录,你为脱身缴纳了{ check + l } %最大金额的罚款({ m } )\n 其中90%({ int (0.9 * m )} )已纳入小金库'
179
+ if check < random .randint (15 , 20 ):
180
+ l = random .randint (5 , 15 )
181
+ m = int ((check + l ) * xgold2 / 100 )
182
+ text = f'\n 警察正好路过把你带去做笔录,你为脱身缴纳了{ check + l } %最大金额的罚款({ m } )\n 其中90%({ int (0.9 * m )} )已纳入小金库'
200
183
if enableCD :
201
184
if d2 :
202
- l = random .randint (15 ,25 )
203
- m += int (l * xgold2 / 100 )
204
- text += f'\n 警察看见你所携带的菜刀,额外加手{ l } %最大金额的罚款({ int (l * xgold2 / 100 ) } )\n 其中90%({ int (0.9 * int (l * xgold2 / 100 ))} )已纳入小金库'
205
- await TZtreasury .add ( group , int (0.9 * m ) )
206
- await BagUser .spend_gold (uid , group , m )
185
+ l = random .randint (15 , 25 )
186
+ m += int (l * xgold2 / 100 )
187
+ text += f'\n 警察看见你所携带的菜刀,额外加手{ l } %最大金额的罚款({ int (l * xgold2 / 100 )} )\n 其中90%({ int (0.9 * int (l * xgold2 / 100 ))} )已纳入小金库'
188
+ await TZtreasury .add (group , int (0.9 * m ) )
189
+ await BagUser .spend_gold (uid , group , m )
207
190
208
191
else :
209
- cost = int (cost / random .randint (2 ,4 ))
210
- if xgold2 > cost * 3 :
192
+ cost = int (cost / random .randint (2 , 4 ))
193
+ if xgold2 > cost * 3 :
211
194
text = f'\n { name .user_name } 一巴掌把你拍倒在地,你打劫失败,鼻青脸肿的奉上{ str (cost )} 枚金币...\n '
212
-
195
+
213
196
if enableCD :
214
197
if d1 :
215
- cost2 = int (cost / random .randint (5 ,8 ))
198
+ cost2 = int (cost / random .randint (5 , 8 ))
216
199
text += f'\n { name .user_name } 又把刀架在你脖子上,你又交出了{ cost2 } 金币'
217
200
cost += cost2
218
201
await BagUser .add_gold (qq , group , cost )
219
202
await BagUser .spend_gold (uid , group , cost )
220
203
221
- if random .randint (0 ,15 ) < 5 :
222
- cost = int (cost / random .randint (4 ,10 )) + 2
223
- gold = await TZtreasury .get ( group )
204
+ if random .randint (0 , 15 ) < 5 :
205
+ cost = int (cost / random .randint (4 , 10 )) + 2
206
+ gold = await TZtreasury .get (group )
224
207
225
208
if gold > 1000 :
226
209
while cost > gold :
227
- cost = int (cost / random .randint (4 ,10 )) + 2
228
-
229
- text += f"\n 你在回家路上又捡到了一点({ cost } )金币\n "
230
- await TZtreasury .spend ( group , cost )
210
+ cost = int (cost / random .randint (4 , 10 )) + 2
211
+
212
+ text += f"\n 你在回家路上又捡到了一点({ cost } )金币\n "
213
+ await TZtreasury .spend (group , cost )
231
214
await BagUser .add_gold (uid , group , cost )
232
215
233
216
else :
234
217
text = f"{ name .user_name } 看你太穷就没收你的金币,不过给你送监狱去了\n \n "
235
- #text += await a_ban(uid,3600,event.user_name,"你")
218
+ # text += await a_ban(uid,3600,event.user_name,"你")
236
219
if await BanUser .ban (uid , 4 , 1800 ):
237
220
text += "你将在这里被关30分钟"
238
-
239
- #await dj.finish(text, at_sender=True)
221
+
222
+ # await dj.finish(text, at_sender=True)
240
223
await dj .finish (image (b64 = (await text2image (text , color = "#f9f6f2" , padding = 10 )).pic2bs4 ()), at_sender = True )
241
224
242
225
243
- xz = on_command ("#负数修正" , priority = 5 , block = True )
226
+ xz = on_command ("#负数修正" , priority = 5 , block = True )
227
+
228
+
244
229
@xz .handle ()
245
230
async def _ (event : GroupMessageEvent ):
246
231
uid = event .user_id
247
232
group = event .group_id
248
233
xgold2 = await BagUser .get_gold (uid , group )
249
- if xgold2 < 0 :
250
- await BagUser .add_gold (uid , group ,abs (xgold2 * 1.25 ))
234
+ if xgold2 < 0 :
235
+ await BagUser .add_gold (uid , group , abs (xgold2 * 1.25 ))
251
236
else :
252
- xz .finish ("你修复个锤子。你余额又不是负数" )
253
-
237
+ await xz .finish ("你修复个锤子。你余额又不是负数" )
0 commit comments