NoX World - форум об игре NoX

 
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  
Сейчас онлайн стрима нет!
Сейчас на сервере никого нет!

Обязательно все ознакомьтесь с новыми Правилами Портала!

Актуальные новости:
IP сервера изменён! Новый IP: 45.144.64.229. Сервер также доступен через Westwood Online (XWIS, игру через сервер)


Важные темы:
Как играть по сети? Понятное руководство!
Правила Сервера NoxWorld.
Как помочь форуму финансово?

Автор Тема: Вопросы по UniMod-y  (Прочитано 104314 раз)

0 Пользователей и 3 Гостей смотрят эту тему.

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2728
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #100 : 08/07/2011 11:03:29 »

1) unitOnDamage (если я верно помню) - это хук. То есть ты сам определяешь эту функцию
unitOnDamage=function()
-- something
end
И она будет вызвана когда собственно потребуется.
2) ХЗ
3) Конкретизируй. Данных много, непонятно что именно выкладывать
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #101 : 08/07/2011 11:16:42 »

1) именно так я и пробовал, не получается...
кстати я пробовал создать в файле autoexec.lua вторую функцию OnFirstFrame она не была вызвана...
предполагаю что вызов функции идёт по порядку написания а след функции (перегрузки) срабатывать не будут
3) нуу, в общем то я хотел узнать про все, ну раз данных действительно настолько много, буду спрашивать по частям)
дя начала хотелось бы узнать эффекты...
то есть ихние хексовые номера и описания)
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2728
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #102 : 08/07/2011 11:32:15 »

Если Дио раньше не запостит, попробую когда с работы вернусь глянуть :)

onFirstFrame там ж уже есть она. Она через setTimeout вызывается жеж, глянь в прилагаемом к ЮниМоду autoexec.lua как оно реализовано.

Перегрузки действительно не работает - только работающая функция будет та что последняя, не первая.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #103 : 08/07/2011 11:57:44 »

onFirstFrame там ж уже есть она. Она через setTimeout вызывается жеж, глянь в прилагаемом к ЮниМоду autoexec.lua как оно реализовано.

Перегрузки действительно не работает - только работающая функция будет та что последняя, не первая.
вот та что там была:
function onFirstFrame()
   print('loaded Autoexec.lua')
end

вызывается при старте игры (по названию предполагаю что речь идёт о первом фрэйме)
нда... а с перегрузкой похоже я неправильно букву какую то написал, можт такая же проблема в "он дамаг"...

спасибо за помощь)

а с перегрузками я решил сделать так:

off = {}
function onFirstFrame()
   print('loaded Autoexec.lua')
   for n=1,#off do
      off[n]() -- пробиваем каждую функцию хранящаяся в таблице... (перегрузка)
   end
end
а потом в случае чего можно будет просто сделать:
table.insert(off,<a new onfirstframe function>) -- добавка функции


добавлено через 3 минуты:
function unitOnDamage(Me, Him, By, Value, Type)
print('some one has been damaged))')
end
что здесь не так?
я захожу в игру и наступаю на шипы... и ничего оно не пишет... имя скопировал...
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2728
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #104 : 08/07/2011 12:08:15 »

Я думал это имплементнуть непосредственно в ЮниМоде, руки ток не доходят :) Регистрация хука, ну всё верно. Этакий коллбек из хука

На самом деле в autoexec.lua есть ещё одна хрень.

setTimeout(onFirstFrame, 1)

Поищи. Именно так она вызывается.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #105 : 08/07/2011 12:20:38 »

setTimeout(onFirstFrame, 1)
хм, да есть))
Записан

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #106 : 08/07/2011 13:03:50 »

function unitOnDamage(Me, Him, By, Value, Type)
   print('some one has been damaged))')
end
что здесь не так?
я захожу в игру и наступаю на шипы... и ничего оно не пишет... имя скопировал...
а с этим что делать?
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2728
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #107 : 08/07/2011 13:09:59 »

ХЗ, надо смотреть. Я просто на работе, у мну тут исходников ЮниМода нету :)
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #108 : 08/07/2011 13:13:16 »

ясно, спасибо)

п.с самый прикол это что функцию можно вызвать в консоли хD
Записан

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 99
  • Оффлайн Оффлайн
  • Сообщений: 1274
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За разгадку главного секрета Nox За набор курсоров для Windows За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #109 : 08/07/2011 15:49:58 »

1. c unitOnDamage все просто вроде unitOnDamage(unit,function(Unit2,whoDamaged))) то есть unit это кому мы ее даем, Unit2 это тот с кем вызывается фн, (тот у кого она, то есть тот кого ударили), а whoDamaged это ессно тот кто ударил.
2. Данный функционал не доделан.
3. все эффекты вот
Spoiler: MSG_FX (click to show/hide)
А вот все параметры объекта выложить не могу, когда все станет с ними известно списки выложим, а щас обращайтесь лично)
Записан
Пользуйтесь UniMod-ом.

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 99
  • Оффлайн Оффлайн
  • Сообщений: 1274
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За разгадку главного секрета Nox За набор курсоров для Windows За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #110 : 10/07/2011 22:30:50 »

Отлично бага с сохранением карты, которая не давала мне спать исправлена!

Spoiler (click to show/hide)
Записан
Пользуйтесь UniMod-ом.

TheSim

  • Клан "NoX Craft"
  • Постоялец
  • *
  • Карма: 31
  • Оффлайн Оффлайн
  • Сообщений: 287
  • Awards Активным участникам сходок - 2013 За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #111 : 10/07/2011 23:54:30 »

Дио, где мапа? )))
[[С меня можешь требовать рисовалку]]

А также буду требовать объяснения, в чем была причина баги.
Записан

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #112 : 15/07/2011 12:08:16 »

выложите пожалуйста нубу список номеров клавиш (включая мышиные) для фн:
playerOnInput[Player](pl*,number c*, userdata targ*)
что нужно в Player и что pl?
п.с вопрос, а от куда вы узнаёте все эти данные?
Записан

TheSim

  • Клан "NoX Craft"
  • Постоялец
  • *
  • Карма: 31
  • Оффлайн Оффлайн
  • Сообщений: 287
  • Awards Активным участникам сходок - 2013 За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #113 : 15/07/2011 12:38:13 »

6=lclick, 2 = rclick 7=jump
Засунь туда фн, которая отправляет в print номер клавиши и понажимай разные.

Медленно, но верно разбираем нокс )
часть находим в коде, часть выясняем путем экспериментов
Записан

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #114 : 15/07/2011 12:39:46 »

ясно, спасибо.
Записан

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #115 : 22/07/2011 11:50:42 »

как использовать спелл кодовым путём?
Записан

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 99
  • Оффлайн Оффлайн
  • Сообщений: 1274
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За разгадку главного секрета Nox За набор курсоров для Windows За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #116 : 22/07/2011 12:52:26 »

spellApply(userdata,int spell,userdata,userdata, int x, int y) последние два параметра не обязательны
Записан
Пользуйтесь UniMod-ом.

Romaner811

  • Постоялец
  • ****
  • Карма: 8
  • Оффлайн Оффлайн
  • Сообщений: 323
    • Просмотр профиля
    • Гильдия Новичков
    • Awards
Вопросы по UniMod-y
« Ответ #117 : 29/07/2011 11:31:06 »

спасибо
а можно по подробнее о параметрах?
за ранее спасибо!)
Записан

Lаrboss

  • Старожил
  • *****
  • Карма: 109
  • Оффлайн Оффлайн
  • Сообщений: 910
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #118 : 16/08/2011 21:23:13 »

unitMove(userdata,*point)
1. userdata - откуда брать значение для этого параметра?
2. ScriptFunctionList.cs - извиняюсь, а где этот файл найти?
Записан
Отец читеров

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 99
  • Оффлайн Оффлайн
  • Сообщений: 1274
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За разгадку главного секрета Nox За набор курсоров для Windows За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #119 : 16/08/2011 21:31:11 »

userdata это указатель на объект, точнее на его основную структуру.
NoxTools\scripts\functions
Записан
Пользуйтесь UniMod-ом.

Lаrboss

  • Старожил
  • *****
  • Карма: 109
  • Оффлайн Оффлайн
  • Сообщений: 910
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #120 : 16/08/2011 21:59:28 »

Как мне этот самый указатель получить? Например, указатель на себя. В этом деле я дилетант.
Записан
Отец читеров

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2728
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #121 : 16/08/2011 22:15:59 »

В UniMode это setMe() )
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Lаrboss

  • Старожил
  • *****
  • Карма: 109
  • Оффлайн Оффлайн
  • Сообщений: 910
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #122 : 16/08/2011 23:50:00 »

setme() У меня не пашет, версия 0.5, много функций вообще не работает в юнике. Во дела.
Записан
Отец читеров

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2728
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #123 : 17/08/2011 00:22:25 »

Вообще есть некая переменная по адресу 0x85319C, в которой лежит твой netcode (тип - short, 2 байта). Соответственно с помощью Юника перебираешь просто все структуры (первый юнит плеера получаешь через void* playerFirstUnit() 0x4DA7C0, возвращает указатель на userdata как раз, потом void* playerNextUnit(void* prevUdata) 0x4DA7F0, один единственный аргумент - юзердата предыдущего игрока. Сам неткод игрока лежит вот так (код на С++):
void **PP=(void **)(((char*)udata)+0x2EC);
PP=(void**)(((char*)*PP)+0x114);
byte *P=(byte*)(*PP);
int NetCode=*((short*)(P+0x80C));
Соответственно если твой неткод совпадает с неткодом юзердаты - значит в этой юзердате ты.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 99
  • Оффлайн Оффлайн
  • Сообщений: 1274
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За разгадку главного секрета Nox За набор курсоров для Windows За релиз ЮниМода Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #124 : 17/08/2011 08:50:45 »

ололошеньки.
во первых setMe()
во вторых ты посмотри есть ли она в autoexec.lua...
есть еще способ доставания по координатам, но... можно вопрос? Зачем тебе их так много?
Записан
Пользуйтесь UniMod-ом.
Расширенный поиск  
 

Страница сгенерирована за 0.076 секунд. Запросов: 19.