Jump to content

Общий мини "HELP ME" топик по скриптингу


Recommended Posts

Если команда существует.
executeCommandHandler 

пробовал не помогло! работало только в клиенте,прочтите первый вопрос я там всё писал...

Как, только в клиенте ?

Client and Server function

И еще, что ты хочешь сделать ? Чтобы кто-то сел в машину, написал /cveh и у его открылось меню ?

Link to comment

Господа, мне кто-нибудь скажет почему в MAP - файле не работает:

  
<colsphere posX="-1893" posY="863" posZ="36" radius="20" /> 
  

?

Пробовал и так:

  
<colshape type="sphere" posX="-1893" posY="863" posZ="36" radius="20" /> 
  

- не работает. Есть варианты решения проблемы?

Link to comment
Господа, мне кто-нибудь скажет почему в MAP - файле не работает:

  
<colsphere posX="-1893" posY="863" posZ="36" radius="20" /> 
  

?

Пробовал и так:

  
<colshape type="sphere" posX="-1893" posY="863" posZ="36" radius="20" /> 
  

- не работает. Есть варианты решения проблемы?

Создать колшейп скриптово ?

Link to comment

В мапе.

<wtfzone type="sphere" posX="-1893" posY="863" posZ="36" radius="20" /> 

В коде ресурса-гейммода:

function zonesInit() 
  for _, zone in pairs( getElementsByType( 'wtfzone' ) ) do 
    local x, y, z = getElementPosituion( zone ) 
    createColSphere( x, y, z, tonumber( getElementData( zone, 'radius' ) ) ) 
  end 
end 
addEventHandler( 'onGamemodeMapStart', root, zoneInit ) 

Типо так.

Link to comment
Если команда существует.
executeCommandHandler 

пробовал не помогло! работало только в клиенте,прочтите первый вопрос я там всё писал...

Как, только в клиенте ?

Client and Server function

И еще, что ты хочешь сделать ? Чтобы кто-то сел в машину, написал /cveh и у его открылось меню ?

Да только не написал,а в GUI нажал кнопку сработала комманда /cvehс проверкой на авто,а то она срабатывала но даже когда не в авто!

Link to comment
тогда надо еще тригер юзать. executeCommandHandler работает только с серверными или клиентскими командами в зависимости от своей принадлежности.

В том то и дело,я читал и уже 100 раз перепробовал разных вариантов этой комманды,оно будет загружать команду из другого ресурса?

Link to comment

Господа, предложите вариант решения проблемы - наложение dxDrawText'ов друг на друга. Нужно чтобы один при этом пропадал а другой оставался. Может как-то поманипулировать функцией isLineOfSightClear? Есть варианты? У меня только один - всех dxDrawText'ы запихать в один ресурс. А если без этого?

p.s. что-то я тут слишком часто вопросы задаю, и мне всё реже отвечают.

Link to comment
Господа, предложите вариант решения проблемы - наложение dxDrawText'ов друг на друга. Нужно чтобы один при этом пропадал а другой оставался. Может как-то поманипулировать функцией isLineOfSightClear? Есть варианты? У меня только один - всех dxDrawText'ы запихать в один ресурс. А если без этого?

p.s. что-то я тут слишком часто вопросы задаю, и мне всё реже отвечают.

Г-но вопрос. Все dx под один onClientRender и там уже манипулировать, можно создать таблицу в которой будут положения текстов, а в ключе их слой.

x, y = y, x не отменяли

Link to comment
тогда надо еще тригер юзать. executeCommandHandler работает только с серверными или клиентскими командами в зависимости от своей принадлежности.

В том то и дело,я читал и уже 100 раз перепробовал разных вариантов этой комманды,оно будет загружать команду из другого ресурса?

Я тебе писал как делать проверку на машину. Ты сам не понимаешь, что тебе нужно.

Link to comment

Г-но вопрос. Все dx под один onClientRender и там уже манипулировать, можно создать таблицу в которой будут положения текстов, а в ключе их слой.

x, y = y, x не отменяли

Да, вот я и говорю, если только всё в один ресурс, в один onClientRender. Да, таблица тоже вариант, но опять же, всё в один ресурс. Спасибо, я думал может есть где спец. параметр или функция для проверки.

Link to comment
Чем отличаются nametagText и playerName? Точнее 'setPlayerNametagText' и 'setPlayerName'.

setPlayerName изменяет ник игрока, setPlayerNametagText изменяет текст над самим игроком.

Link to comment
    function cvehcmd () 
        if (isPedInVehicle (source)) then -- находится ли игрок в транспорте 
            local veh = getPedOccupiedVehicle (source) 
            outputChatBox ("Настройки открыты.", source, 255, 0, 0)-- ниже выполняешь нужные тебе действия 
            call(getResourceFromName("cvehicle"), "enableVehicleControl", "cveh") 
        else 
            outputChatBox ("Вы не в автомобиле!", source, 255, 0, 0) 
        end 
    end 
    addEvent("cvehcmd",true) 
    addEventHandler("cvehcmd",getRootElement(),cvehcmd)-- у тебя ивент, но судя по названию ты хотел команду.  addCommandHandler функция, смотри вики 

    function cvehcmd () 
        if (isPedInVehicle (source)) then -- находится ли игрок в транспорте 
            local veh = getPedOccupiedVehicle (source) 
            outputChatBox ("Настройки открыты.", source, 255, 0, 0)-- ниже выполняешь нужные тебе действия 
            executeCommandHandler ( "cveh", playerSource ) 
        else 
            outputChatBox ("Вы не в автомобиле!", source, 255, 0, 0) 
        end 
    end 
    addEvent("cvehcmd",true) 
    addEventHandler("cvehcmd",getRootElement(),cvehcmd)-- у тебя ивент, но судя по названию ты хотел команду.  addCommandHandler функция, смотри вики 

Как его правильно использовать весь гугл перерыл,не работает проверка и тд. работает и тогда работала,я не пойму как она должна срабатывать((

Link to comment

1)Ребята, а не подскажите как присвоить объекту универсальный dimension, чтобы он находился сразу во всех, не дублируя сам объект? Создал свой интерьер, который должен будет использоваться в 17 дименшонах, а тут проблема.

2) На самодельном инте не работает проверка isPedOnGround. Как бороться? Может какие объекты помогут?

Link to comment

По первому пункту кстати тоже интересно.. Пока только костыль в виде создания объектов когда игрок входит и удалять когда выходит (на клиентской стороне).. хотя это не костыль, а наоборот правильно даже.

По второму: проверяйте через isLineOfSightClear (Client-only)

Link to comment

По поводу первого, спасибо, а вот насчет второго поподробней. У меня в инте стоит маркер выхода из него. При заходе на маркер стоит проверка isPedOnGround(чтобы игрок не прыгал на маркер) - во всех стандартных интах работает, а в моем - нет. Как тут поможет isLineOfSightClear?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...