Project1
标题: 【已解决】ALL_SOLDIER =[5]里面用事件添加其他ID ALL_SOLDIER =[5... [打印本页]
作者: 金芒芒 时间: 2023-4-3 21:11
标题: 【已解决】ALL_SOLDIER =[5]里面用事件添加其他ID ALL_SOLDIER =[5...
本帖最后由 金芒芒 于 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]
作者: 纯属小虫 时间: 2023-4-4 10:55
本帖最后由 纯属小虫 于 2023-4-4 13:59 编辑
直接....用事件脚本添加?
Figter_data::ALL_SOLDIER = [5,2,7,8,6]
(写错了,常量不能放在等号左边.....)
但这个如果只是临时变量还少说
如果涉及要存档的话,还得再存档里加一个这个量的储存,以及读档时这个量的读取
作者: 金芒芒 时间: 2023-4-4 11:20
本帖最后由 金芒芒 于 2023-4-4 11:27 编辑
@all_fighters = Figter_data::ALL_SOLDIER
一个数字等于一个士兵的ID ,士兵是做任务获得的随机性很大
而却还要保留下次参战
或者Figter_data::ALL_SOLDIER = [1,2,3,4..100]
禁用ID2-100条件解禁也可以
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] = "帝国骑兵"
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] = "帝国骑兵"
作者: 金芒芒 时间: 2023-4-4 11:32
本帖最后由 金芒芒 于 2023-4-4 11:39 编辑
100角色个100次方IF事件脚本量太大了
老的脚本是
num = $game_variables[7]
g = $game_variables[8]
for i in 1..num
$player_party.add(g,EFS_Team.new(8))
end
num = $game_variables[7]
g = $game_variables[8]
for i in 1..num
$player_party.add(g,EFS_Team.new(8))
end
-
1111.png
(33.36 KB, 下载次数: 36)
作者: soulsaga 时间: 2023-4-4 13:05
那是常量
定义了不能改
作者: 金芒芒 时间: 2023-4-4 13:27
本帖最后由 金芒芒 于 2023-4-4 13:35 编辑
这样转换可以吗让他变成初始所有士兵
@all_fighters = Figter_data::ALL_SOLDIER[data_id]
- module Figter_data#::ALL_SOLDIER
-
- #所有士兵
- ALL_SOLDIER[data_id] =[5]#,4,3,13,2,9,11,15,26,23, #帝国
-
- # 32,35,36,28,30,33,34, #诺尔森人
-
- # 7,8,19,12,31,38,17, #雇佣兵
- # 27,6,10,14,16,18,21,22,29,39] #野怪
- #所有英雄
- end
复制代码
作者: soulsaga 时间: 2023-4-4 13:47
哎..可能会报错?
作者: 金芒芒 时间: 2023-4-4 13:52
我是原告,你是被告,你反过来了
作者: 纯属小虫 时间: 2023-4-4 14:09
本帖最后由 纯属小虫 于 2023-4-4 14:14 编辑
@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]
作者: 金芒芒 时间: 2023-4-4 14:25
- 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 的单元就返回真。
复制代码
这套可行 1-100ID 数组里存在了的就返回没有添加
作者: 金芒芒 时间: 2023-4-4 15:04
本帖最后由 金芒芒 于 2023-4-4 15:17 编辑
我现在直接@all_fighters = [5,2,8]
然后通过开关ON,可能不按顺序add[6] add[9]到 [5,2,8]里面
条件分歧物品信物=>10 开关ON @all_fighters = [5,2,8] add[6]
作者: 金芒芒 时间: 2023-4-4 15:09
本帖最后由 金芒芒 于 2023-4-4 15:10 编辑
0就不行了 0是模板
module Figter_data
#
data_id = 0
#=====基本、模型信息==========
CHARACTER_NAME = []
AMMO_NAME = []
AMMO_D_NAME = []
ATK_SE = []
ATK_SE_NUM = []
DEF_SE = []
DEF_SE_NUM = []
S_ATK_SE = []
S_ATK_SE_NUM = []
S_SHOOT_SE = []
S_SHOOT_SE_NUM = []
S_PASSBY_SE = []
S_PASSBY_SE_NUM = []
S_DROP_SE = []
S_DROP_SE_NUM = []
DEAD_ANIMATION_ID = []
S_FLY_TYPE = []
#=======类别=================
THE_NAME = []
IS_CAL = []
IS_ARC = []
IS_OBJ= []
HEAVY = []
LABEL =[]
DESCRIPTION = []
#1 light infan #2 heavy infan #3 light cav #4 heavy cav
#5 missle_inf #6 missle_cav #7 elite #8 special
#==========属性==============
HP_MAX = []
AMMOR_HP = []
SHD_HP = []
BASE_ATK = []
BRO_ATK = []
S_BASE_ATK = []
S_BRO_ATK = []
ATK_SKILL = []
DEF_SKILL = []
ANTI_CAV = []
ANTI_INF = []
CHARGE_BOUN = []
MORALE = []
CRITICAL_HIT = []
EXPLOSION_SETTINGS = []
ATK_FR = []
ATK_RANGE = []
ENGAGE_RANGE = []
ENGAGE_RANGE_MIN = []
MOVEMENT_SPEED = []
ACCURATCY = []
AMMO_MAX = []
LIVE_CHANCE = []
ATK_CODE = []
#===========战略用=============
EXP = []
PRICE = []
EXP_NEED = []
NEXT_LEVEL = []
CAPTAIN_SKILL = []
#==========Hero's only==============
SP_MAX = []
#加速量
ACC_VALUE = []
#防御减少量
GUARD_VALUE = []
#加速消耗体力(每帧)
ACC_COST_SP = []
#跳越消耗体力
JUMP_COST_SP = []
#大跳越消耗体力
BIG_JUMP_COST_SP = []
#恢复体力没帧(每帧)
SP_REGAINED = []
#攻击体力消耗
ATK_COST_SP = []
#英雄攻击呻吟
HERO_ATK_SE = []
HERO_ATK_SE_NUM = []
#英雄死亡呻吟
HERO_DEAD_SE = []
HERO_DEAD_SE_NUM = []
#英雄受伤呻吟
HERO_GET_HIT_SE = []
HERO_GET_HIT_SE_NUM = []
end
module Figter_data
#
data_id = 0
#=====基本、模型信息==========
CHARACTER_NAME = []
AMMO_NAME = []
AMMO_D_NAME = []
ATK_SE = []
ATK_SE_NUM = []
DEF_SE = []
DEF_SE_NUM = []
S_ATK_SE = []
S_ATK_SE_NUM = []
S_SHOOT_SE = []
S_SHOOT_SE_NUM = []
S_PASSBY_SE = []
S_PASSBY_SE_NUM = []
S_DROP_SE = []
S_DROP_SE_NUM = []
DEAD_ANIMATION_ID = []
S_FLY_TYPE = []
#=======类别=================
THE_NAME = []
IS_CAL = []
IS_ARC = []
IS_OBJ= []
HEAVY = []
LABEL =[]
DESCRIPTION = []
#1 light infan #2 heavy infan #3 light cav #4 heavy cav
#5 missle_inf #6 missle_cav #7 elite #8 special
#==========属性==============
HP_MAX = []
AMMOR_HP = []
SHD_HP = []
BASE_ATK = []
BRO_ATK = []
S_BASE_ATK = []
S_BRO_ATK = []
ATK_SKILL = []
DEF_SKILL = []
ANTI_CAV = []
ANTI_INF = []
CHARGE_BOUN = []
MORALE = []
CRITICAL_HIT = []
EXPLOSION_SETTINGS = []
ATK_FR = []
ATK_RANGE = []
ENGAGE_RANGE = []
ENGAGE_RANGE_MIN = []
MOVEMENT_SPEED = []
ACCURATCY = []
AMMO_MAX = []
LIVE_CHANCE = []
ATK_CODE = []
#===========战略用=============
EXP = []
PRICE = []
EXP_NEED = []
NEXT_LEVEL = []
CAPTAIN_SKILL = []
#==========Hero's only==============
SP_MAX = []
#加速量
ACC_VALUE = []
#防御减少量
GUARD_VALUE = []
#加速消耗体力(每帧)
ACC_COST_SP = []
#跳越消耗体力
JUMP_COST_SP = []
#大跳越消耗体力
BIG_JUMP_COST_SP = []
#恢复体力没帧(每帧)
SP_REGAINED = []
#攻击体力消耗
ATK_COST_SP = []
#英雄攻击呻吟
HERO_ATK_SE = []
HERO_ATK_SE_NUM = []
#英雄死亡呻吟
HERO_DEAD_SE = []
HERO_DEAD_SE_NUM = []
#英雄受伤呻吟
HERO_GET_HIT_SE = []
HERO_GET_HIT_SE_NUM = []
end
作者: guoxiaomi 时间: 2023-4-5 02:41
你这个模块名有拼写错误,怎么看都应该是Fighter_Data。
如果想完整替换掉作为常量的数组内容,应该用replace方法:https://ruby-doc.org/core-1.8.7/Array.html#method-i-replace
作者: 金芒芒 时间: 2023-4-6 14:02
@all_fighters = [1]
if $game_switches[19] == true#(开关 开)
@all_fighters.push(2)
end
数组添加
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |