Перейти к содержанию
Авторизация  
Astral

Как Дописать Скрипт

Рекомендуемые сообщения

как сюда дописать что бы можно в каждом меню шанс добовлять

 

package ai;

 

import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.model.quest.jython.QuestJython;

import net.sf.l2j.util.Rnd;

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.model.L2Party;

 

public class NpcScript extends QuestJython

{

//Босс Иды

private final static int[] BossIds = {99015};

//Выдавать награду всей пати?

private static boolean PartyDrop = false;

//Включить награду нублом?

private static boolean NOBLE = false;

//Включить награду хиро?

private static boolean HERO = true;

//На сколько давать хиро

private final static int DayHero = 1;

//Включить награду премиум?

private static boolean PREMIUM = true;

//На сколько давать премиум

private final static int DayPremium = 1;

//Включить награду итемом?

private static boolean RewardItem = true;

//Итем ид

private final static int RewardItemId = 10860;

//Количество

private final static int RewardItemCount = 1;

//Шанс дропа предмета

private final static int chance = 100;

//Сколько разрешено иметь в инве таких предметов

private final static int count = 15;

//Включить награду скилами?

private static boolean RewardSkill = false;

//Скилл ид

private final static int RewardSkillId = 2;

//Скилл лвл

private final static int RewardSkillLvl = 1;

 

public NpcScript(int questId, String name, String descr)

{

super(questId, name, descr, 1);

 

for (int boss : BossIds)

addKillId(boss);

}

 

@Override

public String onKill(L2NpcInstance npc, L2PcInstance xzkaknazvat, boolean isPet)

{

int npcId = npc.getNpcId();

for (int id : BossIds)

if (npcId == id)

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.storePremium(DayPremium);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

else

{

xzkaknazvat.storePremium(DayPremium);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

if (NOBLE)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.setNoble(true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

else

{

xzkaknazvat.setNoble(true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

if (RewardItem)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

if (Rnd.get(100) < chance)

if (xzkaknazvatpaty.getInventory().getInventoryItemCount(RewardItemId,0) < count)

{

xzkaknazvatpaty.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvatpaty, null);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvatpaty.broadcastUserInfo();

}

else

{

if (Rnd.get(100) < chance)

if (xzkaknazvat.getInventory().getInventoryItemCount(RewardItemId,0) < count)

xzkaknazvat.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvat, null);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvat.broadcastUserInfo();

}

}

if (RewardSkill)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvatpaty.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

else

{

xzkaknazvat.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvat.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

}

return null;

}

 

public static void main(String[] args)

{

new NpcScript(-1, "NpcScript", "ai");

}

}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

блин так как дописать во все меню шанс что бы можно было ставить а то тупо что сразу и хиро и премиум к примеру даёт а хотелось бы шанс выставить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

блин так как дописать во все меню шанс что бы можно было ставить а то тупо что сразу и хиро и премиум к примеру даёт а хотелось бы шанс выставить

Перед выдачей премиума/хиро ставим if (Rnd.get(шанс))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перед выдачей премиума/хиро ставим if (Rnd.get(шанс))

если бы я хоть чтонить понимал в этом( если вам не трудно могли бы готовый скинуть пожалуйста или пример дописание Изменено пользователем Astral

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для примера. Дальше по аналогии можете сделать.

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

}

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

Изменено пользователем Silentium

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для примера. Дальше по аналогии можете сделать.

а куда шанс писать тогда?ааа совсем запутался)

хотел просто дописать так что бы выводить

 

 

 

//Босс Иды

private final static int[] BossIds = {99015};

//Выдавать награду всей пати?

private static boolean PartyDrop = true;

//Включить награду нублом?

private static boolean NOBLE = true;

//Шанс дропа предмета

private final static int chance = 20;

//Включить награду хиро?

private static boolean HERO = true;

//На сколько давать хиро

private final static int DayHero = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Включить награду премиум?

private static boolean PREMIUM = true;

//На сколько давать премиум

private final static int DayPremium = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Включить награду итемом?

private static boolean RewardItem = true;

//Итем ид

private final static int RewardItemId = 57;

//Количество

private final static int RewardItemCount = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Сколько разрешено иметь в инве таких предметов

private final static int count = 1;

//Включить награду скилами?

private static boolean RewardSkill = true;

//Скилл ид

private final static int RewardSkillId = 2;

//Скилл лвл

private final static int RewardSkillLvl = 1;

//Шанс дропа предмета

private final static int chance = 20;

Изменено пользователем Astral

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а куда шанс писать тогда?ааа совсем запутался)

Rnd.get(50)

Вместо 50 - Ваш шанс в процентах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так правильно? if (HERO) }

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

 

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

теги все закрыты?или как там их

Изменено пользователем Astral

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так правильно? if (HERO) }

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

 

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

теги все закрыты?или как там их

Вроде правильно. Если что-то не так, то будет сообщение об ошибке. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

if (npcId == id)

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

 

а вот именно куда его тыкнуть?а то всё похоже

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот изменил код

package ai;

 

import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.model.quest.jython.QuestJython;

import net.sf.l2j.util.Rnd;

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.model.L2Party;

 

public class NpcScript extends QuestJython

{

//Босс Иды

private final static int[] BossIds = {99015};

//Выдавать награду всей пати?

private static boolean PartyDrop = true;

//Включить награду нублом?

private static boolean NOBLE = true;

//Включить награду хиро?

private static boolean HERO = true;

//На сколько давать хиро

private final static int DayHero = 1;

//Включить награду премиум?

private static boolean PREMIUM = true;

//На сколько давать премиум

private final static int DayPremium = 1;

//Включить награду итемом?

private static boolean RewardItem = true;

//Итем ид

private final static int RewardItemId = 57;

//Количество

private final static int RewardItemCount = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Сколько разрешено иметь в инве таких предметов

private final static int count = 1;

//Включить награду скилами?

private static boolean RewardSkill = true;

//Скилл ид

private final static int RewardSkillId = 2;

//Скилл лвл

private final static int RewardSkillLvl = 1;

 

public NpcScript(int questId, String name, String descr)

{

super(questId, name, descr, 1);

 

for (int boss : BossIds)

addKillId(boss);

}

 

@Override

public String onKill(L2NpcInstance npc, L2PcInstance xzkaknazvat, boolean isPet)

{

int npcId = npc.getNpcId();

for (int id : BossIds)

if (npcId == id)

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.storePremium(DayPremium);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

else

{

xzkaknazvat.storePremium(DayPremium);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

if (NOBLE)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setNoble(true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

else

{

xzkaknazvat.setNoble(true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

if (RewardItem)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

if (Rnd.get(100) < chance)

if (xzkaknazvatpaty.getInventory().getInventoryItemCount(RewardItemId,0) < count)

{

xzkaknazvatpaty.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvatpaty, null);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvatpaty.broadcastUserInfo();

}

else

{

if (Rnd.get(100) < chance)

if (xzkaknazvat.getInventory().getInventoryItemCount(RewardItemId,0) < count)

xzkaknazvat.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvat, null);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvat.broadcastUserInfo();

}

}

if (RewardSkill)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvatpaty.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

else

{

xzkaknazvat.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvat.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

}

return null;

}

 

public static void main(String[] args)

{

new NpcScript(-1, "NpcScript", "ai");

}

}

 

 

а вот ошибки

 

 

----------

1. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

----------

2. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "else Statement" to complete IfStatement

----------

3. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

----------

4. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "else Statement" to complete IfStatement

----------

5. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

----------

6. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "else Statement" to complete IfStatement

----------

7. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

 

 

попробывал зделать так

 

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

 

ошибка

 

 

GameServer: Loading Server Scripts

----------

1. ERROR in \NpcScript.java (at line 142)

return null;

^

Syntax error, insert "}" to complete Statement

----------

1 problem (1 error)Syntax error, insert "}" to complete Statement

Failed executing script: E:\server\game\data\scripts\ai\NpcScript.java. See NpcS

cript.java.error.log for details.

Изменено пользователем Astral

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот изменил код

package ai;

 

import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.model.quest.jython.QuestJython;

import net.sf.l2j.util.Rnd;

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.model.L2Party;

 

public class NpcScript extends QuestJython

{

//Босс Иды

private final static int[] BossIds = {99015};

//Выдавать награду всей пати?

private static boolean PartyDrop = true;

//Включить награду нублом?

private static boolean NOBLE = true;

//Включить награду хиро?

private static boolean HERO = true;

//На сколько давать хиро

private final static int DayHero = 1;

//Включить награду премиум?

private static boolean PREMIUM = true;

//На сколько давать премиум

private final static int DayPremium = 1;

//Включить награду итемом?

private static boolean RewardItem = true;

//Итем ид

private final static int RewardItemId = 57;

//Количество

private final static int RewardItemCount = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Сколько разрешено иметь в инве таких предметов

private final static int count = 1;

//Включить награду скилами?

private static boolean RewardSkill = true;

//Скилл ид

private final static int RewardSkillId = 2;

//Скилл лвл

private final static int RewardSkillLvl = 1;

 

public NpcScript(int questId, String name, String descr)

{

super(questId, name, descr, 1);

 

for (int boss : BossIds)

addKillId(boss);

}

 

@Override

public String onKill(L2NpcInstance npc, L2PcInstance xzkaknazvat, boolean isPet)

{

int npcId = npc.getNpcId();

for (int id : BossIds)

if (npcId == id)

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.storePremium(DayPremium);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

else

{

xzkaknazvat.storePremium(DayPremium);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

if (NOBLE)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setNoble(true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

else

{

xzkaknazvat.setNoble(true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

if (RewardItem)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

if (Rnd.get(100) < chance)

if (xzkaknazvatpaty.getInventory().getInventoryItemCount(RewardItemId,0) < count)

{

xzkaknazvatpaty.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvatpaty, null);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvatpaty.broadcastUserInfo();

}

else

{

if (Rnd.get(100) < chance)

if (xzkaknazvat.getInventory().getInventoryItemCount(RewardItemId,0) < count)

xzkaknazvat.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvat, null);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvat.broadcastUserInfo();

}

}

if (RewardSkill)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvatpaty.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

else

{

xzkaknazvat.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvat.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

}

return null;

}

 

public static void main(String[] args)

{

new NpcScript(-1, "NpcScript", "ai");

}

}

 

 

а вот ошибки

 

 

----------

1. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

----------

2. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "else Statement" to complete IfStatement

----------

3. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

----------

4. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "else Statement" to complete IfStatement

----------

5. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

----------

6. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "else Statement" to complete IfStatement

----------

7. ERROR in \NpcScript.java (at line 148)

return null;

^

Syntax error, insert "}" to complete Statement

 

 

попробывал зделать так

 

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

 

ошибка

 

 

GameServer: Loading Server Scripts

----------

1. ERROR in \NpcScript.java (at line 142)

return null;

^

Syntax error, insert "}" to complete Statement

----------

1 problem (1 error)Syntax error, insert "}" to complete Statement

Failed executing script: E:\server\game\data\scripts\ai\NpcScript.java. See NpcS

cript.java.error.log for details.

не закрыли тег, и вообще не так вписали.

могу скинуть готовый за предел +сов)

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
не закрыли тег, и вообще не так вписали. могу скинуть готовый за предел +сов)

скиньте если не сложно а + много дам

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скиньте если не сложно а + много дам

Держи. Можешь не благодарить. :)

 

 

package ai;

 

import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.model.quest.jython.QuestJython;

import net.sf.l2j.util.Rnd;

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.model.L2Party;

 

public class NpcScript extends QuestJython

{

//Босс Иды

private final static int[] BossIds = {59021};

//Выдавать награду всей пати?

private static boolean PartyDrop = true;

//Включить награду нублом?

private static boolean NOBLE = true;

//Включить награду хиро?

private static boolean HERO = true;

//На сколько давать хиро

private final static int DayHero = 1;

//Включить награду премиум?

private static boolean PREMIUM = true;

//На сколько давать премиум

private final static int DayPremium = 1;

//Включить награду итемом?

private static boolean RewardItem = true;

//Итем ид

private final static int RewardItemId = 57;

//Количество

private final static int RewardItemCount = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Сколько разрешено иметь в инве таких предметов

private final static int count = 1;

//Включить награду скилами?

private static boolean RewardSkill = true;

//Скилл ид

private final static int RewardSkillId = 2;

//Скилл лвл

private final static int RewardSkillLvl = 1;

 

public NpcScript(int questId, String name, String descr)

{

super(questId, name, descr, 1);

 

for (int boss : BossIds)

addKillId(boss);

}

 

@Override

public String onKill(L2NpcInstance npc, L2PcInstance xzkaknazvat, boolean isPet)

{

int npcId = npc.getNpcId();

for (int id : BossIds)

if (npcId == id)

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.storePremium(DayPremium);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

else

{

xzkaknazvat.storePremium(DayPremium);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

if (NOBLE)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setNoble(true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

else

{

xzkaknazvat.setNoble(true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

if (RewardItem)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

if (Rnd.get(100) < chance)

if (xzkaknazvatpaty.getInventory().getInventoryItemCount(RewardItemId,0) < count)

{

 

xzkaknazvatpaty.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvatpaty, null);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvatpaty.broadcastUserInfo();

}

else

{

if (Rnd.get(100) < chance)

if (xzkaknazvat.getInventory().getInventoryItemCount(RewardItemId,0) < count)

xzkaknazvat.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvat, null);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvat.broadcastUserInfo();

}

}

if (RewardSkill)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvatpaty.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

else

{

xzkaknazvat.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvat.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

}

return null;

}

 

public static void main(String[] args)

{

new NpcScript(-1, "NpcScript", "ai");

}

}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Держи. Можешь не благодарить. :)

 

 

package ai;

 

import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.model.quest.jython.QuestJython;

import net.sf.l2j.util.Rnd;

import net.sf.l2j.gameserver.datatables.SkillTable;

import net.sf.l2j.gameserver.model.L2Party;

 

public class NpcScript extends QuestJython

{

//Босс Иды

private final static int[] BossIds = {59021};

//Выдавать награду всей пати?

private static boolean PartyDrop = true;

//Включить награду нублом?

private static boolean NOBLE = true;

//Включить награду хиро?

private static boolean HERO = true;

//На сколько давать хиро

private final static int DayHero = 1;

//Включить награду премиум?

private static boolean PREMIUM = true;

//На сколько давать премиум

private final static int DayPremium = 1;

//Включить награду итемом?

private static boolean RewardItem = true;

//Итем ид

private final static int RewardItemId = 57;

//Количество

private final static int RewardItemCount = 1;

//Шанс дропа предмета

private final static int chance = 20;

//Сколько разрешено иметь в инве таких предметов

private final static int count = 1;

//Включить награду скилами?

private static boolean RewardSkill = true;

//Скилл ид

private final static int RewardSkillId = 2;

//Скилл лвл

private final static int RewardSkillLvl = 1;

 

public NpcScript(int questId, String name, String descr)

{

super(questId, name, descr, 1);

 

for (int boss : BossIds)

addKillId(boss);

}

 

@Override

public String onKill(L2NpcInstance npc, L2PcInstance xzkaknazvat, boolean isPet)

{

int npcId = npc.getNpcId();

for (int id : BossIds)

if (npcId == id)

if (HERO)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setHero(DayHero);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

else

{

xzkaknazvat.setHero(DayHero);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u0435\u0440\u043e\u044f.");

}

}

if (PREMIUM)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.storePremium(DayPremium);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

else

{

xzkaknazvat.storePremium(DayPremium);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u0443\u043c.");

}

}

if (NOBLE)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

if (Rnd.get(50))

{

xzkaknazvatpaty.setNoble(true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

else

{

xzkaknazvat.setNoble(true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441.");

}

}

if (RewardItem)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

if (Rnd.get(100) < chance)

if (xzkaknazvatpaty.getInventory().getInventoryItemCount(RewardItemId,0) < count)

{

 

xzkaknazvatpaty.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvatpaty, null);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvatpaty.broadcastUserInfo();

}

else

{

if (Rnd.get(100) < chance)

if (xzkaknazvat.getInventory().getInventoryItemCount(RewardItemId,0) < count)

xzkaknazvat.getInventory().addItem("Reward", RewardItemId, RewardItemCount, xzkaknazvat, null);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.");

xzkaknazvat.broadcastUserInfo();

}

}

if (RewardSkill)

{

L2Party party = xzkaknazvat.getParty();

if (party != null && PartyDrop)

for (L2PcInstance xzkaknazvatpaty : party.getPartyMembers())

{

xzkaknazvatpaty.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvatpaty.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvatpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

else

{

xzkaknazvat.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl));

xzkaknazvat.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true);

xzkaknazvat.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b.");

}

}

return null;

}

 

public static void main(String[] args)

{

new NpcScript(-1, "NpcScript", "ai");

}

}

 

 

ой спасибочки большое)а можно это как то вывести на верх или зделать что бы учитывался шанс к примеру либо дам я тебе хиро либо дам тебе премиум с шансом таким то)?

 

ток тут ошибочка(

 

Loading StaticObjects... total 29 objects.

GameServer: Loading Server Scripts

----------

1. ERROR in \NpcScript.java (at line 63)

if (Rnd.get(70))

^^^^^^^^^^^

Type mismatch: cannot convert from int to boolean

----------

2. ERROR in \NpcScript.java (at line 81)

if (Rnd.get(70))

^^^^^^^^^^^

Type mismatch: cannot convert from int to boolean

----------

3. ERROR in \NpcScript.java (at line 99)

if (Rnd.get(70))

^^^^^^^^^^^

Type mismatch: cannot convert from int to boolean

----------

3 problems (3 errors)Type mismatch: cannot convert from int to boolean

Type mismatch: cannot convert from int to boolean

Type mismatch: cannot convert from int to boolean

Failed executing script: E:\server\game\data\scripts\ai\NpcScript.java. See NpcS

cript.java.error.log for details.

GameServer: Compiled Scripts Cache is disabled.

Изменено пользователем Astral

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ой спасибочки большое)а можно это как то вывести на верх или зделать что бы учитывался шанс к примеру либо дам я тебе хиро либо дам тебе премиум с шансом таким то)?

Т.е. создавать для каждого параметра отдельный шанс ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. создавать для каждого параметра отдельный шанс ?

да

сам скрипт

http://rghost.ru/54051419

Изменено пользователем Astral

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...