-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAttributePlus.js
More file actions
151 lines (129 loc) · 5.59 KB
/
AttributePlus.js
File metadata and controls
151 lines (129 loc) · 5.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
// Nome do plugin: AttributePlus
// Descrição: Este código é um plugin para a engine/motor de jogo "RPG Maker MV" que adiciona cinco atributos aos personagens do jogo: Vitalidade, Agilidade, Destreza, Inteligência e Sorte.
(function () {
// Define os atributos
var attributes = ['Vitalidade', 'Agilidade', 'Destreza', 'Inteligência', 'Sorte'];
var increaseAttributes = ['Vitalidade', 'Agilidade', 'Destreza', 'Inteligência', 'Sorte'];
// Adiciona os atributos ao jogo
var _Game_Actor_initMembers = Game_Actor.prototype.initMembers;
Game_Actor.prototype.initMembers = function () {
_Game_Actor_initMembers.call(this);
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[i];
this[attribute] = 0;
}
};
// Salva os atributos em um arquivo .txt
var _DataManager_makeSaveContents = DataManager.makeSaveContents;
DataManager.makeSaveContents = function () {
var contents = _DataManager_makeSaveContents.call(this);
contents.attributes = {};
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[i];
contents.attributes[attribute] = $gameActors.actor(1)[attribute];
}
return contents;
};
// Carrega os atributos a partir de um arquivo .txt
var _DataManager_extractSaveContents = DataManager.extractSaveContents;
DataManager.extractSaveContents = function (contents) {
_DataManager_extractSaveContents.call(this, contents);
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[i];
$gameActors.actor(1)[attribute] = contents.attributes[attribute];
}
};
// Defina os atributos de aumento
var increaseAttributes = ['Vitalidade', 'Agilidade', 'Destreza', 'Inteligência', 'Sorte'];
// Adicione a função de aumento de atributos
Game_Actor.prototype.increaseAttributes = function(attribute, amount) {
if (increaseAttributes.includes(attribute)) {
this[attribute] += amount;
}
};
// Adicione a capacidade de aumentar os atributos por meio de itens
Game_Actor.prototype.gainAttributePoints = function(item) {
if (item && item.attributePoints) {
increaseAttributes.forEach(function(attribute) {
this.increaseAttributes(attribute, item.attributePoints[attribute] || 0);
}, this);
}
};
// Adicione a capacidade de aumentar os atributos por meio de eventos
// Defina um comando de script para aumentar os atributos
Game_Interpreter.prototype.command306 = function() {
var actor = $gameActors.actor(this._params[0]);
var attribute = this._params[1];
var amount = this._params[2];
if (actor && increaseAttributes.includes(attribute)) {
actor.increaseAttributes(attribute, amount);
}
return true;
};
})();
Erro 1: Falta um parêntese para fechar a função (function () {
Erro 2: A variável 'increaseAttributes' foi declarada duas vezes.
Erro 3: O método 'Game_Interpreter.prototype.command306' não foi fechado com um '};'.
Conserte todos os erros no código abaixo:
// Nome do plugin: AttributePoints
// Descrição: Este plugin adiciona cinco atributos aos personagens do jogo: Vitalidade, Agilidade, Destreza, Inteligência e Sorte.
(function () {
// Define os atributos
var attributes = ['Vitalidade', 'Agilidade', 'Destreza', 'Inteligência', 'Sorte'];
// Adiciona os atributos ao jogo
var _Game_Actor_initMembers = Game_Actor.prototype.initMembers;
Game_Actor.prototype.initMembers = function () {
_Game_Actor_initMembers.call(this);
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[i];
this[attribute] = 0;
}
};
// Salva os atributos em um arquivo .txt
var _DataManager_makeSaveContents = DataManager.makeSaveContents;
DataManager.makeSaveContents = function () {
var contents = _DataManager_makeSaveContents.call(this);
contents.attributes = {};
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[i];
contents.attributes[attribute] = $gameActors.actor(1)[attribute];
}
return contents;
};
// Carrega os atributos a partir de um arquivo .txt
var _DataManager_extractSaveContents = DataManager.extractSaveContents;
DataManager.extractSaveContents = function (contents) {
_DataManager_extractSaveContents.call(this, contents);
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[i];
$gameActors.actor(1)[attribute] = contents.attributes[attribute];
}
};
// Defina os atributos de aumento
var increaseAttributes = ['Vitalidade', 'Agilidade', 'Destreza', 'Inteligência', 'Sorte'];
// Adicione a função de aumento de atributos
Game_Actor.prototype.increaseAttributes = function(attribute, amount) {
if (increaseAttributes.includes(attribute)) {
this[attribute] += amount;
}
};
// Adicione a capacidade de aumentar os atributos por meio de itens
Game_Actor.prototype.gainAttributePoints = function(item) {
if (item && item.attributePoints) {
increaseAttributes.forEach(function(attribute) {
this.increaseAttributes(attribute, item.attributePoints[attribute] || 0);
}, this);
}
};
// Adicione a capacidade de aumentar os atributos por meio de eventos
// Defina um comando de script para aumentar os atributos
Game_Interpreter.prototype.command306 = function() {
var actor = $gameActors.actor(this._params[0]);
var attribute = this._params[1];
var amount = this._params[2];
if (actor && increaseAttributes.includes(attribute)) {
actor.increaseAttributes(attribute, amount);
}
return true;
};
})();