Network RPG Maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Network RPG Maker

Aide Professionnelle pour N-RPG Maker, RM2003/XP et 3D Rpg Builder
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

 

 invalid pointer operation

Aller en bas 
3 participants
AuteurMessage
juljul999
lvl 1



Nombre de messages : 1
Date d'inscription : 19/01/2006

invalid pointer operation Empty
MessageSujet: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 12:13

Voila j'éspère que c'est le bon endroit pour poster.
J'ai un problème itinérant dans mon jeu, et qu'il l'ai dans n'importe quelle jeu avancé que je fais.
Lors de combats et lorsque j'utilise de la magie (n'importe laquelle, magie de base ou crée par mes soins) , environ 1 fois sur 6 cela se termine par un message "invalid pointer operation" ou par "the reading violation fot the address .... with the address ... of the module RPG_RT.exe occured", deux messages bien grossiés qui parasitent mon jeu.
Je précise que cela ne vient pas du RTP, que cela n'arrive pas lorsque je n'utilise pas la magie.
J'utilise la vesion 1.09 de boddom child mais le problème est le même avec une ancienne version de la Yume team.
Je suis assez experimenté dans le game-making ( pas trop non plus mais...) et je ne pense pas que cela vienne d'une erreur de ma part ( j'espere peut être que si ).
Apres des recherche je me suis aperçu que je n'etais pas le seul a avoir ce probleme même s'il reste assez rare, et sans réponse.
Si quelqu'un a une idée...
MERCI
Revenir en haut Aller en bas
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 19:15

un conseil

tu a cas le desinstaler et le re-telecharger mais sur RPG-CREATION tu vera moi je les prit la et aucun blme
voila ta K esaier
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Game_Battler   invalid pointer operation EmptyJeu 19 Jan - 19:24

oui j'ai bien vue ton souci!!je pense que c'est un problème de script!Hum voyon voir!
Clique sur f11 pour ouvrir les scripts
Tu mets ce script dans Game_Battler 1(copier coller)
#==============================================================================
# ■ Game_Battler (分割定義 1)
#------------------------------------------------------------------------------
#  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
# スのスーパークラスとして使用されます。
#==============================================================================

class Game_Battler
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :battler_name # バトラー ファイル名
attr_reader :battler_hue # バトラー 色相
attr_reader :hp # HP
attr_reader :sp # SP
attr_reader :states # ステート
attr_accessor :hidden # 隠れフラグ
attr_accessor :immortal # 不死身フラグ
attr_accessor :damage_pop # ダメージ表示フラグ
attr_accessor :damage # ダメージ値
attr_accessor :critical # クリティカルフラグ
attr_accessor :animation_id # アニメーション ID
attr_accessor :animation_hit # アニメーション ヒットフラグ
attr_accessor :white_flash # 白フラッシュフラグ
attr_accessor :blink # 明滅フラグ
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
@battler_name = ""
@battler_hue = 0
@hp = 0
@sp = 0
@states = []
@states_turn = {}
@maxhp_plus = 0
@maxsp_plus = 0
@str_plus = 0
@dex_plus = 0
@agi_plus = 0
@int_plus = 0
@hidden = false
@immortal = false
@damage_pop = false
@damage = nil
@critical = false
@animation_id = 0
@animation_hit = false
@white_flash = false
@blink = false
@current_action = Game_BattleAction.new
end
#--------------------------------------------------------------------------
# ● MaxHP の取得
#--------------------------------------------------------------------------
def maxhp
n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
for i in @states
n *= $data_states[i].maxhp_rate / 100.0
end
n = [[Integer(n), 1].max, 999999].min
return n
end
#--------------------------------------------------------------------------
# ● MaxSP の取得
#--------------------------------------------------------------------------
def maxsp
n = [[base_maxsp + @maxsp_plus, 0].max, 9999].min
for i in @states
n *= $data_states[i].maxsp_rate / 100.0
end
n = [[Integer(n), 0].max, 9999].min
return n
end
#--------------------------------------------------------------------------
# ● 腕力の取得
#--------------------------------------------------------------------------
def str
n = [[base_str + @str_plus, 1].max, 999].min
for i in @states
n *= $data_states[i].str_rate / 100.0
end
n = [[Integer(n), 1].max, 999].min
return n
end
#--------------------------------------------------------------------------
# ● 器用さの取得
#--------------------------------------------------------------------------
def dex
n = [[base_dex + @dex_plus, 1].max, 999].min
for i in @states
n *= $data_states[i].dex_rate / 100.0
end
n = [[Integer(n), 1].max, 999].min
return n
end
#--------------------------------------------------------------------------
# ● 素早さの取得
#--------------------------------------------------------------------------
def agi
n = [[base_agi + @agi_plus, 1].max, 999].min
for i in @states
n *= $data_states[i].agi_rate / 100.0
end
n = [[Integer(n), 1].max, 999].min
return n
end
#--------------------------------------------------------------------------
# ● 魔力の取得
#--------------------------------------------------------------------------
def int
n = [[base_int + @int_plus, 1].max, 999].min
for i in @states
n *= $data_states[i].int_rate / 100.0
end
n = [[Integer(n), 1].max, 999].min
return n
end
#--------------------------------------------------------------------------
# ● MaxHP の設定
# maxhp : 新しい MaxHP
#--------------------------------------------------------------------------
def maxhp=(maxhp)
@maxhp_plus += maxhp - self.maxhp
@maxhp_plus = [[@maxhp_plus, -9999].max, 9999].min
@hp = [@hp, self.maxhp].min
end
#--------------------------------------------------------------------------
# ● MaxSP の設定
# maxsp : 新しい MaxSP
#--------------------------------------------------------------------------
def maxsp=(maxsp)
@maxsp_plus += maxsp - self.maxsp
@maxsp_plus = [[@maxsp_plus, -9999].max, 9999].min
@sp = [@sp, self.maxsp].min
end
#--------------------------------------------------------------------------
# ● 腕力の設定
# str : 新しい腕力
#--------------------------------------------------------------------------
def str=(str)
@str_plus += str - self.str
@str_plus = [[@str_plus, -999].max, 999].min
end
#--------------------------------------------------------------------------
# ● 器用さの設定
# dex : 新しい器用さ
#--------------------------------------------------------------------------
def dex=(dex)
@dex_plus += dex - self.dex
@dex_plus = [[@dex_plus, -999].max, 999].min
end
#--------------------------------------------------------------------------
# ● 素早さの設定
# agi : 新しい素早さ
#--------------------------------------------------------------------------
def agi=(agi)
@agi_plus += agi - self.agi
@agi_plus = [[@agi_plus, -999].max, 999].min
end
#--------------------------------------------------------------------------
# ● 魔力の設定
# int : 新しい魔力
#--------------------------------------------------------------------------
def int=(int)
@int_plus += int - self.int
@int_plus = [[@int_plus, -999].max, 999].min
end
#--------------------------------------------------------------------------
# ● 命中率の取得
#--------------------------------------------------------------------------
def hit
n = 100
for i in @states
n *= $data_states[i].hit_rate / 100.0
end
return Integer(n)
end
#--------------------------------------------------------------------------
# ● 攻撃力の取得
#--------------------------------------------------------------------------
def atk
n = base_atk
for i in @states
n *= $data_states[i].atk_rate / 100.0
end
return Integer(n)
end
#--------------------------------------------------------------------------
# ● 物理防御の取得
#--------------------------------------------------------------------------
def pdef
n = base_pdef
for i in @states
n *= $data_states[i].pdef_rate / 100.0
end
return Integer(n)
end
#--------------------------------------------------------------------------
# ● 魔法防御の取得
#--------------------------------------------------------------------------
def mdef
n = base_mdef
for i in @states
n *= $data_states[i].mdef_rate / 100.0
end
return Integer(n)
end
#--------------------------------------------------------------------------
# ● 回避修正の取得
#--------------------------------------------------------------------------
def eva
n = base_eva
for i in @states
n += $data_states[i].eva
end
return n
end
#--------------------------------------------------------------------------
# ● HP の変更
# hp : 新しい HP
#--------------------------------------------------------------------------
def hp=(hp)
@hp = [[hp, maxhp].min, 0].max
# 戦闘不能を付加または解除
for i in 1...$data_states.size
if $data_states[i].zero_hp
if self.dead?
add_state(i)
else
remove_state(i)
end
end
end
end
#--------------------------------------------------------------------------
# ● SP の変更
# sp : 新しい SP
#--------------------------------------------------------------------------
def sp=(sp)
@sp = [[sp, maxsp].min, 0].max
end
#--------------------------------------------------------------------------
# ● 全回復
#--------------------------------------------------------------------------
def recover_all
@hp = maxhp
@sp = maxsp
for i in @states.clone
remove_state(i)
end
end
#--------------------------------------------------------------------------
# ● カレントアクションの取得
#--------------------------------------------------------------------------
def current_action
return @current_action
end
#--------------------------------------------------------------------------
# ● アクションスピードの決定
#--------------------------------------------------------------------------
def make_action_speed
@current_action.speed = agi + rand(10 + agi / 4)
end
#--------------------------------------------------------------------------
# ● 戦闘不能判定
#--------------------------------------------------------------------------
def dead?
return (@hp == 0 and not @immortal)
end
#--------------------------------------------------------------------------
# ● 存在判定
#--------------------------------------------------------------------------
def exist?
return (not @hidden and (@hp > 0 or @immortal))
end
#--------------------------------------------------------------------------
# ● HP 0 判定
#--------------------------------------------------------------------------
def hp0?
return (not @hidden and @hp == 0)
end
#--------------------------------------------------------------------------
# ● コマンド入力可能判定
#--------------------------------------------------------------------------
def inputable?
return (not @hidden and restriction <= 1)
end
#--------------------------------------------------------------------------
# ● 行動可能判定
#--------------------------------------------------------------------------
def movable?
return (not @hidden and restriction < 4)
end
#--------------------------------------------------------------------------
# ● 防御中判定
#--------------------------------------------------------------------------
def guarding?
return (@current_action.kind == 0 and @current_action.basic == 1)
end
#--------------------------------------------------------------------------
# ● 休止中判定
#--------------------------------------------------------------------------
def resting?
return (@current_action.kind == 0 and @current_action.basic == 3)
end
end

Suite dans le prochain message!
Revenir en haut Aller en bas
http://dbzstation.free.fr/
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Suite   invalid pointer operation EmptyJeu 19 Jan - 19:29

Game_Battler 2
#==============================================================================
# ■ Game_Battler (分割定義 2)
#------------------------------------------------------------------------------
#  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
# スのスーパークラスとして使用されます。
#==============================================================================

class Game_Battler
#--------------------------------------------------------------------------
# ● ステートの検査
# state_id : ステート ID
#--------------------------------------------------------------------------
def state?(state_id)
# 該当するステートが付加されていれば true を返す
return @states.include?(state_id)
end
#--------------------------------------------------------------------------
# ● ステートがフルかどうかの判定
# state_id : ステート ID
#--------------------------------------------------------------------------
def state_full?(state_id)
# 該当するステートが付加されていなけば false を返す
unless self.state?(state_id)
return false
end
# 持続ターン数が -1 (オートステート) なら true を返す
if @states_turn[state_id] == -1
return true
end
# 持続ターン数が自然解除の最低ターン数と同じなら true を返す
return @states_turn[state_id] == $data_states[state_id].hold_turn
end
#--------------------------------------------------------------------------
# ● ステートの付加
# state_id : ステート ID
# force : 強制付加フラグ (オートステートの処理で使用)
#--------------------------------------------------------------------------
def add_state(state_id, force = false)
# 無効なステートの場合
if $data_states[state_id] == nil
# メソッド終了
return
end
# 強制付加ではない場合
unless force
# 既存のステートのループ
for i in @states
# 新しいステートが既存のステートのステート変化 (-) に含まれており、
# そのステートが新しいステートのステート変化 (-) には含まれない場合
# (ex : 戦闘不能のときに毒を付加しようとした場合)
if $data_states[i].minus_state_set.include?(state_id) and
not $data_states[state_id].minus_state_set.include?(i)
# メソッド終了
return
end
end
end
# このステートが付加されていない場合
unless state?(state_id)
# ステート ID を @states 配列に追加
@states.push(state_id)
# オプション [HP 0 の状態とみなす] が有効の場合
if $data_states[state_id].zero_hp
# HP を 0 に変更
@hp = 0
end
# 全ステートのループ
for i in 1...$data_states.size
# ステート変化 (+) 処理
if $data_states[state_id].plus_state_set.include?(i)
add_state(i)
end
# ステート変化 (-) 処理
if $data_states[state_id].minus_state_set.include?(i)
remove_state(i)
end
end
# レーティングの大きい順 (同値の場合は制約の強い順) に並び替え
@states.sort! do |a, b|
state_a = $data_states[a]
state_b = $data_states[b]
if state_a.rating > state_b.rating
-1
elsif state_a.rating < state_b.rating
+1
elsif state_a.restriction > state_b.restriction
-1
elsif state_a.restriction < state_b.restriction
+1
else
a <=> b
end
end
end
# 強制付加の場合
if force
# 自然解除の最低ターン数を -1 (無効) に設定
@states_turn[state_id] = -1
end
# 強制付加ではない場合
unless @states_turn[state_id] == -1
# 自然解除の最低ターン数を設定
@states_turn[state_id] = $data_states[state_id].hold_turn
end
# 行動不能の場合
unless movable?
# アクションをクリア
@current_action.clear
end
# HP および SP の最大値チェック
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end
#--------------------------------------------------------------------------
# ● ステートの解除
# state_id : ステート ID
# force : 強制解除フラグ (オートステートの処理で使用)
#--------------------------------------------------------------------------
def remove_state(state_id, force = false)
# このステートが付加されている場合
if state?(state_id)
# 強制付加されたステートで、かつ解除が強制ではない場合
if @states_turn[state_id] == -1 and not force
# メソッド終了
return
end
# 現在の HP が 0 かつ オプション [HP 0 の状態とみなす] が有効の場合
if @hp == 0 and $data_states[state_id].zero_hp
# ほかに [HP 0 の状態とみなす] ステートがあるかどうか判定
zero_hp = false
for i in @states
if i != state_id and $data_states[i].zero_hp
zero_hp = true
end
end


J'ai coupé le message en deux tu continura a le mettre dans se script!
Revenir en haut Aller en bas
http://dbzstation.free.fr/
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 19:30

Suite du message tu le mettera dans Game_Battler 2 a la suite!

# 戦闘不能を解除してよければ、HP を 1 に変更
if zero_hp == false
@hp = 1
end
end
# ステート ID を @states 配列および @states_turn ハッシュから削除
@states.delete(state_id)
@states_turn.delete(state_id)
end
# HP および SP の最大値チェック
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end
#--------------------------------------------------------------------------
# ● ステートのアニメーション ID 取得
#--------------------------------------------------------------------------
def state_animation_id
# ステートがひとつも付加されていない場合
if @states.size == 0
return 0
end
# レーティング最大のステートのアニメーション ID を返す
return $data_states[@states[0]].animation_id
end
#--------------------------------------------------------------------------
# ● 制約の取得
#--------------------------------------------------------------------------
def restriction
restriction_max = 0
# 現在付加されているステートから最大の restriction を取得
for i in @states
if $data_states[i].restriction >= restriction_max
restriction_max = $data_states[i].restriction
end
end
return restriction_max
end
#--------------------------------------------------------------------------
# ● ステート [EXP を獲得できない] 判定
#--------------------------------------------------------------------------
def cant_get_exp?
for i in @states
if $data_states[i].cant_get_exp
return true
end
end
return false
end
#--------------------------------------------------------------------------
# ● ステート [攻撃を回避できない] 判定
#--------------------------------------------------------------------------
def cant_evade?
for i in @states
if $data_states[i].cant_evade
return true
end
end
return false
end
#--------------------------------------------------------------------------
# ● ステート [スリップダメージ] 判定
#--------------------------------------------------------------------------
def slip_damage?
for i in @states
if $data_states[i].slip_damage
return true
end
end
return false
end
#--------------------------------------------------------------------------
# ● バトル用ステートの解除 (バトル終了時に呼び出し)
#--------------------------------------------------------------------------
def remove_states_battle
for i in @states.clone
if $data_states[i].battle_only
remove_state(i)
end
end
end
#--------------------------------------------------------------------------
# ● ステート自然解除 (ターンごとに呼び出し)
#--------------------------------------------------------------------------
def remove_states_auto
for i in @states_turn.keys.clone
if @states_turn[i] > 0
@states_turn[i] -= 1
elsif rand(100) < $data_states[i].auto_release_prob
remove_state(i)
end
end
end
#--------------------------------------------------------------------------
# ● ステート衝撃解除 (物理ダメージごとに呼び出し)
#--------------------------------------------------------------------------
def remove_states_shock
for i in @states.clone
if rand(100) < $data_states[i].shock_release_prob
remove_state(i)
end
end
end
#--------------------------------------------------------------------------
# ● ステート変化 (+) の適用
# plus_state_set : ステート変化 (+)
#--------------------------------------------------------------------------
def states_plus(plus_state_set)
# 有効フラグをクリア
effective = false
# ループ (付加するステート)
for i in plus_state_set
# このステートが防御されていない場合
unless self.state_guard?(i)
# このステートがフルでなければ有効フラグをセット
effective |= self.state_full?(i) == false
# ステートが [抵抗しない] の場合
if $data_states[i].nonresistance
# ステート変化フラグをセット
@state_changed = true
# ステートを付加
add_state(i)
# このステートがフルではない場合
elsif self.state_full?(i) == false
# ステート有効度を確率に変換し、乱数と比較
if rand(100) < [0,100,80,60,40,20,0][self.state_ranks[i]]
# ステート変化フラグをセット
@state_changed = true
# ステートを付加
add_state(i)
end
end
end
end
# メソッド終了
return effective
end
#--------------------------------------------------------------------------
# ● ステート変化 (-) の適用
# minus_state_set : ステート変化 (-)
#--------------------------------------------------------------------------
def states_minus(minus_state_set)
# 有効フラグをクリア
effective = false
# ループ (解除するステート)
for i in minus_state_set
# このステートが付加されていれば有効フラグをセット
effective |= self.state?(i)
# ステート変化フラグをセット
@state_changed = true
# ステートを解除
remove_state(i)
end
# メソッド終了
return effective
end
end
Revenir en haut Aller en bas
http://dbzstation.free.fr/
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Game_Battler 3   invalid pointer operation EmptyJeu 19 Jan - 19:34

et voici l'avant dernier script a changé!

Game_Battler 3
#==============================================================================
# ■ Game_Battler (分割定義 3)
#------------------------------------------------------------------------------
#  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
# スのスーパークラスとして使用されます。
#==============================================================================

