RPG-Forum: Script RMVX - RPG-Forum

Aller au contenu

Page 1 sur 1

Script RMVX Systeme de spécialité dans le maniement des armes

#1 L'utilisateur est hors-ligne   ASHKA 

  • Ecuyer
  • PipPipPip
  • Groupe : Membres +
  • Messages : 136
  • Inscrit(e) : 12/11/2007
  • Genre :Homme
  • Lieu :Je suis le " LOGOS " donc je suis partout !!

Posté mardi 17 juin 2008 à 11:29

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 :

=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 !!

ASHKA
FIGHT THE POWER !!
0

Partager ce sujet :


Page 1 sur 1


Réponse rapide

  

1 utilisateur(s) en train de lire ce sujet
0 members, 1 guests, 0 anonymous users