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

Project1

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

[交流讨论] 如何统计当前游戏进程玩家获得金币的总数?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
18815
在线时间
1031 小时
注册时间
2019-3-5
帖子
1418
跳转到指定楼层
1
发表于 2019-11-20 19:04:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何统计玩家开始游戏到现在进度,一共获得的金币数量?

金币量的变化发生于打怪掉落,买卖物品,任务或者宝物获得。有太多情况会改变玩家当前的金币持有量。

而变量里提供的关联仅有玩家当前的金币量。

到现在我也想不出一个有效的方法来判断这个总量,不知道各位有什么好主意不。

Lv5.捕梦者

梦石
0
星屑
33269
在线时间
10505 小时
注册时间
2009-3-15
帖子
4758
2
发表于 2019-11-20 21:45:21 | 只看该作者
脚本里获得金钱相关..如果有
金钱增减量为正数时变量增加这个值..
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
9971
在线时间
5019 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

3
发表于 2019-11-21 00:17:05 | 只看该作者
JAVASCRIPT 代码复制
  1. (function() {
  2.   var _Game_Party_gainGold = Game_Party.prototype.gainGold;
  3.   Game_Party.prototype.gainGold = function(amount) {
  4.     var variableId = 1;
  5.     _Game_Party_gainGold.call(this, amount);
  6.     var oldValue = $gameVariables.value(variableId);
  7.     $gameVariables.setValue(variableId, oldValue + amount);
  8.   };
  9. })();

瞎写几行,楼主可以姑且参考一下

评分

参与人数 1+1 收起 理由
Zeldashu + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
18815
在线时间
1031 小时
注册时间
2019-3-5
帖子
1418
4
 楼主| 发表于 2019-11-21 13:06:35 | 只看该作者
VIPArcher 发表于 2019-11-21 00:17
(function() {
  var _Game_Party_gainGold = Game_Party.prototype.gainGold;
  Game_Party.prototype.gai ...

我还没有学到关于脚本的太多知识,不知道有没有理解错:

这行代码全局统计玩家获得的金币量并将其带入某个变量(var variableId = 1;此处是变量1)?

点评

是吖,在获得金币的方法里把本次获得的金币量加到这个变量里(  发表于 2019-11-21 15:51
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22017
在线时间
8573 小时
注册时间
2011-12-31
帖子
3362
5
发表于 2019-11-21 14:42:02 | 只看该作者
戦績プラグイン
http://tm.lucky-duet.com/viewtopic.php?f=49&t=1711
アクターごとに以下の要素を記録できます。

・スキルごとの使用回数(戦闘中のみカウント。他項目も同様)
・全スキルの使用回数合計
・アイテムごとの使用回数
・全アイテムの使用回数合計
・敵キャラごとの撃破回数
・全敵キャラの撃破回数合計
・与えたダメージの合計
・与えたダメージの最大
・受けたダメージの合計
・受けたダメージの最大
・回復したダメージの合計
・消費したMP合計
・消費したTP合計
・戦闘不能回数

値はイベントコマンド「変数の操作」から「スクリプト」で
対応するスクリプトを呼び出して取得してください。

・データベースのアクターIDから取得する場合
$gameActors.actor(1).getSkillUseCounter(2); # アクター[1]のスキル[2]使用回数
$gameActors.actor(1).getAllSkillUseCounter(); # アクター[1]の全スキル使用回数
$gameActors.actor(1).getItemUseCounter(3); # アクター[1]のアイテム[3]使用回数
$gameActors.actor(1).getAllItemUseCounter(); # アクター[1]の全アイテム使用回数
$gameActors.actor(1).getKillEnemyCounter(4); # アクター[1]の敵キャラ[4]撃破数
$gameActors.actor(1).getAllKillEnemyCounter();# アクター[1]の全敵キャラ撃破数
$gameActors.actor(1).attackDamageMax; # アクター[1]の最大与ダメージ
$gameActors.actor(1).attackDamageSum; # アクター[1]の合計与ダメージ
$gameActors.actor(1).acceptDamageMax; # アクター[1]の最大被ダメージ
$gameActors.actor(1).acceptDamageSum; # アクター[1]の合計被ダメージ
$gameActors.actor(1).recoverDamageSum; # アクター[1]の合計回復ダメージ
$gameActors.actor(1).payCostMpSum; # アクター[1]の消費MP合計
$gameActors.actor(1).payCostTpSum; # アクター[1]の消費TP合計
$gameActors.actor(1).deadCounter; # アクター[1]の戦闘不能回数

・パーティの並び順(先頭は0)から取得する場合
$gameActors.actor(n)を$gameParty.members()[n]に置き換えて実行する。
(例)
$gameParty.members()[0].attackDamageMax # 先頭メンバーの最大与ダメージ

・計算式で使用する場合
$gameActors.actor(n)をa(実行者)もしくはb(対象者)に置き換えて実行する。
(例)
a.getSkillUseCounter(5) # 実行者のスキル[5]使用回数
b.getKillEnemyCounter(6) # 対象者の敵キャラ[6]撃破数

・すべてのアクターの合計値を取得する場合
$gameActors.actor(n)を$gameActorsに置き換えて実行する。
(例)
$gameActors.getKillEnemyCounter(4); # 全アクターの敵キャラ[4]撃破数合計

・パーティごとに管理される戦績を取得する場合
$gameParty.gainGoldSum; # 入手ゴールド合計
$gameParty.loseGoldSum; # 消費ゴールド合計
$gameParty.getGainItemSum(1); # アイテム[1]の入手合計
$gameParty.getGainWeaponSum(1); # 武器[1]の入手合計(初期装備以外)
$gameParty.getGainArmorSum(1); # 防具[1]の入手合計(初期装備以外)

このプラグインにはプラグインコマンドはありません。

・ダウンロード
https://raw.githubusercontent.co ... ter/BattleRecord.js

・利用規約
当プラグインはMITライセンスのもとで公開されています。作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)についても制限はありません。このプラグインはもうあなたのものです。

评分

参与人数 1+1 收起 理由
Zeldashu + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 15:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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