Jump to content
Alloder.pro: about Allods with love
Search In
  • More options...
Find results that contain...
Find results in...

New program for writers

We turn from quantity to quality and tell you how we will supplement the Allods Team program with rewards in rubles.

More

The new Updater

Let us to introduce the new addon updater software and to share the details

Read more

Alloder 2.0

We have started the process of project evolve, and this relates not only, and not even primarily of the site's view

Read more

Помогите примером новичку


Guest Nezar
 Share

Recommended Posts

Хочу написать маленький аддон. Но как то не очень получается.

Мне проще разбираться на готовых примерах - но тут они очень сложные. Даже банальный вывод часов и таймера на экран связан с графикой и.т.п. непонятными мне пока функциями.

Поэтому у меня просьба к гуру, которая особо не должна их обременить.

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

И все. без каких либо наворотов и плюшек.

Спасибо!

Link to comment
Share on other sites

Разбирайся с примерами в \data\Mods\SampleAddons\

Берешь, к примеру, папку SampleZoneAnnounce и кидаешь ее в \data\Mods\Addons

+ читай прикрепленные темы

Quote:
Даже банальный вывод часов и таймера на экран связан с графикой и.т.п. непонятными мне пока функциями.

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

Link to comment
Share on other sites

я понятия не имею что делает аддон SampleZoneAnnounce - поэтому и не знаю что мне в нем искать.

написать на экране число каким то шрифтом в любом аддоне связано с графикой?

Link to comment
Share on other sites

Quote:
понятия не имею что делает аддон SampleZoneAnnounce

А я тебе и предлагаю узнать это. Ты вроде хотел чему то научиться? На примерах
Quote:
написать на экране число каким то шрифтом в любом аддоне связано с графикой?

Ну, если графикой считать создание-размещение виджетов(текст тоже куда то надо помещать) - да
Из ресурсов клиента пользовательским аддонам абсолютно ничего нельзя брать
Link to comment
Share on other sites

для любого примера должно быть описание. хотя-бы того что он делает.

а если тупо смотреть в код без малейшего понимания его работы и его назначения - то так ничему не научишься.

я так понимаю Вы профи в написании аддонов. Хорошо когда есть знающие люди готовые помочь...

Link to comment
Share on other sites

Quote:
Хорошо когда есть знающие люди готовые помочь...

Хорошо когда есть люди, желающие чему то научиться.
...
За вас не только прожевать - еще и проглотить?
Link to comment
Share on other sites

Quote:
для любого примера должно быть описание. хотя-бы того что он делает.

Из Allods Online\data\Mods\Docs\ModdingDocuments.zip\Creating.html:

Quote:
SampleZoneAnnounce
Дополнение data\Mods\SampleAddons\SampleZoneAnnounce. Пример, выводящий уведомление о переходе игрока в другую зону. Показывает возможность отключения оригинального интерфейса игры с аналогичной функциональностью.

Но , перед тем, как читать этот ModdingDocuments.zip, как правильно заметил Nikon, лучше начать с прикреплённой темы "Как сделать свой аддон" - эта тема как раз для новичков.
Link to comment
Share on other sites

я просмотрел эту тему. с нее и начал. и с документации ModdingDocuments

но перечень функций это замечательно, особенно когда есть нормальные примеры. А когда их нет, то это просто перечень...

Это похоже на приготовление торта, который ты не можешь попробовать и не знаешь рецепта.

За описание - спасибо. Упустил я его.

Link to comment
Share on other sites

Есть достаточно простые аддоны, работающие без использования интерфейса:

AutoPetAttack

AutoAcceptInvite

Почти все аддоны (код) упрощенно построены по схеме:

Code:
function OnEventSample( params ) -- начало функции,  params  - таблица с полученными от события данными

--тут мы что-нибудь получаем в переменные с помощью функций

--и что-нибудь делаем с переменными

end -- конец функции

common.RegisterEventHandler( OnEventSample, "EVENT_SAMPLE" ) -- Когда сработает "EVENT_SAMPLE"  запустить функцию OnEventSample  

Реальные пример (пересказ кода AutoAcceptInvite) :

Code:
-- то, что написано после двух черточек не читается компилятором = комментарий = что хочу, то пишу

-- EVENT HANDLERS (События)

function GimmeParty( params ) -- Функция GimmeParty -- ( Пригласили в пати )

group.Accept() -- Автоматом согласиться (в API есть описание функции)

MaybeCloseMsgboxes() -- запустить функцию MaybeCloseMsgboxes()

end -- конец функции

function GimmeRaid( params ) -- Пригласили в рейд

raid.Accept()  -- Принять приглашение

MaybeCloseMsgboxes() -- запустить  MaybeCloseMsgboxes() 

end

function GimmeQuest( params ) -- Делятся квестом. В переменной  params лежат пришедшие данные(params.shareId - Id квеста, которым делятся)

avatar.AcceptShareQuest( params.shareId ) -- Принимаем квест с ID равным  params.shareId .. (смотри API по "AcceptShareQuest") 

MaybeCloseMsgboxes() -- запустить  MaybeCloseMsgboxes() 

end

function MaybeCloseMsgboxes() -- функция  MaybeCloseMsgboxes()  - выключает появившиеся от приглашений в пати\рейд\квест окошки

common.StateUnloadManagedAddon( "ContextUniMessageBox" ) -- Выгрузить стандартный аддон  "ContextUniMessageBox"

common.StateLoadManagedAddon( "ContextUniMessageBox" ) -- А теперь загрузить по новой стандартный аддон  "ContextUniMessageBox"

end

-- INITIALIZATION (Старт аддона)

common.RegisterEventHandler( GimmeParty, "EVENT_GROUP_INVITE" ) -- Если приглашают в группу, (можешь найти справку по  "EVENT_GROUP_INVITE" и по "RegisterEventHandler" в Lua API от Нивала ) запустить функцию GimmeParty

common.RegisterEventHandler( GimmeRaid,  "EVENT_RAID_INVITE" ) -- Если происходит событие "EVENT_RAID_INVITE" (приглашают в рейд) включить функцию GimmeRaid

common.RegisterEventHandler( GimmeQuest, "EVENT_QUEST_SHARE_INVITATION" ) --- Если  "EVENT_QUEST_SHARE_INVITATION", запустить GimmeQuest

Уф.. много букаф) В любом случае API читать придется.. много.

PS не забывай про Ctrl+F ..

Link to comment
Share on other sites

спасибо!

я с Lua немного знаком. даже написал на нем пару программок для "кражи" данных с гугл и яндекс карт.

но здесь все совсем по другому(

Пошел разбираться.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use