Invité
| Sujet: [VX] Systeme de spécialité dans le maniement des armes Jeu 7 Aoû 2008 - 14:14 | |
| Nom : Systeme de spécialité dans le maniement des armes Auteur : ASHKA Nombre de script : 1 Info : Le but de ce script est de faire un systeme de spécialité proche de celui de Saga frontier 2. Chaques héros a un type d'arme preferé avec laquelle il infligera plus de degats. Il y en a aussi qu'il manie tres mal, causant peu de degats. ( On a donc comme facteur : Atk héros / atk arme / maitrise arme / pdef cible ) Fonctionne pour les attaques normales. Créer un nouveau script dans " Materials " et collez y ceci : - Code:
-
=begin
Systeme de spécialité dans le maniement des armes
Le principe est de faire qu'un guerrier rompu au maniement de l'épée fasse plus de degats quand il utilise une épée ...
Utilisation :
Dans l'onglet " Systeme " de la base de donnée, crée autant d'elements qu'il y aura de type d'arme dans votre jeu ( épée, lance, hache, arc, couteau, ... ) Associé ensuite ces élements aux armes qu'ils representent dans l'onglet " Arme " Configurer ensuite les lignes à pour spécifier les aptitudes de vos héros.
$spécialité[ID du héros] = [[2, [20, 21, 22]], [1, [23, 24, 25]], [0.1, [26, 27, 28, 29]]]
Entre crochets se trouve les aptitudes particuliere du héros Premier bloc : 2 est l'indice de degats ( degats doublé ) [20, 21, 22] sont les attributs qui sont associé à cet indice ( les elements de la base de donnée )
Crée autant de bloc que vous voulez sur le même schema : [indice, [element, element, element]]
Quand le héros utilise son arme, les degats seront modifiés par l'indice qui lui correspond
=end class Game_Battler $spécialité = {} for id in 1..8 # Nombre de héros dans la base de donnée $spécialité[id] = {} end $spécialité[1] = [[2, [20, 21, 22]], [1, [23, 24, 25]], [0.1, [26, 27, 28, 29]]] $spécialité[2] = [[0.2, [20, 21, 22]], [1, [23, 24, 25, 26, 27]], [5, [28, 29]]]
def make_attack_damage_value(attacker) damage = attacker.atk * 4 - self.def * 2 # base calculation damage = 0 if damage < 0 # if negative, make 0 damage *= elements_max_rate(attacker.element_set) # elemental adjustment damage /= 100 if damage == 0 # if damage is 0, damage = rand(2) # half of the time, 1 dmg elsif damage > 0 # a positive number? @critical = (rand(100) < attacker.cri) # critical hit? @critical = false if prevent_critical # criticals prevented? damage *= 3 if @critical # critical adjustment end damage = apply_variance(damage, 20) # variance damage = apply_guard(damage) #### if attacker.actor? max = $spécialité[attacker.id].size - 1 for x in 0..max for y in $data_weapons[attacker.weapon_id].element_set if $spécialité[attacker.id][x][1].include?(y) damage *= $spécialité[attacker.id][x][0] end end end end #### @hp_damage = damage.to_i # damage HP end end
Il y a quelques configurations à faire, tout est expliqué au debut du script !! |
|
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Systeme de spécialité dans le maniement des armes Jeu 7 Aoû 2008 - 14:23 | |
| Je me répète je trouve . Merci du partage. |
|
Invité
| Sujet: Re: [VX] Systeme de spécialité dans le maniement des armes Jeu 7 Aoû 2008 - 15:26 | |
| Je n'arrive pas a l'installer je le copie et sa ne marche pas |
|
| Sujet: Re: [VX] Systeme de spécialité dans le maniement des armes | |
| |
|