Jump to content

Graf

Community
  • Content Count

    593
  • Joined

  • Last visited

  • Days Won

    55

Everything posted by Graf

  1. Я все таки сделал их, как фей)) Тему можно закрыть.
  2. Что делает скрипт? Что нужно сделать? Как добавить новых монстров? 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. Хорошо, а банально, где лежит функция мордо? Или надо смотреть функции поссейшна и фруктов? И все таки, как сделать из неё фею?
  4. И снова здравствуйте. Решил добавить 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 Для сравнения. Фея дракона работает исправно.
  5. Это понятно, но где взять их название. Не в свитках плавки..
  6. И все таки, кто-нибудь можешь поделиться опытом? На счет шанса вставки и комбинирования самоцветов?
  7. Заранее благодарю 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 Надеюсь помог кому-нибудь)
  8. Спасибо, разобрался.
  9. Идея: банальный фрукт, который увеличивает шанс попадания на 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? Или просто помогите реализовать мою идею))
  10. Пользуюсь 1,5 месяца. Ничего плохого не заметил. Игроки тоже.
  11. Функция не берет значения опыта из файлов. Так и в Variable.lua, character_lvup.txt и т.д. пришлось бы прописывать.
  12. Честно, никогда не видел этого на форумах, но мне понадобилось. Надеюсь, что кому-нибудь помогу) 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 Думаю все просто и понятно. Спасибо за внимание.
  13. Раньше был гайд, где все было описано. Не подскажите ссылку? Или функции их подкиньте, пожст)
  14. Помогите, пожалуйста)
  15. Так? Все равно открывается, но пустой диалог. function r_talk04 () InitTrigger() TriggerAction( 1, ReAll ) end
  16. На некоторых серверах видел интересных НПС. Возьмем, к примеру, лекаря. Нажимая на него, он не показывает вам диалоговое окно, а просто пополняет здоровье. Т.е. НПС работает без диалога. Не смог найти. Может кто-нибудь подскажет, как это работает? И второе. Мне кажется это из той же серии, но как сделать НПС "Книги навыков", чтобы за 1 клик он прокачивал тебе нужные скиллы?
×
×
  • Create New...