赞 | 1 |
VIP | 6 |
好人卡 | 2 |
积分 | 1 |
经验 | 10779 |
最后登录 | 2020-5-5 |
在线时间 | 386 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 386 小时
- 注册时间
- 2006-12-10
- 帖子
- 231
|
4楼
楼主 |
发表于 2011-9-6 02:04:13
|
只看该作者
已经解决了:victory:
derdfyga于2011-9-6 07:03补充以下内容:
制做随机任务,随机获得奖励,等等都是需要用到变量.
这个奖励不是事先就设定的,而是在接任务时在数据库里面随机出现,
每次接任务的获得的奖励,金钱,经验,以及任务的坐标都是随机的.
数据库是写死的,但制作者是活的啊
下面是我在对话框里直接输入的,用的是沉影不器大大的加强对话框,完全能达到效果.
任务坐标:\C[2]\V[6],\V[7]\C[0]
手续费用:\C[2]\V[5]\C[0]
任务奖励:\C[3]声望+\V[8] 经验值+\V[9] 金钱+\V[10]\C[0]
道具奖励:\C[4]\i[\V[11]]
这是查询任务时显示的对话框,
领取道具则直接获取变量11号所指的物品ID.
在此之前还定义了一个变量$Vk来存贮所有变量数据.
class Vk
def initialize
@任务数据 = Table.new(100, 20)
end
attr_accessor :任务数据
end
class Vk
def 新任务
#0任务难度,1坐标X,2坐标Y,3获得声望,4获得经验,5获得金钱,6获得物品,
#7获得装备 8获得武器,9指定怪物 10任务查询费,11稀有度
x=rand(100)
if x=99 or x=88 or x=77 or x=66 or x=55 or x=22 or x=11 #神话任务
@任务数据[0,0]=21
elsif x>=90
@任务数据[0,0]=rand(21)
elsif x>80
@任务数据[0,0]=rand(15)
elsif x>70
@任务数据[0,0]=rand(9)
elsif x>60
@任务数据[0,0]=rand(5)
elsif x>50
@任务数据[0,0]=rand(3)
else
@任务数据[0,0]=rand(2)
end
if @任务数据[0,0]==0
#任务坐标
@任务数据[0,1]=rand(60)+1
@任务数据[0,2]=rand(60)+1
$game_variables[6]=@任务数据[0,1]
$game_variables[7]=@任务数据[0,2]
#奖励声望
@任务数据[0,3]=rand(3)+1
$game_variables[8]=@任务数据[0,3]
#奖励经验
@任务数据[0,4]=rand(80)+20
$game_variables[9]=@任务数据[0,4]
#奖励金钱
@任务数据[0,5]=rand(80)+20
$game_variables[10]=@任务数据[0,5]
#奖励物品
@任务数据[0,6]=rand(10)+1
$game_variables[11]=@任务数据[0,6].round
#奖励装备
@任务数据[0,7]=rand(10)+1
$game_variables[4]=@任务数据[0,7].round
#奖励武器
@任务数据[0,8]=rand(10)+1
$game_variables[4]=@任务数据[0,8].round
#指定怪物
@任务数据[0,9]=rand(10)+1
$game_variables[4]=@任务数据[0,9].round
#任务费用
@任务数据[0,10]=rand(90)+10
$game_variables[5]=@任务数据[0,10]
#稀有度影响额外奖励 算法声望/1000+经验/1000+金钱/1000+物品金钱/1000+
#装备金钱/1000+武器金钱/1000+指定怪物掉钱/1000
@任务数据[0,11]=@任务数据[0,3]/1000+@任务数据[0,4]/1000+@任务数据[0,5]/1000+
@任务数据[0,6]/1000+@任务数据[0,]/1000+@任务数据[0,]/1000+@任务数据[0,]/1000+@任务数据[0,]/1000+@任务数据[0,]/1000+@任务数据[0,]/1000+
$game_variables[5]=@任务数据[0,10]
end
end
end
|
|