Sujet n°14273
Posté par Therand le 16 Déc - 19:31 (2014)
Titre : [Résolu]Utilisation d'un objet dans un script
Bonjour,

Comment puis-je utiliser un objet à travers un script, je m'explique:
J'aimerais lancer une pokéball en appuyant sur un bouton "lancer" en combat, et que la pokéball se lance directement, sans devoir la sélectionner dans le sac.
J'ai essayer plusieurs fonctions dont "actor_item_use" mais je tombe sur un échec à chaque fois...

merci de m'aider Imbécile heureux

Posté par Schneitizel le 17 Déc - 01:15 (2014)
Quel SK ? (Foutue limite de 20 caractères)

Posté par Therand le 17 Déc - 10:07 (2014)
Oh! Quel idiot je suis...
J'utilise PSP 0.7

Merci

Posté par Therand le 20 Déc - 15:12 (2014)
Bonjour à tous,

J'ai réussi avec la fonction "catch_pokemon" à lancer une pokéball sans passer par le menu et en remplaçant l’animation variable (suivant le type de pokéball utilisée) par une animation fixe.
J'ai également modifié la variable "ball_rate" par la rate désiré (fixe).

Le problème de mon système, c'est qu'il ne décompte pas le nombre de pokéball...
il me faudrait donc un moyen de faire "pokéball en question -= 1"

J'utiliserais bien une variable qui stockerais le nombre de pokéball, et dans mon script diminuer de 1 cette variable a chaque lancé,
ensuite sur la map mettre en processus parallèle, rendre égal nombre de pokéball (objet) == variable pokéball

Or rpgxp ne permet que l'opération inverse (variable == nombre d'objet) sinon on peut additionner ou soustraire le nombre d'objet par rapport à une variable, mais aucunes options ne permet de rendre égal... :/

Donc pour résumer, connaissez-vous un moyen d’insérer un script dans un event qui permettrait de faire "nombre d'objet (pokéball) == variable X" et non l'inverse..

Merci d'avance pour votre aide Imbécile heureux

Posté par Schneitizel le 20 Déc - 17:08 (2014)
Pas de doubles posts, utilise la fonction edit

cherche la commande : command_126, c'est la commande qui ajoute/retire un objet, sa portion devrait contenir quelque chose pouvant t'aider pour ton probleme en script

Posté par Therand le 20 Déc - 20:16 (2014)
Ok, je ferais attention.

J'ai trouvé, j'avais déjà essayé mais sans succes...
Et grace à ta suggestion j'ai cherché un peu plus :p

du coup "$pokemon_party.add_item(ID, -1)" fonctionne à merveille! Imbécile heureux

Donc un grand merci à toi!
Mais un dernier détail me résiste...

if $pokemon_party.item_id[ID] = 0
#message qu'il n'y en a plus...
else
$pokemon_party.add_item(ID, -1)
catch_pokemon(1)
end

Mon souci est que "$pokemon_party.item_id[ID] = 0" ne fonctionne pas :/
Une idée?

Merci

Posté par Pαlвσlѕку le 20 Déc - 20:46 (2014)
Pour effectuer un test en ruby, il faut utiliser l'opérateur "==".
Si tu fais juste un "=", tu fais une affectation donc tu n'obtiendras pas ce que tu veux. Imbécile heureux

Posté par Therand le 20 Déc - 21:16 (2014)
Merci pour ta réponse, j'ai effectivement commis cette erreur.
Par contre, mon souci est que "item_id" n'existe pas..

J'ai essayé:
if $pokemon_party.add_item(ID) == 0
et
if $pokemon_party.add_item[ID] == 0

la il lis la ligne, mais elle n'a aucun effet...
comment lui demander de comparer le nombre d'item à zero, je ne vois pas :(

EDIT::

En faite j'ai trouvé! Imbécile heureux
$pokemon_party.item_number(ID) == 0

Et hop résolu!!
Merci à vous

Posté par joeyw le 21 Déc - 02:21 (2014)
Bien joué pour ta bidouille Clin d'œil foireux