Jump to content
La fin ?! Elle est là ! ×
×
×
  • Create New...

[JAVA] Commande event ancestra remake rev 47


Faust
 Share

Recommended Posts

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

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • 1 month later...
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.