Partagez
Aller en bas
avatar
Rel
Membre

Nombre de messages : 352
Localisation : Le Mans, Sarthes
Distinction : aucune
Date d'inscription : 18/01/2013

[Résolu] Script d'arme à level

le Mer 6 Mar 2013 - 19:28
Bonjour,

voilà je me demandais s'il existait un script pour RPG Maker VX Ace qui ferais que plus on tape avec une arme,
plus elle inflige de dégâts ( stats améliorés? ), comme une arme avec des niveaux (comme un joueur).


Dites moi s'il existe, dans le cas contraire, je n'aurais plus à en chercher un.
Et s'il y en a pas, existe t-il un autre moyen qu'avec un script?



Merci d'avance

Daster


Dernière édition par daster le Jeu 7 Mar 2013 - 11:13, édité 1 fois
avatar
Nozvez
Membre

Nombre de messages : 354
Distinction : aucune
Date d'inscription : 16/03/2012

Re: [Résolu] Script d'arme à level

le Mer 6 Mar 2013 - 19:36
Je t'ai trouvé ça : http://cobbtocs.co.uk/wp/?p=155 Si ça te convient.
avatar
Rel
Membre

Nombre de messages : 352
Localisation : Le Mans, Sarthes
Distinction : aucune
Date d'inscription : 18/01/2013

Re: [Résolu] Script d'arme à level

le Mer 6 Mar 2013 - 20:04
Merci.

Juste une petit chose:
étant totalement un néophyte en langage de script, comment faire pour que se ne soit que les armes qui augmente et pas les armures?
Car c'est pour faire en sorte que le héros de mon RPG garde sa même arme du début à la fin de l'histoire.

Autre problème:
quand je veut lancer le jeu, il me marque:

Script 'Equipement Levels Up' line 92: NameError occured.
undefined method `name' for class `Game_CustomEquipe'

( 'Equipement Levels Up' est le nom du script)


Pouvez-vous m'aider?
avatar
Nozvez
Membre

Nombre de messages : 354
Distinction : aucune
Date d'inscription : 16/03/2012

Re: [Résolu] Script d'arme à level

le Mer 6 Mar 2013 - 21:00
Est-ce que tu as vu qu'il te fallait ce script :
Requires: Individual Equipment (http://cobbtocs.co.uk/wp/?p=148)

Pour les armures je jette un oeil et je te dis si j'ai trouvé.

EDIT :

# If you only want to implement this for weapons or armours set
# the following to false as you see fit
WLU_WEAPONS_LEVEL_UP = true
WLU_ARMOURS_LEVEL_UP = true
Dans ces lignes, tu mets false à la place de true pour WEAPONS et je suppose que ça ne marchera alors que pour les armes.

Re-édite : Je t'ai traduit certains trucs pour que tu comprennes mieux le script :

Spoiler:

=begin
Equipment Levels Up
by Fomar0153
Version 1.0
----------------------
Notes
----------------------
This script allows weapons to grow stronger and level up when they
gain exp or ap.
----------------------
Instructions
----------------------
Requires my individual equipment script. (Make sure it is version 1.1+)
Requires an AP script if leveling weapons using AP.
Customise the variables in the module below to set up the script to your
liking.

Notetags
- pour mettre un level max personnalisé (différent de celui par défaut).
----------------------
Known bugs
----------------------
None
=end

module Fomar

# Si vous ne souhaitez implémenter cela que pour des armes ou des armures définir les paramètres suivants à false comme bon vous semble
WLU_WEAPONS_LEVEL_UP = true
WLU_ARMOURS_LEVEL_UP = true
# Ce script peut être configuré pour utiliser soit EXP ou AP
# Pour AP vous aurez besoin de AP system.
# true -> utilise AP
# false -> utilise EXP
WLU_USE_AP = false
# Détermine l'ordre des substitutions
# true -> level, name
# false -> name, level
WLU_PREFIX = false
# les %s sont remplacés par le niveau et le nom de l'arme
WLU_VOCAB_WEAPON_NAME = "%s LV %s"
# niveau max par défaut
# Mettre 0 pour n'autoriser le système que pour certaines armes
WLU_DEF_MAX_LEVEL = 5
# Default stat increase per level (percentage)
WLU_DEF_PARAM_INC = 25
# Mettre false pour que le prix de l'objet ne soit pas affecté par le changement de niveau
WLU_PRICE_LEVEL_UP = true
# Default experience per level
# I have provided two defaults, one designed for EXP and one for AP
def self.WLU_EXP_FOR_LEVEL(item); return item.performance * 10; end
def self.WLU_AP_FOR_LEVEL(item); return item.performance; end

end


class Game_CustomEquip < Game_BaseItem

alias wlu_initialize initialize
def initialize
wlu_initialize
@exp = 0
@level = 1
end

def gain_exp(exp)
return unless levels?
@exp += exp
last_level = @level
unless Fomar::WLU_USE_AP
while @exp >= @level * Fomar.WLU_EXP_FOR_LEVEL(object) and @level < object.max_level
@level += 1
$game_message.add(object.name + " levels up.")
end
else
while @exp >= @level * Fomar.WLU_AP_FOR_LEVEL(object) and @level < object.max_level
@level += 1
$game_message.add(object.name + " levels up.")
end
end
end

def levels?
return false if is_nil?
return (((is_weapon? and Fomar::WLU_WEAPONS_LEVEL_UP) or
(is_armor? and Fomar::WLU_ARMOURS_LEVEL_UP)) and
object.max_level > 0)
end

alias wlu_name name
def name
return nil if is_nil?
return wlu_name unless levels?
return sprintf(Fomar::WLU_VOCAB_WEAPON_NAME,@level,wlu_name) if Fomar::WLU_PREFIX
return sprintf(Fomar::WLU_VOCAB_WEAPON_NAME,wlu_name,@level)
end

alias wlu_price price
def price
return nil if is_nil?
return wlu_price unless levels?
return wlu_price unless Fomar::WLU_PRICE_LEVEL_UP
return (100 + Fomar::WLU_DEF_PARAM_INC * @level + object.price)/100
end

def params
return nil if is_nil?
par = object.params.clone
for i in 0..par.size - 1
par[i] *= 100 + Fomar::WLU_DEF_PARAM_INC * (@level - 1)
par[i] /= 100
end
return par
end

alias wlu_performance performance
def performance
return nil if is_nil?
return wlu_performance unless levels?
par = params
p = 0
for pa in par
p += pa
end
if is_weapon?
p += par[2] + par[4]
else
p += par[3] + par[5]
end
return p
end

end

module RPG
class EquipItem
def max_level
if self.note =~ //i
return $1.to_i
else
return Fomar::WLU_DEF_MAX_LEVEL
end
end
end
end

class Game_Actor < Game_Battler

alias wlu_gain_exp gain_exp
def gain_exp(exp)
for equip in @equips
equip.gain_exp(exp)
end
wlu_gain_exp(exp)
end

def gain_ap(ap)
for equip in @equips
equip.gain_exp(ap)
end
end

def custom_equips
return @equips
end

# rewrites param_plus
def param_plus(param_id)
p = super(param_id)
for equip in @equips
p += equip.params[param_id] unless equip.is_nil?
end
return p
end

end


class Window_Base < Window

alias wlu_draw_item_name draw_item_name
def draw_item_name(item, x, y, enabled = true, width = 172)
return unless item
if item.is_a?(Game_CustomEquip)
return if item.is_nil?
end
wlu_draw_item_name(item, x, y, enabled = true, width)
end

end

class Window_EquipSlot < Window_Selectable

# rewrites draw_item
def draw_item(index)
return unless @actor
rect = item_rect_for_text(index)
change_color(system_color, enable?(index))
draw_text(rect.x, rect.y, 92, line_height, slot_name(index))
draw_item_name(@actor.custom_equips[index], rect.x + 92, rect.y, enable?(index))
end

end
avatar
Rel
Membre

Nombre de messages : 352
Localisation : Le Mans, Sarthes
Distinction : aucune
Date d'inscription : 18/01/2013

Re: [Résolu] Script d'arme à level

le Mer 6 Mar 2013 - 21:20
ça marche!

Merci.
Grace à toi je vais enfin pouvoir avancer dans mon projet car je cherchai se script partout et je ne
pouvais pas avancer à cause de cela.


Merci encore de m'avoir répondu aussi vite. Smile
avatar
Nozvez
Membre

Nombre de messages : 354
Distinction : aucune
Date d'inscription : 16/03/2012

Re: [Résolu] Script d'arme à level

le Jeu 7 Mar 2013 - 10:58
Avec plaisir, n'hésite pas si tu as d'autres soucis. Par contre pense à mettre "résolu" dans le titre de ce sujet pour que tu ne te fasses pas taper sur les doigts^^
avatar
Rel
Membre

Nombre de messages : 352
Localisation : Le Mans, Sarthes
Distinction : aucune
Date d'inscription : 18/01/2013

Re: [Résolu] Script d'arme à level

le Jeu 7 Mar 2013 - 11:14
Merci du conseil!
Contenu sponsorisé

Re: [Résolu] Script d'arme à level

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum