F.A.Q

Автор Shadowhide, 29 ноября 2009 19:52:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Shadowhide

есть func_rotating который вращается по оси X
можно ли сделать так чтоб он вращался по той-же оси,но в другую сторону ?

Shadowhide

понял как
нужно параметр скорости вращения задать отрицательный

Shadowhide

есть одна маленькая идея,но нужна помощь в реализации
в общем надо проверить сколько у игрока лута(желательно всего,но можно проверять только золото),и если у игрока он есть - что-то происходит

void ABC()
{
       do
       {
             if ($player1.getLootAmount(1, 50) {
                   sys.print ("it works);
                  sys.cacheSoundShader ("frob_loot");
                   $player1.startSoundShader ("frob_loot", SND_CHANNEL_ANY);
                   sys.wait(1);
             }
             else {
                   sys.wait(1);
             }
      } while(true);
}


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

Chuzhoi

#318
Во-первых, в пятой строке явно не хватает закрывающей скобки. А во-вторых, функция getLootAmount берет один аргумент - тип лута (для общей суммы лута должен быть равен LOOT_TOTAL или 0, но у нас там было что-то не так с этими лутовскими константами, поэтому лучше писать цифрой). То есть (если я правильно понял и код нужно выполнить, если у игрока 50 и более лута) нужно писать вот так:

if ($player1.getLootAmount(0) >= 50) {

Если же нужно просто проверить наличие золота, то достаточно написать так:

if ($player1.getLootAmount(0)) {

В шестой строке также не хватает закрывающей кавычки:

sys.print ("it works");

Chuzhoi

И еще. Данный код будет повторять звук раз в секунду, если взят лут. Если нужно просто однократно совершить некое действие, то в девятой строке вместо sys.wait(1); нужно написать:

return;

Shadowhide

спасибо,попробую :)

Shadowhide

#321
а чтобы убрать 50 лута изинвентаря,какая должна быть функция ?

$player1.changeLootAmount(0) -50);

пишет too few parameters для этой линии
или это вообще неправильно ?

вот так вот :
$player1.getLootAmount(0) >-50 ;
ошибок нет,но просто не работает

Chuzhoi

#322
Цитата: Shadowhide от 10 февраля 2013 20:45:20
а чтобы убрать 50 лута изинвентаря,какая должна быть функция ?

$player1.changeLootAmount(0) -50);

Чтобы убрать 50 золота из инвентаря:
$player1.changeLootAmount(2, -50);

(убирать можно только по типам, 1 - камни, 2 - золото, 3 - товары).


Цитата: Shadowhide от 10 февраля 2013 20:45:20
вот так вот :
$player1.getLootAmount(0) >-50 ;
ошибок нет,но просто не работает
Это просто логическое выражение, результат которого никак не используется. Ошибок (в смысле синтаксиса) нет. Но и эффекта тоже.

Можно написать так:

if ($player1.getLootAmount(0) > -50)
{
// сюда вставить какой-нибудь код
}


Тогда код выполнится, если у игрока больше -50 лута. Только имеет ли это смысл?

Shadowhide

спасибо,если все получится - запишу ютуб видео :)

Shadowhide

заспавнил стрелу под именем "broadhead1" через скрипт :

entity broadhead1 = sys.spawn("atdm:ammo_broadhead");

потом пытаюсь ее добавить в инвентарь таким макаром :

$player1.addInvItem($broadhead1); 

пишет что "broadhead1" не найден

первая функция точно работает,так она спавнится на точке " 0 0 0 ",но я специально спавнил ее на другой точке с помощью скрипта :
broadhead1.setOrigin('168 -8 48');
и это работает
я не понимаю,почему она не хочет добавлятся в инвентарь,после того как заспавнилась

Chuzhoi

Убери знак доллара. broadhead1 - это имя переменной, которая ссылается на стрелу, а не имя стрелы.

Shadowhide

спасибо,работает !

Shadowhide

интересно,а можно-ли через скрипт проверять,соприкасается ли объект с чем либо,будь то игрок или любая другая энтитя ?

UL

Лично я не знаю, но по аналогии у каждого меша (насколько я понял в Дромадере называется браш) есть физическая модель, то об чего спотыкется Гаррет или на чего залезает, раз в Сифе активно используются триггеры, камни падают стражники останавливаются не прыгая в реку, значит можно как то сшить триггеры физическую модель и позицию в пространстве.
Ничто не имеет значения, только цель.

Chuzhoi

Цитата: Shadowhide от 03 мая 2013 13:18:09
интересно,а можно-ли через скрипт проверять,соприкасается ли объект с чем либо,будь то игрок или любая другая энтитя ?
Черт его знает. Теоретически можно. Практически - не знаю.