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

Project1

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

[已经解决] 關於wyongcan2008的装备强化系统,代碼小疑問..!!

[复制链接]

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
跳转到指定楼层
1
发表于 2013-11-22 01:37:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
腳本作者:
wyongcan2008
腳本出處:
http://rpg.blue/thread-220914-1-1.html


關於這個腳本...小的有些疑惑懇請版上大大們幫忙 >"<
腳本有提供一個代碼 Equipplus.gainequip( X , Y )
X=武器ID,Y=魔法屬性的數量

但這代碼只有提供武器這方面的,想請問能否再添加一個給防具用的代碼呢??
( 腳本101行 把 WEAPONS 改成 ARMORS 可做到,但就沒有給武器的代碼了... 能否兩者分別都有各自的代碼?? )

延伸一問 ~ 在這個代碼 Equipplus.gainequip( X , Y ) 有辦法偵測玩家給NPC 的武器ID,然後給予對應的武器嗎??
譬如 跟魔法武器 NPC對話↓

主角:"我要增加魔法屬性"
魔法NPC:"請選擇一把給我,我給你附上3種魔法屬性。"

出現玩家身上有的武器選項 (視窗、道具欄等...任何形式皆可)

假設選擇 武器ID 5號 NPC就會自動執行 Equipplus.gainequip( 5 , 3 )
       選擇 武器ID 9號 NPC就會自動執行 Equipplus.gainequip( 9 , 3 )  依此類推。

我目前用土方法(事件)來解決...60個武器弄得頭快暈了...不知版上有沒有大大有更好的方法??

擷取.JPG (59.75 KB, 下载次数: 34)

擷取.JPG
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
2
发表于 2013-11-22 11:53:38 | 只看该作者
首先,防具也是有随机的,你可以测试(比如商店购买随机=true然后跑去买7、8件防具就知道了)。
其次,你可以这样操作:将武器ID赋值到变量X,然后Equipplus.gainequip( 变量X , 3 )

点评

好我去研究一下~ 感謝你提供的方法^^  发表于 2013-11-22 17:14
另外,你可以用Equipplus.gainequip($data_armors[X],Y)来获得带属性的防具  发表于 2013-11-22 15:33
你可以结合事件里的物品选择这个指令来使用,同时,论坛里有脚本可以做到将物品选择改成选择武器防具什么的。  发表于 2013-11-22 15:30
商店的我知道 但沒打算讓玩家可以直接買到魔法武器 武器ID給予變數也試過了. 但是還是必須要選定一把才能定義變數。  发表于 2013-11-22 12:20
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
3
 楼主| 发表于 2013-11-22 17:39:28 | 只看该作者
tan12345 发表于 2013-11-22 11:53
首先,防具也是有随机的,你可以测试(比如商店购买随机=true然后跑去买7、8件防具就知道了)。
其次,你可 ...

Equipplus.gainequip($data_armors[X],Y)
報錯...
'Game_Interpreter' 1412 -TypeError...估計不能那樣寫 >"<
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
4
 楼主| 发表于 2013-11-23 02:29:59 | 只看该作者
那假如我想用另一個比較簡單的方法來判斷 不知這樣腳本該怎寫??
就是改用玩家必須讓隊伍一號成員穿上他想附上魔法的裝備,再讓 NPC 去判斷。

"偵測隊伍一號玩家所持武器(type=0)、防具(type 1~7 有加裝備擴張 )的ID"
然後NPC詢問玩家要哪個部位的武器/防具 上魔法屬性,再去判定

if 玩家選了 type=0 .則偵測 weapons ID 帶入變數X 並且 Equipplus.gainequip( 变量X , 3 )
   type=1~7 偵測 armors ID 帶入變數X 並且 Equipplus.gainequip( armors[变量X] , 3 )

這樣有辦法實現嗎??{:2_275:}
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
5
发表于 2013-11-23 16:08:02 | 只看该作者
a000b1745 发表于 2013-11-22 17:39
Equipplus.gainequip($data_armors[X],Y)
報錯...
'Game_Interpreter' 1412 -TypeError...估計不能那樣寫 ...


试试以下2行代码:(注意在事件脚本框里脚本过长的回车方式)
$game_party.gain_item(
Equipplus.getnewequip(
$data_armors[2],),1,true)


