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:
Maître -
posté le 16/09/2012 à 12:33:20 (24 messages postés)
| Maître heu..., de Oniromancie ? | Support : Rpg Maker XP
Question 1 : [Résolu] Par Berka
Re Hello x), voila je bloque avec l'utilisation de File.open("Test.txt", "?"), et je voudrai savoir qu'elle son les signe utilisable entre le "?" et leur signification.
Question 2 : [Résolu] Par Berka
Sinon, je voudrai savoir aussi à quoi peux servir le code require(), je me doute bien que c'est comme le load_data() mes c'est quoi la différence ?
Vous pouvez m'aider s'il vous plait.
|
Message ? | Suite du sujet:
Berka -
posté le 16/09/2012 à 14:15:58 (493 messages postés)
| planchant sur un script | Bonjour:
Question 1:
"r" : ouverture d'un fichier texte en lecture.
"w" : ouverture d'un fichier texte en écriture.
"a" : ouverture d'un fichier texte en écriture à la fin.
"rb" : ouverture d'un fichier binaire en lecture.
"wb" : ouverture d'un fichier binaire en écriture.
"ab" : ouverture d'un fichier binaire en écriture à la fin.
"r+" : ouverture d'un fichier texte en lecture/écriture.
"w+" : ouverture d'un fichier texte en lecture/écriture.
"a+" : ouverture d'un fichier texte en lecture/écriture à la fin.
"r+b" ou "rb+" : ouverture d'un fichier binaire en lecture/écriture.
"w+b" ou "wb+" : ouverture d'un fichier binaire en lecture/écriture.
"a+b" ou "ab+" : ouverture d'un fichier binaire en lecture/écriture à la fin.
Question 2:
Kernel#require() est une méthode permettant l'inclusion de fichiers ruby externes (normaux : *.rb, *.rbw ou compilés *.so). Seuls les fichiers *.rb peuvent être inclus dans Rgss1. Kernel#require est cachée dans Rgss2 mais peut être utilisée grâce à :
1
2
3
4
| def require(f)
$LOAD_PATH<<"./"
Kernel.send(:require,f)
end |
Bonne journée,
Berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Maître -
posté le 16/09/2012 à 17:03:17 (24 messages postés)
| Maître heu..., de Oniromancie ? | Donc require() permets de charger un .rb qui contiens des class ou juste des données ?, un peux comme si je fais la même manipulation que load_rxdata() et eval() ?
Mes je trouve pas la méthode pour utiliser le require(), dans mon fichier Scripts_Test.rb il y a cette class:
1
2
3
4
5
| class Test1
def initialize
print("Script Ok")
end
end |
Puis la méthode pour charger le fichier:
1
2
3
4
| def require_test
require("Data/Scripts_Test.rb")
a = Test1.new
end |
Mes comme je mi attendais, une belle erreur est apparue x).
Edit: J'ai oublié, pour la question 1, j'ai utiliser "w" pour l'ouverture d'un fichier txt, mes je trouve pas le moyen d’écrire dedans à une ligne définie, et à la façon de remplacer la ligne entièrement sans que sa ce rajoute à la suite.
|
Message ? |
Berka -
posté le 16/09/2012 à 23:42:27 (493 messages postés)
| planchant sur un script | 1) Quelle sorte d'erreur ? Parce que ton code est bon. L'erreur doit se situer dans le chemin d'accès au fichier rb (absolu/relatif). En tout cas, require permet de charger n'importe quel fichier contenant du code ruby, compilé ou non.
2) Pour le remplacement des lignes:
1
2
3
4
5
| File.open("test.txt", "w"){|f|
$<.each_line{|l|
f << l.gsub("ligne du fichier à remplacer, 'ligne de remplacement")
}
} |
ou, si tu connais le n° de la ligne à modifier
1
2
3
4
5
6
| id = 10 # 10e ligne
f = IO.readlines('test.txt')
f[id] = "Ligne de remplacement"
File.open('test.txt', "w"){|l|
l << f.join("\n")
} |
Il doit y avoir beaucoup plus court, je pense.
Bonne nuit,
Berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Motoki -
posté le 17/09/2012 à 11:20:55 (111 messages postés)
| | Version : RMXP
Script : Combat tactique GTBS
J'ai lu sur un forum qu'il est possible d'arrêter l'animation des combattants dans le script de Gubid (GTBS). Mais je ne trouve pas le passage concerné.
Car je préfère que mes personnages soient immobiles quand ce n'est pas leur tour.
Je voudrais savoir si c'était vrai et si c'est le cas, comment désactiver "la marche animé".
|
Grand fan de makai et de jeu Tactique rpg |
Maître -
posté le 17/09/2012 à 19:24:04 (24 messages postés)
| Maître heu..., de Oniromancie ? | Pour la question 1, sa fonctionne merci.
require() me mes cette erreur la:
Le fichier Script_Test.rb je les crée avec ce code la:
1
2
3
4
5
6
| file = File.open("Script_Test.rxdata", "r")
script = Marshal.load(file)
file.close
file = File.open("Script_Test.rb", "w")
file.write(Zlib::Inflate.inflate(script[0][2]))
file.close |
ce qui me donne donc la class Test1 que j'ai cité plus haut.
Mes d’apprêt l'erreur il dit que le contenue et pas vraiment du .rb ou je me trompe x).
|
Message ? |
Åvygeil -
posté le 17/09/2012 à 22:09:47 (2502 messages postés)
| |
1
2
3
4
| def require(f)
$LOAD_PATH<<"./"
Kernel.send(:require,f)
end |
Un indice se dissimule dans ce code donné plus haut par Berka.
Sauras-tu le retrouver ????
|
Lambdadelta -
posté le 18/09/2012 à 07:17:51 (25 messages postés)
| | Support : RMXP
Questionsse :
Bonjour.
J'ai récemment ajouté un script de saut à mon jeu et il n'a pas posé de soucis jusqu'à ce que je remarque qu'en sautant le joueur peut éviter les random battles. (en effet le saut n'est pas considéré comme un déplacement normal, donc en spammant la touche de saut on se retrouve à pouvoir avancer sans aucun combat : pas pratique).
Je voulais donc savoir s'il est possible de désactiver le script, et l'activer seulement dans les zones où je voudrais qu'il le soit.
En quelque sorte est-il possible d'intégrer ou d'activer des scripts directement in-game dans RMXP ?
Ou je suis obligé de bidouiller le script, ce dont je suis incapable dans l'état actuel des choses ?
Merci d'avance.
- Je laisse quand même le script ici, simple question de formalité. -
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
76
77
78
79
80
81
82
83
84
85
86
87
88
| #==============================================================================
# ■ Jump Script
#------------------------------------------------------------------------------
# Enables jumping around the map
# Made by: Huitzilopoctli @ rmxp.net
# Traduction Française par: Martial de Final-RPG
#------------------------------------------------------------------------------
#
# Appuyez sur la touche Z (ou Shift) pour sauter
# Le joueur sera capable de sauter au-dessus de tous les Tiles traversable, ou
# tous les Tiles qui ont le même ID que la variable JumpID (l. 27)
# Le joueur doit atterir sur une case sans évènement qui pourrait le bloquer
# Si le joueur ne peut pas sauter 2 cases, il ne sautera que d'une case, et s'il
# ne peut pas non plus, il ne fera rien
# Pour empêcher le joueur de sauter au-dessus d'un évènement particulier, il
# faut que sa première commande d'évènement soit un commentaire contenant ce mot:
# \Tall
# Pour créer un Tile 'Tall' qui empêchera le joueur de sauter au-dessus même
# si la case du dessous est "sautable", il faut fixer l'ID de ce Tile a une
# valeur différente de la valeur de la variable JumpID
#==============================================================================
#==============================================================================
# ● Customisation
#==============================================================================
JumpID = 5 # L'ID du terrain par dessus lequel on peut sauter
#==============================================================================
# ● Game_Player
#==============================================================================
class Game_Player < Game_Character
def leap
xdir = (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
ydir = (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
dist = 0
clear_jump = true
clear_land1 = true
e = $game_map.events[$game_map.check_event(@x + xdir, @y + ydir)]
if e
clear_jump = !(e.list[0].code == 108 && e.list[0].parameters[0] =~ "\Tall")
clear_land1 = e.through
end
clear_land2 = true
e = $game_map.events[$game_map.check_event(@x + xdir * 2, @y + ydir * 2)]
if e
clear_land2 = e.through
end
pass1 = $game_map.passable?(@x + xdir, @y + ydir, @direction)
pass2 = $game_map.passable?(@x + xdir * 2, @y + ydir * 2, @direction)
jumpid = $game_map.terrain_tag(@x + xdir, @y + ydir) == JumpID
dist = 0
if clear_jump
if clear_land2 & pass2 & (jumpid | pass1)
dist = 2
elsif clear_land1 & pass1
dist = 1
end
end
route = RPG::MoveRoute.new
route.list.clear
route.list.push(RPG::MoveCommand.new(37))
route.list.push(RPG::MoveCommand.new(14, [xdir * dist, ydir * dist]))
route.list.push(RPG::MoveCommand.new(38))
route.list.push(RPG::MoveCommand.new(0))
route.repeat = false
$route = route
Audio.se_play("Audio/SE/015-jump01")
$game_player.force_move_route(route)
end
alias update_primary update
def update
update_primary
leap if Input.trigger?(Input::A) && !moving?
end
end |
|
Maître -
posté le 18/09/2012 à 15:45:49 (24 messages postés)
| Maître heu..., de Oniromancie ? | Citation: Un indice se dissimule dans ce code donné plus haut par Berka. |
Effectivement, je n'est pas utilisé ce qu'il y avais dans la méthode, je pensais que c'était déjà inclue dans le require() de base, mes je me suis fait avoir x).
En tout cas sa fonctionne, merci !
|
Message ? |
benjidu44 -
posté le 18/09/2012 à 18:43:26 (10 messages postés)
| | Support : RMXP
Question :
Bonjour,
J'ai un problème avec mes combats et je soupçonne un script d'en être la cause. Je fait donc appel à vous pour m'éclairer la dessus.
Lorsque je lance mon RPG et que je vais chercher un monstre, le tout premier combat met longtemps à se lancer et à s’arrêter. Le deuxième et les combats d'après redeviennent normal quand à eux.
J'ai garder les scripts d'origine de RMXP.
|
Zeus81 -
posté le 18/09/2012 à 19:03:35 (11071 messages postés)
| | Ça n'a rien à voir avec les scripts c'est un problème par rapport aux musiques en midi et ça vient de ton PC, c'est un problème récurrent et y'a pas de solution que je connaisse.
|
Maître -
posté le 21/09/2012 à 18:13:22 (24 messages postés)
| Maître heu..., de Oniromancie ? | Support : Rpg Maker XP
Question 1 : [Résolu] Par Kaila-
Hello, Je reviens vite fait sur ma question d'avant au sujet de File.open(), c'est tout con mes je me pose cette question depuis tout ta leur...
Quand j'ouvre un fichier .txt de cette façon la:
1
2
3
| file = File.open("MonFichier.txt", "w")
file.puts("Test1")
file.close |
Il crée le fichier, écrie Test1, puis le ferme, pour sa d'accord mes par la suite quand je fait la même chose mes avec Test2:
1
2
3
| file = File.open("MonFichier.txt", "w")
file.puts("Test2")
file.close |
je remarque que dans le fichier il y a plus Test1, alors je me demande si il recrée le fichier et écrase celui qui existe déjà, ou il l'ouvre tout simplement et remplace le contenue ?
|
Message ? |
Kaila- -
posté le 21/09/2012 à 21:41:44 (93 messages postés)
| Hmmm ? | "w" (write) ouvre le fichier en écriture seule mais en supprimant son contenu.
Si tu veux l'ouvrir et pointer après le dernier caractère dans le but d'ajouter des données à la suite, il faut utiliser "a" (append).
|
Rule 90 |
Maître -
posté le 22/09/2012 à 14:56:02 (24 messages postés)
| Maître heu..., de Oniromancie ? | Pour le "w" (write) et "a" je savais déjà. (désolé j'ai du mal expliqué la question)
C'est surtout pour savoir si il recrée le fichier et écrase celui qui existe déjà quand je l'ouvre une nouvelle fois.
Un peux comme si Je fais: je crée un txt, j'écrie dedans, je ferme, puis je supprime pour recrée le même ficher mes avec un contenue différent.
C'est bizarre ce que je cherche à savoir mes c'est des petit tests que je fais pour d'autres tests x).
|
Message ? |
Kaila- -
posté le 23/09/2012 à 11:19:38 (93 messages postés)
| Hmmm ? | Et moi j'ai peut être mal expliqué ma réponse ^^"
Citation: "w" (write) ouvre le fichier en écriture seule mais en supprimant son contenu. |
Autrement dit ça ne supprime pas le fichier mais ça l'ouvre en tronquant le contenu à 0 caractères.
Si tu veux plus d'infos, tu peux aller voir dans la partie IO de ruby-doc.org
|
Rule 90 |
rpg29 -
posté le 23/09/2012 à 13:45:09 (22 messages postés)
| | Bonjour,
J'ai trouvé un script pour mon jeux qui affiche le nom du héro au dessus de lui :
Spoiler (cliquez pour afficher)
#==============================================================================
# ** Event Text Display
#==============================================================================
# Created By: Ãص¹
# Modified By: SephirothSpawn
# Modified By: Meâ„¢
# Version 2.1
# 2006-03-04
#==============================================================================
# * Instructions :
#
# ~ Creating Event With Text Display
# - Put a Comment on the Page With
# [CD____]
# - Place Text to Be Displayed in the Blank
#------------------------------------------------------------------------------
# * Customization :
#
# ~ NPC Event Colors
# - Event_Color = Color
#
# ~ Player Event Color
# - Player_Color = Color
#
# ~ Player Text
# - Player_Text = text_display *
#
# ~ text_display
# - 'Name', 'Class', 'Level', 'Hp', 'Sp'
#==============================================================================
#==============================================================================
# ** Game_Character
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# * Dispaly Text Color (Event & Player)
#--------------------------------------------------------------------------
Event_Color = Color.new(0, 0, 200)
Player_Color = Color.new(200, 0, 0)
#--------------------------------------------------------------------------
# * Display Choices
# ~ 'Name', 'Class', 'Level', 'Hp', 'Sp'
#--------------------------------------------------------------------------
Player_Text = 'Name'
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :text_display
end
#==============================================================================
# ** Game_Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias seph_characterdisplay_gevent_refresh refresh
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
# Original Refresh Method
seph_characterdisplay_gevent_refresh
# Checks to see if display text
# If the name contains CD, it takes the rest of the name as the text
unless @list.nil?
for i in 0...@list.size
if @list.code == 108
@list.parameters[0].dup.gsub!(/\[[Cc][Dd](.+?)\]/) do
@text_display = [$1, Event_Color]
end
end
end
end
@text_display = nil if @erased
end
end
#==============================================================================
# ** Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias seph_characterdisplay_gplayer_refresh refresh
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
# Original Refresh Method
seph_characterdisplay_gplayer_refresh
# Gets First Actor
actor = $game_party.actors[0]
# Determines Text
case Player_Text
when 'Name'
txt = "\N[1]"
when 'Class'
txt = actor.class_name
when 'Level'
txt = "Level: #{actor.level}"
when 'Hp'
txt = "HP: #{actor.hp} / #{actor.maxhp}"
when 'Sp'
txt = "SP: #{actor.sp} / #{actor.maxsp}"
else
txt = ''
end
# Creates Text Display
@text_display = [txt, Player_Color]
end
end
#==============================================================================
# ** Sprite_Character
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias seph_characterdisplay_scharacter_update update
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Original update Method
seph_characterdisplay_scharacter_update
# Character Display Update Method
update_display_text
end
#--------------------------------------------------------------------------
# * Create Display Sprite
#--------------------------------------------------------------------------
def create_display_sprite(args)
Font.default_size = 12
Font.default_name = "Verdana"
# Creates Display Bitmap
bitmap = Bitmap.new(160, 24)
# Draws Text Shadow
# if bitmap.font.respond_to?(:draw_shadow)
# bitmap.font.draw_shadow = false
# end
# bitmap.font.color = Color.new(0, 0, 0)
# bitmap.draw_text(1, 1, 160, 24, args[0], 1)
# Changes Font Color
bitmap.font.color = args[1]
# Draws Text
bitmap.draw_text(0, 0, 160, 24, args[0], 1)
# Creates Display Text Sprite
@_text_display = Sprite.new(self.viewport)
@_text_display.bitmap = bitmap
@_text_display.ox = 80
@_text_display.oy = 24
@_text_display.x = self.x
@_text_display.y = self.y - self.oy / 2 - 24
@_text_display.z = 30001
@_text_display.visible = self.visible #true
end
#--------------------------------------------------------------------------
# * Dispose Display Sprite
#--------------------------------------------------------------------------
def dispose_display_text
unless @_text_display.nil?
@_text_display.dispose
end
#reset font colors
Font.default_size = 14
Font.default_name = "Verdana"
end
#--------------------------------------------------------------------------
# * Update Display Sprite
#--------------------------------------------------------------------------
def update_display_text
unless @character.text_display.nil?
if @_text_display.nil?
create_display_sprite(@character.text_display)
end
@_text_display.x = self.x
@_text_display.y = self.y - self.oy / 2 - 24
lastx = $game_temp.player_new_x
lasty = $game_temp.player_new_y
# if self.x > lastx and self.y > lasty
# @_text_display.opacity = 255 - (self.x - lastx) - (self.y - lasty)
# elsif self.x < lastx and self.y > lasty
# @_text_display.opacity = 255 - (lastx - self.x) - (self.y - lasty)
# elsif self.x > lastx and self.y < lasty
# @_text_display.opacity = 255 - (self.x - lastx) - (lasty - self.y)
# else
# @_text_display.opacity = 255 - (lastx - self.x) - (lasty - self.y)
# end
else
unless @_text_display.nil?
dispose_display_text
end
end
#reset font colors
Font.default_size = 14
Font.default_name = "Verdana"
end
end
Mais dans le jeu je laisse le joueur choisir son nom le problème est que c'est le possésseur du script qui choisis le nom à afficher donc le joueur aura beau donner un nom au héro un autre nom sera affiché.
Merci des réponses Hippo29
|
je love les jeux video |
arttroy -
posté le 23/09/2012 à 15:02:14 (2394 messages postés)
| Just working | @rpg29 Tu devrai utiliser les balises "code" pour les parties de script que tu poste, je dis pas que tu auras forcément une réponse à ta question mais au moins ça améliorera tes chances.
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
rpg29 -
posté le 23/09/2012 à 15:50:14 (22 messages postés)
| | Quelles balises
|
je love les jeux video |
rpg29 -
posté le 23/09/2012 à 16:45:21 (22 messages postés)
| | Merci ^^
|
je love les jeux video |
Maître -
posté le 25/09/2012 à 11:25:47 (24 messages postés)
| Maître heu..., de Oniromancie ? | Je répond un peux tard mes merci Kaila pour la réponse.
|
Message ? |
cortez -
posté le 16/10/2012 à 18:49:27 (524 messages postés)
| | Bonjour à tous, je poste ici pour signaler aux modos que j'ai posté en commentaire d'un script la version corrigée du script
de fond de combat pour RmXP.
Voici le lien du post :
http://www.rpg-maker.fr/index.php?page=scripts&id=70&deb=fin#fin
Si il pouvait éditer le message du scripteur avec ma version corrigée ce serai sympa.
Merci
|
Slime55 -
posté le 24/10/2012 à 00:38:31 (442 messages postés)
| | Support : RMXP
Question 1 :
Bonsoir, mon problème est que j'aimerais changer la limite de niveau des héros qui est limité à 99. J'ai un peu chercher sur le net et j'ai trouvé ceci mais malheureusement c'était pour RMVX >>>http://www.rpg-maker.fr/scripts-325-niveau-maximum-des-heros-d-apres-le-contenue-d-une-variable.html
Donc en fait je recherche si possible un script permettant de dépasser le lvl 99 et si vous pensez que je ne fout rien en attendant le script je veux bien avoir un "cours" ou quelques conseils sur comment je pourrais le faire moi même histoire de montrer que vous n'êtes pas les seuls à travailler
De plus étant un parfait débutant en script et variables, je ne peux créer un script moi même x)
Merci d'avance
|
elfangor -
posté le 24/10/2012 à 00:50:12 (55 messages postés)
| [Reprise de RM. Lentement] | Ca se trouve dans les scripts hébergés par oniro j'crois bien...
Ici par exemple : http://www.rpg-maker.fr/scripts-101-depasser-le-level-99-un-bonus.html
Après, de là à savoir s'il est vraiment fonctionnel... !
|
Bon... Si je m'y mets une heure tous les six mois, j'aurais fini... Avec mon arrière petit-fils ! Bien ! |
cortez -
posté le 24/10/2012 à 15:02:05 (524 messages postés)
| | Support : RMXP
Question 1 :
Bonjour, je vous écrit car je me suis mis au bidouillage des scripts et je voudrais savoir comment changer la valeur de zoom du sprite d'un évenement et aussi celui du héro.
J'ai essayé un truc dans le genre "inserer un script"
$game_event.zoom_x = 2
$game_event.zoom_y = 2
Mais il m'indique que la methode n'existe pas. J'ai vérifié dans le script Game_Event et le zoom n'est pas utilisé, alors comment faire ?
|
Slime55 -
posté le 24/10/2012 à 18:00:25 (442 messages postés)
| | Merci du lien elfangor malheureusement il ne marche pas, enfin quand je le met dans la partie Main, je reteste avec une autre manip et je te dit quoi
| 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!!
|