Oniromancie: Scripts - Jeu de plateforme avancé


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Concours des Alex d'Or 2017-18: (...) / News: MegaMaker : créez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (36 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

73 connectés actuellement

9170811 visiteurs
depuis l'ouverture

1063 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Medator

Make-rpg

Guelnika - E Magination

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs





Jeu de plateforme avancé
Script pour RPG Maker XP
Ecrit par Dx6 Zelda

Jeu de plateforme où on peut sauter
Sous Main s'appelant "plateforme"

# ▼▲▼ XRXS50. Action-Maps XC. ▼▲▼ built 033010
# by 桜雅 在土

#======================================================
# □ カスタマイズポイント
#======================================================
class XRXS50
#
# Action-Maps を稼動させるマップIDの配列
#
ENABLE_FULL_ACTY_MAPS = [1, 2]
#
# 「斜め降下」
#
ENABLE_SLIDE_DESCENT = true
#
# 向きジャンプ(true : 向いている方向へジャンプ。
# false : キーが押されている方向へジャンプ。Clin d'oeil
#
JUMP_AS_KEY = false
end
#======================================================
# ■ Game_Player
#======================================================
class Game_Player < Game_Character
#------------------------------------------------------
# ○ 公開インスタンス変数
#------------------------------------------------------
# 既存
attr_writer :direction_fix
attr_accessor :walk_anime
# 新規
attr_accessor :now_jumps
attr_writer :xrxs50_direction_sidefix
#------------------------------------------------------
# ○ 最大ジャンプ回数
#------------------------------------------------------
def max_jumps
return 1
end
#------------------------------------------------------
# ● 左を向く
#------------------------------------------------------
alias xrxs50_turn_left turn_left
def turn_left
if @xrxs50_direction_sidefix
@direction = 4
else
xrxs50_turn_left
end
end
#------------------------------------------------------
# ● 右を向く
#------------------------------------------------------
alias xrxs50_turn_right turn_right
def turn_right
if @xrxs50_direction_sidefix
@direction = 6
else
xrxs50_turn_right
end
end
end
#======================================================
# ■ Scene_Map
#======================================================
class Scene_Map
#------------------------------------------------------
# ● メイン処理
#------------------------------------------------------
alias xrxs50_main main
def main
# チェック
xrxs50_enable_check
# 呼び戻す
xrxs50_main
end
#------------------------------------------------------
# ● フレーム更新
#------------------------------------------------------
alias xrxs50_update update
def update
# 呼び戻す
xrxs50_update
# フレーム更新 (座標系更新Clin d'oeil
if @xrxs50_enable
update_coordinates
end
end
#------------------------------------------------------
# ○ フレーム更新 (座標系更新Clin d'oeil
#------------------------------------------------------
def update_coordinates
if $game_player.passable?($game_player.x,$game_player.y,2)
unless $game_player.moving?
if XRXS50::ENABLE_SLIDE_DESCENT and
Input.press?(Input::RIGHT) and
$game_player.passable?($game_player.x,$game_player.y+1,6)
$game_player.move_lower_right
elsif XRXS50::ENABLE_SLIDE_DESCENT and
Input.press?(Input::LEFT) and
$game_player.passable?($game_player.x,$game_player.y+1,4)
$game_player.move_lower_left
else
$game_player.move_down
end
end
else
$game_player.move_down
$game_player.walk_anime = true unless $game_player.walk_anime
$game_player.now_jumps = 0
if Input.trigger?(Input::X) and
$game_player.now_jumps < $game_player.max_jumps
if XRXS50::JUMP_AS_KEY
direction = $game_player.direction == 4 ? -1 : 1
else
if Input.press?(Input::RIGHT)
direction = 1
elsif Input.press?(Input::LEFT)
direction = -1
else
direction = 0
end
end
$game_player.jump(direction, -2)
$game_player.now_jumps += 1
$game_player.walk_anime = false
end
end
end
#------------------------------------------------------
# ● プレイヤーの場所移動
#------------------------------------------------------
alias xrxs50_transfer_player transfer_player
def transfer_player
# 呼び戻す
xrxs50_transfer_player
# チェック
xrxs50_enable_check
end
#------------------------------------------------------
# ○ XRXS50 が稼動するか判定
#------------------------------------------------------
def xrxs50_enable_check
if XRXS50::ENABLE_FULL_ACTY_MAPS.include?($game_map.map_id)
$game_player.now_jumps = 0 if $game_player.now_jumps.nil?
@xrxs50_enable = true
$game_player.direction_fix = true
$game_player.xrxs50_direction_sidefix = true
else
@xrxs50_enable = false
$game_player.direction_fix = false
$game_player.xrxs50_direction_sidefix = false
end
end
end

gauche-droite pour courir/marcher et A pour sauter
C'est parti pour un sonicSonic


Doci007 (visiteur non enregistré) - posté le 27/07/2008 à 23:20:12.

Euh... e314 ça marche pas...


garsim - posté le 15/08/2008 à 15:01:53. (82 messages postés)

J'ai essayé le script et je n'ai pas vraiment de problème :)
En plus le fait de pouvoir choisir dans quelles maps activer le script est très sympa :) (ça permet de faire des RPG à la Link's Awakening qui alternait des phases plateforme et des phases A-RPG ^^ ou tout simplement de briser un peu la monotonie).

Par contre il faut le mettre au-dessus de Main et pas en-dessous j'ai l'impression...
Et je trouve aussi que les sauts sont peut-être un peu limités, mais sinon, c'est vraiment pas mal ;)


lapidoux (visiteur non enregistré) - posté le 23/08/2008 à 20:42:26.

j'ai mis le script sous main mais j'appuis sur A et ça marche pas!
qui peut m'aider svp


garsim - posté le 24/08/2008 à 10:38:41. (82 messages postés)

Déjà, est-ce que les maps concernées sont bien précisées dans le script ?

Portion de code : Tout sélectionner

1
ENABLE_FULL_ACTY_MAPS = [1, 2] 


Les maps autres que la 1re et la 2e ne seront pas concernées sinon. Pour arranger ça :

Citation:

tu peut modifier
ex
ENABLE_FULL_ACTY_MAPS = [1, 2, 3, 4,]
là y aura les 4 premières maps


En fait il faut mettre les numéros des maps concernées apparemment... (ce qui est un peu agaçant quand on a déjà crée pas mal de maps en vrac et qu'on ne sait plus dans quel ordre on les a conçues... :doute1 ) en sachant que celles non mentionnées seront programmées en RPG case par case.

Ensuite, je ne sais pas si ça influe, mais j'ai placé le script au-dessus de "Main", mais il marche quand même.
Peut-être que ça bugue lorsqu'il est en-dessous ? (j'ai pas essayé par contre)

Bah sinon j'ai fait ce que j'ai mis au-dessus et pour moi il marche. Si ça ne marche pas, bah je ne vois pas (je suis vraiment pas un pro du script en même temps ^^)


iannone3 - posté le 24/09/2008 à 23:51:52. (5 messages postés)

Est-ce qu'on peut changer le bouton "a" par "espace" ? (Pour sauter);)


Lefrgr (visiteur non enregistré) - posté le 28/10/2008 à 14:19:15.

Bien sûr!

En testant ou en jouant, tu fais F1, puis tu met les touches que tu veux.

Cette methode (la seule que je connais) a des avantage et des defauts, par exemple:
Légende: Vert: aventage
Rouge: défaut
Bleu clair: les deux

1. Le joueur peut modifier les touches
2. Tu te casse pas la tête:D

Pourquoi j'ai mis le 1 en bleu clair?

1.Le joueur peut avoir des comandes personalisés

2.Tes textes sont inchoerents
(Sauf si tu fais dans ce genre:
<>Message:Tu peux modifier à tout moment les comandes avec F1.
Par exemple: Z corespond à la touche A, tu peux
changer Z par autre chose, alors je dirais "apuie sur A")

Tu as un script qui te permet d'utiliser TOUTES les touches (enfin, moi, j'ai compris ça:D) sur ce site (reconaitre toutes les touches du clavier ou quelque chose comme ça).

J'espère être utile :D


pokecola - posté le 23/12/2008 à 20:29:58. (2 messages postés)

RPG bosseur

Bonjour, permettez-moi de vous donner une petite astuce:
Les sauts réalisés avec ce script sont réduits (enfin ça saute pas haut quoi:hum).
pour changer la hauteur du saut, il suffit juste de modifier la ligne 125.
remplacez là par exemple par celle ci: $game_player.jump(direction, -4)
En fait, il suffit juste de changer le chiffre après "direction, -" pour changer la hauteur du saut (se calcule apparemment en cases:D)
Voilà
J'espère que ça vous aidera!:ange

Louisv2


gloubyboulga - posté le 03/05/2009 à 09:23:03. (38 messages postés)

Floubidou

moi j'aimerais bien changer l'apparence du héros quand il saute et le faire crever quend il touche le bas de la map.


TracerTong - posté le 27/05/2009 à 11:49:38. (27 messages postés)

Perso, j'adore ce script ! Il est trop bien :elusun:elusun:elusun ! Ca me permet de faire le jeu que j'ai toujours voulu creer :lei ...Ca, c'est du script ( qui marche) :sonic:sonic:sonic ! Allez, c'est parti pour un mario ou un kirby:kirby, et tous à vos rpg !!!:biere


pele - posté le 06/06/2009 à 11:20:46. (53 messages postés)

Kalki

Il n'y aurai pas un moyen de faire un double saut?

Apprendre le ruby RGSS1/2? http://Chalcie.overblog.com


Dx6 Zelda - posté le 10/06/2009 à 20:28:50. (1033 messages postés)

Osef

@ garsim: Merci (en retard), content qu'il t'aie plu. ^^

Citation:

Les sauts réalisés avec ce script sont réduits


Deux cases de haut pour un saut, tu dis "réduit" ? T'aurais pas essayé la touche A ?

Citation:

Il n'y aurai pas un moyen de faire un double saut?


Déso, là il te faut faire appel à l'événementiel ou un autre script. ^^

Et remerciements à ceux qui aiment. =D

scrapi™ = scrapi t'aime


hazem - posté le 22/07/2009 à 15:59:53. (2732 messages postés)

L'horreur ne va pas sans l'imagination...

Citation:

Jeu de plateforme où on peut sauter


Sans blague ?

Des petits clous... Toujours des petits clous !


bodomdeneige - posté le 15/10/2009 à 17:00:41. (64 messages postés)

homonyme du traducteur

Juste pour donner quelques patites astuces,

Ce script demeure assez inutilisable si l'on ne le couple pas avec le script de déplacement pixel par pixel (voir script de zeus à ce sujet)

Ca réduit énormément les problèmes d'appui sur a qui ne marche pas car on est en train de se déplacer.

De plus, l'effet saut est meilleur en changeant la ligne 125 par celà
$game_player.jump(direction, -4 -1 +1)

Ca évite l'effet saut vertical puis impression de parachute et puis ça augmente l'amplitude de saut de 2 cases.


Kureno - posté le 21/09/2010 à 19:57:42. (277 messages postés)

Être ou ne pas être, telle est la question...

moi mon gars saute de toujours une case et je dois apuyer sur Haut...


WintersRemix - posté le 28/11/2010 à 09:07:13. (62 messages postés)

MakInG

Un autre script de plateforme, mais cette fois si, le héros a une apparence quand il saute !

Citation:

# ??? XRXS50. Action-Maps XC. ??? built 033010
# by ?? ??

#==============================================================================
# ? ??????????
#==============================================================================
class XRXS50
#
# Action-Maps ?????????ID???
#
ENABLE_FULL_ACTY_MAPS = [1, 2]
#
# ??????
#
ENABLE_SLIDE_DESCENT = true
#
# ??????(true : ?????????????
# false : ?????????????????)
#
JUMP_AS_KEY = false
end
#==============================================================================
# ¦ Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
# ??
attr_writer :direction_fix
attr_accessor :walk_anime
# ??
attr_accessor :now_jumps
attr_writer :xrxs50_direction_sidefix
#--------------------------------------------------------------------------
# ? ????????
#--------------------------------------------------------------------------
def max_jumps
return 1
end
#--------------------------------------------------------------------------
# ? ????
#--------------------------------------------------------------------------
alias xrxs50_turn_left turn_left
def turn_left
if @xrxs50_direction_sidefix
@direction = 4
else
xrxs50_turn_left
end
end
#--------------------------------------------------------------------------
# ? ????
#--------------------------------------------------------------------------
alias xrxs50_turn_right turn_right
def turn_right
if @xrxs50_direction_sidefix
@direction = 6
else
xrxs50_turn_right
end
end
end
#==============================================================================
# ¦ Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
alias xrxs50_main main
def main
# ????
xrxs50_enable_check
# ????
xrxs50_main
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias xrxs50_update update
def update
# ????
xrxs50_update
# ?????? (?????)
if @xrxs50_enable
update_coordinates
end
end
#--------------------------------------------------------------------------
# ? ?????? (?????)
#--------------------------------------------------------------------------
def update_coordinates
if $game_player.passable?($game_player.x,$game_player.y,2)
unless $game_player.moving?
if XRXS50::ENABLE_SLIDE_DESCENT && Input.press?(Input::RIGHT) && $game_player.passable?($game_player.x,$game_player.y+1,6)
@direction_avant_saut = $game_player.direction
$game_player.direction_fix = false
$game_player.turn_down
$game_player.direction_fix = true
$game_player.move_lower_right
elsif XRXS50::ENABLE_SLIDE_DESCENT && Input.press?(Input::LEFT) && $game_player.passable?($game_player.x,$game_player.y+1,4)
@direction_avant_saut = $game_player.direction
$game_player.direction_fix = false
$game_player.turn_up
$game_player.direction_fix = true
$game_player.move_lower_left
else
$game_player.move_down
end
end
else
$game_player.move_down
$game_player.walk_anime = true unless $game_player.walk_anime
if $game_player.now_jumps != 0
if @direction_avant_saut == 4
@direction_avant_saut = 0
$game_player.turn_left
else
$game_player.turn_right
@direction_avant_saut = 0
end
end
$game_player.now_jumps = 0
#Remettre X
if Input.trigger?(Input::A) and
$game_player.now_jumps < $game_player.max_jumps
if XRXS50::JUMP_AS_KEY
direction = $game_player.direction == 4 ? -1 : 1
else
if Input.press?(Input::RIGHT)
direction = 1
elsif Input.press?(Input::LEFT)
direction = -1
else
direction = 0
end
end
@direction_avant_saut = $game_player.direction
$game_player.jump_plateforme(direction, -2)
$game_player.now_jumps += 2
$game_player.walk_anime = false
end
end
end
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
alias xrxs50_transfer_player transfer_player
def transfer_player
# ????
xrxs50_transfer_player
# ????
xrxs50_enable_check
end
#--------------------------------------------------------------------------
# ? XRXS50 ????????
#--------------------------------------------------------------------------
def xrxs50_enable_check
if XRXS50::ENABLE_FULL_ACTY_MAPS.include?($game_map.map_id)
$game_player.now_jumps = 0 if $game_player.now_jumps.nil?
@xrxs50_enable = true
$game_player.direction_fix = true
$game_player.xrxs50_direction_sidefix = true
else
@xrxs50_enable = false
$game_player.direction_fix = false
$game_player.xrxs50_direction_sidefix = false
end
end
end


class Game_Character

def jump_plateforme(x_plus, y_plus)
if x_plus != 0 or y_plus != 0
# 横の距離のほうが長い場合
$game_player.direction_fix = false
if x_plus > 0
turn_down
else
turn_up
end
$game_player.direction_fix = true
end
# 新しい座標を計算
new_x = @x + x_plus
new_y = @y + y_plus
# 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
# 姿勢を矯正
straighten
# 座標を更新
@x = new_x
@y = new_y
# 距離を計算
distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
# ジャンプカウントを設定
@jump_peak = 10 + distance - @move_speed
@jump_count = @jump_peak * 2
# 停止カウントをクリア
@stop_count = 0
end
end
end



Pour que le héros change d'apparence, il faut que la template contiennent "le_nom_de_la_template_du_heros"_Act

Attention ! Quand vous définissez l'apparence du héros, vous devez mettre celle du saut.

Un problème ? Contactez moi par MP !


ene - posté le 03/01/2011 à 20:35:30. (14 messages postés)

La fusion de 3 legende .

comment fait ton pour créé une plateforme dans les aire


misterio61941 - posté le 19/05/2013 à 18:08:01. (8 messages postés)

bonjours , j'ai un probleme avec ce script je n'arrive tout simplement pas a l'installer ... help me plz


MissVhamp - posté le 19/06/2014 à 14:55:15. (35 messages postés)

Bonjour
Moi j'ai ceci lorsque je veux lancer mon jeu :

image

C'est un pingouin qui respirait par le cul, il s'est assis, et il est mort... TIN TIN TIIIIIIN!!! J'aurai contribué à cette société de blagues pourries, je peux dormir tranquille j'ai fait mon devoir de citoyenne.


Mouton frisée - posté le 14/07/2015 à 16:33:06. (16 messages postés)

Erre dans les prairies à la recherche d'autres moutons frisés...

J'ai exactement le même soucis que MissVhamp :triste3 Quelqu'un saurait comment faire pour que ça marche s"il-vous-plait? =/

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

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis