Вернуться   Raurin Forums > Raurin 2: The Silver Marches (NWN1 шард) > Скриптинг, маппинг и диалогинг :)

 
 
Опции темы Опции просмотра
Старый 06.05.2006, 16:05   #1
Nomad Ty'eren
Ивилорец
 
Аватар для Nomad Ty'eren
 
Регистрация: 01.05.2006
Сообщения: 50
Власть репутации: 658 Nomad Ty'eren У него еще все впереди!
По умолчанию да, да.. гильдии)

сабж планируется? делается?

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

что скажете?
__________________
Thou, who killest the monsters, beware not to become a moster theeself. When thou long gazest into abyss, the abyss also gazes in thee.
---
Qu'on nous ensiegne - never explain
Qu'on nous assene - never complain
Nomad Ty'eren is offline  
Старый 06.05.2006, 17:43   #2
Tyran
Рауринец (Evil)
 
Аватар для Tyran
 
Регистрация: 03.03.2006
Сообщения: 71
Власть репутации: 664 Tyran У него еще все впереди!
По умолчанию

Ном, твоими темпами работы все будет сделано не раньше появления невера 2 ;)
Tyran is offline  
Старый 06.05.2006, 18:59   #3
Caesar_a
Ужасный Паладин-Тиран
 
Аватар для Caesar_a
 
Регистрация: 16.03.2005
Адрес: Новосибирск
Сообщения: 269
Власть репутации: 711 Caesar_a У него еще все впереди!
По умолчанию

Уже есть, правда в списке на тестирование, эта вещь наверное последняя в списке Гильдии можно реализовать по разному, и при должной поддержке, скриптовая система, далеко не лучшая

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

Если не хочешь концепцию публично выкладывать, шли мне в приват или на мыло.

Благодарю за поддержку.
__________________
Тот, который знает. Вечный Клейн aka Dallas Kleyn
Caesar_a is offline  
Старый 10.05.2006, 08:37   #4
Nomad Ty'eren
Ивилорец
 
Аватар для Nomad Ty'eren
 
Регистрация: 01.05.2006
Сообщения: 50
Власть репутации: 658 Nomad Ty'eren У него еще все впереди!
По умолчанию

Тир, моя производительность на прямую зависит от энтузиазма и кол-ва свободного времени
и то и другое со временем имеет свойство быстро уменьшаться)

Caesar_a
да не, мне не жалко) я ж не скрипты выкладываю
кстати, пока не забыл! две вещи которые меня очень сковывают и не дают доделать гильдии эти (вопросы к скриптерам):
1) хоть убей, не могу вспомнить, как получать то, что говорит PC в talk. например, мне в диалоге нужно сделать паузу и подождать пока игрок что-то напишеь (допустим, имя). потмо считать его и продолжить. как?
2) как написать в окне диалога строку, полученную из скрипта? например для доски объявлений мне нужно чтобы каждый раз, когда игрок выбирает в диалоге опцию "следующая страница" доска объявлений говорила следующее:
"Страница #iPageNum
sMessageText"
в скрипте делаем так:
string sText = "Страница #" + IntToString(iPageNum) + "\n" + sMessageText;
а как сделать тобы эту строку вывело именно в окно диалога (как фразу НПС) ?

значит так. теперь о гильдиях )
пост араюсь покороче
значит гильдий много. каждая гильдия относится к другой одним из трех способов: война, мир, альянс. при войне, наверное, автоматом выставлять дизлайк надо членам воюющих гильдий, но этого пока не сделал. скажите, если надо; естественно, гильдии могут менять отношения между собой.
одна гильдия может объясвить войну другой и тогда она обе автоматом переходят на ваенное положение (все дипломатические сообщения рассылаются участникам особых гильдий, настроена система оповещения (и не только по дип-вопросам))
гильидя может попросить мира у другой. другая может согласиться или отказать. так же не воющие гильдии могут попытаться заключить альянс. (плюсы альянса я еще не продумывал, так что технически сейчас он равен миру)
решения о принятии мира от другой стороны (или о предложении мира другой стороне и т.п., вообще решения по всем мало-мальски важным делам гильдии) выносятся путем голосования. это уже сделано
определенные (зависит от типа голосованый) члены гильдий имеют право голоса на определенном голосовании, причем вес голоса зависит от ранга этогог самого члена. решение утверждается при 65% голосов ЗА, отвергается в любом другом случае (можно голосовать как ЗА, ПРОТИВ, так и БЕЗРАЗЛИЧНО). все голоса учитываются, процент просчитывается
о рангах (табель))).
в гильдии существует на данный момент 5 рангов:
-- это Послушники (Initiate) - новички, как правило, без права голоса. часто они платят взнос для вступления в гильдию (или вносят ценную вещь, которая будет рассмотрена как плата), или не платят, все зависит от решения Мастера по Превлечению Новых Кадров (о спец. профессиях в гильдии ниже); их ранг = 4
-- Младшие Магситры (Low-rang Magister) - уже более зрелые участники, сделавшие что-то для гильдии, тем и отличившиеся. при голосованиях имеют вес голоса = 1. их ранг = 3
-- Магистры (Magister) - старые проверенные "согильдецы", имеющие сильу и уважение в гильдии, на которых всегда можно положиться. вес голоса = 2, ранг = 2
-- Великие Магистры (Grand Magister) - члены Совета Клана. максимально в гильдии может иметься до 3х ВМ. каждый ВМ имеет в гильдии отдульную комнату и личный сундук. голос = 3, ранг = 1
-- Мастер, Хозяин, и т.п. как хотите (Guildmaster) - Глава (и (может быть) основатель) гильдии, непререкаемый авторитет, ранг = 0 вес голоса = 5
названия рангов условные, каждая гильдия вольна менять их как захочет

ранг каждого участника так же равен уровню доступа к голосонванию. т.к. ранг должен быть <= уровню голосования чтобы участник мог оставить свой голос по данной проблеме (т.е. участник ранга 3 не может голосова на голосовании 2го уровня, 2й уровень только для M, GM и Мастера)

на голосования могут быть подняты следующий темы:
-- Объявление войны/мира/альянса другому клану (уровень 1),
-- повышение/понижение цен гильдии (уровень 3, о ценах ниже),
-- Продвижение послушника в ранг LrM (уровень 3), продвижение LrM в ранг M (уровень 2) продвижение M в ранг GM/расжалование GM в ранг M (уровень 1 (2? или даже 3? пока не решил) )
-- изгнание участника из гильдии (изгнание послушника уровень 3, изгн. LrM уровень 3, изгнание M уровень 2, изгнание GM уровень не определен)

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

о деньгах
деньги в невере всегда были чем-то, чем можно пренебречь) поэтому чтобы приблизить это все к жизни, основой гильдии стали не только сильные бойцы, но и звонкая монета
каждая гильдия имеет свой капитал. он пополняется за счет участников
каждый участник, кроме Мастера, Великих Магситров и спец. работников гильдии вносит ежедневный хм.. вношение в казну гильдии ) ежедневное - каждые 24 реальных часа работы сервера к долговому счету учатника прибавляется ежедневное пожертвование (на развитие гильдии, хехе)
так же каждый участник имеет ежедневную квоту; размер квоты и ежедневных платежей зависит от ранга. чем вше ранг, тем то и другое больше
дневная квота
каждый день на счет-квоту каждого игрока вносится определенное кол-во денег, например, для Магистра это, скажем, 1000гп. если под конец дня на его квоте было 800 гп, то становится опять 1000 (т.е. больше макс. дневной квоты на счет не ожится). а если квота была привышена, и под конец дня у него было уже -200, то по след. день у него там будет 800 (за вычетом долга). поплняется квота из казны гильдии, т.е. если за день игрок ничего из квоты не потратил то ессно ущерба гильдие и не нанес (финансового)))
смысл квоты
в каждой гильдии стоит несколько сундуков "для своих". в комнатах послушников в этих сундуках стоят вещи первой необходимости - стрелы, простоейшее оружие, бутылки и т.п. стоимость вещей из этих сундуков на 15-25% дешевле, чем в магазинах (обычных). покупка из этих сундуков ведется за счет квоты, т.е. деньги снимаются с этого счетта, а не из кармана игрока. для более высоких по званию в таких сундуках лежат уникальная аммуниция (особенные гильдейские стрелы, которые больше нигде не достать, крутые редкие зелья и т.п., но это для старших, и бесконечно они тоже не могут покупать - дневная квота)
или даже сейчас другая идея родилась - покупать игрокам из таких сундуков за свой счет - а деньги в казну... хотя это почти читерство) пока как есть пусть будет

спец. профессии
лидер клана может назначать участникам специальную длолжность. спец работа освобождает участника от ежедневной платы, но так же требует от него терпения и внимательности
профессии:
-- Казначей: имеет доступ в сокровищницу (кроме него и мастера больше никто там ошиваться не может). помимо этого, имеет доступ к пульту управления казной - там производится регулировка цен (квоты, взносы) и все, связанное с финансами. казначей должен отслеживать злостных неплатильщиков, людей, часто привышающих квоту и т.п., назначать штрафы
-- Оружейник: имеет доступ в Оружейную гильдии и к сундукам с униформой. каждая гильдия имеет свою уникальную униформу для каждого из рангов. Оружейник следит, чтобы каждый из участников имел комплект (включая новичков). в униформе, по замыслу, ведутся гильдейские войны; тут же и РП - в гильдию проникает лазутчик третьей стороны, ворует униформу (или получает любым другим возможным способом) - одевает и атакует в ней участника третьей гильдии (с которйо первая в союзе или в мире) - от второй гильдии к первой следует официальная нота протеста, ультиматум или даже война, третяя гильдия как бы не при делах сидит и тихо радуется)
-- Герольд: следит за своевременным обновлением доски новостей гильдии (тк. кого то могло и не быть при вынесении того или ного решения или при получении сообщения от других гильдий), и вообще всячески доносит информацию для всех интересующихся согильдейцев
-- Мастер по Новым Кадрам - ищет молодые таланты, присматривается к ним и решает годны они или нет. очень сложная профессия, т.к. если он притащит непроверенных или нехороших людей в гильдию, все шишки потом ему
-- Мастер по обучению новичков - или проще - Newbie guide - все ясно)

-- блин вроде еще кто-то был, не помню уже) мб спец. шпионов там еще можно ввести, но это в общем не трудно, мелочи, вносите предложения и все сделаем

такс,,, дальше
доступ в гильдию
каркас каждой гильдии должен быть примерно такой (с вариациями на тему):
вход - холл гильдии, палаты послушников - штаб
из штаба путь в сокровищницу, оружейную, комнаты старших магистров и комнату Мастера

в холле гильдии столы, выпивка, веселые россказни нубов, всяческое абсчение нубов; доска объявлений (всяких событий), доска назначений (написано кто есть кто в гильдии, чтобы нубы знаали к кому обратиться если что), список участников в формате имя/аккаунт - на всякий пожарный
ков сему этому имею доступ только учатники гильдий, чтобы чужие не подсмотрели
далее, сундук с аммуницией для нубов, фигнюшка куда вносить плату.
есть штука которая за деньги (небольшие) делает небольшой обкаст нубам, но это уже аксессуары
__________________
Thou, who killest the monsters, beware not to become a moster theeself. When thou long gazest into abyss, the abyss also gazes in thee.
---
Qu'on nous ensiegne - never explain
Qu'on nous assene - never complain

Последний раз редактировалось Nomad Ty'eren, 10.05.2006 в 08:40.
Nomad Ty'eren is offline  
Старый 10.05.2006, 08:38   #5
Nomad Ty'eren
Ивилорец
 
Аватар для Nomad Ty'eren
 
Регистрация: 01.05.2006
Сообщения: 50
Власть репутации: 658 Nomad Ty'eren У него еще все впереди!
По умолчанию

(разбил текст на 2 т.к. писало что слишком много я тут расп*делся для одного сообщения)))))
----------------------------------


проблема вот в чем
когда я только начинал, я думал сделать все на камнях - спец. штучки в инвентаре: есть у тебя одна - портал в гильдию тебя пропускает; нету - не зайдешь
типа РП, нуба специально враги отлавливают в лесу, отбирают камень - передают другому (чтобы убийца не светился) - тот под видом нуба проникает с камнем в гильдию
потом как-то так получилось что плавно перешел на идентификацию по имени - а то убьет нуба монстр - посеет камень - больше в гильдию не войдет; а восстановление камня это нейдобство всем остальным + опять взнос (т.к. камни по первой задумке стоили оч дорого, чтобы на первых порах гильдия не насчитывала по 50 человек сразу)
вот и получилось что в комнаты нубов и штаб проверка идет по камням, а дальше уже все двери по именам работают
надо наверное к чему то одному прийти, что скажете? вот тут не знаю что выбрать
и + если по именам будет, то как будет происходить допустим нападение на гильдию другой? подошел - имя не то - не пустили. все. а так камушек украл.. хотя тоже не катит
вот именно нападение на штаб гильдии самая больашя проблема текущая. опишите примерно процесс?
я сча завел в каждом скрипте дверей переменную breakthrough - типа прорыв. если она == 1 то все двери открываются для всех. (сейчас она везде железно 0 без условий). ну типа при каком-то условии на гильдию можно нападать (и причем все кто захочет, т.е. напала одна гильдия на другую, а тут под шумок вломились мародеры и обчистили сокровищницу. гы)). но какое тогда условие?

и последнее (вроде))
так же есть переменная overthrow - свержение. на голосовании любой может вывесеть тему - Begin Overthrow. если голосование провалится (большинство против), начавший голосование автоматом иссключается из гильдии. если же его поддержат, то включается overthrow mode - так же как и при Прорыве, все две гильдии открываются и те, кто проголосовал за свержение становятся врагами тем, кто против или кому все равно (и кто вообще не голосовал, тоже). на время свержения все участники, рангом выше чем Послушники призываются в гильдию (возможно, насильно; и выпускать тогда толже никого нельзя до окончания) и начинается битва мятежников и тех, кто за Мастера. погибшие в этой битвы отправляются за пределы гильдии и не имеют права войти, пока Свержение не окончится. главная задача Мятежников убить Мастера. если он умрет, он автоматом изгоняется из гильдии - свержен. новым Мастером становится убийца, получает все права, overthrow mode выключается, происходит, видимо, смена правящей верхушки, всех неугодных из гильдии выгоняют, все счастливы.
обратная ситуация получается, если после смерти последнего из мятежников Мастер все-таки выживает (что трудно, при 65% участников, охотящихся за его головой в сравнительно небольшом помещении))). в этом случае, все бывшие мятежники автоматом изгоняются из гильдии, лидер счастлив=)
правда Свержение не должно быть частым явлением, я думаю, и предлагаться будет только при сильном неудовольстве большинства политикой Мастера

блин, много написал) надеюсь, ничего не забыл.
все оч ем я написал, уже готово
а написал, собсвенно, для того, чтобы помогли решить проблемы, которые я тут поднял, ну и конечно вносили предложения/изменения, пока система еще достаточно гибкая не не слишком монстроидальная (70 скриптов сейчас, 12 диалогов)
__________________
Thou, who killest the monsters, beware not to become a moster theeself. When thou long gazest into abyss, the abyss also gazes in thee.
---
Qu'on nous ensiegne - never explain
Qu'on nous assene - never complain
Nomad Ty'eren is offline  
Старый 10.05.2006, 11:07   #6
Darth_Nick
Новичок
 
Аватар для Darth_Nick
 
Регистрация: 13.08.2005
Адрес: выгнали из ада за плохое поведение
Сообщения: 36
Власть репутации: 0 Darth_Nick У него еще все впереди!
По умолчанию

Цитата:
1) хоть убей, не могу вспомнить, как получать то, что говорит PC в talk. например, мне в диалоге нужно сделать паузу и подождать пока игрок что-то напишеь (допустим, имя). потмо считать его и продолжить. как?
надо ставить палитру нпц..на OnSpawn варианты, на OnConversation - ответы.

пример OnSpawn нпц:
Цитата:
SetListening(OBJECT_SELF, 1);
SetListenPattern(OBJECT_SELF,"один",1);
SetListenPattern(OBJECT_SELF,"два",2);
пример OnConversation:
Цитата:
if (GetListenPatternNumber()==1 && GetIsListening(OBJECT_SELF))
{
// код
}
посмотри тут: http://www.wrg.ru/forums/index.php?showtopic=5&st=0
пост 23

Цитата:
2) как написать в окне диалога строку, полученную из скрипта? например для доски объявлений мне нужно чтобы каждый раз, когда игрок выбирает в диалоге опцию "следующая страница" доска объявлений говорила следующее:
"Страница #iPageNum
sMessageText"
в скрипте делаем так:
string sText = "Страница #" + IntToString(iPageNum) + "\n" + sMessageText;
а как сделать тобы эту строку вывело именно в окно диалога (как фразу НПС) ?
они динамичными не бывают..хотя можно токенами попробовать
__________________
victims,aren't we all?

Последний раз редактировалось Darth_Nick, 10.05.2006 в 11:14.
Darth_Nick is offline  
Старый 10.05.2006, 12:04   #7
Nomad Ty'eren
Ивилорец
 
Аватар для Nomad Ty'eren
 
Регистрация: 01.05.2006
Сообщения: 50
Власть репутации: 658 Nomad Ty'eren У него еще все впереди!
По умолчанию

Darth_Nick о блин супер спсибо!))
а как неизвестную строку получать? ну мм допустим что известно только что игрок введет "s s" где s и s - имя и фамилия игрока
как я понял тут только известные строки распозновать может?
эхх где же с++-шные scans("%s") .. ))))

и вот еще: а как св скриптах кириллицу использовать? у меня не хочет( попробую версию более новую поставить... пишу на 1,59 =)))
__________________
Thou, who killest the monsters, beware not to become a moster theeself. When thou long gazest into abyss, the abyss also gazes in thee.
---
Qu'on nous ensiegne - never explain
Qu'on nous assene - never complain
Nomad Ty'eren is offline  
Старый 10.05.2006, 12:12   #8
Darth_Nick
Новичок
 
Аватар для Darth_Nick
 
Регистрация: 13.08.2005
Адрес: выгнали из ада за плохое поведение
Сообщения: 36
Власть репутации: 0 Darth_Nick У него еще все впереди!
По умолчанию

Цитата:
и вот еще: а как св скриптах кириллицу использовать? у меня не хочет( попробую версию более новую поставить... пишу на 1,59 =)))
патч думбо - http://dumbo.nm.ru

попробуй сделать токены и запихнуть в них локалки изврат ...
http://www.wrg.ru/forums/index.php?showtopic=1853 - тут еще посмотри
__________________
victims,aren't we all?

Последний раз редактировалось Darth_Nick, 10.05.2006 в 12:16.
Darth_Nick is offline  
Старый 10.05.2006, 12:15   #9
Nomad Ty'eren
Ивилорец
 
Аватар для Nomad Ty'eren
 
Регистрация: 01.05.2006
Сообщения: 50
Власть репутации: 658 Nomad Ty'eren У него еще все впереди!
По умолчанию

про токены сразу ссылку дай плиз=) все таки два года нвн в глаза не видел - странно что хоть что то помню)

ps вспоминаю онлайн хелп какой-то.. lex что-то там .net .. или хз) в общем помню была хорошая вещь. ссылку не знаешь?
__________________
Thou, who killest the monsters, beware not to become a moster theeself. When thou long gazest into abyss, the abyss also gazes in thee.
---
Qu'on nous ensiegne - never explain
Qu'on nous assene - never complain

Последний раз редактировалось Nomad Ty'eren, 10.05.2006 в 12:19.
Nomad Ty'eren is offline  
Старый 10.05.2006, 12:42   #10
Caesar_a
Ужасный Паладин-Тиран
 
Аватар для Caesar_a
 
Регистрация: 16.03.2005
Адрес: Новосибирск
Сообщения: 269
Власть репутации: 711 Caesar_a У него еще все впереди!
По умолчанию

Хм... тру система, мне понравилось Нужно это обсудить с командой Но в любом случае это не первоочередной вопрос
__________________
Тот, который знает. Вечный Клейн aka Dallas Kleyn
Caesar_a is offline  
 

Опции темы
Опции просмотра

Ваши права в разделе
You may not post new threads
You may not post replies
You may not post attachments
You may edit your posts

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT, время: 08:22.

Powered by vBulletin Version R.I.P., Copyright ©2000-2024, Jelsoft Enterprises Ltd. | Оформление: raurin.ru