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:
François Berhn -
posté le 14/01/2019 à 16:14:41 (5402 messages postés)
| Tonton Hellper | Je suis qu'à moitié sûr d'avoir saisi le problème mais yaurait pas moyen de faire simplement comme ceci ?
1
2
3
| c.lines.each_with_index do |line, y|
self.contents.draw_text(0, 48 + 32 * y, 512, 32, line)
end |
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux | Suite du sujet:
Le Kno -
posté le 14/01/2019 à 17:36:52 (4159 messages postés)
- | IV L'Empereur | En fait, si
C'est @text.lines, par contre, mais sinon ça devrait marcher. Je sais pas si ça résoudra le problème présent, par contre.
|
Je suis venu ici pour corriger des bugs et botter des culs, et chez moi ça marche. |
Degenpy -
posté le 14/01/2019 à 21:31:08 (115 messages postés)
| Jeune maker qui essaie des trucs. | Alors avec le code :
1
2
3
4
5
|
@text.lines.each_with_index do |line, y|
self.contents.draw_text(0, 48 + 32 * y, 512, 32, line)
end
|
Le jeu me dit que la methode lines est pas défini. Elle n'est peut-être pas présente sur RMXP ? Ou alors je dois la créer moi-même ?
En fait je voudrais pouvoir afficher plusieurs lignes de textes à la suite. C'est pour mettre des description de quêtes, de personnage ou d'ennemi par exemple.
Pour l'instant l'intégralité de mon texte est stocké dans la variable @text, après si vraiment ce n'est pas possible de revenir à la ligne je peux créer plein de variables @text1, @text2, etc.. contenant l'équivalent d'une ligne de texte et faire un code dans ce genre :
1
2
3
4
5
6
|
self.contents.draw_text(0 , 32, 512, 32, @text1, 1)
self.contents.draw_text(0 , 64, 512, 32, @text2, 1)
self.contents.draw_text(0 , 96, 512, 32, @text3, 1)
etc....
|
Jusqu'à tout remplir mais c'est un peu dégueu...
|
Clique ici pour découvrir Ah'ra Project, élu meilleur jeu 2027 selon l'UFC que choisir. |
François Berhn -
posté le 14/01/2019 à 22:24:34 (5402 messages postés)
| Tonton Hellper | C'est possible qu'elle n'existe pas, n'ayant pas trouvé de doc ruby 1.8.1 je me suis basé sur la 1.8.7.
Après on peut peut-être remplacer lines par split("\n") ?
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Mack -
posté le 14/01/2019 à 23:46:34 (2286 messages postés)
| | Si si, perso j'aurais utilisé cette regexp plutôt.
De tête, split doit te renvoyer un tableau :
1
2
3
4
| tab = text.split("\n")
for s in tab
draw_text(s,...)
end |
( Ouais, j'ai pas RM d'ouvert et j'ai un peu la flemme ... )
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
François Berhn -
posté le 15/01/2019 à 08:54:46 (5402 messages postés)
| Tonton Hellper | Yep split renvoie un tableau donc on peut ensuite enchaine avec un each_with_index
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Degenpy -
posté le 16/01/2019 à 00:53:30 (115 messages postés)
| Jeune maker qui essaie des trucs. | Merci beaucoup pour votre aide !
J'ai fait un petit mélange de vos solutions :
1
2
3
4
5
6
|
tab = @text.split("\n")
tab.each_with_index do |line, y|
self.contents.draw_text(0, 32 + 24 * y, 512, 32, line, 0)
end
|
Et finalement tout fonctionne ! Encore merci, ça va vraiment m'aider pour mon projet.
|
Clique ici pour découvrir Ah'ra Project, élu meilleur jeu 2027 selon l'UFC que choisir. |
Le Kno -
posté le 16/01/2019 à 01:21:51 (4159 messages postés)
- | IV L'Empereur | You're welcome.
Mack a dit: Si si, perso j'aurais utilisé cette regexp plutôt. |
Par contre "\n" c'est plus une regex pour le coup, c'est un caractère classique. Mais les regex était pas vraiment utiles dans ce cas-là. J'étais parti là-dessus parce que j'étais tombé dessus en cherchant des script similaire et j'avais la flemme de trouver autre chose
|
Je suis venu ici pour corriger des bugs et botter des culs, et chez moi ça marche. |
Mack -
posté le 16/01/2019 à 21:23:56 (2286 messages postés)
| | Bah c,'pas parce que c'est qu'un caractère que c'est pas une expression
( J'dis ça, mais j'en sais rien hein xD )
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Le Kno -
posté le 16/01/2019 à 23:01:07 (4159 messages postés)
- | IV L'Empereur | Nan mais même s'il y en avait plusieurs, ce serait juste une chaine de caractère. Une regex c'est quelque chose de bien spécifique.
|
Je suis venu ici pour corriger des bugs et botter des culs, et chez moi ça marche. |
ayop -
posté le 28/05/2019 à 16:00:38 (847 messages postés)
| | Support : RMXP
Bonjour à tous, j'aimerai savoir si c'est possible avec l'AMS Ultimate de Zeus81 d'activer/désactiver la possibilité de courir en plein jeu via un bouton ou un simple script ?
J'ai trouvé ça sur le site déjà :
Cortez a dit:
il faut que tu ajoute un interrupteur pour activer/désactiver la course:
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
| class Game_Player
If $game_switches(1) = true #L'interrupteur 1 est activé (tu peux remplacer 1 par un autre nombre)
Dash_Input = Input::C # on active la course
Else #Sinon on la désactive avec Dash_Input = 0
Dash_Input = 0 #
End #On oublie pas le end pour la reprise du script.
Jump_Input = Input::A
Jump_Audio = RPG::AudioFile.new("Data System/JumpAudio")
def initialize
super
@position = 8
@move_speed = 4
@move_animation_speed = 0
@jump_power = 1.5
@zoom = 1
@step_anime = false
@spec_anime = true
@walk_anime = true
@jump_anime = true
@fall_anime = true
@down_anime = true
@shadow = false#true
@walk_steps = 2
@walk_terrain = 0
@walk_audio = false#true
@walk_graphics = false#true
end
end |
|
Topic ici
Mais ça ne fonctionne pas et RM m'indique Syntax Error. à la ligne 35 (If $game_switches(1) = true)
Est-ce que vous auriez une solution ?
|
François Berhn -
posté le 28/05/2019 à 17:48:27 (5402 messages postés)
| Tonton Hellper | C'est peut-être une erreur de typo et il faudrait mettre
1
| If $game_switches(1) == true |
à la place (double = aulieu d'un seul).
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Mack -
posté le 28/05/2019 à 19:33:27 (2286 messages postés)
| | Alors, oui, il faut un double = pour faire une condition, un simple, c'est pour faire une assignation.
Par contre, pas sur que ça marche pour autant.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
ayop -
posté le 28/05/2019 à 23:17:15 (847 messages postés)
| | Non effectivement, même avec un == ça ne fonctionne pas.
Je sais que dans la configuration de l'AMSU, si on met Dash_Input = 0, ça désactive tout simplement la course. Est-il possible de modifier cette valeur via un script en plein jeu?
|
xvw -
posté le 29/05/2019 à 10:24:33 (733 messages postés)
- | yo | - Il ne faut pas de majuscule sur les instructions (class, if, else etc.)
- c'est if $game_switches[1] et pas If $game_switches(1) == true
- et le code est un peu yolo.
|
https://xvw.lol |
ayop -
posté le 29/05/2019 à 10:37:36 (847 messages postés)
| | Marche pas non plus.
Ça me dit "NoMethodError occurred ... for nil:NilClass"
En vrai j'y connais rien en Ruby, à part suivre les indications dans les scripts je suis pas capable de toucher quoi que ce soit. C'est pour ça que j'ai d'abord cherché sur le site. Je pensais que depuis le temps quelqu'un aurait déjà été dans mon cas de figure.
En tout cas merci pour votre aide.
|
xvw -
posté le 29/05/2019 à 10:54:28 (733 messages postés)
- | yo | C'est parce que l'interrupteur n'est pas encore "créé" au moment où tu lances le jeu.
C'est assez "normal", je répondais surtout aux problèmes liés à la syntaxe.
|
https://xvw.lol |
ayop -
posté le 29/05/2019 à 11:46:13 (847 messages postés)
| | Donc je suppose qu'il faudrait le créer depuis les scripts directement pour qu'il soit présent au lancement du jeu ? Est-ce que ça implique de modifier les scripts de base ?
|
Mack -
posté le 30/05/2019 à 00:07:09 (2286 messages postés)
| | Nan, mais créer les switches avant ça serais pire que mettre du scotche sur une lame de couteau.
File un lien avec le script, si j'ai pas la flemme j'y jeterais un œil demain.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
ayop -
posté le 30/05/2019 à 10:10:33 (847 messages postés)
| | Voila pour le lien : https://www.dropbox.com/s/n3il2oz9xfh5kvu/AMSU%201.4.1.zip
Mais t’embêtes pas Mack, si y a pas de solution j'ai déjà un système de secours. ^^
En fait l'idée c'est d'avoir plusieurs façon de se déplacer : accroupi, normal, course afin de mettre en place un petit système de discrétion grâce au script Super Event Sensor. Le problème c'est que ma fonction pour se mettre accroupi (qui est en event) rentre en "conflit" avec le dash de l'AMSU : on peut appuyé sur les deux touches en même temps. Du coup je cherche juste à désactiver le dash lorsque le personnage est accroupi afin de quand même pouvoir profiter des fonctions de course de l'AMSU (bruits de pas plus fort, effets graphiques a chaque pas et surtout changement de chara du personnage).
Mais si ça marche pas j'ai déjà mis en place un système en event pour pouvoir courir et s'accroupir sans que ça rentre en conflit, mais je profite pas des joulies effets de l'AMSU.
|
Derppp -
posté le 22/07/2019 à 12:32:11 (6 messages postés)
| BOUBOU | Boubou !
Dans un script à part
1
2
3
4
5
|
module Ayop
UNACTIVATE_SPEED = 1
end
|
Et dans l'AMSU, tu rajoutes en-dessous de :
1
| @dash = (Input.press?(Dash_Input) and Input.dir8 > 0) |
ça :
1
| @dash = false if $game_switches(Ayop::UNACTIVATE_SPEED) |
Non ?
(tu changes la ligne UNACTIVATE_SPEED = 1 pour changer l'ID du switch)
|
Je ne passe sur Oniro' que lorsque je me fais chier et que je n'ai vraiment rien de pire à faire. |
ayop -
posté le 26/08/2019 à 11:57:41 (847 messages postés)
| | Hello Derppp, je n'avais pas vu ta réponse, désolé.
Ta solution ne semble pas fonctionner, RM refuse de lancer le jeu et m'indique une erreur de syntaxe sur cette ligne de code :
1
| @dash = false if $game_switches(Ayop::UNACTIVATE_SPEED) |
Mais merci pour ton aide.
|
xvw -
posté le 26/08/2019 à 14:31:58 (733 messages postés)
- | yo |
1
| @dash = false if $game_switches[Ayop::UNACTIVATE_SPEED] |
Et quitte à "modifier une ligne du script"
Remplace plutôt la ligne évoquée:
1
| @dash = (Input.press?(Dash_Input) and Input.dir8 > 0) |
par
1
2
3
|
@dash = $game_switches[Ayop::UNACTIVATE_SPEED] && Input.press?(Dash_Input) && (Input.dir8 > 0)
|
|
https://xvw.lol |
ayop -
posté le 26/08/2019 à 16:26:10 (847 messages postés)
| | Nickel ça marche super ! Merci beaucoup les gars !
|
AzRa -
posté le 26/08/2019 à 16:31:20 (11193 messages postés)
| | ayop, le 28/05/2019 à 16:00:38 a dit: Support : RMXP
Bonjour à tous,
[blabla]
Est-ce que vous auriez une solution ?
|
ayop, le 26/08/2019 à 16:26:10, après mille déboires, a dit: Nickel ça marche super ! Merci beaucoup les gars !
|
Ne perdez jamais l'espoir. Pareils aux lucioles dans la nuit, les anges volent vers la lumière.
- Metavy
|
Le cyclisme c'est quand tu fais du vélo. |
Gari -
posté le 13/05/2020 à 15:01:01 (5899 messages postés)
- | | Support : RMXP
Question rapide, ce tuto permet de faire une rotation de sprite autour d'un centre en déplacement, sans erreur d'affichage.
Ma question concerne plus l'endroit où coller cette/ces portion(s) de code :
Citation: Voilà le code (à mettre dans l'update du sprite) permettant de calculer les coordonnées "cartésiennes" suite à une rotation....
@old_angle correspond à l'angle d'origine de la rotation du sprite par rapport au centre.
@new_angle correspond au nouvel angle après la rotation. |
A placer dans Game_Sprite ? A mettre, dans un event en appel de script ?
Citation: rx = (self.x - x_centre)
ry = (self.y - y_centre)
diff = Math::PI * (@old_angle-@new_angle) / 180.0
r = Math.hypot(rx, ry)
@ang = Math.atan2(ry.to_f,rx.to_f)+diff
x = r * Math.cos(@ang)
y = r * Math.sin(@ang)
self.x = x.round + x_centre
self.y = y.round + y_centre
@old_angle = @new_angle |
A placer tout seul au-dessus de Main ? En appel de script ?
| 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!!
|