Jump to content

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


Recommended Posts

https://wiki.multitheftauto.com/wiki/OnClientPreRender

  
  
local nZ = 20 -- начальная позиция по оси Z 
  
function OnClientPreRender( ) 
    nZ = nZ + 0.1 
    if math.floor( nZ ) >= 50 then -- Когда позиция по оси Z будет больше или равно 50ти, то убираем обработчик и напрявляем камеру на игрока 
        removeEventHandler( 'onClientPreRender', root, OnClientPreRender ) 
        setCameraTarget( localPlayer ) 
    else 
        setCameraMatrix( 0, 0, nZ ) 
    end 
end 
addEventHandler( 'onClientPreRender', root, OnClientPreRender ) 
  
  

Обновил.

Link to comment

Если не хочется париться с вычислением углов и прочего, достаточно создать объект и двигать его с помощью moveObject ну и естественно обновлять координаты камеры в onClient(Pre)Render.

Link to comment

Ну, например стоят 4 маркера

И до них нужно доехать за определенное кол-во времени

Если доехал до 1 маркера, то к основному времени добавляются ещё несколько минут и.т.д. со 2 и 3 маркером

Как это сделать?

И как вывести таймер на экран?

Link to comment

Хранить информацию о таймере в Element Data (сервер)

Выводить как тебе нравится, например через OnClientRender, и там брать информацию о таймере из Element Data (клиент)

P.S. Я так понимаю вопрос "Как это сделать?" тоже самое что и "Сделайте за меня всё!" ?

Link to comment
Хранить информацию о таймере в Element Data (сервер)

Выводить как тебе нравится, например через OnClientRender, и там брать информацию о таймере из Element Data (клиент)

P.S. Я так понимаю вопрос "Как это сделать?" тоже самое что и "Сделайте за меня всё!" ?

Kernell, я хотел только узнать вот это

Хранить информацию о таймере в Element Data (сервер)

Выводить как тебе нравится, например через OnClientRender, и там брать информацию о таймере из Element Data (клиент)

Спасибо, узнал как делать :D

Link to comment
Как отключить отправку сообщений в onPlayerChat ?
function blockChatMessage() 
    cancelEvent() 
    outputChatBox ('Main chat is locked',source,255,255,255,true) 
end 
addEventHandler( "onPlayerChat", getRootElement(), blockChatMessage ) 

Есть функция отключения визуальных повреждений транспорта, но чтобы хп транспорта тратилось при атаке?

в смысле?

Link to comment
Есть функция отключения визуальных повреждений транспорта, но чтобы хп транспорта тратилось при атаке?

в смысле?

Ну есть fixVehicle ( vehicleValue ) - чинит и восстанавливает здоровье транспорта

есть setElementHealth - восстанавливает только здоровье, а есть функция которая только чинит поврежденные запчасти?

function blockChatMessage() 
        cancelEvent() 
        outputChatBox ('Main chat is locked',source,255,255,255,true) 
end 
addEventHandler( "onPlayerChat", getRootElement(), blockChatMessage ) 

Все равно выдает в чат что-то типа:

Player: bla bla bla 
Main chat is locked' 

Link to comment

Мое предложение может быть слишком муторным, но мб как вариант:

1) получаем хп транспорта

2) чиним

3) ставим ему те же хп

транспорт будет визуально цел, а хп будут старыми (т.е. например цел, но дымить будет).

а вот чтобы сделать машину неизменной визуально, но коцаемой я способа пока не нашел.

нашел только как сделать тачку полностью неубиваемой.

Link to comment
Мое предложение может быть слишком муторным, но мб как вариант:

1) получаем хп транспорта

2) чиним

3) ставим ему те же хп

транспорт будет визуально цел, а хп будут старыми (т.е. например цел, но дымить будет).

а вот чтобы сделать машину неизменной визуально, но коцаемой я способа пока не нашел.

нашел только как сделать тачку полностью неубиваемой.

Такой вариант не подходит, у меня стоит необходимая проверка на изменение жизней транспорта.

Ладно про тему с чатом забил.

Link to comment

Ох скриптач, я пришел.

Столкнулся с такой проблемой, что не получается передать указатель на функцию через таймер. Есть код

    function dtest () 
        outputChatBox(getPlayerName(source) .. ": ouch!") 
    end 
     
addEventHandler("onPlayerDamage", root, dtest) 
setTimer(removeEventHandler, 2000, 1, "onPlayerDamage", root, dtest) 

При выполнении происходит ошибка:

[17:34:11] WARNING: dloader\dloader.lua:37 Bad argument @ removeEventHandler' [Expected function at argument 3, got nil] 

Получается, что таймером указатель на функцию не передается? Или что-то поменялось за то время, что я не ковырялся в МТА?

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...