[PSDK] Partager vos scripts et astuces

3 Réponses • 842 Vues

Salut à tous (et à toutes bien entendu)

Comme vous avez pu le constater le wiki de PSDK n'est pas complet du fait que Yuri n'a pas forcement le temps de s'en occuper (on ne va pas se le cacher on préfère qu'il avance sur le SK et le wiki soit fait plus tard :ahde:)

En quoi consiste ce topic ?

Alors pour faire simple on vas regrouper ici tous les scripts et autres astuces liés aux fonctionnalités qu'offre PSDK et qui sont fonctionnels à partir de la MAJ Alpha 23
Ça aura pour but d’avoir une meilleur visibilité de ces dernières et de servir à la communauté. Pensez que des membres (ou non) passeront par là. Soyez clairs dans vos explications et n'hésitez pas à éditer votre post pour ajouter des choses ou simplement un GIF en me le notifiant.

Comment faire ?

Pour partager votre "savoir" répondez au sujet avec le patron suivant :

- Description :
- Commande ou Interrupteur/Variables :
- Fonctionnement : (avec ses variables s'il y a)
- GIF : si possible (le Logiciel ShareX en fait de très bonne qualité et est gratuit Merci Maxoumi)
- Version du SK :

Si vous souhaitez faire quelque chose de complet mettez le sous spoiler :

[Spoiler="Titre"]

Texte

[/spoiler]

Condition

La seule condition est qu'il faut que votre partage soit testé et fonctionnel à partir de l'alpha 23 de PSDK n'oubliez pas de préciser la dernière version dans laquelle vous l'avez testé !
A préciser que vous pouvez très bien poster une commande déjà expliquée dans le Wiki si vous pouvez l'illustrer et rentrer plus dans les détails


/!\ Je précise que ce sujet n'est pas là pour poster des patchs ou correction dû à des bugs de PSDK
Je mettrai le sujet aussi régulièrement que possible

Afin de ne pas polluer de trop le sujet s'il y a des fautes d’orthographe/conjugaison ...etc merci de venir en PV ici ou sur Discord aucun soucis  :ahde:
Pareil pour les questions au sujet du fonctionnement de ce qui est présenté, vous pouvez poster votre question sur un sujet dédié ou plus simplement sur Discord



Commande


- Changer l'emplacement du texte
Spoiler
$game_system.message_position="x"
Remplacer le "x" par 0 pour que la boîte de dialogue s'affiche en haut, 1 pour le milieu et 2 pour en bas (Voir GIF)
Commande a placé dans "insérer un script" avant d’afficher un message. (pratique pour certains dialogues)

Tester en : Alpha 23


Interrupteurs
- Interrupteur 2
Active/désactive l’ombre sous les charas
- Interrupteur 4
Message surf lors d'un contact
Message qui est d’ailleurs à éditer si besoin dans l'event commun surf
- Interrupteur 6
Active/désactive le maplink
>= Alpha 23.5
- Interrupteur 8
Permet de stopper l'écoulement du temps
- Interrupteur 16
Mode Nuzlock
(Pour l’instant rend inutilisable un Pkmn mis K.O à confirmer)
- interrupteur 19
Active/desactive le follow me
- Interrupteur 20
Autorise Vol
- Interrupteur 21
Autorise Tunnel
- Interrupteur 26
Affiche le choix en haut à Gauche
- Interrupteur 28
Héro qui se tourne vers l'event automatiquement
(Lorsque ce dernier affiche un message et si le héro n'est pas actif)
- Interrupteur 36
Activé, indique que le joueur a été vaincu
(Exemple : Pour une utilisation Post-combat pour scénariser un événement)

Variables

- variable 19
Follow me
Permet de modifier le nombre de suiveur

« Modifié: 19 mai 2018, 19:42:36 par Bentoxx »


Le Discord c'est ICI

Leikt

Programmeur

Description :
Une petite fonction de script très utiles pour animer des events depuis leur charset. Je parle bien entendu des portes qui sont souvent animée sur deux ou trois lignes ! Et faire ça à la main peut être très lourd... Alors cette fonction le fait pour vous.
Voici deux exemple de charsets animables (libre d'utilisation) :
 

Le script :
Ajoutez le script suivant au-dessus de Main
class Interpreter
def animate_from_charset(lines, duration, eid=@event_id, reverse=false, repeat=false)
eid = @event_id unless eid
event = $game_map.events[eid]
delay = duration/(lines.size*4-1)
route=RPG::MoveRoute.new
route.repeat=repeat
list=[]
patterns=(reverse ? [3,2,1,0] : [0,1,2,3])
lines.each do |dir|
real_direction = (dir+1)*2 # 0, 1, 2, 3 => 2, 4, 6, 8
patterns.each do |pattern|
list.push RPG::MoveCommand.new(41,[event.character_name, event.character_hue, real_direction, pattern])
list.push RPG::MoveCommand.new(15, [delay])
end
end
list.push RPG::MoveCommand.new
route.list=list
event.force_move_route(route)
return route
end
end

Commande et paramétrage :
L’évent DOIT être en Direction Fixe pour éviter un bug graphique au lancement de l'animation.
Appelez la fonction
animate_from_charset(lines, duration, event_id, reverse, repeat)
lines : Array<Integer>, tableau de nombre entre 0 et 3, les numéro des lignes de l'animation (dans l'ordre)
duration : Integer, durée de l'animation (30=1sec)
event_id : (Optionnel) Integer, par défaut c'est l'id de l'event appelant le script. Id de l'event à animer : pour animer un autre event depuis celui-ci. Mettre "nil" pour conserver le même id (si vous devez modifier les paramètres suivants)
reverse : (Optionnel) Boolean, par défaut, est à false. Si true, alors les lignes seront animées de droite à gauche, si false de gauche à droite.
repeat : (Optionnel) Boolean, par défaut, est à false. Si true, alors l'animation se répétera indéfiniment.

En exemple :



Une porte sur deux event qui s'ouvre et se ferme :



Version du SK : TOUS

Nuri Yuri

HostMaster

Notons que cette commande fonctionne également pour PSP ou un projet RMXP classique :p
Merci du partage Leikt :)
ln(yo) = <3

Leikt

Programmeur

Bonjour à tous, je partage une petite astuce pour les scripteurs qui se perdent dans les directions avec RMXP.
Pour les néophytes, RMXP code la direction d'un character avec un nombre :
1 = bas gauche, 2 = bas, 3 =bas droite, 4 = gauche, etc

Voici la petite astuce pour retrouver rapidement et sans fautes la direction : votre pavé nuérique

Le 5 représente le character, et les autres touchent les directions.

En passant : trouver la direction opposé se faire en calculant 10 - direction_actuelle. Exemple : je regarde en 4 (gauche), la droite sera 10-4 = 6 (droite), idem pour les diagonales.

There was an error while thanking
Thanking...