查看: 3594|回复: 17

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

[复制链接]
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2023-4-3 21:11:02 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 金芒芒 于 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]
梦石
24
星屑
8942
在线时间
248 小时
注册时间
2020-12-4
回帖
259

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

发表于 2023-4-4 10:55:02 | 显示全部楼层
本帖最后由 纯属小虫 于 2023-4-4 13:59 编辑

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

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

回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 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条件解禁也可以

[pre lang="ruby"]module Figter_data
  
data_id = 2
#=====基本、模型信息==========
CHARACTER_NAME[data_id]  =  "E_Horseman"
ATK_SE[data_id]  = "swordbasic_"
ATK_SE_NUM[data_id]  = 11
DEF_SE[data_id] = "shield_cav_"
DEF_SE_NUM[data_id] = 3
S_ATK_SE[data_id]  = nil
S_ATK_SE_NUM[data_id]  = nil
AMMO_NAME[data_id]  =    nil
AMMO_D_NAME[data_id]  = nil
S_SHOOT_SE[data_id] = nil
S_SHOOT_SE_NUM[data_id] = nil
S_PASSBY_SE[data_id] = nil
S_PASSBY_SE_NUM[data_id] = nil
S_DROP_SE[data_id] = nil
S_DROP_SE_NUM[data_id] = nil
S_FLY_TYPE[data_id] = nil
#=======类别=================
THE_NAME[data_id]  = "帝国骑兵"[/pre]
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 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事件脚本量太大了


老的脚本是
[pre lang="ruby"]num = $game_variables[7]
g = $game_variables[8]
for i in 1..num
$player_party.add(g,EFS_Team.new(8))
end[/pre]
1111.png
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2023-4-4 13:05:40 | 显示全部楼层
那是常量
定义了不能改
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 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
复制代码
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2023-4-4 13:47:56 | 显示全部楼层
金芒芒 发表于 2023-4-4 13:27
这样转换可以吗让他变成初始所有士兵

@all_fighters = Figter_data::ALL_SOLDIER[data_id]

哎..可能会报错?
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2023-4-4 13:52:04 | 显示全部楼层
soulsaga 发表于 2023-4-4 13:47
哎..可能会报错?

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

使用道具 举报

梦石
24
星屑
8942
在线时间
248 小时
注册时间
2020-12-4
回帖
259

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

发表于 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]

回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 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
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部