Можно сделать юнит (в С2 мобы так называются (... дурное влияние МайнКрафта ._.))
с постоянным скриптом торговли (I), можно сделать торговца на определённой карте (II),
а можно как в "Random map" случайно появляющегося в начале (III).
Вариант I:
Добавляем скрипт к существующему юниту, либо создаём нового,
добавив в файл "sys/units.inf" следующие строчки:
Code
id=... //любой незанятый идентификатор юнита (с 46-ого для оригинальной версии С2)
name=... //имя юнита
group=human //или animal (по факту мало что немяет)
icon=gfx\... //путь к иконке
model=gfx\... //путь к модельке
scale=1.0 //масштаб модели
colxr=15 //радиус сферы коллизии (15 - стандарт для человекообразных юнитов)
colyr=30 //высота сферы коллизии (30 - ===///===)
behaviour=normal
health=100 //кол-во здоровья
speed=1.0 //скорость движения
ani_idle1=4,8,0.02 //анимация "стояния" (1 число - первый фрейм анимации, 2 - последний, 3 - хз что, вроде время анимации)
ani_move=2,3,0.06 //анимация ходьбы
ani_die=8,11,0.05 //анимация смерти
sfx=... //имя префикса звуковых эффектов
loot=...,... //необезательно; то, что "выпадает" при смерти (1 число - ид предмета, 2 - кол-во)
В конце инфы нужного нам юнита добавляем то,
что нам было необходимо - скрипт торговли:
Code
script=start
on:use {
dialogue "start","sys/scripts/my_trader.s2s";
}
script=end
файлом "my_trader.s2s" займёмся попозже
Вариант II:
В редакторе заходишь в свойства нужного юнита и в скрипты ему записываешь:
Code
on:use {
dialogue "start","sys/scripts/my_trader.s2s";
}
Добавлено (10.06.2012, 19:27)
---------------------------------------------
Вариант III:
Открываем файл "sys/scripts/random_start.s2s".
Если торговец должен появляться как один из возможных на случайной карте,
то в строке "$event=random(1,5);" меняем 5 на 6
и перед последней скобкой вставляем:
Code
if ($event==6){
$id=randomcreate("unit",|ид юнита-торговца|,50,1000000);
addscript "unit",$id,"sys/scripts/random_charscripts.s2s","my_trader";
}
Если торговец должен появляться на всех случайных островах,
то просто добавляем перед последней скобкой:
Code
$id=randomcreate("unit",|ид юнита-торговца|,50,1000000);
addscript "unit",$id,"sys/scripts/random_charscripts.s2s","my_trader";
Дальше открываем файл "sys/scripts/random_charscripts.s2s" и добавляем в него:
Code
//~my_trader
on:use {
dialogue "start","sys/scripts/my_trader.s2s";
}
Теперь общее для всех вариантов - то, чем должен торговать торговец.
Создаём файл "my_trader.s2s" и добавляем туда следующее:
Code
page=start
title=Торговец
text=start
Я торговец, чем могу помочь?
text=end
button=trade,Что у тебя есть на продажу?
button=info,Ты кто такой? //необязательно
button=action:close,Давай, до свидания!
page=trade
title=Торговля
### комментарий
trade=start
sell=ИД покупаемого нами предмета,кол-во
buy=ИД продаваемого нами предмета,кол-во
trade=end
### комментарий
trade=start
sell=ИД,кол-во
buy=ИД,кол-во
trade=end
//и так далее...
button=action:close,Пока!
page=info //если нет кнопки на эту страницу, то эту и дальнейшие строки не нужны
title=Торговец
text=start
Тут могла быть ваша реклама
text=end
button=trade,Чай, кофе, поторгуем?
button=action:close,Покедова!
Слово my_trader можно заменить на что угодно, тогда ВЕЗДЕ его заменяем на нужное.
Вроде всё, если возникнут вопросы - пиши на форуме,
я почти каждый день захожу