AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-23%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS 44mm (plusieurs coloris)
199 € 259 €
Voir le deal

Partagez
 

 Script " Action-Maps" (plateforme)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
NOFX182182
Poulet Lv.1
Poulet Lv.1
NOFX182182


Inscrit le : 01/12/2010
Messages : 7

Script " Action-Maps" (plateforme)  Empty
MessageSujet: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitimeMer 1 Déc 2010 - 20:02

Bonjour à tous,

J'ai un problème avec ce script qui permet de faire un jeu de plateformes.
Le problème est tout con, mais pourtant tellement bizarre que je vais m'appliquer à bien vous l'expliquer Smile

Je pense que beaucoup d'entre vous l'ont croisé, c'est un truc qui permet de sauter avec la touche A, et... et c'est tout. Le héros retombe, il ne se déplace pas comme d'habitude, il marche sur une ligne horizontale.

Bref, le problème, c'est que je me sert d'une texture de mur comme sol, là ou marche le héros, et je la défini comme "impraticable", sinon le héros, et cela vient du script, tomberai jusqu'en bas de la map.

Ca c'est ok, mais allez savoir pourquoi, je fait face à des trucs complétement débiles :


1) Quand j'appuie sur Ctrl, le héros traverse le sol (il se dirige donc vers le bas, ignorant toute surface "impraticable"). Solution recherchée : désactiver cette touche Ctrl, tout simplement.
2 ) Quand je saute, le phénomène est similaire, mais vers le haut. Disons que je fait un saut vers un mur, et que je me mets à appuyer à répétition sur A, le héros sautera à l'intérieur du mur, pouvant même être
dirigé, allant vers le haut, à gauche, à droite, et pouvant bien sûr le traverser vers le bas en appuyant sur Ctrl. Solution recherchée : J'en sais rien... On ne va pas désactiver la touche pour sauter quand même Sad
3 ) Celui-ci est aussi très chiant. Imaginez, je suis sur une surface de trois carreaux, il y a un vide devant, et je cherche à sauter sur la prochaine plateforme.
J'avance, et le héros est dans l'incapacité de sauter sur le dernier carreau d'une surface. Il peut le faire sur place, oui, mais si je veux avancer et sauter au dernier moment vers l'avant, impossible.

Voilà, j'ai fait un roman pour un problème somme toute assez ridicule, et je m'en excuse, mais j'ai voulu être le plus clair possible.
Le mieux est encore de tester par vous-même le script, que voici.
Je vous remercie de m'avoir lu Smile

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



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

#======================================================
# □ カスタマイズポイント
#======================================================
class XRXS50
#
# Action-Maps を稼動させるマップIDの配列
#
ENABLE_FULL_ACTY_MAPS = [1, 2 , 3 , 5 , 6 , 7 , 8 , 9 ,10 , 11 , 12 , 13]
#
# 「斜め降下」
#
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)
if $game_player.passable?($game_player.x,$game_player.y+1)
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)
if XRXS50::ENABLE_SLIDE_DESCENT and Input.press?(Input::RIGHT) and $game_player.passable?($game_player.x+1,$game_player.y+1)
$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)
elsif XRXS50::ENABLE_SLIDE_DESCENT and Input.press?(Input::LEFT) and $game_player.passable?($game_player.x-1,$game_player.y+1)
$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
alias xrxs50_transfer_player update_transfer_player
def update_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



Revenir en haut Aller en bas
NOFX182182
Poulet Lv.1
Poulet Lv.1
NOFX182182


Inscrit le : 01/12/2010
Messages : 7

Script " Action-Maps" (plateforme)  Empty
MessageSujet: Re: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitimeMer 1 Déc 2010 - 22:08

Voilà, si vous avez une minute à y consacrer, une petite démo, que je viens de faire, utilisant ce script. Merci d'avance !


http://www.megaupload.com/?d=RSRATRMC
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

Script " Action-Maps" (plateforme)  Empty
MessageSujet: Re: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitimeMer 1 Déc 2010 - 22:15

Pour control, essaye de jouer en dehors du mode Test, tu verra la différence.
Revenir en haut Aller en bas
NOFX182182
Poulet Lv.1
Poulet Lv.1
NOFX182182


Inscrit le : 01/12/2010
Messages : 7

Script " Action-Maps" (plateforme)  Empty
MessageSujet: Re: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitimeMer 1 Déc 2010 - 22:19

Yeah ! Ca marche Smile

Plus que deux problèmes à régler, si vous avez des suggestions, i take !
Revenir en haut Aller en bas
NOFX182182
Poulet Lv.1
Poulet Lv.1
NOFX182182


Inscrit le : 01/12/2010
Messages : 7

Script " Action-Maps" (plateforme)  Empty
MessageSujet: Re: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitimeSam 4 Déc 2010 - 11:01

Je me permets de remonter ce topic pour savoir si quelqu'un peut me dire où trouver des gens qui s'y connaissent un peu en script (, une section de ce site, un autre site...) parce que je crois que mon problème demande quelques connaissances dans ce domaine et ceux qui passent ici sont un peu comme moi donc... Smile

Merci Smile
Revenir en haut Aller en bas
Ami
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Ami


Masculin Avertissements : 1
Inscrit le : 14/12/2009
Messages : 18

Script " Action-Maps" (plateforme)  Empty
MessageSujet: Re: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitimeSam 8 Jan 2011 - 17:30

Je cherche à aniliher le bug du Ctrl et a engendrer de plus grand et long saut.
Une aide quelquonque ?
Revenir en haut Aller en bas
Contenu sponsorisé




Script " Action-Maps" (plateforme)  Empty
MessageSujet: Re: Script " Action-Maps" (plateforme)    Script " Action-Maps" (plateforme)  Icon_minitime

Revenir en haut Aller en bas
 

Script " Action-Maps" (plateforme)

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Problème Script de Plateforme
» Script pour jeu de Plateforme
» Script de saut ( pour jeu de plateforme )
» Problème de saut avec script pour jeu de plateforme
» Désactiver un script sur certaines MAPs

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Abandonné-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit