Форум » Вопросы и ответы » Вопросы по скриптам » Ответить

Вопросы по скриптам

Киллер: Задавайте вопросы по скриптовому языку ЗОД и ждите скорейшего ответа на них!

Ответов - 285, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

Максим: slava98 Я не умею их делать. Я делаю просто карту с переключением режима дня и ночи! P.S. Не-а. Не помог твой код. Он ввёлся успешно, но ничего такого нету!

VIRUS: Максим пишет: P.S. Не-а. Не помог твой код. Он ввёлся успешно, но ничего такого нету! Чей код?

Максим: VIRUS Код aka slava98!


slava98: а ты запустил user.DayAndNight()? в моём коде нужно смены деня/ночи ждать 5 мин и всё работает на только ничего не видно... зы. теперь я затеял сделать кампанию с этой функцией, а то в ws она не смотрится

Максим: slava98 Я хотел, чтобы в самом начале карты он запустился (скрипт инициализации).

slava98: function user.DayAndNight() pushcmd(function() conf.sv_nightmode = true end, 1) pushcmd(function() conf.sv_nightmode = false end, 270) pushcmd(function() user.DayAndNight() end, 540) end; user.DayAndNight() Скопируй это и вставь в скрипт инициализации. Я проверял, работает.

Максим: slava98 Помогло! Спасибо!

Anti_Killer: VIRUS service ("ai", {name="ourwarrior1", vehname="e1", nick="Поселенец", class="ekivator1", skin="ekivatorl", team=3, on_die="user.M1OnDieBot1()", on_damage="nameofatacker = who.name; user.DamageOurvarrior()", active=0}) 1.Если не получается чтото сперва проверяй передается ли функция в переменную и чему равна через вывод на экран сообщения 2.Не используй глобальные переменные (ставь перед переменными слово local ) Допустимо только использование глобальной переменной user. Вместо Attackerа привычная переменная who, все правильно, но в on_damage нужно поместить по минимуму, обычно достаточно просто написать "user.DamageOurvarrior(who)", далее работать уже внутри функции, а у тебя глобальная переменная создается, а это пункт 2, все остальные преобразования делаются уже внутри функции. И как трактовать эту строчку ? if nameofatacker ~= "ourplayer1" then т.е. если ударил кто то кроме игрока то бот взбунтуется. Ты этого и хотел или как?

VIRUS: Anti_Killer пишет: if nameofatacker ~= "ourplayer1" then Это по моему Слава редактил)) Да а если написать user.DamageOurWarriour(who) то как извлечь who.name или who содержит name?

VIRUS: хахахаха) Может функция и работала просто объект с именем ourplayer1 не существует)) ourplayer1 - vehname Сейчас переделаю функцию как ты сказал. Посмотрим...

VIRUS: я все равно не понимаю как сделать... Помоги пожалуйста

Sanctus (slava98)7: VIRUS пишет: Это по моему Слава редактил)) Я там только кавычки поставил. Я тоже не понимал, почему там ~=.

Максим: Теперь подвопрос по 2 (сделано). 2.1. Как сделать так, чтобы когда появится ночь, то все боты бы остановились и спали, кроме специального класса "Ночные убийцы". Класс такой же, как и класс defaunt, но ночью он не спит. Сам игрок тоже не спит. 2.1.1. Собственно, класс "Ночные убийцы" создайте и выложите в раздел "Классы" (или я сам создам, если скрипты помогут).

VIRUS: Максим пишет: 2.1. Как сделать так, чтобы когда появится ночь, то все боты бы остановились и спали, кроме специального класса "Ночные убийцы". Класс такой же, как и класс defaunt, но ночью он не спит. Сам игрок тоже не спит. Нужно отключить тех игроков

Максим: VIRUS Автоматически снова, а не через редактор.

VIRUS: ну да pset("name", "active", 0 или 1)

Максим: VIRUS Для классов, а не для определённого игрока! И причём если наступила ночь каждый раз применялось!

slava98: Ну типо ставить триггеры на точках рождения с именем, например 'n_trig(и здесь номер триггера)', даже скорее вокруг: if who.class=='night' then for i=1, (здесь мах кол-во игроков) do who.name='night'..i kill('n_trig(и здесь номер триггера)'') end и сама функция тогда: function user.DayAndNight() pushcmd(function() conf.sv_nightmode = true local tank = object('night'..i) tank.playername="" kill('night'..i) end, 1) end, 1) pushcmd(function() conf.sv_nightmode = false end, 270) pushcmd(function() user.DayAndNight() end, 540) end; user.DayAndNight() PS. Только не работает.

VIRUS: Максим пишет: VIRUS Для классов, а не для определённого игрока! И причём если наступила ночь каждый раз применялось! А не легче когда ставится ночь, ставить всем нужным ботам актив 0?

slava98: VIRUS насколько я понял, там игрок ставит ботов. И классы. Я говорю, типа если класс у игрока такой то, то его имя такое то и ночью у него отнимается актив. Короче, завтра сам попробую. Это выполнимо, но очень сложно.



полная версия страницы