class Game_Battler
#--------------------------------------------------------------------------
# ● スキルの使用可能判定
# skill_id : スキル ID
#--------------------------------------------------------------------------
def skill_can_use?(skill_id)
# SP が足りない場合は使用不可
if $data_skills[skill_id].sp_cost > self.sp
return false
end
# 戦闘不能の場合は使用不可
if dead?
return false
end
# 沈黙状態の場合、物理スキル以外は使用不可
if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
return false
end
# 使用可能時を取得
occasion = $data_skills[skill_id].occasion
# 戦闘中の場合
if $game_temp.in_battle
# [常時] または [バトルのみ] なら使用可
return (occasion == 0 or occasion == 1)
# 戦闘中ではない場合
else
# [常時] または [メニューのみ] なら使用可
return (occasion == 0 or occasion == 2)
end
end
#--------------------------------------------------------------------------
# ● 通常攻撃の効果適用
# attacker : 攻撃者 (バトラー)
#--------------------------------------------------------------------------
def attack_effect(attacker)
# クリティカルフラグをクリア
self.critical = false
# 第一命中判定
hit_result = (rand(100) < attacker.hit)
# 命中の場合
if hit_result == true
# 基本ダメージを計算
atk = [attacker.atk - self.pdef / 2, 0].max
self.damage = atk * (20 + attacker.str) / 20
# 属性修正
self.damage *= elements_correct(attacker.element_set)
self.damage /= 100
# ダメージの符号が正の場合
if self.damage > 0
# クリティカル修正
if rand(100) < 4 * attacker.dex / self.agi
self.damage *= 2
self.critical = true
end
# 防御修正
if self.guarding?
self.damage /= 2
end
end
# 分散
if self.damage.abs > 0
amp = [self.damage.abs * 15 / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# 第二命中判定
eva = 8 * self.agi / attacker.dex + self.eva
hit = self.damage < 0 ? 100 : 100 - eva
hit = self.cant_evade? ? 100 : hit
hit_result = (rand(100) < hit)
end
# 命中の場合
if hit_result == true
# ステート衝撃解除
remove_states_shock
# HP からダメージを減算
self.hp -= self.damage
# ステート変化
@state_changed = false
states_plus(attacker.plus_state_set)
states_minus(attacker.minus_state_set)
# ミスの場合
else
# ダメージに "Miss" を設定
self.damage = "Miss"
# クリティカルフラグをクリア
self.critical = false
end
# メソッド終了
return true
end
#--------------------------------------------------------------------------
# ● スキルの効果適用
# user : スキルの使用者 (バトラー)
# skill : スキル
#--------------------------------------------------------------------------
def skill_effect(user, skill)
# クリティカルフラグをクリア
self.critical = false
# スキルの効果範囲が HP 1 以上の味方で、自分の HP が 0、
# またはスキルの効果範囲が HP 0 の味方で、自分の HP が 1 以上の場合
if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
# メソッド終了
return false
end
# 有効フラグをクリア
effective = false
# コモンイベント ID が有効の場合は有効フラグをセット
effective |= skill.common_event_id > 0
# 第一命中判定
hit = skill.hit
if skill.atk_f > 0
hit *= user.hit / 100
end
hit_result = (rand(100) < hit)
# 不確実なスキルの場合は有効フラグをセット
effective |= hit < 100
# 命中の場合
if hit_result == true
# 威力を計算
power = skill.power + user.atk * skill.atk_f / 100
if power > 0
power -= self.pdef * skill.pdef_f / 200
power -= self.mdef * skill.mdef_f / 200
power = [power, 0].max
end
# 倍率を計算
rate = 20
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)
# 基本ダメージを計算
self.damage = power * rate / 20
# 属性修正
self.damage *= elements_correct(skill.element_set)
self.damage /= 100
# ダメージの符号が正の場合
if self.damage > 0
# 防御修正
if self.guarding?
self.damage /= 2
end
end
# 分散
if skill.variance > 0 and self.damage.abs > 0
amp = [self.damage.abs * skill.variance / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# 第二命中判定
eva = 8 * self.agi / user.dex + self.eva
hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
hit = self.cant_evade? ? 100 : hit
hit_result = (rand(100) < hit)
# 不確実なスキルの場合は有効フラグをセット
effective |= hit < 100
end
# 命中の場合
if hit_result == true
# 威力 0 以外の物理攻撃の場合
if skill.power != 0 and skill.atk_f > 0
# ステート衝撃解除
remove_states_shock
# 有効フラグをセット
effective = true
end
# HP からダメージを減算
last_hp = self.hp
self.hp -= self.damage
effective |= self.hp != last_hp
# ステート変化
@state_changed = false
effective |= states_plus(skill.plus_state_set)
effective |= states_minus(skill.minus_state_set)
# 威力が 0 の場合
if skill.power == 0
# ダメージに空文字列を設定
self.damage = ""
# ステートに変化がない場合
unless @state_changed
# ダメージに "Miss" を設定
self.damage = "Miss"
end
end
# ミスの場合
else
# ダメージに "Miss" を設定
self.damage = "Miss"
end
# 戦闘中でない場合
unless $game_temp.in_battle
# ダメージに nil を設定
self.damage = nil
end
# メソッド終了
return effective
end
#--------------------------------------------------------------------------
# ● アイテムの効果適用
# item : アイテム
#--------------------------------------------------------------------------
def item_effect(item)
# クリティカルフラグをクリア
self.critical = false
# アイテムの効果範囲が HP 1 以上の味方で、自分の HP が 0、
# またはアイテムの効果範囲が HP 0 の味方で、自分の HP が 1 以上の場合
if ((item.scope == 3 or item.scope == 4) and self.hp == 0) or
((item.scope == 5 or item.scope == 6) and self.hp >= 1)
# メソッド終了
return false
end

Suite de ce script dans le prochain message donc tu le mettera a la suite de ce script!
Revenir en haut Aller en bas
http://dbzstation.free.fr/
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 19:36

Voilà la suite!!lol!je sais que c'est compliqué mais je fais sa pour toi c'est des scripts que j'ai modifié et qui marche enfin sur le mien!^^'

Suite du script Game_Battler 3

# 有効フラグをクリア
effective = false
# コモンイベント ID が有効の場合は有効フラグをセット
effective |= item.common_event_id > 0
# 命中判定
hit_result = (rand(100) < item.hit)
# 不確実なスキルの場合は有効フラグをセット
effective |= item.hit < 100
# 命中の場合
if hit_result == true
# 回復量を計算
recover_hp = maxhp * item.recover_hp_rate / 100 + item.recover_hp
recover_sp = maxsp * item.recover_sp_rate / 100 + item.recover_sp
if recover_hp < 0
recover_hp += self.pdef * item.pdef_f / 20
recover_hp += self.mdef * item.mdef_f / 20
recover_hp = [recover_hp, 0].min
end
# 属性修正
recover_hp *= elements_correct(item.element_set)
recover_hp /= 100
recover_sp *= elements_correct(item.element_set)
recover_sp /= 100
# 分散
if item.variance > 0 and recover_hp.abs > 0
amp = [recover_hp.abs * item.variance / 100, 1].max
recover_hp += rand(amp+1) + rand(amp+1) - amp
end
if item.variance > 0 and recover_sp.abs > 0
amp = [recover_sp.abs * item.variance / 100, 1].max
recover_sp += rand(amp+1) + rand(amp+1) - amp
end
# 回復量の符号が負の場合
if recover_hp < 0
# 防御修正
if self.guarding?
recover_hp /= 2
end
end
# HP 回復量の符号を反転し、ダメージの値に設定
self.damage = -recover_hp
# HP および SP を回復
last_hp = self.hp
last_sp = self.sp
self.hp += recover_hp
self.sp += recover_sp
effective |= self.hp != last_hp
effective |= self.sp != last_sp
# ステート変化
@state_changed = false
effective |= states_plus(item.plus_state_set)
effective |= states_minus(item.minus_state_set)
# パラメータ上昇値が有効の場合
if item.parameter_type > 0 and item.parameter_points != 0
# パラメータで分岐
case item.parameter_type
when 1 # MaxHP
@maxhp_plus += item.parameter_points
when 2 # MaxSP
@maxsp_plus += item.parameter_points
when 3 # 腕力
@str_plus += item.parameter_points
when 4 # 器用さ
@dex_plus += item.parameter_points
when 5 # 素早さ
@agi_plus += item.parameter_points
when 6 # 魔力
@int_plus += item.parameter_points
end
# 有効フラグをセット
effective = true
end
# HP 回復率と回復量が 0 の場合
if item.recover_hp_rate == 0 and item.recover_hp == 0
# ダメージに空文字列を設定
self.damage = ""
# SP 回復率と回復量が 0、パラメータ上昇値が無効の場合
if item.recover_sp_rate == 0 and item.recover_sp == 0 and
(item.parameter_type == 0 or item.parameter_points == 0)
# ステートに変化がない場合
unless @state_changed
# ダメージに "Miss" を設定
self.damage = "Miss"
end
end
end
# ミスの場合
else
# ダメージに "Miss" を設定
self.damage = "Miss"
end
# 戦闘中でない場合
unless $game_temp.in_battle
# ダメージに nil を設定
self.damage = nil
end
# メソッド終了
return effective
end
#--------------------------------------------------------------------------
# ● スリップダメージの効果適用
#--------------------------------------------------------------------------
def slip_damage_effect
# ダメージを設定
self.damage = self.maxhp / 10
# 分散
if self.damage.abs > 0
amp = [self.damage.abs * 15 / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# HP からダメージを減算
self.hp -= self.damage
# メソッド終了
return true
end
#--------------------------------------------------------------------------
# ● 属性修正の計算
# element_set : 属性
#--------------------------------------------------------------------------
def elements_correct(element_set)
# 無属性の場合
if element_set == []
# 100 を返す
return 100
end
# 与えられた属性の中で最も弱いものを返す
# ※メソッド element_rate は、このクラスから継承される Game_Actor
# および Game_Enemy クラスで定義される
weakest = -100
for i in element_set
weakest = [weakest, self.element_rate(i)].max
end
return weakest
end
end
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 19:39

tu pourer arrete de lui compliquer la vie il peut tres bien RE telecharger RPG MAKER XP
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 19:40

Dernier script a modifié!

Scirpt a modifé dans Game_BattleAction

#==============================================================================
# ■ Game_BattleAction
#------------------------------------------------------------------------------
#  アクション (戦闘中の行動) を扱うクラスです。このクラスは Game_Battler クラ
# スの内部で使用されます。
#==============================================================================

class Game_BattleAction
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :speed # スピード
attr_accessor :kind # 種別 (基本 / スキル / アイテム)
attr_accessor :basic # 基本 (攻撃 / 防御 / 逃げる)
attr_accessor :skill_id # スキル ID
attr_accessor :item_id # アイテム ID
attr_accessor :target_index # 対象インデックス
attr_accessor :forcing # 強制フラグ
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
clear
end
#--------------------------------------------------------------------------
# ● クリア
#--------------------------------------------------------------------------
def clear
@speed = 0
@kind = 0
@basic = 3
@skill_id = 0
@item_id = 0
@target_index = -1
@forcing = false
end
#--------------------------------------------------------------------------
# ● 有効判定
#--------------------------------------------------------------------------
def valid?
return (not (@kind == 0 and @basic == 3))
end
#--------------------------------------------------------------------------
# ● 味方単体用判定
#--------------------------------------------------------------------------
def for_one_friend?
# 種別がスキルで、効果範囲が味方単体 (HP 0 を含む) の場合
if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
return true
end
# 種別がアイテムで、効果範囲が味方単体 (HP 0 を含む) の場合
if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
return true
end
return false
end
#--------------------------------------------------------------------------
# ● 味方単体用 (HP 0) 判定
#--------------------------------------------------------------------------
def for_one_friend_hp0?
# 種別がスキルで、効果範囲が味方単体 (HP 0 のみ) の場合
if @kind == 1 and [5].include?($data_skills[@skill_id].scope)
return true
end
# 種別がアイテムで、効果範囲が味方単体 (HP 0 のみ) の場合
if @kind == 2 and [5].include?($data_items[@item_id].scope)
return true
end
return false
end
#--------------------------------------------------------------------------
# ● ランダムターゲット (アクター用)
#--------------------------------------------------------------------------
def decide_random_target_for_actor
# 効果範囲で分岐
if for_one_friend_hp0?
battler = $game_party.random_target_actor_hp0
elsif for_one_friend?
battler = $game_party.random_target_actor
else
battler = $game_troop.random_target_enemy
end
# 対象が存在するならインデックスを取得し、
# 対象が存在しない場合はアクションをクリア
if battler != nil
@target_index = battler.index
else
clear
end
end
#--------------------------------------------------------------------------
# ● ランダムターゲット (エネミー用)
#--------------------------------------------------------------------------
def decide_random_target_for_enemy
# 効果範囲で分岐
if for_one_friend_hp0?
battler = $game_troop.random_target_enemy_hp0
elsif for_one_friend?
battler = $game_troop.random_target_enemy
else
battler = $game_party.random_target_actor
end
# 対象が存在するならインデックスを取得し、
# 対象が存在しない場合はアクションをクリア
if battler != nil
@target_index = battler.index
else
clear
end
end
#--------------------------------------------------------------------------
# ● ラストターゲット (アクター用)
#--------------------------------------------------------------------------
def decide_last_target_for_actor
# 効果範囲が味方単体ならアクター、それ以外ならエネミー
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_party.actors[@target_index]
else
battler = $game_troop.enemies[@target_index]
end
# 対象が存在しない場合はアクションをクリア
if battler == nil or not battler.exist?
clear
end
end
#--------------------------------------------------------------------------
# ● ラストターゲット (エネミー用)
#--------------------------------------------------------------------------
def decide_last_target_for_enemy
# 効果範囲が味方単体ならエネミー、それ以外ならアクター
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_troop.enemies[@target_index]
else
battler = $game_party.actors[@target_index]
end
# 対象が存在しない場合はアクションをクリア
if battler == nil or not battler.exist?
clear
end
end
end
Revenir en haut Aller en bas
http://dbzstation.free.fr/
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 19:42

Il faut qu'il apprenne a utilisé les scripts et non parce que le logiciel qu'il va retélécharger
fera la même chose!!!

Donc comme j'ai dis je pense que tu dois savoir utilisé les scripts donc fais ses modif que j'ai fais spécialement pour toi!voilà tu men dira des nouvelle ok? Wink
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 20:19

Mes nouvel c ke je n ai jamais u de bleme avec rpg maker Xp
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 20:21

c'est le cas de moi aussi!
mais si il commence pas apprendre quand va t'il le faire?
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 20:24

heu...il te demendera ^^'
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 20:30

lol!!!oui je croit que tu as raison!mais j'ai bien expliqué tu pense pas?
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyJeu 19 Jan - 20:35

Peut etre je touche po a m es scipte je ve pas cree au risque une bombe!
j aurer po l aire con ^^'
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 17:25

lol!!!c'est interressant un script pourtant!je vous en direz plus quand j'aurais amélioré un!
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Tony333
Programmeur / Maker
Programmeur / Maker
Tony333


Nombre de messages : 1697
Localisation : Rosny sous bois
Date d'inscription : 16/07/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 19:24

Lol t'a qu'a te lancer dans le scrpiting Wink
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 20:36

lol!je suis pas trop un expert mais je me débroulle j'arrive a faire un effet nuit dans mon jeu enfaite a chaque fois que t'avance et tu jou le jour et la nuit se déroule comme dans la vrai vie!je suis entrin de l'amélioré!!! Wink
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 21:51

c vachement simple tu va dans evenement commun tu cree differente periode de jour de nuit brouillard ensuite tu dis tout les temps de minute sa change et c bon je vois pas la difficulter
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:05

et c'est la que ta tout faux!!!!!!!!!!!!
sa tu te casse la tête a le faire!alors que tu créer un script et un evenement commun en processus parrallèle et sa change tt le temps sans que ta a faire quelque chose!d'autre suggestion?
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Tony333
Programmeur / Maker
Programmeur / Maker
Tony333


Nombre de messages : 1697
Localisation : Rosny sous bois
Date d'inscription : 16/07/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:08

Lol le connaisseur :p
Sinon tu peux faire un effet de couleurs :]
300 pas = ecrant devien couleurs sombres...
Revenir en haut Aller en bas
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:08

vi bas moi je fait quand tu prend un vehicule dans mon jeu (sa ete instaurer)

-Message
-confirmation
-vitesse 6.0
-interruppteur ??? enclencher
et c bon sa donne sa en gros et puis zut un

Blague:Comment un nain c suis la bout qu il a sur la figure?
Revenir en haut Aller en bas
Tony333
Programmeur / Maker
Programmeur / Maker
Tony333


Nombre de messages : 1697
Localisation : Rosny sous bois
Date d'inscription : 16/07/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:08

Enfin maintenant je suis plus sur builder :]
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:10

