-
Content Count
593 -
Joined
-
Last visited
-
Days Won
55
Everything posted by Graf
-
Я все таки сделал их, как фей)) Тему можно закрыть.
-
Значит можно её удалить.
-
Что делает скрипт? Что нужно сделать? Как добавить новых монстров? idMonster[последовательное число] = айди монстра xMonster[idMonster[последовательное число]] = координата по x yMonster[idMonster[последовательное число]] = координата по y mapMonster[idMonster[последовательное число]] = "название серверной карты" timeMonster[idMonster[последовательное число]] = время через которое появится (в секундах) Начинаем добавлять В variable.lua: MonsterLogDir = "resource/script/test/monster/" idMonster = {} xMonster = {} yMonster = {} mapMonster = {} timeMonster = {} idMonster[1] = 1111 xMonster[idMonster[1]] = 100 yMonster[idMonster[1]] = 100 mapMonster[idMonster[1]] = "darkblue" timeMonster[idMonster[1]] = 1800 idMonster[2] = 1112 xMonster[idMonster[2]] = 928 yMonster[idMonster[2]] = 239 mapMonster[idMonster[2]] = "garner2" timeMonster[idMonster[2]] = 36000 В functions.lua: function checkMonster() -- Проверяет файлы монстров и производит вычисление времени for i, k in ipairs(idMonster) do local getFile = io.open(MonsterLogDir..idMonster[i]..".txt", "r") if getFile == nil then -- Записывает нового монстра, если его не существует local writeFile = io.open(MonsterLogDir..idMonster[i]..".txt", "w") writeFile:write("0") writeFile:close() else local timeCheck = getFile:read() local NumbTimeCheck = tonumber(timeCheck) if NumbTimeCheck > 0 then -- Вычисление времени каждую секунду arim = NumbTimeCheck - 1 end if timeCheck ~= "0" then -- Запись нового времени в файл монстра local writeFile = io.open(MonsterLogDir..idMonster[i]..".txt", "w") writeFile:write(arim) writeFile:close() else -- Призыв монстра монстра через переменную idMonster[i] CreateChaEx(idMonster[i], xMonster[i], yMonster[i], 145, 60, mapMonster[i]) end getFile:close() end end end function deadMonster( dead ) -- Вызывается при убийстве монстра и обновляет счетчик в файле local MonsterCha = TurnToCha ( dead ) local MonsterID = GetChaTypeID( MonsterCha ) local getFile = io.open(MonsterLogDir..MonsterID..".txt", "r") if getFile ~= nil then local timeCheck = getFile:read() if timeCheck == "0" then writeFile = io.open(MonsterLogDir..MonsterID..".txt", "w") writeFile:write(timeMonster[MonsterID]) writeFile:close() end getFile:close() end end В конец функции cha_timer() из functions.lua: checkMonster() В конец функции GetExp_PKM() из exp_and_level.lua: deadMonster( dead ) Scripted by Monsiure. Ссылка
-
Хорошо, а банально, где лежит функция мордо? Или надо смотреть функции поссейшна и фруктов? И все таки, как сделать из неё фею?
-
И снова здравствуйте. Решил добавить 3 феи из версии 2.5(вроде как). все текстуры и эффекты работают, но РОСТ и ВЫНОСЛИВОСТЬ фей показывает "0/0" "0/0" В чем может быть проблема? iteminfo.txt //Новые феи 7370 Фея дракона n1921 10130005 0 0 0 0 0 0 59 0 0 0 0 0 1 1 1 1 1 1 360 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -2,-2,-2,-2,-1,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 240,240 5000,5000 0 0 0 0 0 0 0 0 0 0 0 0 0 4017,0 0 0 Фея дракона 0 7371 Дух Света n2321 10130005 0 0 0 0 0 0 59 0 0 0 0 0 1 1 1 1 1 1 360 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 240,240 5000,5000 0 0 0 0 0 0 0 0 0 0 0 0 0 945,0 0 0 Фея Света 0 7372 Дух Тьмы n2322 10130005 0 0 0 0 0 0 59 0 0 0 0 0 1 1 1 1 1 1 360 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 240,240 5000,5000 0 0 0 0 0 0 0 0 0 0 0 0 0 946,0 0 0 Фея Тьмы 0 7373 Дух Грома n2323 10130005 0 0 0 0 0 0 59 0 0 0 0 0 1 1 1 1 1 1 360 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 240,240 5000,5000 0 0 0 0 0 0 0 0 0 0 0 0 0 944,0 0 0 Фея Грома 0 Для сравнения. Фея дракона работает исправно.
-
Это понятно, но где взять их название. Не в свитках плавки..
-
И все таки, кто-нибудь можешь поделиться опытом? На счет шанса вставки и комбинирования самоцветов?
-
Заранее благодарю V3ct0r за подсказку. Чтобы сделать зелье или свиток с временным эффектом, нам понадобятся: iteminfo.txt, itemeff.txt, variable.lua и skilleffect.lua. Покажу на примере зелья, повышающего шанс попадания на 1000 на 5 минут. Заходим в iteminfo.txt XXXX Зелье удачи n1196 10130001 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 99 0 180 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_popad 0 0 0 0,0 0 0 Увеличивает шанс попадания на 5 минут. 0 Видим функцию ItemUse_popad . Идем в itemeffect.lua и пишем. -- Увеливает шанс попадания на 1000-- function ItemUse_popad ( role , Item ) local statelv = 10 local statetime = 300 -- действует 5 минут. AddState( role , role , STATE_POPAD , statelv , statetime ) end Видим STATE_POPAD . Идем в variable.lua и ищем её. STATE_POPAD = 227 --строка в skilleff.txt Заходим в skilleff.txt и ищем 227 строку 227 Зелье Удачи -1 0 State_popad_Add State_popad_Rem 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 -1 0 0 0 0 -1 0 0 0 0 0 0 0 И напоследок заходим в Skilleffect.lua и ищем State_popad_Add.(или создаем) --Зелье шанса попадания-- function State_popad_Add ( role , statelv ) local hit_dif = 1000 --на сколько увеличивается характеристика local hitsb = HitSb( role ) + hit_dif --Поэтому тут "+" SetCharaAttr( hitsb , role , ATTR_STATEV_HIT ) ALLExAttrSet(role) end function State_popad_Rem ( role , statelv ) local hit_dif = 1000 --после окончания времени она отнимается в таком размере local hitsb = ( HitSb(role) - hit_dif ) --Поэтому тут "-" SetCharaAttr( hitsb , role , ATTR_STATEV_HIT ) ALLExAttrSet(role) end Надеюсь помог кому-нибудь)
-
Так подробно не разбирался в этом.
-
Идея: банальный фрукт, который увеличивает шанс попадания на 100 на 5 минут. Но как? Понятно, iteminfo.txt предмет - функция. НО. Лично я сейчас попытался найти, к примеру, функцию зелья Берсерка и честно вам скажу, я ничего не понял. Может время действия зелья и имеется, но куда идет функция из itemeffect? Смотрим в iteminfo.txt ItemUse_PKKBYS - функция зелья берсерка Ищем её в itemeffect.lua function ItemUse_PKKBYS ( role , Item ) local statelv = 10 local statetime = 20 AddState( role , role , STATE_PKKBYS , statelv , statetime ) end И все же, что означает STATE_PKKBYS? Или просто помогите реализовать мою идею))
-
Пользуюсь 1,5 месяца. Ничего плохого не заметил. Игроки тоже.
-
Функция не берет значения опыта из файлов. Так и в Variable.lua, character_lvup.txt и т.д. пришлось бы прописывать.
-
Честно, никогда не видел этого на форумах, но мне понадобилось. Надеюсь, что кому-нибудь помогу) iteminfo.txt(не забываем компилировать) XXXX Свиток повышения уровня n1480 10130001 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 99 0 1000 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Exp1 0 0 0 0,0 0 0 Свиток, который даст вам больше возможностей. 0 XXXX Свиток характеристик n1480 10130001 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 99 0 10000 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Stat1 0 0 0 0,0 0 0 Свиток, который подарит вам 1 очко характеристик. 0 XXXX Свиток магии n1480 10130001 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 99 0 30000 -1,-2,-2,-2 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 -1,-2,-2,-2,-2,-2,-2,-2,-2,-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Skill1 0 0 0 0,0 0 0 Свиток, который подарит вам 1 очко магии. 0 itemeffect.lua(Сервер/scripts/calculate/itemeffect.lua) -- Свиток повышения уровня -- function ItemUse_Exp1(role) local lv_role = GetChaAttr ( role , ATTR_LV ) local lv_next = lv_role + 1 SetChaAttrI( role , ATTR_LV , lv_next ) end -- Свиток характеристик -- function ItemUse_Stat1(role) local ap_role = GetChaAttr ( role , ATTR_AP ) local ap_next = ap_role + 1 SetChaAttrI( role , ATTR_AP , ap_next ) end -- Свиток магии -- function ItemUse_Skill1(role) local tp_role = GetChaAttr ( role , ATTR_TP ) local tp_next = tp_role + 1 SetChaAttrI( role , ATTR_TP , tp_next ) end Думаю все просто и понятно. Спасибо за внимание.
-
Раньше был гайд, где все было описано. Не подскажите ссылку? Или функции их подкиньте, пожст)
-
Так? Все равно открывается, но пустой диалог. function r_talk04 () InitTrigger() TriggerAction( 1, ReAll ) end
-
На некоторых серверах видел интересных НПС. Возьмем, к примеру, лекаря. Нажимая на него, он не показывает вам диалоговое окно, а просто пополняет здоровье. Т.е. НПС работает без диалога. Не смог найти. Может кто-нибудь подскажет, как это работает? И второе. Мне кажется это из той же серии, но как сделать НПС "Книги навыков", чтобы за 1 клик он прокачивал тебе нужные скиллы?