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:
Ephy -
posté le 22/05/2012 à 16:35:24 (30100 messages postés)
- | [BIG SHOT] | Citation: La remarque à peine placée exprès pour faire genre, alors que c'est pas très exact.. |
C'est pour ça que j'ai rajouté ça après: "j'viens demander de l'aide ici"
Les autres fois c'est soit des topics d'entraide, soit dans les discussions générales.
Et si j'ai déjà demandé des trucs ici, m'en souviens pas. Mais je ne nie pas demander de l'aide sur les scripts quand j'ai pas envie de passer des heures à chercher un truc que de toute façon je trouverais pas.
Alors tais-toi vilain troll
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 | Suite du sujet:
S4suk3 -
posté le 22/05/2012 à 16:36:46 (555 messages postés)
| - |
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
74
75
| #==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# This class handles the party. It includes information on amount of gold
# and items. Refer to "$game_party" for the instance of this class.
#==============================================================================
class Game_Party
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :ames
#--------------------------------------------------------------------------
# * alias
#--------------------------------------------------------------------------
alias ame_initialize initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
ame_initialize
@ames = 0
end
end
#==============================================================================
# ** Game_Battler (part 1)
#------------------------------------------------------------------------------
# This class deals with battlers. It's used as a superclass for the Game_Actor
# and Game_Enemy classes.
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# * Change HP
# hp : new HP
#--------------------------------------------------------------------------
def hp=(hp)
@hp = [[hp, maxhp].min, 0].max
# add or exclude incapacitation
for i in 1...$data_states.size
if $data_states[i].zero_hp
if self.dead?
$game_party.ames += 1
add_state(i)
else
remove_state(i)
end
end
end
end
end
#==============================================================================
# ** Interpreter (part 1)
#------------------------------------------------------------------------------
# This interpreter runs event commands. This class is used within the
# Game_System class and the Game_Event class.
#==============================================================================
class Interpreter
#--------------------------------------------------------------------------
# * return Ames values
#--------------------------------------------------------------------------
def ames(value = false)
return $game_party.ames unless value
$game_party.ames += value if value.is_a?(Numeric)
end
end
|
je n'ai pas testé mais ça devrait fonctionner.
Pour récupérer dans un events le nombre d'ames, tu fais
Appel de script > "ames"
pour oujouter
Appel de script > "ames 1" ou "ames 766" ou "ames -98"
Edit: Il faut impérativement perdre cette manie de modifier le code du RGSS, Ruby nous offre des solutions de monkeypatching (qui rend déjà le code difficilement raisonnable, alors si les gens mélanges les solutions )
|
| Jazzeux et maker... Ca existe ça? | Oui mais du coup ca marche plus avec le système qui fonctionne sur cette variable! Je m'en sert dans d'autres scripts et j'ai essayé en remplacant tous les $ames par des $game_system.ames et mon autre système ne fonctionne plus!
J'y connais tellement rien, ca fait peur...
|
Unbelivabledaze! Mon Touitère || Mes mousiques || Ma chaine Twitch (live gamedev/pixel art tous les aprem de semaine a 14h) || Mon sitoueb |
S4suk3 -
posté le 22/05/2012 à 17:05:58 (555 messages postés)
| - | Quelle erreur as-tu?
Edit:
un petit article tout neuf
http://funkywork.blogspot.com/2012/05/le-monkey-patching.html
|
| Jazzeux et maker... Ca existe ça? | Euh atta c'est juste a rajouter ca au dessus de main? Ou bien je dois remplacer chaque classe par celle que tu donne? Ce qui m'etonerais vu que tu dis:
Citation: Edit: Il faut impérativement perdre cette manie de modifier le code du RGSS, Ruby nous offre des solutions de monkeypatching (qui rend déjà le code difficilement raisonnable, alors si les gens mélanges les solutions ) |
Mais donc qu'est-ce qui faut que j'enlève de ce que m'as dit Naféria ?
Désolé c'est peu etre tout con en tout cas merci pour ton aide
|
Unbelivabledaze! Mon Touitère || Mes mousiques || Ma chaine Twitch (live gamedev/pixel art tous les aprem de semaine a 14h) || Mon sitoueb |
zou -
posté le 22/05/2012 à 18:46:09 (2197 messages postés)
| | MAIS sacre dieux, j'ai posté la réponse avant, lis les poste c'est mieux...
Je la repost quand même
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| class Game_Battler
#--------------------------------------------------------------------------
# * Change HP
# hp : new 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) # ID des monstres
if self.is_a?(Game_Enemy) and [1,2,3,4].include?(id)
# ce que tu veux faire
end
else
remove_state(i)
end
end
end
end
end |
@s4*4=16suké
Tu as oublié le if self.is_a?(Game_Enemy)
|
S4suk3 -
posté le 22/05/2012 à 18:46:21 (555 messages postés)
| - | ce que j'ai écrit est indépendant de ce qu'a fait Naféria, tu supprime ses modifications et tu colles mon code au dessus de main
Zou > Il demandait comment avoir un compteur d'âmes, soit de monstres tués, donc en l'occurence, il lui faut l'interface et le modificateur.
Edit => Par contre tu as raison pour le is_a? Autant pour moi ^désolé^'
|
Åvygeil -
posté le 22/05/2012 à 19:46:55 (2502 messages postés)
| | Oui, ou bien on fait la modif dans Game_Enemy et pas dans Game_Battler...
Les mecs, faudrait apprendre à vous servir de l'héritage pour éviter de faire des tests de type tout moches...
|
Zeus81 -
posté le 22/05/2012 à 19:50:21 (11071 messages postés)
| | Pourquoi mettre ça dans la boucle ?
|
S4suk3 -
posté le 22/05/2012 à 20:30:05 (555 messages postés)
| - | Åvygeil a dit:
Oui, ou bien on fait la modif dans Game_Enemy et pas dans Game_Battler...
Les mecs, faudrait apprendre à vous servir de l'héritage pour éviter de faire des tests de type tout moches...
|
Je ne connais pas la structure de XP, je n'ai fait que "ajouter la gestion de la sauvegarde" à ce qu'avait fait le maker avant.
Je ne me suis jamais réellement penché sur XP, donc désolé.
C'est vrai qu'utiliser Game_Enemy est plus adapté
|
zou -
posté le 22/05/2012 à 20:39:59 (2197 messages postés)
| |
1
2
3
4
5
6
7
8
| class Game_Enemy < Game_Battler
def hp=(hp)
super(hp) # ID des monstres
if self.dead? and [1,2,3,4].include?(id)
# ...
end
end
end |
Vous avez raison ^^
|
Mack -
posté le 23/05/2012 à 15:04:11 (2310 messages postés)
- - | | Salut !
J'aurais une petite question, est il possible de rajouté une ligne de commande dans le Game.ini, et de la récupérer IG ? ?
En faite, j'fais un système de MaJ, et j'voudrais savoir si c'était possible de rajouter un ligne "Version=X" dans le Game.ini, ou si c'était plus facile de créer un fichier .txt à côté ?
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Tasslehoff -
posté le 23/05/2012 à 16:16:38 (5274 messages postés)
| Disciple de Pythagolf | Ptêt' un truc comme ça :
1
2
3
| File.open("Game.ini", 'r') do |txt_file|
p txt_file.read.sub(/^.*Version=/m, "").to_f
end |
Non ?
|
~~ |
| Jazzeux et maker... Ca existe ça? | Ok j'ai trouvé la source du problème tout seul, comme un grand! En tout cas merci beaucoup Tasslehoff, S4suk3, zou et Naféria de vous etre penchés sur la question ! Victoire, tout marche!
|
Unbelivabledaze! Mon Touitère || Mes mousiques || Ma chaine Twitch (live gamedev/pixel art tous les aprem de semaine a 14h) || Mon sitoueb |
Berka -
posté le 24/05/2012 à 22:15:24 (493 messages postés)
| planchant sur un script | @Mack :
Sinon, vu que tu travailles sur des fichiers *.ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| WPPS=Win32API.new('kernel32','WritePrivateProfileString','pppp','l')
GPPS=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
$label = "Version"
def write(i)
WPPS.call("Game", $label, i.to_s, ".//Game.ini")
end
def read
GPPS.call("Game", $label, "", v="\0"*16, 16, ".//Game.ini")
v.delete!("\0")
Integer(v=="" ? v="0" : v)
end |
Bonne soirée,
Berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Mack -
posté le 25/05/2012 à 17:56:46 (2310 messages postés)
- - | | Finalement, j'ai décidé de passer par une fichier Version.txt.
Mais j'arrive pas à lire le fichier Version.txt, et à lire la première ligne seulement ...
J'ai essayer de mettre :
1
2
3
| if FileTest.exist?("System/Version.txt")
f = File.open("Version.txt","r")
end |
Mais il me dit que le fichier Version.txt n’existe jamais ... Pourtant il y est à côté de Game.ini ...
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Zeus81 -
posté le 25/05/2012 à 18:08:06 (11071 messages postés)
| | Un coup tu cherches dans le dossier system l'autre non.
Sinon tu devrais apprendre à faire des recherches par toi même ça te fera pas de mal, même dans la doc de RM la classe File est documentée.
En plus Tasslehoff t'as déjà donné la réponse.
|
Naféria -
posté le 25/05/2012 à 18:13:56 (35 messages postés)
| Aujourd’hui tu mourras dans un ascenseur, assures-toi d'appuyer sur le bouton haut. | Il dit qu'il existe pas car le fichier txt est pas dans la racine du jeux, si ton fichier et dans le dossier System tu doit faire: File.open("System/Version.txt","r")
Mes je sais pas comment le lire par contre.
|
C'est ma signature, elle est sympa et originale et l'avantage, c'est que je ne suis pas aller la chercher loin ! |
Mack -
posté le 25/05/2012 à 18:34:28 (2310 messages postés)
- - | | J'me suis mal exprimé, c'pas qu'il me donne un message d'erreur, c'est que la condition est jamais vrai, alors que j'ai bien mon fichier dans System.
Finalement j'ai trouvé, le fichier s'appelé "Version.txt.txt" ^^".
Et après, j'ai fait comme ça :
1
2
3
4
5
| if FileTest.exist?("System/Version.txt")
f = File.open("System/Version.txt","r")
version = f.readlines[0]
return version.to_i
end |
Encore désoler ^^".
Pour la Doc, j'l'ai en Japonaise moi ^^".
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Zeus81 -
posté le 25/05/2012 à 18:42:29 (11071 messages postés)
| | Tu devrais installer la version de Kaila et puis de toute façon ruby doc quoi.
|
FoxFiesta -
posté le 27/05/2012 à 21:02:36 (443 messages postés)
| | Bonjour, je m'y connais très peu en script, et j'essayais de faire un truc sur VX Ace mais j'ai un problème.
Je veux récupérer la vie actuelle de héros 1 et aussi sa vie max.
Dans RMXP, c'était :
$game.actors[1].hp
et
$game.actors[1].max_hp
si je me trompe pas.
J'ai cherché dans la doc de VX Ace et j'ai pas trouvé. Quelqu'un sait ?
|
S4suk3 -
posté le 28/05/2012 à 00:29:55 (555 messages postés)
| - | $game_party.members[ID].hp ?
|
FoxFiesta -
posté le 28/05/2012 à 16:39:37 (443 messages postés)
| | Citation: Script 'Game_Interpreter' line 1411: NoMethodError occured
undefined method 'hp' for nil:NilClass |
Ensuite j'ai essayé des trucs au hasard, et je suis arrivé à avoir les HP en tapant ça :
$game_actors[1].hp
Mais je n'ai pas trouvé comment avoir les HP max, pourtant j'ai essayé plein de trucs...
|
Mack -
posté le 28/05/2012 à 16:46:52 (2310 messages postés)
- - | | M’étonnes que ça ait pas marcher quand même ...
T'avais assez de héros dans l'équipe ?
Essaie .m_hp, de tête ça doit être ça.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
FoxFiesta -
posté le 28/05/2012 à 17:19:52 (443 messages postés)
| | Non, c'était pas ça. Bon, tant pis pour ça, finalement je vais les prendre dans l'éditeur ces deux variables, puis les reprendre avec $game_variables[1]
Sauf que là j'ai un dernier problème dans mon script. Je veux prendre le pourcentage de vie du héros par rapport à sa vie max, donc en faisant le calcul :
$game_variables[1] * 100 / $game_variables[2]
Ça j'ai testé, ça pose pas de problème. Maintenant je veux prendre la valeur obtenue pour définir le zoom en largeur d'une image (pour faire la barre de vie). Je pensais donc faire :
$game_picture[1].zoom_x = $game_variables[1] * 100 / $game_variables[2]
Il me dit "Undefined method for '[]' for nil:NilClass"
Donc quelqu'un sait comment changer le zoom x d'une image
|
Mack -
posté le 28/05/2012 à 17:30:56 (2310 messages postés)
- - | |
1
| $game_screen.pictures[1].zoom_x = machin |
Devrais marcher. J'me sert pas des pictures, donc aussi bien, juste modifier zoom_x marchera pas, et il te faudrait utiliser :
1
| show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type) |
J'viens de vérifier, et c'est mhp.
Mais j'vois pas pourquoi passer par des variables ...
Tu veux afficher la vie du premier héros de l'équipe je suppose ?
Il te suffit de faire :
1
| $game_party.members[0].hp |
1
| $game_party.members[0].mhp |
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) | 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!!
|