vous avez réson mais bon tout le temps a 300 pas c'est pas trés marant!lol
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Tony333
Programmeur / Maker
Programmeur / Maker
Tony333


Nombre de messages : 1697
Localisation : Rosny sous bois
Date d'inscription : 16/07/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:12

Bah tu calcules, 300 pas je pense que c'est 15 minutes de marche sur un rpg, sa fait pas mal pour changer de temp :]
Revenir en haut Aller en bas
yekais
Charset Maker
Charset Maker
yekais


Nombre de messages : 204
Date d'inscription : 09/12/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:13

oui exacte!lol
Revenir en haut Aller en bas
http://dbzstation.free.fr/
Tony333
Programmeur / Maker
Programmeur / Maker
Tony333


Nombre de messages : 1697
Localisation : Rosny sous bois
Date d'inscription : 16/07/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:14

Tu calcul encore 1200 pas = 1heure de marche,
donc en une heure tu peux passer 4 heures = une journé,
un jour on devrais faire un rpp ensemble, réele, en temps normal l'histoire se passe, il fait jour en france, sur le rpg il fait jour...
Revenir en haut Aller en bas
Invité
Invité




invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:16

reponse de la blague:
Il cour dans les champs,Vu qu il et petit il se prend le mais en plain figure sa le netoit ^^' pourite c sa?
Revenir en haut Aller en bas
Tony333
Programmeur / Maker
Programmeur / Maker
Tony333


Nombre de messages : 1697
Localisation : Rosny sous bois
Date d'inscription : 16/07/2005

invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation EmptyVen 20 Jan - 22:17

Lol jte le fait pas dire mdr !
Revenir en haut Aller en bas
Contenu sponsorisé





invalid pointer operation Empty
MessageSujet: Re: invalid pointer operation   invalid pointer operation Empty

Revenir en haut Aller en bas
 
invalid pointer operation
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Anti:Operation resistance

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Network RPG Maker :: Network RPG-MAKER :: Conseils, Aide, Problèmes et Astuces-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser