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

Скрипт на дроп с рб по пати

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

Люди подскажите. Как можно сделать дроп итема с рб по всей пати? 

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


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, 4atty сказал:

Люди подскажите. Как можно сделать дроп итема с рб по всей пати? 

Скрипт написать жи, сам ведь написал в названии темы.

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


Ссылка на сообщение
Поделиться на другие сайты
		if (player.isInParty()) {
			for (L2PcInstance member : player.getParty().getPartyMembers()) {
				if (member == null) 
					continue;
				
				if (!player.isInsideRadius(member, 1200, false, false)) 
					continue;
				
				member.addItem("Drop", 4037, 10, member, true);
			}
			return;
		}
		player.addItem("Drop", 4037, 10, player, true);

 

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

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


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

Вопрос. Куда его вставлять?) 

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


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

Или же куда там прописовать айди рб?) Вижу там только  айди итема и кол-во итема

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


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, 4atty сказал:

Вопрос. Куда его вставлять?) 

Можно всем рб, можно отдельным.

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


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

Ну вот мне нужно для отдельного.... Куда этот скрипт вставлять? 

if (player.isInParty()) {
			for (L2PcInstance member : player.getParty().getPartyMembers()) {
				if (member == null) 
					continue;
				
				if (!player.isInsideRadius(member, 1200, false, false)) 
					continue;
				
				member.addItem("Drop", 4037, 10, member, true);
			}
			return;
		}
		player.addItem("Drop", 4037, 10, player, true);

 

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


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, 4atty сказал:

Ну вот мне нужно для отдельного.... Куда этот скрипт вставлять? 


if (player.isInParty()) {
			for (L2PcInstance member : player.getParty().getPartyMembers()) {
				if (member == null) 
					continue;
				
				if (!player.isInsideRadius(member, 1200, false, false)) 
					continue;
				
				member.addItem("Drop", 4037, 10, member, true);
			}
			return;
		}
		player.addItem("Drop", 4037, 10, player, true);

 

Создается скрипт, в нем производится регистрация нпс в листнере онКилл, и в метод онКилл прописывается этот код

  • Like 1

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


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

Якщо у вас люцероподібна конструкція то в папці кастом скрипт є скрипт парті дроп де можна вказати айді рб а також  айді ітема )

 

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


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

Можно по подробнее?))) Куда вставлять, что делать и так далее?))))

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


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, 4atty сказал:

Можно по подробнее?))) Куда вставлять, что делать и так далее?))))

Вставлять нужно кое-что другое и в одно место.
Скрипт валяется в шаре под пв, юзайте поиск.

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


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

def onKill(self,npc,player,isPet):

party = player.getParty()

if party:

for member in party.getPartyMembers():

if not member.isAlikeDead():

member.addItem("partydrop", ITEMID, ITEMCOUNT, member, True)

else:

player.addItem("partydrop", ITEMID, ITEMCOUNT, player, True)

return

 

QUEST = partydrop(-1, qn, "ai")

 

QUEST.addKillId(BOSSID)

 

И вот второе 

int[] ITEMIDS = new int[]{ид,ид,ид}

 

if not member.isAlikeDead():

for(int item : ITEMIDS)

{

member.addItem("partydrop", item, ITEMCOUNT, member, True);

}

 

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


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

Вставлять в папку scripr/ai?) или же в другое вместо? 

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


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

Аааа всё вот нашёл его))))  И куда его вставлять?)

package custom.core;

import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.quest.Quest;

import java.util.Random;

public class PartyDropV2 extends Quest {

public static String qn = "10001_PartyDropV2";

// ID Монстров (Разделяются запятой).
   private int[] MONSTERS_ID = { 29046, 25450, 25114 };
   // ID Предмета, который будет использован в качестве дропа.
   private int[] DROP_29046 = { 15001, 15002, 15007, 15006 ,15000, 15005, 15003,
9416, 9421, 9422, 9423, 9424, 9425, 9428, 9429, 9430, 9431, 9432, 10000, 10001, 10002,
9437, 9438, 9439, 9440, 15009, 10075, 10076, 13012, 10003, 10004, 10005, 10006, 10007,
15350, 15351, 15352, 15353, 15354, 15355, 15356, 10008, 10009, 10010, 10011, 10012,
15357 };

private int[] DROP_25114 = { 13017, 13016, 13020 };
   // Количество дропа.
   private int ITEM_COUNT = 1;
   // Давать награду всей пати ?
   private boolean REWARD_PARTY = true;
Random rand = new Random();

   public PartyDropV2()
   {
       super(-1, qn, "PartyDropV2");
       for (int id : MONSTERS_ID)
addKillId(id);
   }

   @Override
   public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet)
   {
       if(REWARD_PARTY)
       {
           if(killer.getParty() != null)
           {
               for(L2PcInstance member : killer.getParty().getPartyMembers())
               {
                   member.addItem("ADD PARTY ITEM", revardRoll(npc.getNpcId()), ITEM_COUNT, member, true);
                   member.sendMessage("Вы получили награду за убийство РБ!");
               }
           }
           else
           {
               killer.addItem("ADD PLAYER ITEM", revardRoll(npc.getNpcId()), ITEM_COUNT, killer, true);
               killer.sendMessage("Вы получили награду за убийство РБ!");
           }
       }
       else
       {
           killer.addItem("ADD PLAYER ITEM", revardRoll(npc.getNpcId()), ITEM_COUNT, killer, true);
           killer.sendMessage("Вы получили награду за РБ!");
       }
       return null;
   }

private int revardRoll(int mob_id)
{
switch(mob_id)
{
case 29046:
return DROP_29046[rand.nextInt(DROP_29046.length)];
case 25450:
return 13010;
case 25114:
return DROP_25114[rand.nextInt(DROP_25114.length)];
default: 
}
return 0;
}


public static void main(String[] args)
{
new PartyDropV2();
}
}    

 

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


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

В кастом в самый в низ вставлять? 

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


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

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

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

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