Raurin Forums

Raurin Forums (http://raurin.ru/forum/index.php)
-   Скриптинг, маппинг и диалогинг :) (http://raurin.ru/forum/forumdisplay.php?f=19)
-   -   Хэлп по скриптингу (http://raurin.ru/forum/showthread.php?t=151)

Helmoro 13.05.2006 18:16

Хэлп по скриптингу
 
Очень нужна помощь. Я в скриптинге не силен. Подскажите что и где написать, чтоб в модуле лут и вещи с земли убирались через некоторое время или еще как-нибудь. А то играем в локалке и уже погрязли в мусоре =))) Выручайте

Darth_Nick 15.05.2006 08:12

превед :)
пробуй ето(хз будет или нет.. я ща чуть ф хлам:) ):

http://darthnick.jino-net.ru/loot.gif

а вообще зависи от того как система лута устроена О_о

Helmoro 16.05.2006 18:47

Цитата:

Сообщение от Darth_Nick
превед :)
пробуй ето(хз будет или нет.. я ща чуть ф хлам:) ):
а вообще зависи от того как система лута устроена О_о

Мне надо чтоб не только лут, который из монстров убирался, но и тот, который остается при разрушении ящиков или если сами игроки положат на землю какую-нибудь вещь.
А система лута устроена стандартно =\ Ничего не менял

Darth_Nick 16.05.2006 21:09

Цитата:

сами игроки положат на землю какую-нибудь вещь.
OnItemUnAcquire:
Цитата:

object oItem = GetModuleItemLost();
DestroyObject(oItem);
Цитата:

остается при разрушении ящиков
может проще вообще его тогда не респить о.О ( всмысле пакетик, который после разрушения)

Helmoro 17.05.2006 15:49

Цитата:

Сообщение от Darth_Nick
OnItemUnAcquire:
object oItem = GetModuleItemLost();
DestroyObject(oItem);

Я не представляю где это писать, честно говоря =)
Цитата:

Сообщение от Darth_Nick
может проще вообще его тогда не респить о.О ( всмысле пакетик, который после разрушения)

А я и не респлю, все по умолчанию стоит, ничего не менял =) Да и пёс с ними с ящиками, главное вещи с убийства монстров убрать, т.к. они в основном захламляют.

Leaves lootable corpse не помогает, оно просто заменяет мешочек на трупик. Corpse decay time задает сколько секунд трупик пролежит после того как его облутили. А если не облутить, то он так и валяется вечно =\

П.С. На старом Рауре же было это как-то сделано... Или может знаете как сделать чтоб при закрытии мешка с лутом он исчезал?

Oloin 24.09.2006 03:28

Это, Options/Module Properties, вкладка Events.
Там OnUnAquireItem, редактируем сам скрипт.
Лучше всего, написать функцию, которая удалит предмет, выложенный на землю, через нужное нам время.

Код:

void killItem(object oItem);

void Main()
{
    // вставляет это куданибудь в процедуру main() скрипта-обработчика
    // события OnUnAquireItem
    if(GetItemPossessor(GetModuleItemLost())==OBJECT_INVALID) {
      // через 2.5 минуты предмет стереться, если не попал во владения к
      // комуто еще
      DelayCommand(180.0f, killItem(GetModuleItemLost()));     
    }
}

void killItem(object oItem)
{
  if(GetItemPossessor(oItem)==OBJECT_INVALID)
    DestroyObject(oItem); // если объект не попал к комуто еще то он сотреца
}



Часовой пояс GMT, время: 18:53.

Powered by vBulletin Version R.I.P., Copyright ©2000-2024, Jelsoft Enterprises Ltd.