Ediwiki

Wiki officiel de l'éditeur de carte du jeu Slayers Online

Outils pour utilisateurs

Outils du site


astuces:ediwiki

Ceci est une ancienne révision du document !


Voici quelques astuces que vous pouvez utiliser sur l'éditeur de cartes de Slayers Online, qui vous permettrons sûrement de gagner du temps.

Veillez tout de même à ne pas en abuser, car certaines astuces peuvent entrainer rapidement des erreurs de programmation.

Les Astuces

Astuce 01 :Les raccourcis

Les raccourcis vous permettent d'éviter de cliquer avec la souris, pour par exemple sauvegader votre projet ou autre. Ces raccourcis sont :

Ctrl + O →Vous permet d'ouvrir un projet existant.

Ctrl + S →Vous permet de sauvegarder le projet acutellement ouvert.

Ctrl + Z →Vous permet d'annuler la dernière action effectué (un copier/coller d'événement)

Ctrl + C →Vous permet de copier l'/les événement(s) sélectionné(s) (Pour sélectionner plusieurs événements :créez un rectangle de sélection autour des événements que vous souhaitez copier avec votre souris.)

Ctrl + V →Vous permet de coller L'/les événement(s) préalablement copié(s),à l'endroit que vous avez désigné sur la map.

F9 →Vous permet de lancer le test de votre projet.

Astuce 02 :Le mode Expert


Comme vous pouvez le voir sur le haut d'une fenêtre “événement”, il y a deux cases nomées :“Expert”. Pour l'activer cocher simplement la ou les cases. Le mode expert activé, permet de copier et coller des commandes, comme dans un éditeur de texte. Attention de ne pas rentrer des commandes incompatibles avec la zone en question.

Exemple: Dans les conditions de déclenchement vous pourrez écrire des commandes n'existant pas dans la liste, l'événement pourra ou non fonctionner. Les commandes qui n'existent pas dans les conditions de déclenchement ne seront alors pas testées dans votre événement.

Le mode expert vous permet aussi taper entièrement vos lignes de commande, mais prennez garde à ne pas faire d'erreurs! :)

Astuce 03 :Les pages


Reprennons cette image, et comme vous pourrez l'observer il y a trois boutons “Nouvelle Page”, “Copier page”, et “Supprimer Page”, ainsi qu'une case à cocher nommé “Avec commande”.

Ces boutons vous permettent de créer, duppliquer, et supprimer des pages de vos événements. Le bouton “Copier page” créé une page ayant pour chiffre NuméroDeLaPageACopier+1 qui aura les même conditions de déclenchement que la page que vous souhaitiez copier. Cette page pourra avoir les même “Commande evenement” si vous avez sélectionné avant de cliquer de “Copier Page” la case “Avec commande”.

Vous pouvez changer l'ordre des pages de votre événement grâce aux deux flèches :

Astuce 04 :Les événement automatiques

Si vous réalisez un événement automatique vous n'êtes pas obligé d'inscrire toutes les choses qui sont réalisées suivant les conditions de déclenchement. En effet, les pages d'un événement ne s'éxecute que si les conditions de déclenchement de la dite page sont respectées. Dans le cas où toutes les conditions de déclenchement d'une page sont respectées les commandes sont exécutées.

Exemple: Si vous souhaitez que votre événement ne se réalise que lorsque le joueur se nomme Toto, et si la variable 7 est à 1 :

Page 1
Conditions d'événementsCommande événements

Page 2
Conditions d'événementsCommande événements
Donc ici la première page est respectée, on peut donc l'exécuter, et la page vide représente toutes les autres pages qui peuvent-être faites, comme par exemple si le joueur ne s'appelle pas Toto, ou si la variable 7 n'est pas à 1. Donc si les deux conditions de la page 1 ne sont pas respectées, on passe à la page suivante, qui ne renvoie pas de commande.



Astuce 05 :Utilisation tolérée de Serveur[] uniques

Dans la majeur partie des cas, vous pourrez vous débrouiller avec des variable[] simples et des serveur[] classiques pour vos party-games.

Cependant, dans des cas très précis de jeux à plusieurs, il vous faudra générer des Serveurs[] pour chaque joueur / groupe de joueur / … afin que leurs actions soient visibles de tous sans qu'il n'y ait d'interférences dans les actions des joueurs. (exemple : Faire qu'une porte soit ouverte pour un groupe de joueur et fermé pour un autre) Il faut, dans ce cas précis, utiliser des variables serveur de type Serveur[MiniJeu%Variable%] (où %Variable% peut être uppername, ou encore groupe)

En effet, vous avez le droit d'utiliser ce genre de Serveurs[] auto-générées, mais UNIQUEMENT si vous les mettez à zéro le plus tôt possible !(Serveur[MiniJeu%Variable%]=0) Elles seront alors purgées au bout d'un certains temps et n'occuperons pas de place dans le serveur (contrairement aux Serveurs[] uniques utilisées pour le mariage qui, elles, ne sont pas remises à zéro.)

