| 
 
| 赞 | 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
 
 | 
 |