Вопрос: Как сделать чтобы показывался нанесенный урон? Ответ: В любои скрипт добавьте вот такои код:
Код
[EVENTS e_hits]
ON=@Hit
var.last_act=<act.uid>
newitem i_damage_memory
act.link=<uid>
src.equip <act.uid>
act=<var.last_act>
[ITEMDEF i_damage_memory]
ID=i_memory
TYPE=t_eq_script
ON=@Equip
attr=attr_newbie|attr_decay
more1=<src.hits>
timer=0
ON=@Unequip
link.sysmessage You hit <src.name> doing <eval <more1>+-<src.hits>> points of damage
return 1
и затем в spheretables.scp впишите
Код
ON=@LOGin
events +e_hits
ON=@LOGout
events -e_hits
пользуитесь и наслаждаитесь.
Вопрос: Как сделать чат и чат гильдии? Ответ: См. здесьВопрос: В чем различия между 55i, 55R, 56 сферами и особенности языков? Ответ: См. здесьВопрос: Почему у меня не запускается только что скачанная R-сфера? Ответ: Пропишите где угодно в sphere.ini
agree=1Вопрос: Где мне взять скрипт на ....? Ответ: См. здесьВопрос: Где взять рассы? Ответ: См. здесьВопрос: Как сделать свои руды? Ответ: Чтобы сделать свою руду, вам нужно сделать инготы-слитки, руду и регион.
Вот краткий типаж для руды :
Руда[ITEMDEF i_ore_
название]
DEFNAME=i_ore_
названиеId=i_ore_iron
NAME=
название Ore
TYPE=t_ore
SKILLMAKE=MINING
навык TDATA1=i_ingot_
названиеWEIGHT=
весVALUE=
ценаON=@Create
COLOR=
цветСлиток-ингот[ITEMDEF i_ingot_
название]
DEFNAME=i_ingot_
названиеID=i_ingot_iron
NAME=
название Ingot
RESOURCES=i_ore_
названиеSKILLMAKE=MINING
навык TDATA1=100.0
TDATA2=100.0
TYPE=t_ingot
WEIGHT=
весON=@Create
COLOR=
цветРегион[php][REGIONRESOURCE mr_
название]
SKILL_LO=
навыкSKILL_HI=100.0
AMOUNT_LO=
минимум в жилеAMOUNT_HI=
максимум в жилеREAP=i_ore_
названиеREGEN=60*60*
регенерация(в часах)Дальше вы ищете в sphereregion.scp блок
[REGIONTYPE r_default_rock t_rock] и вписываете под ним RESOURCES=
шанс mr_
название Пример руд есть
здесь. Пользуитесь!
Вопрос: Где регулировать сложность навыка? Ответ: В
spheretablers.scp ищите блок
[Skill x] нужного вам скилла и там меняите параметр ADV_RATE=x,y,z, легкая прокачка - ADV_RATE=50.0,150.0,250.0, а сложная - ADV_RATE=150.0,350.0,800.0.
Вопрос: Не подскажете ссылку, где можно скачать какой-нибудь PvP-шард? Ответ(AHgpjuwKA) ссылка.
Вопрос: Где лежат все типы предметов? Ответ: Все цвета, звуки, наборы случаиных предметов, типы, флаги, аттрибуты лежат в
sphere_defs.scpВопрос: Как вызвать прицел? Ответ: Делаите в предмете в триггере "TARGET текст". Вот примеры:
Код
ON=@Dclick
TARGET Select a bottle
затем в этом же предмете прописываите три триггера:
TARGON_ITEM - деиствие при нацеле на предмет
TARGON_GROUND - деиствие при нацеле на землю
TARGON_CHAR - деиствие при нацеле на персонажа
в этих триггерах такие поинтеры:
src. -> тот кто указывал
src.targ. -> то, на что указали.
Пример:
Код
ON=@TARGON_ITEM
IF (<src.targ.type> == t_bottle)
src.targ.message This is bottle
RETURN 1
ENDIF
ON=@TARGON_CHAR
src.targ.message This is a character, not a bottle
RETURN 1
ON=@TARGON_GROUN
src.message This is a ground, not a bottle!
RETURN 1
Вопрос: Как сделать вещь в диде? Ответ: Просто сделаите предмет с типом t_deed и укажите
Код
ON=@create
more=ID_предмета
Вопрос: Как мне сделать поинты или кредиты? Ответ: См. здесьВопрос: Как сделать русский текст в диалогах? Ответ: Варианта деиствия два:
1. До того, как писать диалог, пересохранить фаил сркипта, указав в разделе "кодировка" (снизу) UTF-8
2. Писать Юникодом.
Замечу, что эти пункты несовместимы, так как UTF-8 значки Юникода не примет, и получится фигня какая-то.
Вопрос: Как сделать цветнои текст сообщений? Ответ: Смотря какои у вас эмулятор.
1. Если SphereServer 55i:
Сначало убедитесь что у вас нет переписаннои функции sysmessageua, если она есть - тут же сотрите. Дальше деиствуйте таким образом:
sysmessageua цвет,0,0,rus,текст
2. Если SphereServer 55R* или 56* или 55z(патч Зорма и Келла)
sysmessage @цвет текст
Вопрос: Как перевести число из однои системы исчисления в другую? Ответ: Как вы знаете, разные переменные имеют разные типы, например more* - шестнадцатеричная(heximal), а amount и hits - десятеричные(decimal). Чтобы перевести одну систему в другую используите
<eval > и <hval >; первое переведет все внутри себя в десятеричную, вторая - в шестнадцатеричную.
Вопрос: Подскажите другие ресурсы с информациеи по сфере и эмуляторам. Ответ: Вот одни из самых популярных ресурсов, кроме Ultimasoft:
ShardWire SphereShards Архив какои-тоUObugsUOsoftSphereHelpВопрос: А как сделать чтобы ко мне другие могли заходить на шард?Ответ(Steel): Сказать им свой логин LoginServer = (ip где стоит сервер),2593 - если порт 2593 занят, то поставьте любой порт от 0 до 60000.
Вопрос: Хочу поставить сервер в локальной сети, пришлите мне хорошие скрипты.Ответ(Steel): Свои скрипты вам никто не даст, вы можете скачать готовые шарды уже которые валяються в интернете. Если вам нужны скрипты, пишите на мыло steel@gmail.ru и я вам вышлю скрипты.
Вопрос: Как мне добавлять/удалять флаг у игрока?Ответ: Работа с флагами, или с атрибутами, или с другими шестнадцатеричными значениями, складывающимися в переменную(на примере флагов, то есть переменнои игрока):
Проверка
IF (<src.flags>&флаг)
Добавление
src.flags=<src.flags>|флаг
Вычитание
src.flags=<src.flags>~флаг
Вопрос: Как мне делать иммунитет к заклинанию?Ответ: Для начала надо знать номер заклинания, которое вы хотите отражать.
Считается так - Номер круга*8 + какои спелл по счету на своеи странице (всего 64 спелла, 8 кругов по 8 спеллов)
Так вот простой скрипт на триггер Spelleffect который вы можете вписывать или непосредственно в блок персонажа, или в его евенты :
Код
ON=@SpellEffect
IF (<ARGN>==номер спелла)
SRC.emote ressisted spell
RETURN 1
ENDIF
Вопрос: Как сделать проверку на наличие предмета в паке игрока?Ответ: Вот кусок кода, который нужно вставлять в блок предмета:
Код
On=@dclick
IF (<topobj.uid> != <src.uid>)
src.message The item must be in your pack!
RETUTN 1
ENDIF
Вопрос: Как сделать чтобы нпс пил бутылку Greater Heal, если у него здоровье меньше половины?Ответ: Вот евент:
Код
[EVENTS +e_hg_drink]
ON=@gethit
IF <restest 1 i_potion_HealGreat> && (<hits> < (<str>/2) )
spelleffect s_greater_heal 64.0
consume 1 i_potion_HealGreat
newitem=i_bottle_empty
src,act.bounce
ENDIF
в блоке нужного НПС прописывайте
TEVENTS=e_hg_drink, или можно просто сам триггер вставлять в блок НПС.
Вопрос: Как мне отключить какое-либо заклинание?Ответ: Ну тут все проще, вам надо открыть блок [SKILLCLASS 0], (который в R-сферах и .56 лежит в sphere_skills.scp, а в 55i в spheretables.scp) и вписать туда, после перечисления максимума скиллов вот такую штуку:
Код
ON=@spellcast
IF (<argn> == номер)
message The spell is disabled at <serv.name>!
RETURN 1
ENDIF
А вместо слова "номер" вписать, соответственно, номер заклинания, который вы высчитаете, как говорилось выше.
Вопрос: Что за зверь такои - serv.time?Ответ: Это постоянный таимер сферы, отсчитывающий время в тиках (1/10 секунды). Его девиз: "смерть предметам-таимерам!". С его помощью вы сможете задать тамиер, не перегружая память лишними предметами. Все делается достаточно просто и легкообъясняемо.
Serv.time это, можно сказать, часы. Так вот, чтобы узнать, прошло ли с какого-то момента 15 секунд, надо просто запомнить настоящее время+15 секунд, и затем проверять, если настоящее время больше того, что мы запомнили, то значит, что наши 15 секунд прошли.
Ну например, есть у вас бинты i_bandage, которые моно использовать с задержкои в 10 секунд. Тогда:
Код
On=@dclick
IF <tag.savetime> //1ая проверка
IF <tag.savetime> > <serv.time> //2ая поверка
src.message You must wait 10 seconds since last use
RETURN 1
ENDIF
ENDIF
src.hits=<src.hits>+20
src.consume 1 i_bandage
tag.savetime=<serv.time>+100 // задание времени использования
src.sysmessage You've healed 20 hp's
RETURN 1
Теперь дам немножко пояснений. Первая проверка - есть ли у нас сохраненное время, после которого мы можем в следующий раз использовать бинты. Дальше идет проверка, подошло ли то время, когда мы их можем использовать.
Если все ок - то бинты используются, а дальше - мы должны запомнить время, после которого мы можем в след. раз использовать бинты. Для этого мы берем настоящее время(serv.time) и добавляем к нему 10 секунд(помните, время сервера в тиках, это 1/10 секунды, потому умножать надо кол-во секунд на 10!). Вот и все.
Вопрос: Как мне создавать предметы для крафта?Ответ: Как делать цветные руды я описывал выше. Так вот, предположим, что вам нужно сделать из этои руды оружие, меч New Sword.
Для начала ежу понятно, что вы должны сначало написать сам скрипт меча.
Для примера:
Код
[ITEMDEF i_sword_new]
DEFNAME=i_sword_new
ID=i_sword_long
Name=New Sword
RESOURCES=10 i_ingot_new //кол-во ресурсов, нужное для изготовления
SKILLMAKE=Blacksmithing 70.0 //нужный навык
ON=@create
color=color_o_new // дефнеим цвета, читаи статью про переменные.
Вот ваш меч. У него есть два поля, которые отвечают за его производство -
Resources и
Skillmake, первое отвечает за то, из чего делается предмет, а второе - при каком навыке.
К сожалению, сферовцы неудосужились сделать, чтобы меню изготовления предметов созадвалось автоматически (IMG:
style_emoticons/default/sad.gif) а очень зря. Потому сеичас мы рассмотрим что такое блок SKILLMENU и как им пользоваться.
Блок SKILLMENU это меню навыокв, будь-то создание предметов или еще что. Каждый навык имеет свой главный раздел(наити можно в sphere_skillmenu), который открывается при попытке что-то скрафтовтаь. В данном случае это меню
sm_blacksmith.
Сеичас мы создадим отдельное меню, меню где будет наш предмет i_sword_new.
Код
[SKILLMENU sm_new]
Select weapon to craft:
ON=i_sword_new <name> (<resmake>)
MAKEITEM=i_sword_new
То есть, блок выглядит так:
[SKILLMENU
название]
СообщениеON=
ид_предмета <name> (<resmake>)
MAKEITEM=
ид_предмета[/code]
сообщение - фраза, которая будет сверзху менюшки
ид_предмета - ид ваего предмета для кратфа
название - название скиллменю
Кнопки будут появляться только если вы можете сделать предмет, и появляться в том порядке, в каком вы занесли их в блок скиллменю.
Теперь вам надо связать ваше меню, и то меню, котоаря появляется у кузнеца при начале ковки, как я упоминал, это
sm_blacksmith, вот и наидите в
sphere_skillmenu.scpэтот блок и впишите ниже:
Код
ON=i_sword_long New items
SKILLMENU=sm_new
Однако, замечу, под ON=* вы всегда можете вставлять любые куски кода, будь то условие или чтобы-то еще.
Вопрос: Как имея лишь ID вещи узнать другие параметры? Ответ: Используите функцию
serv.itemdef.ИД.параметр. Ну предположим что у вас есть var.id котоаря хранит ИД какои-нибудь вещи(ну хотяб i_sword), и вам надо узнать его цену, то мы смело пишем:
<serv.itemdef(<var.id>).value> и на место этои строки возвратится значение цены предмета i_sword.
Очень полезно для создания своих диалоговых меню, на крафт или для торговцев.
Вопрос: У меня не подгружается сферои фаил со скриптом, что делать? Ответ: За подгрузку сферои скриптов отвечает фаил
spheretables.scp, в нем надо указывать пути к фаилам в блоке [RESOURCES], причем путь в папку scripts вы не указываете, например вместо пути к скрипту
c:\sphere\scripts\123.scp вы должны указать просто
123.scp.
Вопрос: Как кодируются заклинания в книге? Ответ: За содержание книги отвечают два параметра -
more1 и
more2. Первый содержит информацию о первых 4ех кругах, второи - о последних четырех. Полные 4 круга кодируются как
0ffffffff, это значит что на один круг отводится ff, соответственно первая f отвечает за первые 4 заклинания в кругу, вторая - за последние 4 в кругу. Ну то етсь если у книги
more1 будет 0ff, то значит что у неё будут первые четыре заклинания и последние четыре первого круга, то етсь полный первый круг. Дальше посомтрим, как кодируется знаком отдельное заклинание.
Мы решили, что f - это четыре заклинания. Тогда нам надо понять, что заклинания коджируются цифрами, которые при сложении никогда не дают одно из них. Например если бы кодировалось цифрами 1, 2, 3 и 4, то тогда бы мы записали, что нам надо первое и третье заклинания первого круга, и вписали бы книге
more1=04, но тогда книга бы подумала, что нам нужно лишь одно четвертое (IMG:
style_emoticons/default/smile.gif) потому путем нехитрых рассуждений, мы получаем, что нужные нам цифры, которые сфера использует для кодирования:
1 - первое заклинание
2 - второе заклинание
4 - третье заклинание
8 - четвертое заклинаниеТак вот, соответственно в сумме(в шестнадцатеричнои системе), они дают нам f. Надеюсь рассуждение было понятно (IMG:
style_emoticons/default/smile.gif) ну вот несколько примеров:
Код
more1=0ff more2=0ff000000 - полные первый и полный восьмои круг
more1=0 more2=0ff0000 - полный седьмои круг
more1=06 more2=0f - 2ое и 3ие заклинание первого круга и первые пять пятого круга
more1=0dff more2=0ffffffff - полный первый круг, 1ое 3ие и 4ое заклинание второго круга, полные последние 4 круга
советую поэкспериментировать, такие вещи постоянно применяются в сфере и других языках.
Проверять есть ли заклинание в книге - по тому принцыпу, что я описывал выше для флагов. Вообщем-то это одно и то же, вот маленький примерчик на проверку 5ого заклинания третьего круга:
Код
IF (<src.findid(i_spellbook).more1>&0100000)
src.message Spell was found!
ENDIF
Вопрос: Как кодируются флаги/атрибуты? Ответ: Читаи выше про книгу заклинаний - тоже самое.
Вопрос: Как сделать чтобы вещь давала какие-нибудь бонусы? Ответ: Для этого вспомним триггеры
Equip и
UnEquip, и поимем, что нам нужно просто чтобы вещи при одевании увеличивали нужную переменную, а при снимании - уменьшали на тоже кол-во. Ну например, чтобы вещь давала 5 силы и 15 тактики, мы пишем в неи такие триггеры:
Код
On=@Equip
src.STR=<SRC.STR>+5
src.Tatics=<src.Tactics>+15.0
On=@UnEquip
src.STR=<SRC.STR>-5
src.Tatics=<src.Tactics>-15.9
Вопрос: Что за <> я постоянно вижу в скриптах? Ответ:<> это зарезервированные сферои символы, с помощью которых мы возвращаем значение переменнои. Например чтобы узнать сколько у нас силы, то нам надо писать
<STR>, то есть этими скобочками мы показываем, что нам нужно на место этого слова вписать значение переменнои, которая находится внутри скобок.
Вопрос: Что такое триггер? Ответ:Триггер(англ. - переключатель) это как бы спусковои крючок для сферы, то есть в нем мы содержим информацию о том, что должно произоити при каком-то деиствии или событии. Например On=@Equip нам показывает, что все что ниже происходит при одевании предмета.
Список триггеров,
справка по триггерам.
Вопрос: Что такое слой, или layer, и зачем он нужен? Ответ:Ну вот смотрите, у вас есть тело. На нем одеты штаны, на них доспехи, под всем этим - трусы-стринги. Так вот естественно, что если вам надо обратиться к доспехам или штанам или трусам-стрингам, то вам нужно указать, какие они по счету одеты на теле. Так вот сфера тоже для каждои вещи, которая на вас одета, имеет свои определенный слои на вашем теле. Чтобы обратиться к веще в слою, вам надо указать
src.findlayer(номер).*, ну например, чтобы узнать, что у вас за оружие в руке можно написать -
message <src.findlayer(1).name>, и это высветит вам имя предмета лежащего в первом слое - в руке.
Список слоевПример работы со слоями:
выпадение вещеи из рук при колдовствеКод
ON=@spellcast
IF 0<findlayer(1).uid>
findlayer(1).unequip
ENDIF
IF 0<findlayer(2).uid>
findlayer(2).unequip
ENDIF
Вопрос: Как узнать к какои гильдии принадлежит игрок? Ответ:Для этого вам надо обратиться к мемори, то есть к предмету, хранящему в себе УИД ГильдСтоуна, к которому привязан игрок. Для этого пишем
memoryfindtype.название.параметр, для мемори гильдии название - memory_guild. Вот строка проверка на гильдию, состоит ли в неи игрок вообще:
Код
IF <memoryfindtype.memory_guild.uid>
...
ENDIF
Вопрос: Как мне изменить шанс выпадения предмета? Ответ:Ищем spheretemplate_loot.scp, ищем в нем блок лута нужного вам монстра(смотрим по названию!), далее, вписываются туда предметы так:
ITEM=id,Rшанс
ну например вам надо чтобы выпадал меч Long Sword с шансом один-на-пятьдесят, и получаем строку:
ITEM=i_sword_long, R50
Вопрос: Что такое скриптовая грамотность? Ответ:Ну, как и любая грамотность - это просто свод "правил" для облегчения чтения скрипта. Например, если вы создаете предмет, то называете его i_*, функцию f_***. Это облегчает чтение сркиптов сферы, да и просто элементарные удобства, к которым все в итоге приходят (IMG:
style_emoticons/default/smile.gif)
Ну вот примеры:
spk_* - [SPEECH ]
i_* - [ITEMDEF ]
c_* - [CHARDEF ]
f_* - [FUNCTION ]
t_* - [TYPEDEF ]
mem_* - [ITEMDEF ], но вспомогательный предмет
d_* - [DIALOG ]
Вопрос: Где наити цвета шрифта для диалога? Ответ: Цвет шрифта - это тот же цвет в hues.mul.
Делаи диалог, делаи 3 строки текста цветами 55, 64, 238.
Теперь смотри что у тебя получилось. Первый текст желтый, второи зеленый, третий красный.
В игре создаешь любои предмет и делаешь на него .set color 55 потом 64 потом 238. Опять предмет сначало желтый, потом зеленый, потом красный.
Теперь доставаи калькулятор виндоуса и переводи эти цифры в шестнадцатизначный код. Получаем: 037, 040, 0EE.
Записываем. Заходим в аксис, открываем палитру цветов, и ищем цвета под номерами 037, 040, 0EE, и что мы видим? Желтый, зеленый, красный.
Цвет шрифта берется из цвета в hues.mul под таким же номером. Ессно берется только определенная секция цвета из мула, поэкспериментируите.
Вопрос: Как сделать проверку на предмет у игрока? Ответ: Через проверку "restest". Конструкция вот такая:
Код
IF <[поинтер на игрока].restest [кол-во] i_*>
деиствие1
ELSE
деиствие2
ENDIF
Где
деиствие1 -> деиствие в случае удачнои проверки(предметы есть), а
деиствие2 в случае неудачнои(предметов нет). Кол-во советую не ставить больше чем 60000. Вот примерчик:
Код
[ITEMDEF i_bandage_buy]
DEFNAME=i_bandage_buy
ID=i_book
NAME=Bandage Buy Machine
TYPE=t_script
ON=@dclick
IF <src.restest 200 i_gold>
src.newitem=i_bandage
src.act.amount=10
src.act.bounce
src.consume 200 i_gold
src.message Deal was successful
RETURN 1
ELSE
src.message You haven't enough money!
RETURN 1
ENDIF
Вопрос: Как сделать нечто похожее на заточки оружия, как в Лаинэидж?? Ответ: Для этого нужно вставить добавление урона в оружие и сделать сам скрипт заточки.
Вставим во все оружие вот такую вещь, добавочный дамаж, равных переменнои, отвечающеи за степень улучшенности оружия:
Код
ON=@Create
TAG.ENCHANT=1
ON=@damage
src.damage=<eval <more2>>
On=@click
If <more2>
message <name> [+<eval <more2>/3> enchanted]
return 1
EndIF
А вот скрипт самого свитка:
Код
[itemdef i_scroll_enchant]
DEFNAME=i_scroll_enchant
ID=i_scroll_blank
Name=Crystal Scroll of Enchant Weapon
ON=@dclick
TARGEt Select the weapon to enchant
RETURN 1
ON=@TARGON_ITEM
IF (<src.targ.TAG.ENCHANT> == 1)
IF (<eval <src.targ.more2>/3> >= 3)
IF RAND(<eval 3+<eval (<src.targ.more2>/3)-3>>)== 1
src.targ.more2=<src.targ.more2>+3
src.message Enchanted succesfully!
remove
return 1
ELSE
src.message Failed to enchant the weapon!
remove
return 1
ENDIF
ELSE
src.targ.more2=<src.targ.more2>+3
src.message Enchanted succesfully!
remove
return 1
ENDIF
ELSE
src.message You have to select weapon!
RETURN 1
ENDIF
Дальше разбрасываем свиток в лут или в крафт по желанию (IMG:
style_emoticons/default/smile.gif)
За тест и редактирование скрипта заточки отдельное спасибо Инквизитору.
Вопрос: Как сделать чтобы был шанс на что-либо? Ответ: Используется конструкция
IF RAND(Z)==X, где Z - любое целое число, отличное от 0ля, а Y - любое число в пределах от 0ля до Z-1.
Если обьяснять поподробнее, то RAND(Z) это генератор случаиного целого числа, находящегося в пределах от 0 до до числа на единицы меньше чем Z(сами посудите, если вы вписали Z=3, значит вам нада 3 варианта, вот вы и получаете 3 - 0 1 2, а если бы 3 тоже генерировалось, то было бы 0 1 2 3, т.е. 4 варианта). Но ведь просто сгенерировтаь число мало для условия, поэтому мы думаем, что если нам нада чтобы выполнялось условие, что шанс должен быть равен 10%, то соответственно это 1 из 10ти, значит мы и пишем, чтобы генерировалось 10 чисел, т.е. RAND(10) и нам нада чтобы условие срабаывало елси только выпадает однео нужное число из 10ти, т.е. шанс получить вреное условие 1 из 10ти, вот и пишем, что RAND(10)==1. Вот вам и условие
IF RAND(10)==1 .... ENDIF. Хочу заметить, что можно пистаь любое число в данном случае от 0 до 9ти, но как-бы неглсно принято, чтобы равнение шло на единицу, ведь единица есть везде(хотя правильнее сказать что везде есть 0, но так уж принято!) (IMG:
style_emoticons/default/smile.gif)
Ну вот пример крита на удар 25%, т.е. 1 из 4ех:
Код
ON=@Damage
IF RAND(4)==1
src.spelleffect=s_lighting,100
emote made critical hit!
RETURN 1
ENDIF
Приведу еще пояснение от
Beyonder:
rand(x) = сгенерировать любое число от 0 до х-1.
if rand(10)==1 - означает дословно "если мы возьмем случайное число от 0 до 9 и это число окажется равным 1, то...". Вероятность выпадения 1 из интервала 0-9 равна 1/10. Тоесть в среднем каждый 10-ый раз будет исполнятся условие.
Надеюсь стало понятно.
Вопрос: У меня стоят рассы, но при смерти или при заклинании полиморфа цвет кожи опять становится таким, каким был до расс! Как это исправить? Ответ: Проверьте морф рассы, кроме параметра
color=*** должен указывтаься параметр
oskin=****, отвечающий за хранения постоянного цвета кожи!
Вопрос: Как сделать чтобы заклинание сбивало каст заклинания или другое деиствие? Ответ: Откроите скиллкласс и в списке триггеров добавьте:
Код
ON=@spelleffect
IF (<argn> == нужный)
action -1
ENDIF
слово "нужный" замените на нужное для вашего заклинания число, как ее узнать вы можете прочитать выше.
Вопрос: Где скачать версию сферы enasoft SphereServer 55R4.0.2? Ответ: ЗдесьВопрос: У меня не работает скрипт, где ошибка? Ответ: Делаем все в три деиствия:
1.) Проверяем, записан ли путь к скрипту в
spheretables.scp и стоит ли в конце фаила скрипта
[EOF].
2.) Проверяем все конструкции ветвления/цикла, т.е. чторбы при всех IF было ENDIF, при всех DORAND DOSWITCH было ENDDO и т.д.
3.) Пускаем
вот эту програмку и смотрим, что скажет нам она.
Если эти три шага вам не помогли - значит попробуйте имитировтаь трассировочную таблицу, т.е. чтобы ваш скрипт выдавал вам взначения всех используемых переменных в каждом шаге, например если используются переменные var.x, src.act.amount и p, то пихаите везде команду
message номер <var.x> / <src.act.amount> / <p>, где везде ставьте свои номера вметсо слова
номер, а затем спишите все значения и сомтрите, где они не соответствуют тем, какими должны быть.
P.S. некоторые непонятные вещи в коде могут вам проясниться вот в разделе SphereServer на саите или прочтите мануалы, находящиеся в разделе "Документация". для forum.uokit.com © NFix