[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Les forums - [RMXP] Réduire l'équipe

Oniromancie: Les forums - [RMXP] Réduire l'équipe


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

Nylu
Par NanakyTim

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Le samedi, c'est best of des (...) / News: Cinq conseils généralistes pour (...) / Sorties: Version Fille - Chapitre 8 (...) / News: News de printemps / Jeux: Nous, les Mortifer /

Chat  (97 connectés)

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

106 connectés actuellement

9933707 visiteurs
depuis l'ouverture

1521 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

Blog of Chaos17

BloGecko

ConsoleFun

Au hasard

Kingdom Ultimate

Guelnika & E-magination

Akademiya RPG Maker

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




forums

Index du forum > Entraide > [RMXP] Réduire l'équipe


Kasbak - posté le 27/06/2018 à 03:30:34. (27 messages postés)

Domaine concerné: SCript
Logiciel utilisé: RMXP
Bonjour à tous. Quelqu'un serait-il comment faire pour retirer tout les membres de l'équipe au delà d'un certain nombre.
Exemple j'ai 5 ou 6 personnages dans l'équipe, je lance un event qui fait que automatiquement l'équipe sera réduite à 2 membres et gardera les 2 premiers en retirant tout les autres de l'équipe. J'ai essayer ce genre de code script mais j'arrive pas.



Portion de code : Tout sélectionner

1
2
3
4
5
6
7
def add_actor(actor_id)
actor = $game_actors[actor_id]
if $game_party.actors.size > 8 
@actors.push(actor)
$game_player.refresh
end
end



Voilà j'espère quelqu'un sait comment faire, meme si c'est en event sa m'ira aussi.


Roi of the Suisse - posté le 27/06/2018 à 09:18:58. (21086 messages postés) - staff

Point d'argent, point de Suisse !

L'interpréteur fait comme ça pour ajouter ou retirer un gusse :

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
  #--------------------------------------------------------------------------
  # ● アクターの入れ替え
  #--------------------------------------------------------------------------
  def command_129
    # アクターを取得
    actor = $game_actors[@parameters[0]]
    # アクターが有効の場合
    if actor != nil
      # 操作で分岐
      if @parameters[1] == 0
        if @parameters[2] == 1
          $game_actors[@parameters[0]].setup(@parameters[0])
        end
        $game_party.add_actor(@parameters[0])
      else
        $game_party.remove_actor(@parameters[0])
      end
    end
    # 継続
    return true
  end


@parameters[0] est le numéro du gusse. Donc ça donnerait quelque chose comme :

Portion de code : Tout sélectionner

1
2
3
for gusse in 2...10
    $game_party.remove_actor(gusse)
end

J'ai pas testé, mais c'est une piste honorable.


Attention à ne pas confondre savoir et être : il sera/il saura.

Es-tu une star ? | Kujira no Hara : télécharger, topic du jeu | Polaris 03 : télécharger, topic du jeu


Kasbak - posté le 27/06/2018 à 22:42:30. (27 messages postés)

Merci pour ton aide. J'ai essayer mais y'a un souci, c'est que cela retire les membres dans l'odre de la base de données, si par exemple je n'ai débloquer que le héros numéro 5 et que le script remove de 2...10 j'ai plus du tout de joueur dans l'équipe et le jeu plante, et si je met le heros numéro 7 en premier position il sera remove et le script laissera toujours le joueur 1 et 2 dans l'équipe.


Roi of the Suisse - posté le 27/06/2018 à 23:49:06. (21086 messages postés) - staff

Point d'argent, point de Suisse !

Ah je ne savais pas que le joueur pouvait choisir d'arranger les héros dans l'ordre qu'il préfère.

C'est pas forcément difficile à faire si tu t'y connais en programmation en général.

J'ai l'impression que moi je te parlais de l'id du héros (son numéro dans la base) et toi tu parles de l'index du héros (son ordre dans la partie).

Portion de code : Tout sélectionner

1
2
3
4
5
for actor in $game_actors
    if actor.index > 2
        $game_party.remove_actor(actor.id)
    end
end

J'ai toujours pas testé, j'écris ça en aveugle, mais je pense que c'est une bonne base de travail. À toi de gérer les éventuels cas nuls avec des conditions if.

Es-tu une star ? | Kujira no Hara : télécharger, topic du jeu | Polaris 03 : télécharger, topic du jeu


Kasbak - posté le 28/06/2018 à 00:49:32. (27 messages postés)

sa m'affiche un message d'erreur 'undefined method 'each' for #<Game_Actors>

Mais sinon j'ai pensé peut-etre pour faire plus simple jsute une ligne code qui réduit l'équipe maximum à 2, comme ça tout les heros supplémentaire seront kicker automatiquement.

J'ai essayé :
@actors.size = 2
et :
$game_party.actors.size = 2

Mais sa fontionne pas, peut-etre tu as une idée à ce niveau là ?


Roi of the Suisse - posté le 28/06/2018 à 08:44:29. (21086 messages postés) - staff

Point d'argent, point de Suisse !

size est un accesseur, pas un mutateur. Il te donne une information sur ton tableau (sa taille). Tu ne peux pas l'utiliser pour modifier le contenu du tableau !!!


Essaie en remplaçant

Portion de code : Tout sélectionner

1
for actor in $game_actors

par

Portion de code : Tout sélectionner

1
for actor in $game_party.actors

car $game_actors est un piège : il se fait passer pour un tableau, mais c'est juste un objet avec une méthode [], donc on ne peut pas itérer dessus. Ça c'est la viciosité inhérente aux rubistes.

Et arrête de confondre "sa" et "ça" wallah espèce de sacripant :feu Ça me donne juste envie de partir en courant très loin.
"sa" c'est pour une appartenance : "sa chaussure", "sa bicyclette". "sa" est devant un nom commun, dont il précise le possesseur.
"ça" c'est un pronom qui remplace quelque chose : "ça vend du rêve", "ça s'en va et ça revient". "ça" n'est pas devant un nom commun.


Il me semble que tu peux aussi extraire une portion de tableau en faisant :

Portion de code : Tout sélectionner

1
$game_party.actors = $game_party.actors[0..1] # premier element et dernier element

ou encore

Portion de code : Tout sélectionner

1
$game_party.actors = $game_party.actors[0, 2] # premier element et taille de portion

Et ça va garder le deux premiers éléments. Je ne garantie pas que ça marchera.

Es-tu une star ? | Kujira no Hara : télécharger, topic du jeu | Polaris 03 : télécharger, topic du jeu


Kasbak - posté le 28/06/2018 à 10:59:52. (27 messages postés)

C'est parfait, merci pour ton aide !

Index du forum > Entraide > [RMXP] Réduire l'équipe

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:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Blogs | Screen de la semaine | Sorties | Articles perso | Palmarès | Livre d'or | Recherche
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | Collection Oniro | 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 | Tutoriels | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers
Hébergés: Aëdemphia | Fighting Robots Quest | Geex | Inexistence | La Légende d'Ibabou | Lije | Nylu | Sarcia | Super Mario RPG - Lost Souls
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