设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2122|回复: 17
打印 上一主题 下一主题

[已经解决] 【已解决】ALL_SOLDIER =[5]里面用事件添加其他ID ALL_SOLDIER =[5...

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6296
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
跳转到指定楼层
1
发表于 2023-4-3 21:11:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 金芒芒 于 2023-4-6 14:04 编辑

module Figter_data#::ALL_SOLDIER
  
  #所有士兵
  ALL_SOLDIER =[5]


----------------------------------------------
如何用事件添加ALL_SOLDIER =[其他ID]
用事件扩张成
ALL_SOLDIER =[5,2]
ALL_SOLDIER =[5,2,7]
ALL_SOLDIER =[5,2,7,8]
ALL_SOLDIER =[5,2,7,8,6]

Lv5.捕梦者

梦石
24
星屑
7022
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

2
发表于 2023-4-4 10:55:02 | 只看该作者
本帖最后由 纯属小虫 于 2023-4-4 13:59 编辑

直接....用事件脚本添加?
Figter_data::ALL_SOLDIER = [5,2,7,8,6]
(写错了,常量不能放在等号左边.....)

但这个如果只是临时变量还少说
如果涉及要存档的话,还得再存档里加一个这个量的储存,以及读档时这个量的读取

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6296
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
3
 楼主| 发表于 2023-4-4 11:20:31 | 只看该作者
本帖最后由 金芒芒 于 2023-4-4 11:27 编辑
纯属小虫 发表于 2023-4-4 10:55
直接....用事件脚本添加?
Figter_data::ALL_SOLDIER = [5,2,7,8,6]


@all_fighters = Figter_data::ALL_SOLDIER
一个数字等于一个士兵的ID ,士兵是做任务获得的随机性很大
而却还要保留下次参战

或者Figter_data::ALL_SOLDIER = [1,2,3,4..100]


禁用ID2-100条件解禁也可以

RUBY 代码复制
  1. module Figter_data
  2.  
  3. data_id = 2
  4. #=====基本、模型信息==========
  5. CHARACTER_NAME[data_id]  =  "E_Horseman"
  6. ATK_SE[data_id]  = "swordbasic_"
  7. ATK_SE_NUM[data_id]  = 11
  8. DEF_SE[data_id] = "shield_cav_"
  9. DEF_SE_NUM[data_id] = 3
  10. S_ATK_SE[data_id]  = nil
  11. S_ATK_SE_NUM[data_id]  = nil
  12. AMMO_NAME[data_id]  =    nil
  13. AMMO_D_NAME[data_id]  = nil
  14. S_SHOOT_SE[data_id] = nil
  15. S_SHOOT_SE_NUM[data_id] = nil
  16. S_PASSBY_SE[data_id] = nil
  17. S_PASSBY_SE_NUM[data_id] = nil
  18. S_DROP_SE[data_id] = nil
  19. S_DROP_SE_NUM[data_id] = nil
  20. S_FLY_TYPE[data_id] = nil
  21. #=======类别=================
  22. THE_NAME[data_id]  = "帝国骑兵"
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6296
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
4
 楼主| 发表于 2023-4-4 11:32:03 | 只看该作者
本帖最后由 金芒芒 于 2023-4-4 11:39 编辑
纯属小虫 发表于 2023-4-4 10:55
直接....用事件脚本添加?
Figter_data::ALL_SOLDIER = [5,2,7,8,6]


100角色个100次方IF事件脚本量太大了


老的脚本是
RUBY 代码复制
  1. num = $game_variables[7]
  2. g = $game_variables[8]
  3. for i in 1..num
  4. $player_party.add(g,EFS_Team.new(8))
  5. end

1111.png (33.36 KB, 下载次数: 13)

1111.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33193
在线时间
10491 小时
注册时间
2009-3-15
帖子
4756
5
发表于 2023-4-4 13:05:40 | 只看该作者
那是常量
定义了不能改
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6296
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
6
 楼主| 发表于 2023-4-4 13:27:00 | 只看该作者
本帖最后由 金芒芒 于 2023-4-4 13:35 编辑
soulsaga 发表于 2023-4-4 13:05
那是常量
定义了不能改


这样转换可以吗让他变成初始所有士兵

@all_fighters = Figter_data::ALL_SOLDIER[data_id]
  1. module Figter_data#::ALL_SOLDIER
  2.   
  3.   #所有士兵
  4.   ALL_SOLDIER[data_id] =[5]#,4,3,13,2,9,11,15,26,23,   #帝国
  5.   
  6. # 32,35,36,28,30,33,34, #诺尔森人
  7.   
  8. # 7,8,19,12,31,38,17, #雇佣兵
  9. # 27,6,10,14,16,18,21,22,29,39] #野怪
  10.   #所有英雄
  11. end
复制代码
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33193
在线时间
10491 小时
注册时间
2009-3-15
帖子
4756
7
发表于 2023-4-4 13:47:56 | 只看该作者
金芒芒 发表于 2023-4-4 13:27
这样转换可以吗让他变成初始所有士兵

@all_fighters = Figter_data::ALL_SOLDIER[data_id]

哎..可能会报错?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6296
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
8
 楼主| 发表于 2023-4-4 13:52:04 | 只看该作者
soulsaga 发表于 2023-4-4 13:47
哎..可能会报错?

我是原告,你是被告,你反过来了
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
24
星屑
7022
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

9
发表于 2023-4-4 14:09:47 | 只看该作者
本帖最后由 纯属小虫 于 2023-4-4 14:14 编辑
金芒芒 发表于 2023-4-4 13:27
这样转换可以吗让他变成初始所有士兵

@all_fighters = Figter_data::ALL_SOLDIER[data_id]


@all_fighters 是类变量,用的时候还得加 class .......end

比较讨巧简单的话,直接用游戏全局变量  $game_variables[***]   (自己选)

至于调整数组【Array】的方法.....F1里好好学学,挺基础的
我复制几个你可能常用到的方法吧
=============================================================
self[nth]=val
将第 nth 个数组单元的值设定为 val。若 nth 超出数组范围时,自动加长数组并以 nil 对新增部分进行初始化。

返回 val。

=============================================================
push(obj1[, obj2 ...])
依次将 obj1、obj2 ... 添加到数组结尾。

返回 self。

array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array          # => [1, 2, 3, 4, [5, 6], 7, 8]

=============================================================
include?(val)
若数组中包含 ==val 的单元就返回真。
=============================================================
pop
删除末尾单元并返回它。若数组为空则返回 nil。

array = [1, [2, 3], 4]
p array.pop      # => 4
p array.pop      # => [2, 3]
p array          # => [1]

p array.pop      # => 1
p array.pop      # => nil
p array          # => []


以顶楼的样式为例子

$game_variables[***] =[5,2]

$game_variables[***].push 7

>>>>>$game_variables[***] =[5,2,7]

$game_variables[***].push 8

>>>>>$game_variables[***] =[5,2,7,8]

$game_variables[***] += [6]

>>>>>$game_variables[***] =[5,2,7,8,6]

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6296
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
10
 楼主| 发表于 2023-4-4 14:25:56 | 只看该作者
纯属小虫 发表于 2023-4-4 14:09
@all_fighters 是类变量,用的时候还得加 class .......end

比较讨巧简单的话,直接用游戏全局变量  $ga ...
  1. push(obj1[, obj2 ...])
  2. 依次将 obj1、obj2 ... 添加到数组结尾。

  3. 返回 self。

  4. array = [1, 2, 3]
  5. array.push 4
  6. array.push [5, 6]
  7. array.push 7, 8
  8. p array          # => [1, 2, 3, 4, [5, 6], 7, 8]

  9. =============================================================
  10. include?(val)
  11. 若数组中包含 ==val 的单元就返回真。
复制代码



这套可行 1-100ID 数组里存在了的就返回没有添加

点评

要注意的是,数组id 首项是 0 哦~~~  发表于 2023-4-4 14:52
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 17:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表