Aller au contenu

[JAVA] Commande event ancestra remake rev 47


Faust

Messages recommandés

Bonsoir à tous,

 

Voici une commande .event créée par Adlesne pour le serveur Fraternity (j'ai obtenu les sources de Darkius le créateur et il m'a autorisé à faire le partage de la commande)

 

Je l'ai ajouté sur la version simple et non modifiée d'ancestra remake rev 47

 

Tuto pour ceux voulant l'ajouter directement dans leur ému:

 

Allez dans Commands.java et cherchez ceci au début de la page:

 

Citation
private Timer createTimer(final int time)

 

{

 

ActionListener action = new ActionListener ()

 

{

 

int Time = time;

 

public void actionPerformed (ActionEvent event)

 

{

 

Time = Time-1;

 

if(Time == 1)

 

{

 

SocketManager.GAME_SEND_Im_PACKET_TO_ALL("115;"+Time+" minute");

 

}else

 

{

 

SocketManager.GAME_SEND_Im_PACKET_TO_ALL("115;"+Time+" minutes");

 

}

 

if(Time <= 0)

 

{

 

for(Personnage perso : World.getOnlinePersos())

 

{

 

perso.get_compte().getGameThread().kick();

 

}

 

System.exit(0);

 

}

 

}

 

};

 

// Génération du repeat toutes les minutes.

 

return new Timer (60000, action);//60000

 

}

 

 

Placez ceci juste après:

 

Citation
public static short mapID = 0;

 

public static int cellID = 0;

 

private static String typeEvent = "";

 

public static boolean eventOn = false;

 

 

Ensuite, toujours dans Commands.java, cherchez ceci:

 

Citation
if(command.equalsIgnoreCase("DEMORPH"))

 

{

 

Personnage target = _perso;

 

if(infos.length > 1)//Si un nom de perso est spécifié

 

{

 

target = World.getPersoByName(infos[1]);

 

if(target == null)

 

{

 

String str = "Le personnage n'a pas ete trouve";

 

SocketManager.GAME_SEND_CONSOLE_MESSAGE_PACKET(_out,str);

 

return;

 

}

 

}

 

int morphID = target.get_classe()*10 + target.get_sexe();

 

target.set_gfxID(morphID);

 

SocketManager.GAME_SEND_ERASE_ON_MAP_TO_MAP(target.get_curCarte(), target.get_GUID());

 

SocketManager.GAME_SEND_ADD_PLAYER_TO_MAP(target.get_curCarte(), target);

 

String str = "Le joueur a ete transforme";

 

SocketManager.GAME_SEND_CONSOLE_MESSAGE_PACKET(_out,str);

 

}

 

 

Placez ceci juste après:

 

Citation
else if(command.equalsIgnoreCase("EVENTON"))

 

{

 

if(eventOn)

 

{

 

SocketManager.GAME_SEND_MESSAGE(_perso, "Un event est déjà en cours !", Ancestra.CONFIG_MOTD_COLOR);

 

return;

 

}

 

try

 

{

 

typeEvent = infos[1];

 

}

 

catch(Exception e)

 

{

 

SocketManager.GAME_SEND_MESSAGE(_perso, "Erreur : vous n'avez défini le type d'évent", Ancestra.CONFIG_MOTD_COLOR);

 

return;

 

}

 

try

 

{

 

mapID = (short)Integer.parseInt(infos[2]);

 

cellID = Integer.parseInt(infos[3]);

 

}

 

catch(Exception e)

 

{

 

mapID = _perso.get_curCarte().get_id();

 

cellID = _perso.get_curCell().getID();

 

}

 

eventOn = true;

 

SocketManager.GAME_SEND_MESSAGE_TO_ALL("Un event " + typeEvent + " a été lancé par " + _perso.get_name() + ". Pour y participer, tapez .event afin de rejoindre le lieu de l'évènement.", Ancestra.CONFIG_MOTD_COLOR);

 

}

 

else if(command.equalsIgnoreCase("EVENTOFF"))

 

{

 

if(!eventOn)

 

{

 

SocketManager.GAME_SEND_MESSAGE(_perso, "Aucun event n'est en cours", Ancestra.CONFIG_MOTD_COLOR);

 

return;

 

}

 

eventOn = false;

 

String message = "Event " + typeEvent + " terminé, ";

 

if(infos.length == 2)

 

{

 

message += "le gagnant est : " + infos[1];

 

}

 

else

 

{

 

message += "les gagnants sont : ";

 

for(int i = 1; i < infos.length; i++)

 

{

 

message += infos + ", ";

 

}

 

message = message.substring(0, message.length() - 2);

 

}

 

SocketManager.GAME_SEND_MESSAGE_TO_ALL(message, Ancestra.CONFIG_MOTD_COLOR);

 

return;

 

}

 

 

