Форум » Наши проекты » Nehrim: На краю судьбы » Модификации » Как создать самому мод для Нерима ? (Как создать самому мод для Нерима?)
Как создать самому мод для Нерима ?

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
26 Января 2013 в 0:07. Сообщение # 451
Inse, ставь creature, ессна. куклы уровневых не отображаются от того, что там целый пак из азличных животных. первый уровень персонажа - одно, десятый - другое.. и т.д.

на счет коровы:
сделай блок онактивэйт, "плеер.аддитем лалала ХХ"
если хочешь через мессейдж бокс, то делай через него.

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

Код
scn lololo

Short Button

Begin OnActivate
MessageBox "меню коровы :D","подоить","отмена"
set Button to GetButtonPressed

End

Begin GameMode

if ( Button == 0 )
      if ( Player.getitemcount item_ID >= 1 ) ; доп. условие, если, допустим, нужен какой-то предмет. например, пустое ведро. пишешь его id.
          Player.additem "ид твоего ведра с молоком, или что там у тебя" 1 ; цифра - кол-во.   
      elseif ( Player.GetItemCount item_ID << 1 )  ; Если же этого предмета нет в инвентаре, то
          Message "У вас нет (?)"   ; <- сообщение в углу экрана
      endif
elseif ( Button >> 0 )
endif

End

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
26 Января 2013 в 4:01. Сообщение # 452
Сделала яйца. Хотела еще и тухлые добавить ( и нападение кур) потом передумала.. Собрала 1-ю кладку. Потом 2 недели проторчала у сарая (в ожидании) - ничего не обновляется, впрочем, как и огород и улья. Было бы неплохо повесить на яйца "обновление каждый день", только с небольшим шансом удачного сбора. Гнездо - активатор со скриптом ( по типу улья, только без ранения).
У меня 12 гнезд, повесила шанс успешного сбора "=>40" и 2 яйца при удаче. Это много, для каждого дня (если пойму , как сделать , чтобы можно было собирать яйца каждый день) можно было бы снизить шанс и убрать 1 яйцо. Я хочу их еще в продажу ввести.
Я так понимаю, что обновление ингредиентов в природе (куда включены и яйца) происходит где-то 1 раз в месяц. Проблема в том, что на всю игру всего 12 куриных гнезд . Вот если бы они были в каждом поселке, то было бы не заметно, что куры не несутся - это ненормально, как и картошка, вырастающая вновь каждый месяц.



1aa, коров и овец я тоже хочу сделать без "Вы хотите подоить корову?". Хочу сделать по тому же принципу, что и яйца - с небольшим шансом на удачу - ведь у них есть хозяева, которые их доят (наверное).

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
26 Января 2013 в 14:17. Сообщение # 453
Цитата (Inse)
Потом 2 недели проторчала у сарая (в ожидании)

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

Добавлено (26 января 2013, 14:17)
---------------------------------------------
Скрипт ульев
Код
SCN ErnteBienenhonigScript

Short Chance
Short Tage

; ein Playsound3D im Gamemode wдre sinnvoll, aber vermutlich ressourcenlastig

Begin OnActivate

set Chance to GetRandomPercent
; vielleicht noch mit Dex des Spielers anpassen
if ( Chance >= 40 )
if ( Tage - GameDaysPassed < [b][u][color=red]3[/color][/u][/b] ) && ( Tage > 0 ) ; [b]первая цифра - количество дней, через которое появляется возможность вынуть что-то[/b]
Message "Этот улей пуст."
else
Player.additem "[b]Honig[/b]", 1 ; то, что получишь соотв.
set Tage to GameDaysPassed
endif
else
Message "Вы ранили себя в улье и не достали меда."
TriggerHitShader 1
; Spieler: HP-20, wie auch immer das geht (NICHT ModAV Health, das wдre
; nдmlich dauerhaft; auch nicht per Zauber, denn der kann reflektiert werden).
; Blooddecals auf Spieler wдren toll...
; Kurzzeitig Bienensummen lauter stellen.
endif

