Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 Script NPC Buffer

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Ildaril



Nombre de messages : 41
Age : 24
Date d'inscription : 07/11/2007

MessageSujet: Script NPC Buffer   Dim 25 Jan 2009, 12:27

Bonjour, voila je travail sur un serveur l2j, j'ai un script que j'ai ajouté dans L2j\gameserver\model\actor\instance\L2GmBufferInstance.java
Le voici:
Citation :
public class L2GmBufferInstance extends L2FolkInstance
{
public L2GmBufferInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}


public void onBypassFeedback(L2PcInstance player, String command)
{
player.sendPacket(new ActionFailed());

StringTokenizer st = new StringTokenizer(command, " ");
String actualCommand = st.nextToken(); // Get actual command

if (actualCommand.equalsIgnoreCase("gmbuff"))
{
try
{
int skillId = Integer.parseInt(st.nextToken());
int skillLevel = Integer.parseInt(st.nextToken());
int adena = Integer.parseInt(st.nextToken());

this.setTarget(player);
L2Skill skill;

try
{
try
{
skill = SkillTable.getInstance().getInfo(skillId, skillLevel);

if (adena >= 1)
player.destroyItemByItemId("L2GmBufferInstance", 57, adena, null, true);

player.enableAllSkills();
player.doCast(skill);

String filename = (getHtmlPath(getNpcId(), 0));
NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile(filename);
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%festivalMins%", SevenSignsFestival.getInstance().getTimeToNextFestivalStr());
player.sendPacket(html);

do
{}
while (player.isCastingNow());

player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
}
catch (Exception e)
{
player.sendMessage("L2GmBufferInstance: Invalid skill level!");
}
}
catch (Exception e)
{
player.sendMessage("L2GmBufferInstance: Invalid skill!");
}
}
catch (Exception e)
{
_log.warning("L2GmBufferInstance: Error while parsing bypass value");
e.printStackTrace();
}
}

super.onBypassFeedback(player, command);
}

@Override
public String getHtmlPath(int npcId, int val)
{
String pom = "";
if (val == 0)
{

pom = "" + npcId;
}
else
{
pom = npcId + "-" + val;
}

return "data/html/gmbuffer/" + pom + ".htm";
}
}

Voila j'ai un seul problem, c'est que le personnage ne se target pas lors du buff, et il peut donc buffer n'importe qui aux alentour, ce qui pose quelques problemes...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Grimly



Nombre de messages : 601
Date d'inscription : 30/08/2007

MessageSujet: Re: Script NPC Buffer   Dim 25 Jan 2009, 15:04

dans
player.enableAllSkills();
player.doCast(skill);

remplace "player" par "this", ça devrait aller
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ildaril



Nombre de messages : 41
Age : 24
Date d'inscription : 07/11/2007

MessageSujet: Re: Script NPC Buffer   Dim 25 Jan 2009, 15:22

J'essaye ca!

Edit: Impec, merci!

En fait non! ca marche pour les buff ou l'on doit target, mais pas les buff party tel que les songs, dances, chants...

Ce qui serait bien, ce serait un autre mode de buff. Ex: le mode un c'est celui ou le npc cast, pour les buff tel que acumen, et le deuxieme mode serait le joueur qui cast, pour les buff party.

A part si vous avez une autre solution! Je ne peux pas prendre d'autre buffer tout préparé, mon serveur est un Interlude.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Grimly



Nombre de messages : 601
Date d'inscription : 30/08/2007

MessageSujet: Re: Script NPC Buffer   Dim 25 Jan 2009, 15:52

sinon, tu reprends ton code et avant le code que je t'ai demandé de changer, tu met

player.setTarget(player);
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ildaril



Nombre de messages : 41
Age : 24
Date d'inscription : 07/11/2007

MessageSujet: Re: Script NPC Buffer   Dim 25 Jan 2009, 22:40

Merci beaucoup, je crois que ca devrait aller, excuse moi encore mais je le met ou "player.setTarget(player);" avant "player.enableAllSkills();
player.doCast(skill);" ??

J'essaye de m'adapter au language java mais beaucoup du script m'est encore inconu alors je suis parfois un peu dans le brouillard!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Grimly



Nombre de messages : 601
Date d'inscription : 30/08/2007

MessageSujet: Re: Script NPC Buffer   Dim 25 Jan 2009, 23:50

Merci beaucoup, je crois que ca devrait aller, excuse moi encore mais je le met ou "player.setTarget(player);" avant "player.enableAllSkills();
player.doCast(skill);" ??

oui, il vas forcer le joueur à caster le skill sur lui même, et comme il fait le skill, les membres du groupe sont concernés par les skills de groupe.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ildaril



Nombre de messages : 41
Age : 24
Date d'inscription : 07/11/2007

MessageSujet: Re: Script NPC Buffer   Mar 27 Jan 2009, 00:27

J'essayerais ca demain, une fois terminé je posterais les script avec un ptit tuto, ca sra un buffer pour serveur l2j interlude Very Happy

OK ca marche impec! Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Script NPC Buffer   Aujourd'hui à 17:28

Revenir en haut Aller en bas
 
Script NPC Buffer
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Appeler un script/ une page PHP?
» [script] Générateur de labyrinthe parfait.
» [script] Editeur hexadecimal
» [script] => Trajectoire Circulaire autour d'un point
» [Script] Mettre en debug une executable GM 7

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
L2J-FR :: Général :: Aides et Conseils-
Sauter vers: