Комментарии

Страницы:: 1 2 3 4 [5] 6 7 8
18.03.2012 03:21 zsrg
Для изменения врагов, которые появляются на отдыхе, ищем в файле rest.py строку def create_raid()
Это процедура формирования врагов на отдыхе. В зависимости от зоны это могут быть как искатели, так и волки, медведи, тигры и оборотни (Варги).
Собственно вероятность появления тех или иных одинаковая, почти.
Надо изменить строку:

possible_attackers = [0]*10 + [global_defines.ANIMAL_BEAR, global_defines.ANIMAL_WOLF]

Как видно, по умолчанию вероятность появления искателей равна 83% (10 / 12 * 100). Чтобы уменьшить вероятность, просто уменьшайте множитель в параметре [0]*10. Суть очень проста, генерируется массив в котором 10 нулей и коды волка и медведя. Затем из этого массива, случайным образом, выбирается значение. 0 - это искатели. Если написать так:

possible_attackers = [0]*5 + [global_defines.ANIMAL_BEAR, global_defines.ANIMAL_WOLF]

То в массиве будет 5-ть нулей и коды волка и медведя, а значит вероятность появления искателей станет 71% (5/(5+1+1)*100=71.4).

В Копперхиле в массив еще добавляются оборотни, в Спиритспрингс добавляются тигры.

Так же в этой процедуре определяется количество нападающих, смотрим значения для min_raider_count и max_raider_count
17.03.2012 07:29 Unknown
... эх, блин! с False косяк - это делает Искателей безоружными на самом то деле. Надо что-то другое придумать.
17.03.2012 07:17 Unknown
Спасибо очень большое, почти помогло! Только небольшая поправка: нужно ещё было изменит слегка строчку перед loot_list... там вместо True надо False, что бы то, что у Искателей в руках тоже не оставалось на земле валяться. А вопрос с волками остаётся... как их заставить нападать чаще Искателей? А то не всегда есть возможность с ними справиться - они ведь отстреливаются, гады!
17.03.2012 03:24 Unknown
Что-то не выходит. Нужно перед "loot_list" поставить курсор, написать слово "return", нажать Enter, нажать Tab?.... Я так сделал, а хлам искателей всё равно появляется. И как повысить вероятность нападения стаи волков?
17.03.2012 12:51 zsrg
В файле scripts/rest.py ищем строчку loot_list
После нее идет массив идентификаторов того, что останется случайным образом после уничтожения искателей. Можете подправить, что Вам надо, чтобы выпадало. А если совсем убрать лут, то можно попробовать поставить return перед этой строчкой, с таким же отступом (табом) как и эта строка. Должно получиться так:
return
loot_list = [
16.03.2012 11:50 Unknown
Кстати, в архиве scripts.ubn есть файлы rest.ry и rest.ryc. Слово "rest" переводится на русский язык как "отдых". Может быть там и кроется ответ на мой вопрос... вот только я в этом ничего понять не могу =(
16.03.2012 11:29 Unknown
Ну спасибо хоть за такой ответ =). И вообще хотелось бы повысить вероятность нападения диких животных (примерно 50х50 или даже по выше) во время отдыха. Быват, надо чуток опыта, а взять негде... враги то не возобнавляются на пройденных территориях.
16.03.2012 11:15 heruvimus1914
честно , меня этот вопрос в тупик поставил . Как бы никогда не думал от нормального хабара избавлятся , а всякую дрянь всегда на земле остовлял . С торгошами у меня тоже не всё гладко , но после того как исправил им время обновления , проблемы вроде все исчезли. По существу вопроса , точно сказать не могу , надо в папке scripts посмотреть , и в папке zones .Позже , если чего найду , скажу.
16.03.2012 10:59 Unknown
Что и где нужно исправить, чтобы трофеи не появлялись после уничтожения искателей, которые нападают иногда во время отдыха группы? Достало уже их барахло =(... если его так и оставлять на земле, то локации со временем очень долго начинают грузиться... а если торговцам всё спихивать, то у них перестают даже патроны появляться, всё заполняется этими Береттами, Вальтерами и Револьверами =(.
04.03.2012 08:03 heruvimus1914
system.create_character(
id="WESLEY",
gender="male",
party="DORFBEWOHNER",
x=454.25,
y=300.30,
name=globaltext.NAME_WESLEY,
direction = data().DIR_NORTH_WEST,
resourceui="wesley.png" )
# village_elder
objects.set_attribute("WESLEY", "faction", "VILLAGE_PEOPLE")
objects.set_attribute("WESLEY", "level", 1 )
objects.set_attributes("WESLEY",
model="low",
gender="male",
skin="white",
clothes="wesley",
face="wesley")
character.set_main_quest_npc_state(char="WESLEY", state=True)
character.update_appearance("WESLEY")
character.scale("WESLEY",1.83)


Вот пример . Если в строке clothes после = поставить "ll_gno_guard", то он будет одет в одёжку охранников призидента Хейза . Если поставить "ratskull_bulletproof", то он будет одет в шмотки ретскулов . Но если поставить "dt21_light_armor", то игра вылетит. Но н факт что это одеть его в дт-21 нельзя . Возможно что я просто неправильно указываю внешний вид , одежду которая на нём должна быть . А вот как будет правильно , посмотреть незнаю где . Вот в чём суть. А в папке с текстурами , там хранятся именно текстуры . А не название функции так сказать.
Разработка Sergey A.Zhukov 2007-2012