End

и вешай этот скрипт хоть на корову, хоть на яйца, хоть куда. настрой под объект и всё

1aa - Суббота, 26 Января 2013, 14:21

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
26 Января 2013 в 18:01. Сообщение # 454
1aa, Я знаю, этот скрипт и висит на яйцах. Только эту цифру сменила на 2 и избавилась от лишнего( в том числе и от ранения).

Яйца
Код
SCN ErnteEiScript

Short Chance
Short Tage

Begin OnActivate

set Chance to GetRandomPercent
if ( Chance >= 40 )
if ( Tage - GameDaysPassed < 2 ) && ( Tage > 0 )
Message "Вы ничего не нашли."
else
Player.additem "Ei01a", 2
set Tage to GameDaysPassed
endif
endif
End


Но, думаю доложить в гнезда яйца (во все, но разное количество) и повесить на них "исчезновение" после сбора.
Например, заскочил в сарай, видишь, в сене что-то лежит - можно собирать, если в гнезде ничего нет, то можно уходить.
Я на яйца свойства повесила, комп вычислил стоимость - 75 золотых за штуку. wacko Понизила показатели и стоимость снизилась до 35. Снизила вручную до 15 золотых. Или вернуть 75 золотых?


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


Я упростила задачу. Засунула гнездо в Flora и прописала сроки обновления. Без всяких скриптов. Нормально. 1 раз в 5 дней можно собирать яйца. Как огородные и некоторые дикорастущие растения. Сократить срок , наверное, как-то можно, но я не смогла - яйца тогда вообще вновь не появляются.

