Начну не посредственно с тем условием данную тему, что сам Actor Торговца уже создан, если возникнут вопросы как его создать, пишите=)
Итак, приступим-с
Запускаем Realm Scripter.
Создаем новый файл, назовем его к примеру BlacksmithSetup.
В данном скрипте пропишем те предметы (шмот,оружие,еда,руда) которые будет продавать наш торговец. Скрипт для RC Standart версии 1.083
Code
Function Main()
GiveItem(Actor(), "Beer", 11)
SetName(Actor(), "Jonh")
Return()
End Function
Скрипт для RC Standart версий 1.20+
Code
Function Main()
GiveItem(Actor(), "Beer", 11)
SetName(Actor(), "John")
Return
End Function
В данном скрипте команда
GiveItem(Actor(), "Beer", 11) - дает торговце 11 кружек/бутылок Beer/пива
SetName(Actor(), "John") - дает имя нашему торговцу. В данном случае John.
С более подробным синтаксисом команд можно ознакомится в базовом Хелпе RC или в программе Realm Scripter
Сохраняем и создаем ещё один файл, назовем его к примеру Blacksmith. Это основной файл где прописывается диалог между игроком и торговцем, покупка/продажа предметов.
Скрипт для RC Standart версии 1.083
Code
Function Main()
Player = Actor()
D = OpenDialog(Player, ContextActor(), "Trader")
//Start
DialogOutput(Player, D, "Welcome, lets get started.", 255, 255, 255)
Result = DialogInput(Player, D, "Trade", "Goodbye")
//Trading
Output(Actor(), "My result is: " $+ Result)
If (Result == 1)
OpenTrading(Player, ContextActor())
DialogOutput(Player, D, "Thanks for coming!", 255, 255, 255)
ElseIf (Result == 2)
CloseDialog(Player, D)
EndIf
DialogInput(Player, D, "Goodbye!")
CloseDialog(Player, D)
Return()
End Function
Скрипт для RC Standart версий 1.20+
Code
Using "RC_Core.rcm"
Function Main()
Player = Actor()
D = OpenDialog(Player, ContextActor(), "Trader")
;Start
DialogOutput(Player, D, "Welcome, lets get started.", 255, 255, 255)
Result = DialogInput(Player, D, "Trade", "Goodbye")
;Trading
Output(Actor(), "My result is: " + Result)
If (Result = 1)
OpenTrading(Player, ContextActor())
DialogOutput(Player, D, "Thanks for coming!", 255, 255, 255)
ElseIf (Result = 2)
CloseDialog(Player, D)
EndIf
DialogInput(Player, D, "Goodbye!")
CloseDialog(Player, D)
Return
End Function
Сохраняем и запускаем Game Editor.
Заходим во вкладку "Zones", выбираем зону где хотим разместить нашего торговца.
И создаем waypoint со следующими настройками:
Сохраняем, запускаем сервер, клиент.
Итог:
!!! Для обладателей лицензии и доступа к SDK - окно торговли редактируется в исходном коде.
Файл Interface.bb ~Строка 115
Файл Interface3D.bb ~Строка 1779
+ Хелп в помощь !!!