$game_party.gain_item(
Equipplus.getnewequip(
$data_weapons[62],),1,true)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
6
发表于 2013-11-23 16:20:22 | 只看该作者
请原谅我的连贴,这个是回答另外一个问题的。
首先你可以把需要添加前缀的装备放到背包(也就是卸载使其出现在物品栏)里;
其次你需要了解一个功能:事件里的第一个页签的物品选择处理

他可以使用指定变量来存储选择的物品(默认脚本只能处理物品选择,处理不了武器、防具的选择)
接着你需要一个脚本,脚本是拿来改变默认脚本只能处理物品选择,处理不了武器、防具的,脚本代码如下:
  1. #==============================================================================
  2. # ■ 物品选择处理扩张
  3. #    作者:影月千秋
  4. #------------------------------------------------------------------------------
  5. # ● 用途
  6. #    物品选择处理允许选择武器、防具、普通物品
  7. #------------------------------------------------------------------------------
  8. # ● 使用方法
  9. #    安装此脚本后,在事件中物品选择处理之前加上一句脚本:
  10. #    mca_change(symbol)
  11. #    其中symbol是【:item】【:armor】【:weapon】之一,分别对应物品、防具、武器
  12. #    这样的话,这一个物品选择处理就会处理对应项目
  13. #    但是注意!!该脚本的作用域只有一个物品选择处理
  14. #    如果连续使用两个物品选择处理,第一个会是对应项目,第二个则会是关键物品
  15. #------------------------------------------------------------------------------
  16. # ● 本脚本作者为【影月千秋】,保留原作者前提下,允许一切商业或非商业使用
  17. #==============================================================================

  18. #==============================================================================
  19. # ■ MoVar
  20. #==============================================================================
  21. module MoVar
  22.   @ckiaddition = :key_item
  23. end
  24. #==============================================================================
  25. # ■ Game_Interpreter
  26. #==============================================================================
  27. class Game_Interpreter
  28.   def mca_change(symbol)
  29.     if symbol == :item || :armor || :weapon
  30.       MoVar.instance_variable_set("@ckiaddition", symbol)
  31.     else
  32.       raise "错误!mca_change(#{symbol})的参数应是【:item|:armor|:weapon】!"
  33.     end
  34.   end
  35. end
  36. #==============================================================================
  37. # ■ Window_KeyItem
  38. #==============================================================================
  39. class Window_KeyItem
  40.   def category=(category)
  41.     @category = MoVar.instance_variable_get("@ckiaddition") rescue category
  42.     MoVar.instance_variable_set("@ckiaddition", category)
  43.     refresh
  44.     self.oy = 0
  45.   end
  46.   def enable?(item);true;end
  47. end
复制代码
最后,你需要学会用语句做到丢失无属性的装备以及获得有属性的新装备:
丢弃武器:$game_party.gain_item($data_weapons[武器id], -1, true)
丢弃防具:$game_party.gain_item($data_armors[防具id], -1, true)
获得有属性的新装备的脚本在楼上,我就不写了。

点评

別介意這連帖~ 抱歉剛剛才到家. 現在來研究下你熱心提供的代碼 :)  发表于 2013-11-23 23:38

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 感谢帮忙

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
帖子
162
7
发表于 2013-11-23 19:49:20 | 只看该作者
这个不错,我也拿去用用,嘻嘻嘻嘻 这个可不是水贴哦我也是玩VA的,不行可以看我空间

<object width="630" height="500" align="middle" id="reader" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354000
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
8
 楼主| 发表于 2013-11-24 00:07:24 | 只看该作者
本帖最后由 a000b1745 于 2013-11-24 03:08 编辑

那請問一下...
指定 ACTOR[1]腳色 丟掉他的 TYPE[1] 的裝備該怎麼寫這腳本呢??
(丟掉是指"刪除" ~ 而非卸下放回背包內。)

---------------------------------------經過一整晚熬夜東看西看代碼後終於.....↓

傻傻的解決方法:

1.先給武器ID上變數X
$game_variables[X]= $game_actors[12].weapons[0].id
2.把這武器給卸下
$game_actors[12].change_equip_by_id(0,0)
3.再把變數X的武器給丟了!!
$game_party.gain_item($data_weapons[$game_variables[X]], -1, true)
{:2_279:}
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 06:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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