Aller à la page 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
Reprise du message précédent:
mack -
posté le 22/10/2010 à 18:22:08 (2310 messages postés)
- - | | Et bien non, a moins que je m'y soit mal pris ...
En faite, je sais pas trop comment expliquer =S.
Le sprite est un Character, il me sert comme Battler dans mon CBS.
Mais, lorsqu'on déplace un sprite, le point (0,0) est celui qui se trouve tout en haut à gauche.
Hors moi je voudrait que ce soit celui tout en bas au milieu. ( Celui du dessin quoi. )
Parce que, si je prend un monstre qui est trop large, comme le point de départ est en haut à droite ( Ou en bas à droite puisque j'ai réussie à le faire ), il ne sera pas très bien centré ( Voir pas du tout ).
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) | Suite du sujet:
Zeus81 -
posté le 22/10/2010 à 18:28:13 (11071 messages postés)
| | Un peu de logique, allons...
C'est :
self.x = 288 - @fw/2
Ou alors comme dit Lufia :
self.ox = @fw/2
self.x = 288
|
Mack -
posté le 22/10/2010 à 18:32:27 (2310 messages postés)
- - | | Effectivement, la seconde méthode marche.
Merci Zeus =P.
Edit :
Support : RMXP
Question 1 :
Comment faire pour vérifier que dans la map, il n’existe pas d'évents portant le nom "X".
J'ai essayer :
1
2
3
4
5
6
7
| for event in $game_map.events.values
if not event.name.include?("Fléche H+")
$game_party.gain_gold(1)
else
print "1"
end
end |
Mais, il me donne l'argent tout en me "printant" 1.
Du coup .. Bah, j'sais pas comment faire.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Lufia -
posté le 30/10/2010 à 19:22:11 (5792 messages postés)
| Un Oniromancien. PVs 1, Attaque 0, Défense 0. | Bin forcément, si tu mets une condition dans une boucle, elle est vérifiée autant de fois qu'il y a d'éléments à parcourir.
J'dirais que c'est l'occasion d'utiliser any?, nan ?
|
Une signature ? Pour quoi faire ? |
raho- -
posté le 30/10/2010 à 19:29:04 (61 messages postés)
| | Effectivement, any, ou alors, plus "bourrin", avant la boucle, admettre une booléenne à false, et SSI le nom est équivalent à X, changer false en true, sinon rien (donc pas de Else).
Maintenant, je me prête a croire que Any est fortement plus élégant.
|
Mack -
posté le 30/10/2010 à 19:37:23 (2310 messages postés)
- - | | Hmm .. Et comment se sert on de Any ?
Parce que j'ai essayer des trucs genre :
1
2
| if event.name.any?.include?("Fléche H+")
if not event.name.iany?("Fléche H+") |
Mais ça marche pas ^^".
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Lufia -
posté le 30/10/2010 à 19:52:00 (5792 messages postés)
| Un Oniromancien. PVs 1, Attaque 0, Défense 0. | if $game_map.events.values.any? { |e| ... }
...
end
|
Une signature ? Pour quoi faire ? |
Mack -
posté le 30/10/2010 à 20:15:40 (2310 messages postés)
- - | | Effectivement, ça marche =P.
Merci bien.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
daysdreaming -
posté le 05/11/2010 à 03:47:52 (7 messages postés)
| | juste pour savoir, est ce qu'il y'a un BON logiciel de création de character pour rpg maker XP ? parce chara maker :/ (meme de carte tant qu'a faire!)
|
All you have to do is listen to my soul and the world is gonna smile (8) |
Tata Monos -
posté le 05/11/2010 à 08:25:14 (28 messages postés)
| Compte Non utilisé | Non.
|
zou -
posté le 25/11/2010 à 17:47:52 (2197 messages postés)
| | Support : RMXP
Question 1 :
1
2
3
4
5
6
|
def aléa(max)
@var_aléa.rand(max)
return @var_aléa
end
|
Lorsque je lance la fonction aléa(10) (qui est dans Game_Character),
il me lance un message :
private methode 'rand'' called for 0: Fixnum
Merci
|
Kaila -
posté le 25/11/2010 à 18:18:44 (3617 messages postés)
| Hmmm ? |
1
2
3
4
| def aléa(max)
@var_aléa = rand(max)
return @var_aléa
end |
|
Everything is better with zombies. |
zou -
posté le 25/11/2010 à 18:22:31 (2197 messages postés)
| | a ok , c'est tout bête en plus, merci
EDIT :
XP, SCRIPT
Bonsoir, petite demande pour savoir si il y a un moyen de savoir si un carreau en x et y est passable sans comptabiliser les events, juste la passabilité.
Merci
|
Zeus81 -
posté le 29/11/2010 à 20:02:30 (11071 messages postés)
| | $game_map.passable?(x, y, 0)
|
zou -
posté le 29/11/2010 à 20:55:56 (2197 messages postés)
| | Merci, il suffisait juste de mettre un 0 comme argument
|
Sansa -
posté le 21/12/2010 à 02:25:09 (1439 messages postés)
- | | RMXP
Question 1 : [Résolu]
Je veux créer des nouvelles stats pour le personnages il y a déjà: (hp, sp, exp) et par exemple je pourrais rajouter (moral, valeur, karma) Je pense savoir de ou vien l'erreur mais je suis pas sûr...
1
2
3
4
|
#Game_Actor
#Ligne 68 = création de la nouvelle variable
@moral = 0 |
1
2
3
4
5
6
7
8
9
|
#Game_Actor
#Ligne 733 = création des calcules pour avoir la valeur de la variable
def moral(actor)
#Le moral est contrôler par un calcule que j'ai pas encore écris au complet,
#mais il doit contenir l'hp présent du personnage et l'hp total, ainsi que l'sp....
@moral = actor.hp * actor.maxhp #si je remplace ça par un chiffre ça marche donc
#J'imagine que l'erreur vien de la.
end |
1
2
3
4
5
6
7
8
| #Window_Base:
#Ligne 270 = creation du code pour faire apparaitre la variable
def draw_actor_moral(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 50, 32, "Moral :")
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 48, 32, actor.moral.to_s, 2)
end |
1
2
3
| #Window_Status
#Ligne 39 = affichage de la nouvelle variable...
draw_actor_moral(@actor, 96, 432) |
l'erreur en tant que tel me dit que ya un argument error 0 of 1 a 274 dans le window_base, dans le fond à
1
| self.contents.draw_text(x, y, 48, 32, actor.moral.to_s, 2) |
... Mais cette portion du code a l'air correct.
Question 2 : [Résolu]
J'ai créer un code pour calculer le taux de réussite que le personnage à pour esquiver un coup dans le Game_Actor:
1
2
3
4
5
6
7
8
|
def esquive #8 * self.agi / attacker.dex + self.eva
n = 8 *
$data_actors[@actor_id].parameters[4, @level] /
(5.5 * [[level, $data_actors[@actor_id].final_level].min, 1].max + 55)
return sprintf("%.2f", n)
end
|
Je sais, ça l'air un peu bizzare, mais il marche parfaitement bien. Enfait il manque juste le pourcentage accumulé par les objets genreee le bonus d'esquive d'une armur.
J'ai essayer pleins de choses comme (actor.eva),(actor.base_eva),($data_actors[@actor_id].eva),etc... Mais je ne trouve pas la formule :X
En gros c'est supposer donner de quoi du genre:
1
2
3
4
5
6
7
8
9
|
def esquive #8 * self.agi / attacker.dex + self.eva
n = 8 *
$data_actors[@actor_id].parameters[4, @level] /
(5.5 * [[level, $data_actors[@actor_id].final_level].min, 1].max + 55) +
actor.eva....
return sprintf("%.2f", n)
end
|
Le ''eva'' en question que je cherche a rajouter c'est lui (bin je pense)
1
2
3
4
5
6
7
8
9
10
11
| def base_eva
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
eva1 = armor1 != nil ? armor1.eva : 0
eva2 = armor2 != nil ? armor2.eva : 0
eva3 = armor3 != nil ? armor3.eva : 0
eva4 = armor4 != nil ? armor4.eva : 0
return eva1 + eva2 + eva3 + eva4
end |
Trouvable à 335 dans Game_Actor.
|
Kaila -
posté le 21/12/2010 à 11:47:50 (3617 messages postés)
| Hmmm ? | Citation: Citation: Citation: C'est donc normal, tu ne donnes aucun argument à ta def moral alors qu'elle en attend un de type 'actor'.
Ceci dit, je te conseilles de faire ta def moral comme ceci:
1
2
3
| def moral
return @hp*maxhp
end |
Et pas besoin de rajouter le "@moral = 0".
|
Everything is better with zombies. |
Autres -
posté le 21/12/2010 à 18:34:21 (470 messages postés)
| | Support : RMVX
Question 1 : RESOLUE
Comment mémoriser dans une variable (de script) le nombre d'armes/armures/casques... équipées possédées par le héros (en clair : si le héros est équipé avec une épée et qu'il en a une autre dans son sac comment mémoriser cette valeur (2) dans une variable) ?
SOLUTION :
1
2
3
4
5
| id = 2 # id de l'arme dans la BDD
nombre = $game_party.item_number($data_weapons[id])
for actor in $game_party.members
nombre += 1 if actor.weapon_id == id
end |
Merci pour votre aide !
|
On se couche moins con chaque soir... enfin, en principe. Le Pac-Nor ! |
Sansa -
posté le 25/12/2010 à 04:43:51 (1439 messages postés)
- | | Support : RMVX
Question 1 : [Résolu]
Creer une condition dans une classe ''window'' pour savoir quel ''actor'' décrire genre:
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
|
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Status_Hero < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 544, 416)
self.opacity = 0
self.z = 210
@actor = actor
self.contents.font.color = system_color
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
if @actor = 0 #Y'est là mon problème, je veux donner la description d'un personnage
#uniquement si c'est genre ''lui'' qui est affiché dans le menu status.
#Pi si c'est lui bin ça s'envas écrire l'info plus bas. Mais jtrouve pas la bonne variable...
#... ou simplement la bonne façon de l'écrire.
draw_actor0(0, 0)
elsif @actor = 1
draw_actor1(0, 0)
elsif @actor = 2
draw_actor2(0, 0)
elsif @actor = 3
draw_actor3(0, 0)
else
end
end
#--------------------------------------------------------------------------
# * Draw draw_actor0
#--------------------------------------------------------------------------
def draw_actor0(x, y)
self.contents.font.size = 16
self.contents.draw_text(0, 0 + WLH * 0 - (PIXELPRECISION * 0), 180, WLH,
"Petit Cannard Jaune")
#--------------------------------------------------------------------------
# * Actor Description
#--------------------------------------------------------------------------
self.contents.draw_text(0, 0 + WLH * 0 - (PIXELPRECISION * 0), 180, WLH,
"Il est petit et jaune son but c'est de nager, mais y'est mort too bad.")
end
#--------------------------------------------------------------------------
# * Draw draw_actor1
#--------------------------------------------------------------------------
def draw_actor1(x, y)
end
#--------------------------------------------------------------------------
# * Draw draw_actor2
#--------------------------------------------------------------------------
def draw_actor2(x, y)
end
#--------------------------------------------------------------------------
# * Draw draw_actor3
#--------------------------------------------------------------------------
def draw_actor3(x, y)
end
end |
Support : RMVX
Question 2 : [Résolu]
Parreil, une autre condition, mais ici c'est pour faire apparaitre le texte ''state'' avant les effets
sur le statut du personnage et si le personnage a 0 ''states" bin ya un texte qui dis qu'il est pas un extraterrestre ou whatevere. Seul problème, la condition :X ...
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def draw_actor_state(actor, x, y, width = 96)
count = 0
self.contents.draw_text(x, y, 180, WLH, "STATE")
for state in actor.states
draw_icon(state.icon_index, x + 64 + (24 * count), y)
count += 1
break if (24 * count > width - 24)
if count == 0 #Ma condition qui marche jamais è_é.
self.contents.draw_text(x + 64, y, 180, WLH, "NORMAL")
end
end
end |
|
zou -
posté le 25/12/2010 à 14:41:47 (2197 messages postés)
| |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def draw_actor_state(actor, x, y, width = 96)
count = 0
self.contents.draw_text(x, y, 180, WLH, "STATE")
for state in actor.states
draw_icon(state.icon_index, x + 64 + (24 * count), y)
break if (24 * count > width - 24)
if count == 0 #Ma condition qui marche jamais è_é.
self.contents.draw_text(x + 64, y, 180, WLH, "NORMAL")
end
count += 1
end
end
end
|
count placé avant donc forcement égale à 1 minimum
|
Sansa -
posté le 25/12/2010 à 16:54:48 (1439 messages postés)
- | | Nan, marche pas. Par contre j'ai trouvé, fallait mettre des true pi des falses:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def draw_actor_state(actor, x, y, width = 96)
count = 0
@didyouseethatwalkingrockthatwasaskingforthemcdonaldwellididnt = TRUE
self.contents.draw_text(x, y, 180, WLH, "STATE")
for state in actor.states
draw_icon(state.icon_index, x + 64 + (24 * count), y)
count += 1
break if (24 * count > width - 24)
@didyouseethatwalkingrockthatwasaskingforthemcdonaldwellididnt = FALSE
end
if @didyouseethatwalkingrockthatwasaskingforthemcdonaldwellididnt == TRUE
self.contents.draw_text(x + 64, y, 180, WLH, "NORMAL")
end
end |
|
Zeus81 -
posté le 25/12/2010 à 22:33:50 (11071 messages postés)
| | Citation: Creer une condition dans une classe ''window'' pour savoir quel ''actor'' décrire genre: |
1
2
3
4
5
6
7
8
9
10
11
12
| case actor.id
when 0
...
when 1
...
when 2
...
when 3
...
else
...
end |
|
patton -
posté le 27/12/2010 à 21:09:03 (35 messages postés)
| | Support : RMXP
Question 1 : [/color]
Salut, je voudrais trouver une écriture qui me permette simplement de cumuler dans une variable les .hit_rate des statuts infligé a 1 hero.
Pour faire un petit jeu d'habilité. Du genre si le hero [ID] en état "mort", sa chance de réussite est de 0. (Ça surement!!).
Mais si en état "Bourré de la veille" + état "pâteux" + état "grosse fatigue" quelle sont ses chances de réussir une attaque.?
Ex:
$game_variables[389] = $game_party.actors[0].stats.hit_rate... (je sais c'est nul!)
En gros pour éviter de faire se genre de choses:
Si Hero[ID] est sous état "Bourré de la veille"
$game_variables[389] += $data_states["Bourré de la veille"].hit_rate...ect
Ça fait un t'y bout de temps que je cherche. De plus je suis sur que la réponse m'ouvrirait de nouveau horizon
Merci d'avance.
Réponse pour:
Autres a dit:
[color=yellow]Support : RMVX
Question 1 :
Comment mémoriser dans une variable (de script) le nombre d\'armes/armures/casques... équipées possédées par le héros (en clair : si le héros est équipé avec une épée et qu\'il en a une autre dans son sac comment mémoriser cette valeur (2) dans une variable) ?
Merci pour votre aide !
|
Ben! j\'espère que j\'ai tous compris^^
1
| $game_variables[200] = $game_party.weapon_number(ID) |
Par contre je ne sais plus si l\'arme équipé est compté ou pas!?
A suivre...
|
Zeus81 -
posté le 28/12/2010 à 19:28:48 (11071 messages postés)
| | $game_party.actors[0].hit
Tu sais ce genre de chose ça se devine pas, suffit d'aller voir les fonctions de Game_Actor / Game_Battller pour trouver ce qu'on cherche.
|
Timo -
posté le 28/12/2010 à 20:00:49 (822 messages postés)
| | Support : RMXP
Question 1 :
Dans quel script (et à quel ligne si possible) je peux retirer l'option "attaquer" pour les combat par défaut ???
|
zou -
posté le 28/12/2010 à 21:41:33 (2197 messages postés)
| | Bonsoir, ceci, n'est pas un problème mais plutôt une question :
dans ce script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
self.x = @picture.x
self.y = @picture.y
self.z = @picture.number
# Set zoom rate, opacity level, and blend method
self.zoom_x = @picture.zoom_x / 100.0
self.zoom_y = @picture.zoom_y / 100.0
self.opacity = @picture.opacity
self.blend_type = @picture.blend_type
# Set rotation angle and color tone
self.angle = @picture.angle
self.tone = @picture.tone
|
A quoi sert le "self", pourquoi ne pas mettre @ ?
| Aller à la page 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 73Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!
|