» TeamX (Архив Форума)«


Форум TeamX » Проекты » Реалистичность кражи (в игре отсутствует)

Переход по темам
<< Пред. След. >>
Единственная страница этой темы

 
Maximillion
Пользователь

Откуда: DFO
Регистрация: Февр. 2005

Всего: 5 сообщений

Представьте такую картину: Избранный спасает жителей очередной деревни от мучительной смерти. Чинит колодец, дарит денег, находит пропавшего ребенка и т.д.
И вот, перед уходом, Избранный решает сделать одному из крестьян сюрприз – незаметно подложить тому в рюкзак бутылку пива. Залезет тот себе в инвентарь – глядь – а там бутылка пива!
Но крестьянин замечает Избранного за этим занятием. Тут же благодарные жители превращаются в сумасшедших убийц. Вся деревня с оружием набрасывается на Избранного, не реагируя на попытки заговорить или извиниться.
В общем, нужен такой мод, который в случае неудачной кражи заставляет жертву выдавать некоторое ограниченное количество предупреждений. Чем выше репутация героя, тем больше предупреждений. Вообще формулу карманной кражи нужно усложнить: уменьшить элемент случайности, увеличить требования к скиллу.

Отправлено: 11:25 - 7 Фев., 2005
Raven
Пользователь

Откуда: Владик
Регистрация: Февр. 2004

Всего: 408 сообщений

>>уменьшить элемент случайности, увеличить требования к скиллу.

Движок.

>>В общем, нужен такой мод, который в случае неудачной кражи заставляет жертву выдавать некоторое ограниченное количество предупреждений.

Это потребует перекомпиляции всех скриптов НПС в игре. В некоторых аддонах такое будет реализовано, но менять оригинал вряд-ли кто соберётся.

Отправлено: 11:36 - 7 Фев., 2005
YikxX
Пользователь

Откуда: NCR :)
Регистрация: Февр. 2004

Всего: 304 сообщения

2 Maximillion: Так займись всем этим - разве тебя кто-то держит?
Скрипты нужные декомпильнул - и вперед!

-----
Обломись! Я подложил туда носок...

Отправлено: 12:50 - 7 Фев., 2005
Maximillion
Пользователь

Откуда: DFO
Регистрация: Февр. 2005

Всего: 5 сообщений

//Так займись всем этим - разве тебя кто-то держит?

Попробую. Пока даже не представляю как.

Отправлено: 13:47 - 7 Фев., 2005
Tehnokrat
Модератор

Откуда: Новосибирск
Регистрация: Окт. 2003

Всего: 489 сообщений

После неудачной попытки кражи, можно включить диалоговый режим и дать возможность чузену отмазаться. Тут могут быть следующие варианты:
1. Чузен заговаривает зубы и остаётся чистеньким (или под подозрением).
2. Включается боевой режим.
3. У чуза забирают все шмотки и выкидывают на глобальную карту.
4... (Ещё чего-нибудь)

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

-----
Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.

Отправлено: 23:27 - 8 Фев., 2005
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

Всего: 289 сообщений


Цитата:

1. Чузен заговаривает зубы и остаётся чистеньким (или под подозрением).
2. Включается боевой режим.
3. У чуза забирают все шмотки и выкидывают на глобальную карту.
4... (Ещё чего-нибудь)



Было бы хорошо увидеть подобный диалог в игре -
его наличее логично, но проблему с воровством не решает никак по всей виделости, манчкин просто нажмет 0 и родолжит сейв - лаод.
поэтому "диалоги" не выход.

По мне лучше:  убирать из инвенторя НПС итем/ы скриптово, при попытке воровства в зависемости от скила - если это реализуемо.

т.е. применяю воровство(скил 0 -200), а  итема(бозар) не видно - "отсутствует в списке".  
на  деньги  скил 40 - 80. на стимпак 90  и т.д.

Отправлено: 23:50 - 8 Фев., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Если брать первый пост :

>>В общем, нужен такой мод, который в случае неудачной кражи заставляет жертву выдавать некоторое ограниченное количество предупреждений. Чем выше репутация героя, тем больше предупреждений.

Да, это реалезуемо. Но только как часть другого мода. Переписывать все скрипты никто не будет.

Что же касается всего остального, то это уже обсуждалось в исследованиях(в теме "Воровство и save\load" ).

>>Было бы хорошо увидеть подобный диалог в игре -
его наличее логично, но проблему с воровством не решает никак по всей виделости, манчкин просто нажмет 0 и родолжит сейв - лаод.
поэтому "диалоги" не выход.

Да, нажать можно, но при каждой краже и завершении диалога тратится время. Я думаю это скоро надоест.

>>убирать из инвенторя НПС итем/ы скриптово, при попытке воровства в зависемости от скила - если это реализуемо

Ещё раз советую почитать тему из исследований. Ну а если просто - то твой вариант всё-же не выход. Ведь даже при низком скилле можно увидеть, что лежит в карманах. А вот украсть - это уже другой вопрос.

P.S. 2 Raven:
(Не хочу создавать новое сообщение) А мы можем принудительно вызвать сохранение через скрипты. Меня посетила очень подлая идея по поводу краж

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 1:18 - 9 Фев., 2005
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

Всего: 289 сообщений

Цитата:

Ещё раз советую почитать тему из исследований. Ну а если просто - то твой вариант всё-же не выход. Ведь даже при низком скилле можно увидеть, что лежит в карманах. А вот украсть - это уже другой вопрос.



Читал тему, до своего преведушего поста. -"Слежу" за событиями.

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

Отправлено: 13:00 - 9 Фев., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

А у меня есть идея, при которой не надо ковырять двиг. насколько она хороша - судить вам. А всё просто:
Так-как результат воровства рэндомный, то давайте его подправим через скрипты. Что для этого надо? Да очень мало. Как известно, что при неудаче воровства просто вызывается combat mode(режим боя). Ну и хорошо. Просто поставим  во время воровства проверку . Temp - это рэндомная переменная, которая будет сверяться с определённым числом. В зависимости от умения число возможных вариантов переменной будет либо выше, либо ниже. Таким способом мы сможем дать хоть какой-то шанс украсть при низком скилле. С другой стороны при высоком скилле вариант будет только один из одного(или один из 5.) В случае несовпадения будет вызываться режим боя. Я надеюсь понятно описал идею?Какие будут предложения.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 16:19 - 9 Фев., 2005
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

Всего: 289 сообщений

Цитата:

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



Поясни для чайников, (коли привел идею в этом разделе)
и кодом то же можно.
Я не понял например, есть этот Temp уже в движке или ...


(Отредактировал(а) Dar - 18:46 - 9 Фев., 2005)

Отправлено: 18:45 - 9 Фев., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Для этого и спрсил, всё ли понятно? Поясняю:
(вот только я пользуюсь другим компилятором, и поэтому код будет непонятен.Но попробую описать идею)

Итак:
..........................

variable temp:=0;    //заводим временную переменную в нужном скрипте
variable number:=0; //дополнительная переменная
variable dop :=0; //дополнительная переменная

.......................

procedure pickup_p_proc  //вызывается при попытке кражи
begin
dop := op_has_skill(op_dude_obj(), 10); //проверяем скилл воровства
if (dop<20) then
begin
number:=100;
end
else
 if (dop<40) then
begin
number:=50;
end
else
  if (dop<80) then
begin
number:=20;
end
else
 if (dop<120) then
 begin
  number:=10;
 end
else
  if (dop<180) then
begin
number:=5;
end                        //задаём уровень возможности кражи
else
temp:=random(1,number);
if (temp !=1) then
begin
   op_script_overrides();
   op_attack(op_dude_obj(), 0, 1, 0, 0, 30000, 0, 0);
end//вызываем бой



значение number можно подобрать точнее


(Добавление от 19:34 - 9 Фев., 2005.)


извините, выложил не тот вариант. Тут 2 ошибки:
не надо
else - перед temp:=random(1,number);
надо
end - в конце

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 19:30 - 9 Фев., 2005
Tehnokrat
Модератор

Откуда: Новосибирск
Регистрация: Окт. 2003

Всего: 489 сообщений

>>манчкин просто нажмет 0 и родолжит сейв - лаод.
поэтому "диалоги" не выход.

Ну нажмёт он 0 и попадёт прямиком туда, куда я его пошлю. Например на пятиминутный ролик о вреде манчкинизма

>>(Не хочу создавать новое сообщение) А мы можем принудительно вызвать сохранение через скрипты. Меня посетила очень подлая идея по поводу краж

Хочешь перезаписать последний сэйв? Не получится.

>>Как известно, что при неудаче воровства просто вызывается combat mode(режим боя).

При неудаче воровства вызывается обработчик pickup_p_proc, а дальнейшее зависит исключительно от того, что в этом обработчике написано. Кстати, при удачной попытке воровства этот обработчик не вызывается, да и вообще никакой.

Я не понимаю чего все так хотят прижать манчкинов к ногтю. Ну нравится кому-то играть таким способом - флаг ему в руки, барабан на шею и поезд навстречу! Моды-то пишутся для нормальных людей.

-----
Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.

Отправлено: 0:04 - 10 Фев., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Эх... Лень до добра не доводит. Ведь догадывался, что это не заработает. Ну ладно, я умею признавать ошибки. Всё тоже, что я написал можно использовать. Достаточно сделать так :

procedure use_skill_on_p_proc
begin
if (op_action_being_used() == 10) then
..........
end

и далее как в примере. Но есть одно НО. Это всё замечательно работает на практике. Даже при удачной попытке можно перемещать украденый предмет назад. Можно. Но нельзя избавиться от надписи : "За успешное умение воровать ....."
Это что-ли двиг подставляет?Так же как и другие надписи.

И ещё лично для меня остаётся непонятным: если воровство вообще рэндомное, то как объяснить улучшение навыка воровства при взятии перков?

P.S. 2 Tehnokrat :

>>Я не понимаю чего все так хотят прижать манчкинов к ногтю

Ну а если я в моде поставлю парня со стволом и кучей обойм+стимпаков в кармане. И захочу, чтобы он был убит. Выход - либо качать навык оружия, либо за вора - кражи. А так за  часик, под пивко можно добиться результата.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 1:41 - 10 Фев., 2005
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

Всего: 289 сообщений

Tehnokrat

Диалог и "результат" за использование 0  - Good, но  опять же проше, как Raven предложил напрягать манчкина через сейв. Cкриптовый мультик "о вреде ..." весело , но кажется в итоге может получится напряжно для игрока  0 часто используется в других случаях в некоторых из них не помешал бы облом игрока, например за использование 0 чтобы прокрасться мимо Бишопа, а от торговцев отрубаться вполне разумно, как раз 0-м, значит надо делать дополнительные проверки, на последнее действие.
И если ипользовать диалог: то скажем не теряя времени игрок устраивает конфликт=бой и перезагружается теряет при этом он будет не более 15 секунд личного времени на раз и все -> следует манчкинизм продолжается? или ?

Мне лично хочется, не манчкинов к ногтю, а адекватной работы скила.

Ray

Смысл "кода" ясен.
По твоей идее cкрипт выдает результат в обход движка?
Или "кормит" движок значениями -надо чтобы "кормил".
Почему "кормил": успех Воровства зависит: от восприятия обворовываемого НПС, стороны с которой его обворовываешь, количества вороуемых преметов и size итема, также вроде от включенали "украдка" и времени суток - все "считывается" движком, как мне понимается.

Со скилом в 15% при size итема  =50  у меня не вышло обворовать НПС(восприятие 7) с ~50 попыток.
Итемы с size ~ (от 1 до 10) шли на ура и почти на ура "пачками" , воровал через мепер.

И вот думаю, может просто Size поменять на "порядок" итемам в игре?
Надо еще поэксперементировать...


(Отредактировал(а) Dar - 23:20 - 12 Фев., 2005)

Отправлено: 23:17 - 12 Фев., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

2 Dar :

Как я сказал выше - исспользовать мой пример не получится. Я не могу избавиться от сообщения. Короче, лично моё мнение, что двиг и сам прекрасно вычисляет варианты кражи. Остаётся только запретить save\load , а это уже решили в другой теме.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 15:26 - 13 Фев., 2005
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

Всего: 289 сообщений

2 Ray

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

Отправлено: 19:55 - 13 Фев., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

2 Dar
>>Но ведь,  такую проверку можно производить чуть раньше, чем чуз начнет копаться в инвентаре НПС

Эт. как? Я ещё не влез в карман, а мне уже по шапке настучали Вообще-то проверка сработает только после кражи - op_action_being_used. Даже не так, она сработает до кражи, но прервать кражу не сможет.
По поводу сообщения я не согласен. По мне, если что-то делаешь, то делай до конца. Как будет выглядеть ситуация : криттер бежит за героем с криками "Воруют!" , а внизу надпись  - "за успешное приминение....."  

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 21:15 - 13 Фев., 2005
 

Переход по темам
<< Пред. След. >>
Единственная страница этой темы


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com