P.s. Делала я исчезающие яйца. Но что-то я там не то написала — яйца, которые в гнезде (те, что видны (лежат на сене)) исчезают при активации гнезда и больше не появляются, а те, что собираются (ингредиент) - мгновенно появляются вновь с некоторым шансом на удачный сбор — от гнезда можно даже не отходить. В общем, я плюнула на это — там пришлось цеплять аж 12 скриптов на каждый ящик, потому как "гнездо" состоит из 3-х визуальных компонентов (ящик, сено и яйцо (1-2), не связанных единой сеткой — лучше пусть будет меньше яиц , но без сюрпризов.

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
1 Февраля 2013 в 9:28. Сообщение # 455
1aa, я тут мыло варю. Оно варится, но как-то странно.
Я иду к котлу, жму на него ( при этом у меня еще нет ингредиентов), мне пишут "У вас нет нужных ингредиентов". Иду, собираю 1-й ингредиент, жму на котел Мне уже ничего не пишут, хотя и должны ( это проверяла). Иду в дом, куда я положила 2-й ингредиент, беру его, но когда я выхожу из дома, мне приходит сообщение, что я сварила мыло ( и оно добавляется), хотя меня и близко возле котла нет. Вероятно, это сработало то нажатие без сообщения, только с одним из ингредиентов в инвентаре.
Посмотри, пожалуйста, скрипт. Где я накосячила?

Код
SCN WerkzeugSeifeScript

Short Button
Short Step
Float Timer

Begin OnActivate Player

if ( Player.GetActorValue "Armorer" >= 1 )
MessageBox "Вы хотите сварить мыло?" "Сварить мыло (1 свиной жир,1 древесная зола)","Закрыть"
Set Step to 1
endif
endif
endif
End

Begin GameMode

if ( Step == 1 )
Set Button to GetButtonPressed

===========================================

If ( Button == 0 )
if ( Player.GetItemCount, "Schweinefett" < 1) [color=#980000](здесь я писала <1 или ==0 ( и то и другое работает, но так, как я описала.. странно работает))[/color]
if ( Player.GetItemCount, "Asche" < 1) [color=#980000](здесь я писала <1 или ==0)[/color]
Message "У вас нет нужных ингредиентов."
Set Step to 0
endif
endif
endif

if ( Player.GetActorValue "Armorer" >= 1 )
if ( Player.GetItemCount, "Schweinefett" >= 1)
if ( Player.GetItemCount, "Asche" >= 1)
Player.AddItem, "Seife" 1
PlaySound "itmtorchheldlp"
Set EP to EP + 2
Message, "Вы сварили мыло (+2 очка опыта)"
Message, "Вы сварили мыло (+2 очка опыта)"
Message, "Вы сварили мыло (+2 очка опыта)"
Player.RemoveItem, "Schweinefett" 1
Player.RemoveItem, "Asche" 1
Set Step to 0
endif
endif
endif
endif
End


P.s. 1aa, по поводу "лишних", по твоему мнению, "endif ", которые я ставлю. Если их не поставить, то скрипт начинает орать про ошибки

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
1 Февраля 2013 в 22:10. Сообщение # 456
Цитата (Inse)
Код
if ( Player.GetItemCount, "Schweinefett" < 1) (здесь я писала <1 или ==0 ( и то и другое работает, но так, как я описала.. странно работает))
if ( Player.GetItemCount, "Asche" < 1) (здесь я писала <1 или ==0)
Message "У вас нет нужных ингредиентов."
Set Step to 0
endif
endif
Код
if ( Player.GetItemCount, "Schweinefett" < 1 )[b]||[/b]( Player.GetItemCount, "Asche" < 1) ;
|| - логическое "или". это не i и не L. это "палка", находящаяся на кнопке слэша
Message "У вас нет нужных ингредиентов."
Set Step to 0
endif

Добавлено (01 февраля 2013, 09:59)
---------------------------------------------
Цитата (Inse)
Код
if ( Player.GetActorValue "Armorer" >= 1 )
if ( Player.GetItemCount, "Schweinefett" >= 1)
if ( Player.GetItemCount, "Asche" >= 1)
Это можно было написать так:
Код
if ( Player.GetActorValue "Armorer" >= 1 )&&( Player.GetItemCount, "Schweinefett" >= 1)&&( Player.GetItemCount, "Asche" >= 1)

тогда потребуется всего один endif. && - логическое "и"

Добавлено (01 февраля 2013, 10:07)
---------------------------------------------
Inse, и когда скрипт пишешь - делай отступления для условий, вложенных в другие условия, иначе читать неудобно)

Код
begin

if
             if
                 ...
             endif

             if
                 ...
             endif
endif


Добавлено (01 февраля 2013, 10:16)
---------------------------------------------
Код
Begin GameMode

if ( Step == 1 )
[size=10]Set Button to GetButtonPressed[/size]

if ( Button == 0 )
if ( Player.GetItemCount, "Schweinefett" < 1)||( Player.GetItemCount, "Asche" < 1)
Message "У вас нет нужных ингредиентов."
Set Step to 0
endif
endif

if ( Player.GetActorValue "Armorer" >= 1 )&&( Player.GetItemCount, "Schweinefett" >= 1)&&( Player.GetItemCount, "Asche" >= 1)
Player.AddItem, "Seife" 1
PlaySound "itmtorchheldlp"
Set EP to EP + 2
Message, "Вы сварили мыло (+2 очка опыта)"
Message, "Вы сварили мыло (+2 очка опыта)"
Message, "Вы сварили мыло (+2 очка опыта)"
Player.RemoveItem, "Schweinefett" 1
Player.RemoveItem, "Asche" 1
Set Step to 0
endif

endif

End
З.Ы. согласись, выглядит куда читабельнее)

Добавлено (01 февраля 2013, 10:19)
---------------------------------------------
Цитата (Inse)
Код
if ( Player.GetActorValue "Armorer" >= 1 )
MessageBox "Вы хотите сварить мыло?" "Сварить мыло (1 свиной жир,1 древесная зола)","Закрыть"
Set Step to 1
endif
endif
endif

Код
if ( Player.GetActorValue "Armorer" >= 1 )
MessageBox "Вы хотите сварить мыло?" "Сварить мыло (1 свиной жир,1 древесная зола)","Закрыть"
Set Step to 1
endif


Добавлено (01 февраля 2013, 22:10)
---------------------------------------------
Код
Begin GameMode

if ( Step == 1 )
Set Button to GetButtonPressed

if ( Button == 0 )
if ( Player.GetItemCount, "Schweinefett" < 1)||( Player.GetItemCount, "Asche" < 1)
Message "У вас нет нужных ингредиентов."
Set Step to 0
elseif ( Player.GetActorValue "Armorer" >= 1 )&&( Player.GetItemCount, "Schweinefett" >= 1)&&( Player.GetItemCount, "Asche" >= 1)
Player.AddItem, "Seife" 1
PlaySound "itmtorchheldlp"
Set EP to EP + 2
Message, "Вы сварили мыло (+2 очка опыта)"
Message, "Вы сварили мыло (+2 очка опыта)"
Message, "Вы сварили мыло (+2 очка опыта)"
Player.RemoveItem, "Schweinefett" 1
Player.RemoveItem, "Asche" 1
Set Step to 0
endif
endif
endif


я совершил ошибку в написанном выше. не знаю читала уже, или нет. тут поправил.

1aa - Пятница, 01 Февраля 2013, 22:20

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
1 Февраля 2013 в 22:51. Сообщение # 457
Цитата (1aa)
я совершил ошибку в написанном выше

1aa, какую ошибку?
Посмотрела скрипт. Сообщение приходит, но мыло варится самопроизвольно (вдали от котла), если перед тем как взять 2-й ингредиент кликнуть по котлу несколько раз. И как только 2-й ингредиент попадает в инвентарь, то там ( в инвентаре) начинает вариться мыло.
Почему так происходит?


Цитата (1aa)
Код
Message "У вас нет нужных ингредиентов."
[color=#980000]Set Step to 0
elseif ( Player.GetActorValue "Armorer" >= 1 )&&( Player.GetItemCount, "Schweinefett" >= 1)&&( Player.GetItemCount, "Asche" >= 1)[/color]
Player.AddItem, "Seife" 1
PlaySound "itmtorchheldlp"
Set EP to EP + 2

1aa, а куда ты дел "endif" в этом куске?

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
1 Февраля 2013 в 23:09. Сообщение # 458
Цитата (Inse)
Почему так происходит?

из-за неправильно написанного скрипта. условие, когда мыло варится, должно находиться в условии кнопки. у тебя же оно отдельно. под последним спойлеом я это исправил

Добавлено (01 февраля 2013, 23:05)
---------------------------------------------

Цитата (Inse)
а куда ты дел "endif" в этом куске?

он в конце -_-

Добавлено (01 февраля 2013, 23:09)
---------------------------------------------
if
...
elseif
...
elseif
...
endif

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
1 Февраля 2013 в 23:37. Сообщение # 459
Цитата (1aa)
должно находиться в условии кнопки.

??
А зачем ты убрал "=====" из последнего исправления?

Код
Begin GameMode

if ( Step == 1 )
Set Button to GetButtonPressed

===========================================

If ( Button == 0 )
if ( Player.GetItemCount, "Schweinefett" < 1) (здесь я писала <1 или ==0 ( и то и другое работает, но так, как я описала.. странно работает))
if ( Player.GetItemCount, "Asche" < 1) (здесь я писала <1 или ==0)
Message "У вас нет нужных ингредиентов."
Set Step to 0
endif
endif

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
2 Февраля 2013 в 0:41. Сообщение # 460
Inse, читать мешало, вот и убрал)

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
2 Февраля 2013 в 11:58. Сообщение # 461
1aa, спасибо. smile
А как лучше по твоему добавлять новые ингредиенты и предметы торговцам (из игры (не свежесозданным))? Создавать новый сундук и ставить рядом с их собственным ( и назначить хозяина) или просто тупо подбросить в их сундуки новые предметы? они ведь в любом случае станут звездными ( * )?

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
2 Февраля 2013 в 18:53. Сообщение # 462
Цитата (Inse)
подбросить в их сундуки новые предметы?

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
3 Февраля 2013 в 2:10. Сообщение # 463
1aa, как связать сундуки между собой, чтобы она торговала не только в помещении?
Я создала 4 одинаковых сундука (разные ID). Один поставила в доме (под пол), другие три под землей в локациях, где она бывает (возле построек). Она торгует, но у нее связь лишь с одним из сундуков (в зависимости от того, в какой локации она находится). Например, я купила в доме молоко и масло, она вышла на улицу и пошла к сараю, когда остановится , начинает заниматься своими делами и вновь торговать, но у нее опять в продаже есть молоко и масло (которые я вроде как купила в этот день).

Прилепила на каждый сундук по скрипту, но кажется, они не работают.

Код
SCN SteinbergTrudyTruhe01Script

Short DoOnce

Begin OnActivate
if ( DoOnce == 0 )
      "SteinbergTrudyTruhe02Ref".RemoveAllItems "SteinbergTrudyTruhe01Ref"
      "SteinbergTrudyTruhe03Ref".RemoveAllItems "SteinbergTrudyTruhe01Ref"
      "SteinbergTrudyTruhe04Ref".RemoveAllItems "SteinbergTrudyTruhe01Ref"
      Set DoOnce to 1
      Activate
endif
End

Begin MenuMode
if ( DoOnce == 1 )
      Set DoOnce to 0
endif
End

1aa 

Почётный житель
Сообщений560
Награды13
Репутация48
ПолМужчина
3 Февраля 2013 в 21:15. Сообщение # 464
Цитата (Inse)
Прилепила на каждый сундук по скрипту, но кажется, они не работают.

а сымсл? эти сундуки никто не трогает, потому и не работает

вообще я не занимался торговцами, но создание нескольких сундуков? зачем? http://adf.ly/IUp1b - может это поможет

1aa - Воскресенье, 03 Февраля 2013, 21:16

Inse 

Модератор
Стража
Сообщений3544
Награды94
Репутация216
ПолЖенщина
4 Февраля 2013 в 2:31. Сообщение # 465
Цитата (1aa)
а сымсл? эти сундуки никто не трогает, потому и не работает

При чем здесь трогает или не трогает? Это сундуки торговца и в нем находится товар. А чтобы у других игроков не было соблазна, такие сундуки прячут под землю. Сундук работает, но только если торговец поблизости.
Цитата (1aa)
но создание нескольких сундуков? зачем?

Затем, что у нее товар есть только если она находится в одной локации с сундуком. В доме одни координаты (локация), а на улице другие ( и не одна).
Так вот , если поставить только один сундук на улице, то торговать она будет только вблизи этого сундука , точнее - у нее будет товар (если отметить соответствующий пункт в AI). Но даже если отметить "сервис", но она будет не в одной локации с сундуком (отошла к реке, например), то товара у нее не будет.
Я думала сделать по принципу " Надежных сундуков", но кажется, не сработало.

P.s. я тем гайдом и воспользовалась. Там нет нужного. Вообще-то, все торговцы сидят или по домам, или стоят на месте (вблизи сундуков). Есть еще те, что на ослах катаются, но у меня подозрение, что сундуки находятся в седельных сумках.


Не могу найти нормальный гайд по диалогам и квестам.
Форум » Наши проекты » Nehrim: На краю судьбы » Модификации » Как создать самому мод для Нерима ? (Как создать самому мод для Нерима?)
Поиск:

© 2008—2024 Bethplanet.ru