Pour finir, allez dans GameThread.java et cherchez ceci:

 

Citation

 

else if(msg.length() > 5 && msg.substring(1, 6).equalsIgnoreCase("staff")) // Commande .staffonline

 

{

 

String staff = "Membres du staff connectés :\n";

 

boolean allOffline = true;

 

for(int i = 0; i < World.getOnlinePersos().size(); i++)

 

{

 

if(World.getOnlinePersos().get(i).get_compte().get_gmLvl() > 0)

 

{

 

staff += "- " + World.getOnlinePersos().get(i).get_name() + " (";

 

if(World.getOnlinePersos().get(i).get_compte().get_gmLvl() == 1)

 

staff += "Surveillant)";

 

else if(World.getOnlinePersos().get(i).get_compte().get_gmLvl() == 2)

 

staff += "Animateur)";

 

else if(World.getOnlinePersos().get(i).get_compte().get_gmLvl() == 3)

 

staff += "Modérateur)";

 

else if(World.getOnlinePersos().get(i).get_compte().get_gmLvl() == 4)

 

staff += "Maître joueur)";

 

else if(World.getOnlinePersos().get(i).get_compte().get_gmLvl() == 5)

 

staff += "Créateur du serveur)";

 

else

 

staff += "Unknown";

 

staff += "\n";

 

allOffline = false;

 

}

 

}

 

if(!staff.isEmpty() && !allOffline)

 

{

 

SocketManager.GAME_SEND_MESSAGE(_perso, staff, Ancestra.CONFIG_MOTD_COLOR);

 

}

 

else if (allOffline)

 

{

 

SocketManager.GAME_SEND_MESSAGE(_perso, "Aucun membre du staff est présent !", Ancestra.CONFIG_MOTD_COLOR);

 

}

 

return;

 

}

 

 

Placez ceci juste après:

 

Citation
else if(msg.length() > 5 && msg.substring(1, 6).equalsIgnoreCase("event"))
Citation

 

{

 

if(!Commands.eventOn)

 

{

 

SocketManager.GAME_SEND_MESSAGE(_perso, "Aucun event n'est en cours", Ancestra.CONFIG_MOTD_COLOR);

 

return;

 

}

 

_perso.teleport(Commands.mapID, Commands.cellID);

 

return;

 

}

 

 

Voilà pour l'intégration.

 

Tuto de l'utilisation:

 

Quand vous souhaitez faire un event dans un endroit bien précis, allez dans l'endroit désiré et tapez ceci dans la console:

 

EVENTON {mapid} {cellid} {nom de l'event}

 

ou si vous souhaitez que les joueurs se téléportent directement sur la cellule où vous êtes,

 

EVENTON {nom de l'event}

 

Ex:

 

Citation
EVENTON Quizz

 

Un message apparaît en canal annonce:

 

Citation
Un event quizz a été lancé par Faust. Pour y participer, tapez .event afin de rejoindre le lieu de l'évènement.

 

Une fois votre Event terminé, tapez ceci:

 

EVENTOFF {nom du gagnant} {nom du gagnant} (vous pouvez mettre autant de nom que vous voulez ou un seul)

 

Ex:

 

Citation
EVENTOFF Dupont

 

message: Event quizz terminé, le gagnant est : Dupont

 

ou

 

EVENTOFF X Y Z

 

message: Event quizz terminé, les gagnants sont : X, Y, Z

 

Voilà pour l'utilisation.

 

J'espère que sa vous plaira

Cordialement Faust

Lien vers le commentaire
  • Réponses 4
  • Created
  • Dernière réponse

Top Posters In This Topic

Top Posters In This Topic

  • 1 month later...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


  • Flux d'Activité

    1. 5

      Metin2 Download - Migration

    2. 0

      C++ Wiki Ingame

    3. 38

      Installer Ancestra Remake 54

    4. 2

      Ajouter une Commande Lau

    5. 2

      Ajouter une Commande Lau

    6. 2

      Ajouter une Commande Lau

    7. 38

      Installer Ancestra Remake 54

    8. 5

      Metin2 Download - Migration

    9. 3

      L'E3 2021, on en parle !

  • En ligne récemment

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.