赞 | 1 |
VIP | 220 |
好人卡 | 25 |
积分 | 7 |
经验 | 51477 |
最后登录 | 2013-1-12 |
在线时间 | 943 小时 |
Lv2.观梦者 花开堪折直须折
- 梦石
- 0
- 星屑
- 676
- 在线时间
- 943 小时
- 注册时间
- 2010-7-17
- 帖子
- 4963
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 冰舞蝶恋 于 2011-4-21 13:26 编辑
咱出的第一个脚本教程,希望支持~
另外:咱是脚本白痴,盲,菜鸟,各位前辈别笑……
● 基础入门
最经常使用判断的是:end、if、else、elsif、unless、case、when,还会常用到p、#等等,值得注意的是,end一定要和相应的部分对齐。
if是用来做判断的;
else是不符合的情况下;
elsif是不符合的情况下再次判断(中间就不用加end啦~);
unless也是判断,是除此之外的情况,一般很少用到。
p是用来弹出消息框的,譬如:p "要显示的文字"或是p 变量名(这里就会显示变量)
#后面的文字就会被判断为注释,在脚本中不起任何作用。
运算符号有:+(加)、-(减)、*(乘)、/(除)、()(括号,不能使用中括号或是大括号,但小括号可以叠加使用)
其实还有更偷懒的办法:+=(当前值加上多少)、-=……其他同理,请各位自行在脑内补充完整~
条件判断有:==(在判断中一定不可以用=)、!=(不等于)、>=(大于等于)、<=(小于等于)、>(大于)、<(小于)
变量有:全局变量、类变量、方法变量、局部变量
变量可以是任何中英文的名字,但不可以随意用字符,唯一可以用来表示在变量名称中的字符是“_”,连接符。
全局变量的特征是:$变量名称 【可以在全局调用和修改】
类变量:@@变量名称 【只能在当前类修改调用】
方法变量:@变量名称 【只能在当前的class使用】
局部变量:变量名称 【只能在当前位置使用】
变量大致分 数值类、 文本类、 逻辑类、 数组哈希类四种,空的变量表示为nil。
数值类:顾名思义啦,就是数值。可以进行加减乘除的运算,允许使用小括号。
文本类:用""或是''框起来的内容文字。
逻辑类:用于判断是或否的变量,可为true或false。
数组哈希类:数组是用[]框起来的多个变量,之间用逗号分割,长度不限,类别不限。读取的时候从0开始。比如:数组a = [1,"a",true,b] # 注意:这里的b是一个变量。比如,你想读取到这个数组的1,你就得用:数组a[0],要读取到"a",就用数组a[1],以此类推。
常量也许是特殊的变量?由于常量是用大写字母开头的,所以一般放在module里……
读取就参照下面吧……
联系刚才讲到的东西,这里做一段示例:
- a = 5 # 这个是局部变量
- @b = true # 方法变量
- @@na_s = "66RPG" # 类变量
- $WC = "厕所" # 全局变量
- s = [a, @b, @@na_s, $WC]# 这是个数组
- #--这里演示运算方法---------
- a += 2 # 这里实际上是a+2
- p a # =>7
- if a > 5
- @b = false
- elsif a == 5
- @@na_s = "伪·66RPG"
- else
- $WC = s[2]
- p $WC # 这时候显示的就是@@na_s的内容了~
- end # 别忘了要结束!
- if $WC != @@na_s # 如果$WC不等于@@na_s会发生什么呢?
- a = nil # 清空变量a
- end
复制代码- #-设定常量---
- module Abc
- Defg = 40
- end
- #-读取常量---
- Abc::Defg
- #-结束---
复制代码
● 脚本语句
开关变量操作
$game_switches[开关号码] = (false/true) # 开启/关闭开关
$game_variables[变量号码] = 变量内容 # 这里控制的是游戏变量,而用脚本则可以不仅限于数值的操控了。
文章的显示
set_message_waiting # 刷新对话框
$game_message.texts.push("显示内容") # 显示文章
$game_message.face_name = "头像名" # 更改对话头像
$game_message.face_index = 头像索引 # 从0~7,具体可以参考事件的显示文章
$game_message.position = 0 # 更改窗口位置,0上,1中,2下
$game_message.background = 0 # 更改窗口特征,0普通窗口,1背景变暗,2透明
获取角色/敌人
$game_party.members[队伍编号] # 队伍角色的编号从0开始。0代表第1人,以此类推。
$game_actors[数据库编号] # 数据库的角色设定中,从1开始。
$data_enemies[数据库编号] # 敌人
# 以下是获取角色的能力值等,请在上方获取的角色后加.,如:$game_actors[1].maxhp。敌人同理。不过还是要啰嗦一下,敌人是没有等级、头像、行走图和装备等的,所以请注意不要用混了~
编号:id
名称:name
等级:level
生命:hp
最大生命:maxhp
魔法:mp
最大魔法:maxmp
所属职业的编号:class_id
攻击力:atk
防御力:def
精神力:spi
敏捷性:agi
数据库中设定的初始等级:initial_level
行走图名:character_name
行走图索引:character_index # 如果是用默认的8个一组的行走图的话,0~7
头像名:face_name
头像索引:face_index # 同上。
是否二刀流:two_swords_style # 返回true或false
是否固定装备:fix_equipment
是否自动战斗:auto_battle
是否超强防御力:super_guard
是否药物知识:pharmacology
是否暴击加强:critical_bonus
物品/特技/装备(从数据库中获取)
$data_items[数据库编号] # 物品
$data_skills[编号] # 特技
$data_weapons[编号] # 武器
$data_armors[编号] # 防具
# 这里用来读取,同样,读取的时候也需要加.,如:$data_items[1].price。
【通用】
编号:id
名字:name
备注:note
图标索引:icon_index
描述:description
【特技和物品通用】
使用范围:scope # 请自己参照数据库吧,返回值从0开始。
使用场合:occasion
动画编号:animation_id
公共事件编号:common_event_id
基础伤害值:base_damage
分散度:variance
攻击关系度:atk_f
精神关系度:spi_f
是否物理攻击:physical_attack
是否魔法伤害:damage_to_mp
是否吸收伤害:absorb_damage
是否无视防御:ignore_defense
【物品】
价格:price
是否是消耗物品:consumable # 返回true/false
生命回复量:hp_recovery
魔法回复量:mp_recovery
生命回复率:hp_recovery_rate
魔法回复率:mp_recovery_rate
【特技】
魔法消耗:mp_cost
成功率:hit
【装备】
武器动画编号:animation_id
价格:price
攻击力:atk
防御力:def
精神力:spi
敏捷性:agi
是否双手武器:two_handed
是否先发制人:fast_attack
是否频发暴击:critical_bonus
是否连击:dual_attack
防具类别:kind
是否防止暴击:prevent_critical
是否减半魔法消耗:half_mp_cost
是否双倍经验:double_exp_gain
是否自动恢复生命:auto_hp_recover
职业(这个用途不是很大)
$data_classes[编号]
编号:id
名字:name
位置:position # 0前卫,1中卫,2后盾
可装备的武器:weapon_set # 返回数组
可装备的防具:armor_set # 返回数组
可习得的特技:learnings # 返回数组
到这里这个常用的语句库就结束啦~欢迎各位补充【因为还不太全啊啊!
咱这个事件党的脚本小白继续跑回去做事件好了……
另外讲一下rand随机的用法好了~
rand(b)+a
那么随机数的最小值是a,最大值是a+b-1
比如需要2~5的随机数,那么rand(4)+2即可。
还有一个方法,就是rand(a),那么随机数的最小值则是0,最大值a-1。
|
评分
-
查看全部评分
|