A n'utiliser que si vraiment nécessaire et uniquement si vous êtes très à l'aise avec la programmation sur l'éditeur.


Astuce 06 :Vérifications conformes de saisies numériques

Cette astuce permet, grâce à différents tests, de vérifier la conformité d'une saisie numérique. (ex : Mises, dons à un PNJ… etc)

1 - Saisie de petites valeurs

Sachez, d'abord, que pour des saisies numériques n'excédant pas 32768 (valeur maximale d'une variable joueur) vous pouvez simplement utiliser Variable[..]=InputString('') pour ensuite travailler avec cette Variable.

En effet, la saisie dans une Variable[] est conçu pour bloquer la saisie de lettres, de symboles, ou de valeur négative.

N'oubliez pas, cependant, de vérifier que la valeur entrée est bien inférieur à 32768 avant de l'utiliser. Car si la saisie est supérieure, la variable prendra une valeur négative.

Exemple d'illustration :

Page 1
Conditions d'événementsCommande événements

2 - Saisie de valeurs plus libres (de 1 à quelques milliards)

Si vous souhaitez accorder plus de liberté dans les saisies numériques, vous devrez faire la saisie dans une string au lieu d'une Variable[].

Cependant, ceci laisse au joueur la possibilité d'entrer des valeurs avec des lettres/symboles et des valeurs négatives. Il faut donc passer par plusieurs tests :

  • Test de validité (n'accepte pas les lettres & symboles)
  • Test de positivité (n'accepte pas les valeurs négatives)
  • (Test porte-monnaie (vérifie que le joueur possède bien la somme dans le cas d'un don ou d'une mise)) → Cas d'un don ou d'une mise.
  • Test valeur limite (fixe une limite max car au delà de quelques milliards saisis, de nombreux bugs surviennent)

Voici les variables utilisées pour l'exemple qui suit...

  • Variable[13] → Permet, dans cet exemple, le changement de page (pour effectuer les tests dans l'ordre)
  • %String1% → Reçoit la saisie du joueur (peut contenir chiffre, lettre, symbole..)
  • Variable[0] → Permet, dans cet exemple, de tester si la saisie est bien numérique : Si on y met des lettres ou symboles, elle devient = à 0.
  • Serveur[Cagnotte] → Permet, dans cet exemple, de contenir le total des dons des joueurs.

... Et voici l'événement : Exemple d'un don de po à un PNJ :

Page 1
Conditions d'événementsCommande événements
Page 2
Conditions d'événementsCommande événements
Page 3
Conditions d'événementsCommande événements
Page 4
Conditions d'événementsCommande événements

Astuce 07 :Event avec plusieurs restrictions

Si vous désirez créer un event restrictif; par exemple seul un joueur appartenant à la Guilde Admin ou s'appelant Ophio ou étant dans le groupe “Slayers” peut accéder au téléport, 2 pages suffisent ;-)

Page 1
Conditions d'événementsCommande événements

Page 2
Conditions d'événementsCommande événements

Astuce 08 :Réinitialiser les variables à la déconnexion

Si en entrant dans la map on fait Variable[13]=1, puis que dans les propriétés de la carte on met “Si Variable[13]=1 alors Serveur[]=” (c'est a dire tout vide en ce qui concerne la variable serveur), quand le joueur se déconnecte et se reconnecte, la Variable[13] reviendra a 0 automatiquement.

Il suffit donc de mettre à l'intérieur de la map:

CD :
Automatique
Variable[13]=0

CE :
Variable[14..16]=0

Si les cases de la Variable Serveur sont remplies, la Variable sera tout de même réinitialisée.

Astuce 09 :La division

Lorsque l'on divise un chiffre sur l'éditeur, le résultat est toujours arrondit à l'unité inférieure.
Ainsi 5 divisé par 3 n'est pas égal à 1,666… mais à 1.

Si l'on souhaite arrondir à l'unité supérieure, il suffit d'ajouter 1 après la division.
(5/3)+1=2

Et si l'on souhaite arrondir à l'unité supérieure quand la décimale est supérieure ou égale à 5, et à l'unité inférieure quand la décimale est inférieure à 5, il faudrait théoriquement rajouter 0,5 après la division:
(5/3)+0,5 = 2
(4/3)+0,5 = 1
Mais lorsque l'on rentre 0,5 (ou 1/2) dans l'éditeur, cela ne fonctionne pas.
Il faut donc utiliser une astuce : on multiplie tout par 10, puis on redivise tout par 10.
(50/3)+5 = 21
21/10=2

astuces/ediwiki.1318356706.txt.gz · Dernière modification : 2022/09/25 19:09 (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki