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:
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. | Suite du sujet:
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 (2311 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 (4274 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 (2311 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 (4274 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 (2311 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 (736 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 (736 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 (2311 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 (736 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 (11282 messages postés)
| 418. I'm a teapot. | 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
|
Agus fagaimid suid mar ata se. |
Gari -
posté le 13/05/2020 à 15:01:01 (5901 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 ?
|
gif -
posté le 14/05/2020 à 10:28:59 (4782 messages postés)
- | Egotrip Gigamaxé | Ça va dans une méthode de classe oui : il doit y avoir une méthode "update" dans Game_Sprite. J'ai pas RMXP sous la main pour l'instant, si ça marche pas je testerai ce soir (Edit : ou demain ).
C'est vrai que le tuto n'est pas bien clair .
Edit : Colle ça dans ton éditeur de script, dans une page vide, ça devrait te donner un exemple duquel tu peux t'inspirer :
EDIT :
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
| # Créer un nouveau sprite
spriteRotation = Sprite.new
# Position initiale du sprite
spriteRotation.x = 320
spriteRotation.y = 240
spriteRotation.z = 0
# Associer un bitmap faisant la taille de 100*150 pour l'exemple
spriteRotation.bitmap = Bitmap.new(100,150)
# Creation d'une couleur
blue = Color.new(0,0,255,255)
# Création de quelques alias utiles
w = spriteRotation.bitmap.width.to_f # largeur du sprite
h = spriteRotation.bitmap.height.to_f # longueur du sprite
r = Math.sqrt(w*w + h*h) / 2 # dist entre coin haut gauche et centre du sprite
originX = spriteRotation.x # position initiale axe X
originY = spriteRotation.y # position initiale axe Y
originTheta = Math.atan((w/2.0)/(h/2.0)) # angle entre longueur et diagonal
Pi = 3.14159
# Coloriage du sprite
spriteRotation.bitmap.fill_rect(0, 0, w, h, blue)
# angle de rotation (RADIAN)
angle = 0
# boucle infini
loop do
# mise à jour de l'angle de rotation (RADIAN)
angle += 0.05
# Rotation du sprite (conversion RADIAN vers DEGREE)
spriteRotation.angle = angle * 360 / (2 * Pi)
# Calcul de la position du center du sprite
centreX = originX + Math.sin(angle + originTheta) * r
centreY = originY + Math.cos(angle + originTheta) * r
# Calcul de l'offset a appliquer au coin haut gauche
deltaX = centreX - (originX + w / 2.0)
deltaY = (originY + (h / 2.0)) - centreY
# Mise à jour de la position coin haut gauche
spriteRotation.x = originX - deltaX
spriteRotation.y = originY + deltaY
# Mettre à jour les graphiques
Graphics.update
# Mettre à jour les entrés claviers
Input.update
# Sortir de la boucle, Si Echap est appuyé
break if Input.trigger?(Input::B)
end
# Libérer le sprite
spriteRotation.dispose |
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
Gari -
posté le 14/05/2020 à 11:00:25 (5901 messages postés)
- | | Ca fait un joli rectangle bleu sur fond noir.
Ca me dit pas trop comment le premier fonctionne (désolé, c'est pour mettre à jour le script du dessus, pas pour un usage personnel )
Je suppose que l'objectif pour rendre ton script utilisable, ce serait que je crée un Class_Rotation pour éviter que ça se lance automatiquement et le code qui permettrait de faire ça par 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!!
|