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

Script

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

Есть скрипт при нажатии на Итем повышает виталити.

Мне нужно что бы при нажатии с определенный шансом выпадал какой либо другой итем.

Вот код с Виталити:

 

 

package items;

 

import l2open.extensions.scripts.Functions;

import l2open.extensions.scripts.ScriptFile;

import l2open.gameserver.cache.Msg;

import l2open.gameserver.handler.IItemHandler;

import l2open.gameserver.handler.ItemHandler;

import l2open.gameserver.model.L2Playable;

import l2open.gameserver.model.L2Player;

import l2open.gameserver.model.items.L2ItemInstance;

 

/**

* @create by brrr

* @date 20.10.10

*/

public class TS implements IItemHandler, ScriptFile

{

private static final int[] _itemIds = { 10254 };

 

public void useItem(L2Playable playable, L2ItemInstance item, Boolean ctrl)

{

if(playable == null || !playable.isPlayer())

return;

L2Player player = (L2Player) playable;

 

player.setVitality(20000);

player.sendPacket(Msg.YOU_HAVE_GAINED_VITALITY_POINTS);

Functions.removeItem(player, 10254, 1);

}

 

public final int[] getItemIds()

{

return _itemIds;

}

 

public void onLoad()

{

ItemHandler.getInstance().registerItemHandler(this);

}

 

public void onReload()

{}

 

public void onShutdown()

{}

}

 

 

Как я понял необходимо редактирование выделенной части скрипта, кто разберется прошу ответить. Как бы раньше не приходилось.

Жду предложений, буду благодарен.

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


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

1. Ну во первых это Freya

2. Во вторых практически все сборки Epilogue+ основаны на движке L2Phoenix

3. Я пытаюсь сделать скрипт на L2Open (Движек L2Phoenix)

4. У L2Phoenix никогда не было файла extractable_items.csv

 

Жду ваших предложений дальше =)

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


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

Я знаю чтоб выдать но с шансом надо попробовать сделать

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


Ссылка на сообщение
Поделиться на другие сайты
Я знаю чтоб выдать но с шансом надо попробовать сделать

C шансом делается не сложно, вот так где то

 

if(Rnd.chance(100)) <<100%>>

{

addItem( А вот тут ХЗ че дальше);

}

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


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

чего я там только не писал =/

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


Ссылка на сообщение
Поделиться на другие сайты
if(Rnd.chance(50)) addItem(player, id, Количество)

Не Канает не та и даже не Эта

 

package items;

import l2open.extensions.scripts.Functions;
import l2open.extensions.scripts.ScriptFile;
import l2open.gameserver.cache.Msg;
import l2open.gameserver.handler.IItemHandler;
import l2open.gameserver.handler.ItemHandler;
import l2open.gameserver.model.L2Playable;
import l2open.gameserver.model.L2Player;
import l2open.gameserver.model.items.L2ItemInstance;
import l2open.gameserver.model.L2Character;
import l2open.gameserver.model.L2Spawn;
import l2open.util.Files;
import l2open.util.Rnd;

public class TS implements IItemHandler, ScriptFile
{
private static final int[] _itemIds = { 10254 };

public void useItem(L2Playable playable, L2ItemInstance item, Boolean ctrl)
{
		if(playable == null || !playable.isPlayer())
		return;
	L2Player player = (L2Player) playable;

	player.setVitality(20000);
	player.sendPacket(Msg.YOU_HAVE_GAINED_VITALITY_POINTS);
	Functions.removeItem(player, 10254, 1);		
	Functions.addItem(player, 57, 1000);

}

public final int[] getItemIds()
{
	return _itemIds;
}

public void onLoad()
{
	ItemHandler.getInstance().registerItemHandler(this);
}

public void onReload()
{}

public void onShutdown()
{}
}

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


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

public void ItemHandler_14897(L2Player player, Boolean ctrl)

{

if(player == null)

return;

if(!canBeExtracted(ид вещи с которай котрой выпадет итем, player))

return;

removeItem(player, ид вещи с которай котрой выпадет итем, скок заберёт);

if(Rnd.chance(50))

addItem(player, Ид итем который даст, Количество);

if(Rnd.chance(50))

addItem(player, Ид итем который даст, Количество);

else

player.sendPacket(Msg.THERE_WAS_NOTHING_FOUND_INSI DE_OF_THAT);

}

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


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

Я СЗСЗСДЕЛАЛ ЭТО!!! Урррааа!!

 

package items;

import l2open.extensions.scripts.Functions;
import l2open.extensions.scripts.ScriptFile;
import l2open.gameserver.cache.Msg;
import l2open.gameserver.handler.IItemHandler;
import l2open.gameserver.handler.ItemHandler;
import l2open.gameserver.model.L2Playable;
import l2open.gameserver.model.L2Player;
import l2open.gameserver.model.items.L2ItemInstance;
import l2open.gameserver.model.L2Character;
import l2open.gameserver.model.L2Spawn;
import l2open.util.Files;
import l2open.util.Rnd;

public class TS implements IItemHandler, ScriptFile
{
private static final int[] _itemIds = { 10254 };

public void useItem(L2Playable playable, L2ItemInstance item, Boolean ctrl)
{
		if(playable == null || !playable.isPlayer())
		return;
	L2Player player = (L2Player) playable;

	player.setVitality(20000);
	player.sendPacket(Msg.YOU_HAVE_GAINED_VITALITY_POINTS);
	Functions.removeItem(player, 10254, 1);		
	if(Rnd.chance(10))
	{
		Functions.addItem(player, 57, 1000);
	}		
}

public final int[] getItemIds()
{
	return _itemIds;
}

public void onLoad()
{
	ItemHandler.getInstance().registerItemHandler(this);
}

public void onReload()
{}

public void onShutdown()
{}
}

 

Все спасиб!! Уже не надо =)

 

 

Шанс выпада 10% предемета 57 в количестве 1000 Еаа

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


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

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

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

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

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

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

Войти

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

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

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

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

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