如何在discord.py中创建一个调平系统?我目前正在使用数据库来存储有关用户的信息。但是,我想制作一个无限/无限的调平系统。这意味着当他们通过第一个级别时,达到下一级别所必须获得的xp点数量成倍增加。 例如:
一个新用户进入。他们从级别1开始,这是当前的xp级别。统计:1级,1/20 xp点
一旦他们的得分超过20 xp,我希望他们的等级达到2级并达到第三级,他们必须获得40 xp。因此,进入下一个级别的检查点/标记会成倍增加。新用户的当前状态:等级2,1 / 40 xp 一旦达到3级,状态:3级,1/80 xp
然后我只希望它是一个无休止的循环。只需不断更新其级别并将其xp级别标记乘以2。
我正在使用mysql数据库。我已经有2个功能来更新和显示其级别。我只需要找出如何循环的事情。我对循环不是很熟悉。
我希望他们的升级系统基于on_message事件。这意味着,每条消息,他们都会获得一个经验点。
这是我当前的on_message代码:
@client.event
async def on_message(message):
member = message.author
guild = message.guild
xp_update(1, member.id)
print(f"{member} from guild {guild} said>> '{message.content}'")
get_xp_stats(member.id)
get_lvl_stats(member.id)
if int(xp_results) == range(1, 49):
lvl_update(1, member.id)
await message.send(f"{member} has leveled up to {lvlresult}!")
elif int(xp_results) == range(50, 99):
lvl_update(1, member.id)
await message.send(f"{member} has leveled up to {lvlresult}!")
elif int(xp_results) == range(100, 199):
lvl_update(1, member.id)
await message.send(f"{member} has leveled up to {lvlresult}!")
await client.process_commands(message)
非常感谢stackoverflow,希望您能为我提供帮助。
答案 0 :(得分:0)
编辑:
感谢大家的尝试,并感谢您的参与。我已经找到答案了。我只是不得不修改一些东西。这是我的完整代码。 说真的,这是简单的数学和代数。我应该多付些数学学费,哈哈
x = int(input("Enter a number for x: "))
y = int(input("Enter a number for y: "))
z = int(input("Enter a number for z: "))
odd_numbers = [value for value in (x,y,z) if value%2]
if odd_numbers:
print("The greatest odd number is", max(odd_numbers))
else:
print("None of the numbers is odd.")