J'aimerais ajouter des évènements aux races de mon shard, mais je ne sais pas comment les ajouter. J'avais vu un post qui expliquait les évènements ( +event..), mais je le retrouve plus. J'ai regardé dans mes bouquins, mais je comprend pas vraiments comment faire.
Par exemple, j'aimerais que les elfes ne puissent pas manger de viande.
Donc quand un elfe essaye de manger, le script verifie si c'est de la viande. Pour le script pas de prob, mais comment je relie les races aux évènements. (Sur sphère c'étais facile, mais sur RunUO, je vois pas vraiment.)
Signé : Shariz l'ami des plus petits.
Edite : Désoler, je viens de me rendre compte que je n'étais pas sur le bon forum.
apres une courte recherche je n'ai pas trouve exactement ce que je cherchais, cad raise un event dans un mobile et le recuperer grace au handler
il serait meme possible qu on ne puisse pas en ajouter meme si j'en doute tres fort
par contre pour ton probleme on peut toujours voir les choses differemment en allant voir dans Food.cs on trouve l'aliment de base et la fonction Eat dans laquelle on peut eventuellement tester le mangeur et l'aliment
| CODE |
public virtual bool Eat( Mobile from ) { if ( FillHunger( from, m_FillFactor, HitsBonus, ManaBonus ) ) { Consume(); CheckPoison( from ); return true; } return false; }
|
mais bon cette solution ne fonctionne que pour cet exemple
Voici un Evènements qui envoi un message à chaque fois que le perso fait un pas dans une direction.
| CODE |
using System; using Server.Network;
namespace Server.Misc { public class EventMouvement { public static void Initialize() { // Register our event handler EventSink.Movement += new MovementEventHandler( EventSink_MouvementEvent ); // Ajoute le script à l'évènement Login qui se trouve dans EventSink. } private static void EventSink_MouvementEvent ( MovementEventArgs args ) // Le script qui est lier lors de l'évènement Login. { Mobile m = args.Mobile;
m.SendMessage( "JE MARCHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!" ); } } }
|
Et ici un message qui apparaît à chaque fois que le perso attaque.
| CODE |
using System; using System.Collections; using Server; using Server.Network;
namespace Server.Misc { public class EvenementAttack {
public static void Initialize() { EventSink.AggressiveAction += new AggressiveActionEventHandler( EventSink_EventAttack ); }
public static void EventSink_EventAttack( AggressiveActionEventArgs e ) { Mobile aggressor = e.Aggressor; Mobile aggressed = e.Aggressed;
e.Aggressor.SendMessage( "A L'ATTAQUE !!!!!!!!!!!!!!!!!!!!!!!!!!!!" ); } } }
|
Signé : Shariz l'ami des plus petits.
regarde dans le repertoire RunUO, tu as un dossier docs.
C'est toute la documentation. (la même que sur le site)
Signé : Shariz l'ami des plus petits.