Jump to content

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


Recommended Posts

Если под событием понимается функция, то

в пределах одного ресурса - просто обратившись к ней.

Если ресурсы разные, то ф-ию нужно экспортировать, через meta.xml:

function="название_функции"/> 

После этого, к ней можно обратиться из любого места:

exports.Название_ресурса:название_функции() 

Если под событием понимается именно сам ивент (зарегистрированный через addEvent, addEventHandler), то все тоже самое. Надо экспортировать функцию, которая привязана к событию и вызывать ее.

Link to comment

У меня маленькие три вопроса зарание извеняюсь просто не знаю язык Lua :

Как сделать чтоб по определённой кнопке например J загарались фары и при повторном нажатии выключались? - 1

Как сделать аттач объекта например чемодан к руке? - 2

Вот как сделать круг над головой в как в GTA IV Multiplayer чтоб цвет кружка совападал с цветом ника? - 3

Link to comment

Kenix,знаешь может я непраильно понял,но как знаю я то Marker это то что в гонках красные маркеры на земле но как маркером можно сделать обыкновенный кружок?может его надо делать функцией DxDraw?

Link to comment

Это просто идея.

dxDrawImage 

Цвет картинки благо можно изменить )

Естественно обновляй в ренедере и используй эту функцию

getScreenFromWorldPosition 

Link to comment

Vincent, хочешь сказать вот это код который сотрёт полосу хп игрока?

root = getRootElement ( ) 
-- Store all the players in the server into a table 
players = getElementsByType ( "player" ) 
  
function ResourceStart ( name, root ) 
    for k,v in ipairs ( players ) do              -- for all the players in the table 
        setPlayerNametagShowing ( v, false )      -- turn off their nametag 
    end 
end 
addEventHandler ( "onResourceStart", root, ResourceStart ) 
  
function PlayerJoin () 
      -- Whoever joins the server should also have their nametags deactivated 
    setPlayerNametagShowing ( source, false ) 
end 
addEventHandler ( "onPlayerJoin", root, PlayerJoin ) 

Link to comment

Думаю, что да.

Только не факт, что именно полоску, а если полоску то не факт, что останется ник :)

Скинул тебе чтобы проверил, я же не скриптер в конце концов)

Link to comment
  • Scripting Moderators

Можно убрать весь nametag, полосу ХП никак. Если нужно, делай собственный nametag тогда уж.

Link to comment
  • Scripting Moderators
dxDrawImage 
getPedBonePosition 
getScreenFromWorldPosition 

Пример с вики:

addEventHandler( "onClientRender",root, 
   function( ) 
      local px, py, pz, tx, ty, tz, dist 
      px, py, pz = getCameraMatrix( ) 
      for _, v in ipairs( getElementsByType 'player' ) do 
         tx, ty, tz = getElementPosition( v ) 
         dist = math.sqrt( ( px - tx ) ^ 2 + ( py - ty ) ^ 2 + ( pz - tz ) ^ 2 ) 
         if dist < 30.0 then 
            if isLineOfSightClear( px, py, pz, tx, ty, tz, true, false, false, true, false, false, false, localPlayer ) then 
               local sx, sy, sz = getPedBonePosition( v, 5 ) 
               local x,y = getScreenFromWorldPosition( sx, sy, sz + 0.3 ) 
               if x then -- getScreenFromWorldPosition returns false if the point isn't on screen 
                dxDrawText( getPlayerName( v ), x, y, x, y, tocolor(150, 50, 0), 0.85 + ( 15 - dist ) * 0.02, "bankgothic" ) 
               end 
            end 
         end 
      end 
   end 
) 

Link to comment

Сейчас у меня немножко другая проблема я вот решил сделать карту из Point Blank один человек кторого я знаю давно сделал её значит я заменил модели и вечно падаю под этот обект вся карта одним объектом txd+dff+col я всё заменил и падаю помогите очень надо вот код

function LoadModels( startedResource )    
 if(startedResource == getThisResource()) then    
  
txd = engineLoadTXD ( "Library_Skr1.txd" ) 
engineImportTXD ( txd, 4603 ) 
dff = engineLoadDFF ( "PLibrary_1.dff", 4603 ) 
engineReplaceModel ( dff, 4603 ) 
col = engineLoadCOL ( "Library.col", 4603 ) 
engineReplaceCOL ( col, 4603 ) 
  
 end    
 end  
 addEventHandler ( "onClientResourceStart", getRootElement(), LoadModels) 
  

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