Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: Final Destiny / Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

215 connectés actuellement

30741504 visiteurs
depuis l'ouverture

1877 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Leo-Games

Level Up!

Zarok

RPG Fusion

RPG Maker - La Communauté

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

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)

❤ 0

Jeune maker qui essaie des trucs.

Alors avec le code :

Portion de code : Tout sélectionner

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 :

Portion de code : Tout sélectionner

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)

❤ 0

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) - staff -

❤ 0

Si si, perso j'aurais utilisé cette regexp plutôt.
De tête, split doit te renvoyer un tableau :

Portion de code : Tout sélectionner

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)

❤ 0

Tonton Hellper

Yep split renvoie un tableau donc on peut ensuite enchaine avec un each_with_index :D

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)

❤ 0

Jeune maker qui essaie des trucs.

Merci beaucoup pour votre aide ! :D

J'ai fait un petit mélange de vos solutions :

Portion de code : Tout sélectionner

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. :biere

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) - admin

❤ 0

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 :tirlalangue2

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) - staff -

❤ 0

Bah c,'pas parce que c'est qu'un caractère que c'est pas une expression :F
( 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) - admin

❤ 0

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)

❤ 0

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:

Portion de code : Tout sélectionner

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)

❤ 0

Tonton Hellper

C'est peut-être une erreur de typo et il faudrait mettre

Portion de code : Tout sélectionner

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) - staff -

❤ 0

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)

❤ 0

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) -

❤ 0

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)

❤ 0

Marche pas non plus. :s
Ç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) -

❤ 0

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)

❤ 0

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) - staff -

❤ 0

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)

❤ 0

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)

❤ 0

BOUBOU

Boubou !
Dans un script à part

Portion de code : Tout sélectionner

1
2
3
4
5
 
module Ayop
  UNACTIVATE_SPEED = 1
end
 



Et dans l'AMSU, tu rajoutes en-dessous de :

Portion de code : Tout sélectionner

1
@dash = (Input.press?(Dash_Input) and Input.dir8 > 0)



ça :

Portion de code : Tout sélectionner

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)

❤ 0

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 :

Portion de code : Tout sélectionner

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) -

❤ 0

yo

Portion de code : Tout sélectionner

1
@dash = false if $game_switches[Ayop::UNACTIVATE_SPEED]



Et quitte à "modifier une ligne du script"

Remplace plutôt la ligne évoquée:

Portion de code : Tout sélectionner

1
@dash = (Input.press?(Dash_Input) and Input.dir8 > 0)



par

Portion de code : Tout sélectionner

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)

❤ 0

Nickel ça marche super ! Merci beaucoup les gars ! :ange2


AzRa - posté le 26/08/2019 à 16:31:20 (11282 messages postés)

❤ 0

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 ! :ange2


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) - honor

❤ 0

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) - honor

❤ 0

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 :F).

C'est vrai que le tuto n'est pas bien clair :p.

Edit : Colle ça dans ton éditeur de script, dans une page vide, ça devrait te donner un exemple duquel tu peux t'inspirer :

EDIT :

Portion de code : Tout sélectionner

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) - honor

❤ 0

Ca fait un joli rectangle bleu sur fond noir. :pense

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 :goutte)

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 73

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers