Собственно сабж.
<small>Добавлено в 16:45</small>
решил на досуге сделать http://wrg.ru/TEMP/Lex_LexxL/Speaker.rar, который за деньги кричит ваше сообщение на рынке. но нет у меня возможности проверить схему в модуле с несколькими игроками.
ADD:
Если есть возможность, проверьте кто-нибудь. Заранее благодарен.
Простой скрипт, вешается на HB. (модуля или для нужных локаций).
Что делает: днем, если локация не подземная, при попытке использовать SKILL_HIDE вешает на 30 секунд пенальти на скилл hide (снижает до 2)
А то с появлением shadow dancer'а воры совсем обнаглели, в чистом поле под солнцем умудряются тень найти (свою наверное )
Заодно помогает против излюбленной техники их же - стукнуть моба, отбежать и уйти в тень. Теперь такое будет работать только ночью, что уже вполне реально и такая стратегия из разряда "баго-фича" переходит в разряд "военная хитрость"
Neverwinter Script Source |
void _anti_hide(object oPC) { object oArea = GetArea(oPC); if (!GetIsObjectValid(oArea)) return; if (GetIsDay() && GetIsAreaAboveGround(oArea) == AREA_ABOVEGROUND && GetStealthMode(oPC) == STEALTH_MODE_ACTIVATED) { int nHide = GetSkillRank(SKILL_HIDE,oPC); if (nHide > 5) ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectSkillDecrease(SKILL_HIDE,nHide-2),oPC,30.0); } } void main() { object oPC = GetFirstPC(); while (GetIsPC(oPC)) { _anti_hide(oPC); oPC = GetNextPC(); } } |
хм... а в случае шарда это будет тормозить?
_kaa_
Спасибо за нужный и очень толковый скрипт. Правда, стоит не опускать скилл хайд до 2ух, а сделать на него пыховский пиночек в 20, но это детали, с которыми будем разбираться позже. К тому же, как вариант, можно добавить проверку, а нет ли на этом гаде вещей с лайтом или факела в руках, а то уж больно плюшево получится - сам сияет, как новогодняя елка и прячется..
_kaa_
Я и имел ввиду это. Если есть факел или шмотка с лайтом, то чтобы данный скрипт срабатывал даже ночью.. Может быть выразился не ясно. По ПХБ ты можешь сделать в одном раунде любое действие (даже атаку) и хайд, но с пинком 20..
во-во. и то и другое надо!
Вот у меня такой вопрос. Как сделать систему задержки, чтобы после выхода, игрок оставался минуту на месте, а самого игрока не пускало? После перезахода через минуту на игрока вещались все состояния его дубликата.
Мое предположение таково, чтобы при выходе/отключении создавалась на месте копия игрока, с задержкой на 1 минуту а потом уничтожалась, а все ее эффекты записывались в БД.
ЗЫ. Извиняюсь за неграмотность.
Я конечно понимаю что таким методом можно избежать то что игроки альтуются(Alt+F4) из битвы. Тоесть напросто бегут с поля боя. Но, такое долго время задержки черевато тем что тебя обнесут за эту минуту воришки... или еще что круче.
Думаю лучший способ наказать таких игроков - OnClientLeave поставить скриптик проверяющий: Идет ли битва и иесли идет просто снимать за это опыт..или ваще убивать нафиг.
Хехе, в том то и прелесть что альтоваться надо тока в ноу ПВП зонах. Просто тут идет работа над ПВП шардом. (Хз че получится, но для личного образования).
В антиальте есть 1 проблема - дисконнект от провайдера, но никуда от него не деться, тут ни скриптовым ни программыным средством ничего не сделаешь.
Собственно как это реализовать?
ЗЫ. какая-то проблема с кодировкой, через мозиллу Firefox пишет околесицу.
Как на Мидгарде реализована система лута? Стерт файл генерации и лут кладется в ручную или он полностью переписан ( *крестится* ) ? Очень интересно ведь практически вещь +2 найти невозможно а игрок безумно радуется шмотке +1. Хотелось бы тоже такую систему.
QUOTE (Аваддон @ Sep 5 2004, 14:52) |
Как на Мидгарде реализована система лута? Стерт файл генерации и лут кладется в ручную или он полностью переписан ( *крестится* ) ? Очень интересно ведь практически вещь +2 найти невозможно а игрок безумно радуется шмотке +1. Хотелось бы тоже такую систему. |
Тоесть в тот скрипт что стоит при смерти Крича переписан скрипт с сундук low treasure ?
Вопросы такие интересуют...
Есть ли возможность при помощи скрипта произвести энумерацию чаров на аккаунте, в том числе и получение инфы по ним?
Возможен ли отлов события создания чара?
Да. Сливаешь инфу в БД. OnClientEnter чекаешь логин. Лезешь в базу и смотришь все на него. Если есть строки - смотришь кол-во строк. Если нет то вставляешь Логин и Имя. Если они есть - пропускаешь. Дополнительно можешь писать хар-ки, экспу и т. д.
QUOTE (Hety the Lightbringer @ Sep 20 2004, 19:53) |
Да. Сливаешь инфу в БД. OnClientEnter чекаешь логин. Лезешь в базу и смотришь все на него. Если есть строки - смотришь кол-во строк. Если нет то вставляешь Логин и Имя. Если они есть - пропускаешь. Дополнительно можешь писать хар-ки, экспу и т. д. |
Энумерация? Присваивание чарам айдишников? Это можно делать как в БД(не знаю как в мускуле - в постгресе мы делали на сервере это). Делается просто(можно и проще, если подумать ). Создаешь таблицу, с одной строкой и одним столбцом. Обзываешь как-нибудь столбец. При добавлении чара берешь значение оттедова, прибавляешь один и пишешь это в id чара. Текущее значение в табличке инкрементишь.
Энумерация - перечисление. Т.е. мне необходимо выяснить возможно ли без написания скрипта, который ведет лог по созданию чаров, выяснить сколько чаров на аккаунте. К примеру запускаю какой-нить(ранее созданный) EnumCharOnAccount() и он выдает количество персонажей на аккаунте. Пострег и прочие фичи не предлагать, ибо времени нет на изучение всех этих дел нет.
Хм..по моему ничего такого через скрипты сделать нельзя
Нет. Ибо сервер только пишет и читает из файлов чаров. Ничего более.
Все. Спасибо. Что и требовалось выяснить.
Здравствуйте... Мне нужно следующее сделать, не подскажете как?
1. Защита чара от хака путем БД
2. В зависимости от алаймента заходя в портал попадать в свой город
3. Лут, зависящий от CR
1. Какой именно БД?
Если стандартная .dbf - почитай эти топики
http://oldforums.rpgplanet.ru/index.php?showtopic=4727&hl=
http://oldforums.rpgplanet.ru/index.php?showtopic=1426&view=findpost&p=184987
2.
Neverwinter Script Source |
void main() { object oPC = GetLastUsedBy(); int nGoodEvil = GetAlignmentGoodEvil(oPC); int nLawChaos = GetAlignmentLawChaos(oPC); if (nGoodEvil == ALIGNMENT_EVIL) AssignCommand(oPC,ActionJumpToObject(GetObjectByTag("wp_city_good"))); else if (nGoodEvil == ALIGNMENT_GOOD) AssignCommand(oPC,ActionJumpToObject(GetObjectByTag("wp_city_evil"))); else AssignCommand(oPC,ActionJumpToObject(GetObjectByTag("wp_city_neutral"))); } |
QUOTE (Lazy Ranma @ Oct 12 2004, 09:58) | ||
2.
Таким образом. wp_city_* - вэйпоинты в соответствующих городах. Вешать скрипт OnUsed портала... |
Ну да, там тэги наоборот должны стоять =)
И снова вопрос.
Нужно ограничить инвентарь игрока в 1-2 вкладки. В какую сторону копать? Может кто подсказать?
Забить остальные вкладки большими Undropable предметами
Это так... шутка. Может и можно как то - это уже к спецам по 2da я думаю. А можно сделать инвентарь на определенной кол-во предметов. И проверять это на событии OnAcquireItem, если кол-во предметов больше определенного - выкладывать и писать сообщение, что не может он больше шмота унести
QUOTE (Аваддон @ Nov 4 2004, 03:37) |
Забить остальные вкладки большими Undropable предметами |
QUOTE (Baal @ Nov 4 2004, 15:22) |
Кстати - идея не так абсурдна как кажеться на первый взгляд! создаем итем с картинкой точно под клеточки инвентаря, так, что будет казаться что никакого итема там нет и забиваем такими инвентарь |
QUOTE (Аваддон @ Nov 4 2004, 06:37) |
Забить остальные вкладки большими Undropable предметами |
Вот и я про Acquire говорю:)
_kaa_ , а насчет лута Мидгарда так и не разъяснил. Какое событие из сундуков SoU стоит OnDeath крича?
QUOTE (Аваддон @ Nov 5 2004, 16:33) |
насчет лута Мидгарда так и не разъяснил. Какое событие из сундуков SoU стоит OnDeath крича? |
QUOTE (_kaa_ @ Nov 6 2004, 15:19) |
К сожалению умер реалмс и унес с собой описание стандартной системы лута из СОУ |
Дорогие шардовики кто то сталкивалс с проблемой когда игрок считается умершим (церепупка на нем) но при этом у него жизи больше 0 ну исоответственно его низя никак оживить только последующий перезаход на шард снова умирание но потом показует нормальную менюшку воскрешения и можно самому реснутся. Просто уже незнаю куда и писать об этом поэтому сильно не ругайте если че подскажите где спросить еще можно.
Если можно дайте систему смерти (умирание, смерть, воскрешение) для мульти попробую разобратся.
Проверить скрипт, который стоит на событие OnPlayerDying в свойствах модуля.
а что именно в нем проверить там стоит скрипт взятый с этого форума из раздела готовых там где поле 0 жизни до -10 идет умирание.
Тебе хватит в сервере поставить галочку на ELC
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)