Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

386 connectés actuellement

29189064 visiteurs
depuis l'ouverture

4115 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Fusion

Lunae - le bazar d'Emz0

Offgame

Le Comptoir Du clickeur

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Jeux en développement > [Programme]YuriRGSSMod


Nagato Yuki - posté le 28/12/2013 à 16:19:58 (351 messages postés)

❤ 0

Yuri RGSS Mod


Salut, récemment je me suis entrepris dans le codage de certaines modification (plus des ajouts) du RGSS1.
J'ai codé un petit exécutable qui crée plein de fonctions qui servent à rien dans le RGSS1 mais qui comme sont codés en c++ sont plus rapides :b (On supprime par exemple les créations d'Array pour récupérer la position de la souris.)
C'est pour le moment destiné à RMXP, je réfléchirais plus tard à un portage pour VX.Ace.

Les fonctions


Input


Input.mx Récupérer la position X de la souris dans la fenêtre de jeu.
Input.my Récupérer la position Y de la souris dans la fenêtre de jeu.
Input.kpress?(vk_key) Vérifier si la touche virtuelle vk_key est appuyé.
Exemple : Input.kpress?(65) va retourner true si A est appuyé.
Input.ktrigger?(vk_key) Vérifie si vk_key présente un front descendant.
Input.ktrigged?(vk_key) Pareil que ktrigger?
Input.ktrigger2?(vk_key) Vérifie si vk_key présente un front montant.
Input.kreleased?(vk_key) Pareil que ktrigger2?
Input.CapsLocked? Vérifie si vous gueulez.
Input.NumLocked? Vérifie si le pad numérique est activé.
Input.ScrollLocked? Vérifie si le scroll de la console est verrouillé.
Input.GetKeyboardState Retourne un string contenant le data retourné par GetKeyboardState()
Input.GetKeyboardState(string) Retourne true si ça a réussit à copie le data retourné par GetKeyboardState() dans le string.
Note: Il y a deux variables d'instance dans le module Input : @mx et @my, elle contiennent les valeurs retourné par mx() et my().
Input.update_joy=(bool) Active ou désactive la mise à jour des JoyPad.
Input.update_joy? Retourne si oui ou non Input.update va mettre à jour les Joypad.
Input.set_checkJoyCaps_condition(nb) Change le délais utilisé pour mettre à jour les 16 caps des JoyPads.
Input.getJoyError(id) Retourne l'erreur du id[sup]ème[/sup] Joypad, souvent Input::JOYERR_PARMS pour les joypad pas encore branchés.
Input.getJoyName(id) Retourne la pseudo description du JoyPad x)
Input.getJoyDeltaX(id) Retourne la différence entre Xmax et Xmin sur l'axe X du joypad.
Input.getJoyDeltaY(id)
Input.getJoyDeltaZ(id)
Input.getJoyDeltaR(id)
Input.getJoyDeltaU(id)
Input.getJoyDeltaV(id)
Input.getJoyNumButton(id) Retourne le nombre de boutons présents sur le Joypad.
Input.jpress?(id,key) Vérifie si la touche key du JoyPad id est pressé.
Input.jtrigger?(id,key) Si elle présente un front descendant.
Input.jtrigger2?(id,key) Si elle présente un front montant
Input.jtrigged?(id,key)
Input.jreleased?(id,key)
Input.jcurrentKey(id) Retourne la touche pressé actuellement.
Input.jAxeX(id) Retourne la position de l'axe X. (-(Xmax-Xmin)...(Xmax-Xmin))
Input.jAxeY(id)
Input.jAxeZ(id)
Input.jAxeR(id)
Input.jAxeU(id)
Input.jAxeV(id)
Input.jHasZ(id) Vérifie si le JoyPad a un axe Z.
Input.jHasR(id)
Input.jHasU(id)
Input.jHasV(id)
Input.jAxeX!(id) Retourne la position de l'axe X. (-1, 0 ou 1)
Input.jAxeY!(id)
Input.jAxeZ!(id)
Input.jAxeR!(id)
Input.jAxeU!(id)
Input.jAxeV!(id)

Input::MMSYSERR_NODRIVER
Input::MMSYSERR_INVALPARAM
Input::MMSYSERR_BADDEVICEID
Input::JOYERR_UNPLUGGED Le JoyPad a été débranché.
Input::JOYERR_PARMS Soit aucun JoyPad n'est branché ici, soit la mise à jour a fait de la merde :D
Note : Si vous débranché un JoyPad, vous serez obligé de le rebrancher à l'endroit où il a été débranché... Les manettes seraient fidèle. *fuit*


Graphics


Graphics.width Retourne la largeur de l'écran (relative au resize_screen).
Graphics.height Retourne la hauteur de l'écran.
Graphics.resize_screen(width,height) Redimensionne l'écran sans le bouger.
Graphics.resize_screen(width,height,true) Redimensionne l'écran en le centrant.
Graphics.snap_to_bitmap Fait une capture d'écran dans un Bitmap, comme en RGSS2 :3

Socket


Socket.new(family,type,protocol)
Socket.connect(hostname,port)
Socket.send(str)
Socket.recv(size) La socket se ferme si le data reçut fait 0 byte : "If the connection has been gracefully closed, the return value is zero." (à partir de 0.0.0.4b)
Socket.recv(buffer)
Socket.closed?
Socket.close
Socket.listen(nb_sock)
Socket.accept
Socket.bind(hostname,port)
Socket.shutdown(how)

Socket::AF_UNSPEC
Socket::AF_INET
Socket::AF_IPX
Socket::AF_APPLETALK
Socket::AF_NETBIOS
Socket::AF_INET6
Socket::AF_IRDA
Socket::AF_BTH
Socket::SOCK_STREAM
Socket::SOCK_DGRAM
Socket::SOCK_RAW
Socket::SOCK_RDM
Socket::SOCK_SEQPACKET
Socket::IPPROTO_ICMP
Socket::IPPROTO_IGMP
Socket::BTHPROTO_RFCOMM
Socket::IPPROTO_TCP
Socket::IPPROTO_UDP
Socket::IPPROTO_ICMPV6
Socket::IPPROTO_RM
Socket::SOMAXCONN
Socket::SD_RECEIVE
Socket::SD_SEND
Socket::SD_BOTH

SocketError


L'erreur dans les sockets.

TCPSocket


TCPSocket.new(hostname,port)
TCPSocket.readable?
TCPSocket.send(str)
TCPSocket.recv(size)
TCPSocket.recv(buffer)
TCPSocket.closed?
TCPSocket.close
TCPSocket.shutdown(how)

TCPServer


TCPServer.new(hostname,port)
TCPServer.accepting?
TCPServer.send(str)
TCPServer.recv(size)
TCPServer.recv(buffer)
TCPServer.closed?
TCPServer.close
TCPServer.listen(nb_sock)
TCPServer.accept
TCPServer.shutdown(how)

C'est tout ce que j'ai fait pour les fonctions ajoutés :3

Téléchargement


Version 0.0.0.4
From MediaFire
Version 0.0.0.4b
From MediaFire



Comment l'utiliser


Il faudra mettre la ligne suivant dans le tout premier script pour activer toute les fonctions ajoutés :

Portion de code : Tout sélectionner

1
init_rgss_mod() if Kernel.private_method_defined?(:init_rgss_mod)


Et lancer le jeu avec YuriRGSSMod.exe (Renommez en Game.exe si ça vous fait chier avec RMXP :b)

Quand vous comptez redistribuer votre jeu et que vous utilisez ce programme, renommez l'exe et modifiez le titre de la fenêtre en modifiant le seul string contenu dans les StringTable de l'executable :3
L'archive encodée RGSS doit porter le même nom que le programme, de même pour le fichier ini si vous utilisez des RTPs.
Note: Le débug est désactivé que si il y a une archive RGSSAD encodée.


Crédits


Dahrkael - The topic that gave me the motivation to program this <3
Enterbrain - The RGSS.
Microsoft - Winmm, User32, Kernel32, WinSock etc…
Nuri Yuri - YuriRGSSMod.exe



Mot de la fin


Si vous avez des suggestions ou des remarques à faire là dessus, je suis ouvert :3
J'ai mis ça ici car je le considère comme un projet bien que ce ne soit pas un jeu, vous êtes libres de déplacer dans la section adéquat si elle existe :b

PS : J'ai testé qu'avec le matériel que j'ai chez moi donc j'ai aucune idée de la compatibilité avec les manettes XBox and co x) (Mon frère n'a pas le cordon, fichues manettes sans fil :<)

Pokémon Workshop, le site de Making Pokémon sur RPG Maker~


Daisuke Z - posté le 31/12/2013 à 12:12:15 (67 messages postés)

❤ 0

Ca à l'air vraiment génial ce programme, je suis une daube en script alors je n'en aurais probablement pas l'utilité, mais bravo!

Miaw.


Nagato Yuki - posté le 01/01/2014 à 10:49:38 (351 messages postés)

❤ 0

Merci :3
C'est vrai que ce petit programme s'adresse plus aux gens qui ont des notions en ruby. Ça expliquerait pourquoi y'a si peu de feedback :/

Pokémon Workshop, le site de Making Pokémon sur RPG Maker~


Daisuke Z - posté le 01/01/2014 à 11:59:52 (67 messages postés)

❤ 0

on peut créer un script de pathfinding avec la souris si j'ai bien compris?

Miaw.


Nagato Yuki - posté le 01/01/2014 à 12:09:41 (351 messages postés)

❤ 0

Tu peux détecter la position de la souris sur l'écran de jeu avec Input.mx() / Input.my(), après le pathfinding utilisant la souris faut le coder :b

Pokémon Workshop, le site de Making Pokémon sur RPG Maker~


Ephy - posté le 01/01/2014 à 12:38:11 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Ça s'applique à quel RM? XP ou VXace? Tu parle de RGSS1 et 3 mais on sait pas trop au final. Faudrait peut-être rajouter l'info au début (ou alors elle y est et je l'ai loupée?).
Pas tout lu et pas tout saisi mais si je comprend bien ce sont des fonctions ajoutées au répertoire de fonctions préfaites de RM pour se simplifier la vie en codant c'est ça?
Si oui bah c'est cool. C'est toujours bien des fonctions courantes comme ça pour simplifier la vie des autres.



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


Hellper - posté le 01/01/2014 à 13:45:56 (5402 messages postés)

❤ 0

Tonton Hellper

Où est-ce qu'il parle de RGSS 3 ?

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


Nagato Yuki - posté le 03/01/2014 à 11:29:56 (351 messages postés)

❤ 0

C'est mon abus du ":3" qui doit prêter à confusion.

Pour le moment, c'est juste RGSS 1 car j'ai pas encore inspecté le RGSS3 pour intégrer les fonctions mais une fois que je l'aurais fait je ferais une compilation en excluant Graphics pour le RGSS 3. Donc en gros, c'est tourné RMXP pour le moment ^^

Ça permet en effet de se simplifier la vie même si c'est pas forcément des fonctions très courantes mais qui existent dans d'autres scripts codés en Ruby. L'avantage est principalement une plus grande vitesse en sautant tous les Win32API qui font des traitements supplémentaires entre l'appel de call et l'appel de la procédure réelle. (Sans compter les pack et unpack qui ne sont plus nécessaires.)
__________________
Édit visible : J'ai fait une toute petite modification sur la version 0.0.0.4, les socket se ferme seule lorsque la fonction recv ne reçoit rien, je trouvais bizarre que ça ne faisait pas d'erreur quand l'autre client fermait sa socket et en fait les développeurs de Winsock ont décidé de faire retourner 0 à recv plutôt que -1 dans ce cas de figure x)

Par ailleurs, je ne ferais pas de version RGSS3 tout de suite car Enterbrain c'est des gros sadiques, ils ont utilisé une convention d'appel qui n'existe pas pour des fonctions tels que rb_str_new donc je dois programmer en assembleur pour appeler ces fonctions sans problèmes, enfin, c'est pas le plus dur vu que je n'utilise pas GCC j'ai pas cette syntaxe pourrie qui vient de AT&T; j'ai la syntaxe Intel qui est bien plus pratique et intuitive mais je dois regarder avec détails comment les arguments sont passés et si je dois nettoyer le stack moi même dans certains cas x)

Pokémon Workshop, le site de Making Pokémon sur RPG Maker~

Index du forum > Jeux en développement > [Programme]YuriRGSSMod

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