Jump to content

Memory

Members
  • Posts

    383
  • Joined

  • Last visited

Everything posted by Memory

  1. Memory

    Creator areas

    Hello, I would like show my idea and interesting in your opinion about this) Script for create areas with colrentagle, just draw rentagle on map with help cursor and created colshape. Coordinates, sizes and color automatically saved in file. Video:
  2. Тоочно, спасибо, что-то я затупил)
  3. Всем привет, давно не занимался скриптами, тут опять начал, и уже во втором ресурсе какие-то проблемы с экспортом функции. В чём проблема не могу понять, как только не пробовал писать. Помогите, пожалуйста, что упускаю? Ресурс 1 Клиент function closeLoginWindow() ... call( getResourceFromName("skin_system"), "start_Skin_system" ) end addEvent("closeLoginWindow", true) addEventHandler("closeLoginWindow", getRootElement(), closeLoginWindow) Ресурс 2 Клиент addEvent( "start_Skin_system", true ) addEventHandler( "start_Skin_system", root, function( ) triggerServerEvent( "onStart", localPlayer ); end ) Мета function="start_Skin_system" type="client" /> Ошибки: ERROR: attempt to call a nil value ERROR: login_panel\client.lua:377: call: failed to call 'skin_system:start_Skin_system'
  4. Напиши функцию в ресурсе - ядре, которая будет останавливать все зависимые ресурсы, а в конце себя остановит. И поставь эту функцию на команду.
  5. Сдаётся мне, что это fadeCamera ( https://wiki.multitheftauto.com/wiki/FadeCamera ) где-то не вернули
  6. I agree that it is not copying or stealing. I just want say that this idea already realized in other server, and this script not is innovation. And so you made nice script
  7. Почитайте https://wiki.multitheftauto.com/index.php?title=RU/Main_Page, там есть ответы на все ваши вопросы, которые вы задали. И если возникнут вопросы или что-то не поймёте, обращайтесь.
  8. Да, глобальная переменная, созданная на клиенте, будет действовать на стороне клиента в пределах того ресурса, в котором была создана. С глобальной переменной, созданной на стороне сервера, аналогично.
  9. Ну как сказать, мой кривой пример занимает меньше места, чем твой.
  10. Как-то так local stateKey1 = 0; -- значение состояния Кнопки 1 local stateKey2 = 0; -- значение состояния Кнопки 2 -- Меняем значения, при нажатии на клавиши, и делаем проверку, нажаты ли они обе bindKey ( "F1", "down", function ( ) stateKey1 = 1; checkStates ( ); end ) bindKey ( "F2", "down", function ( ) stateKey2 = 1; checkStates ( ); end ) function checkStates ( ) if ( stateKey1 == 1 ) and ( stateKey2 == 1 ) then ... -- ваши действия end end ) --Возвращаем исходные значения клавиш, при отпускании клавиш bindKey ( "F1", "up", function ( ) stateKey1 = 0; end ) bindKey ( "F2", "up", function ( ) stateKey2 = 0; end )
  11. Извиняюсь, машинально, бездумно написал. Сейчас попробую что-нибудь дельное придумать.
  12. Вспомнил я один сервер, где человек всегда находил интересные решения. И у него есть такая особенность, он в большинстве случаев не компилировал свои скрипты, и никак не пытался их скрыть. Они у него даже были с пояснениями. Так вот, делать так может и неправильно, но я иногда заходил в кэш и смотрел его клиентские файлы. Это на начальных этапах обучения очень мне помогало и там я находил оригинальные решения задач. Это скриптер Puma (клана pac) Так вот к делу, у него весь текст на сервере был с обводкой. Нашёл я эту функцию, немного изменив. w, h = guiGetScreenSize() shadowTable = { {1,-1}, {1,0}, {1,1}, {0,1}, {0,-1}, {-1,-1}, {-1,0}, {-1,1} } function render () local shadows = {} local texts = {} table.insert ( texts, {"Простой текст", 400, 100, 100, 100, tocolor(255,255,255,255), 1, "bankgothic", "left", "top"} ) table.insert ( shadows, {"Простой текст", 400, 100, 100, 100, 255, 1, "bankgothic", "left", "top", 1} ) --указываем без tocolor, просто alpha, последнее значение толщина обводки table.insert ( texts, {"Простой большой текст", 400, 400, 100, 100, tocolor(255,255,255,255), 2, "bankgothic", "left", "top"} ) table.insert ( shadows, {"Простой большой текст", 400, 400, 100, 100, 255, 2, "bankgothic", "left", "top", 3} ) for i, t in pairs ( shadowTable ) do local oX, oY = t[1], t[2] for j, textTable in pairs ( shadows ) do local text, x, y, x2, y2, a, scale, font, alignX, alignY, thickness = unpack(textTable) oX, oY = oX*thickness, oY*thickness dxDrawText ( text, x+oX, y+oY, x2+oX, y2+oY, tocolor(0,0,0,a), scale, font, alignX, alignY ) end end for i, t in pairs ( texts ) do dxDrawText ( unpack(t) ) end end addEventHandler ( "onClientRender", getRootElement(), render )
  13. 2 и 3 можно осуществить биндами. Для скорости и выносливости используй bindKey("sprint", "down", ... ) и bindKey("sprint", "up", ... ). Для выносливости можно установить какое-либо значение и, пока кнопка нажата, отнимать его, а когда отжата - восстанавливать. Для силы удара, например, так: addEventHandler ( "onPlayerDamage", root, function (attacker, weapon, bodypart, loss) if ( weapon == 0 ) then setElementHealth ( source, getElementHealth(source) - 20 ) ---ещё отнимаем 20 единиц жизней end end )
  14. ls_gate1 = createObject ( 978, 1541.8000488281, -1627.9000244141, 13.199999809265, 0, 0, 90 ) function openls_gate(thePlayer) local p_model = getElementModel( thePlayer ) if ( p_model == 280 ) or ( p_model == 281 ) or ( p_model == 282 ) then moveObject (ls_gate1, 1000, 1541.8000488281, -1627.9000244141, 11.699999809265, 0, 0, 0 ) outputChatBox ("Ворота открыты", thePlayer, 230, 100, 100 ) end end addCommandHandler ( "lsopen", openls_gate ) function closels_gate(thePlayer) local p_model = getElementModel( thePlayer ) if ( p_model == 280 ) or ( p_model == 281 ) or ( p_model == 282 ) then moveObject (ls_gate1, 1000, 1541.8000488281, -1627.9000244141, 13.199999809265, 0, 0, 0 ) outputChatBox ("Ворота закрыты", thePlayer, 230, 100, 100 ) end end addCommandHandler ( "lsclose", closels_gate )
  15. Добавь: http://vk.com/id153656745 , может помогу чем.
  16. Беда у вас, а не код... Я думаю, theKenix имел ввиду что-то подобное: Server: addCommandHandler("hide", function ( thePlayer ) if isPedInVehicle ( thePlayer ) then local veh = getPedOccupiedVehicle ( thePlayer ) for i, player in ipairs ( getElementsByType("player") ) do triggerClientEvent ( player, "hideComp", player, veh ) end end end ) Client: addEvent( "hideComp", true ) addEventHandler( "hideComp", localPlayer, function ( theVeh ) local isVisible = getVehicleComponentVisible(theVeh, "bump_front_dummy") if (isVisible == true) then setVehicleComponentVisible(theVeh, "bump_front_dummy", false) end end )
  17. Не знаю, у меня всё прекрасно и без всяких проблем работало.
  18. Может я смогу чем помочь, сейчас в вк добавлюсь к вам.
  19. Почему только русскому, так поступили бы многие. Такой уж у нас век, никто не хочет рисковать своими деньгами.
  20. https://forum.multitheftauto.com/viewtopic.php?f=141&t=79187
  21. Лови Client: function onEnterVehicle () bindKey ( "k", "down", startLights ) setElementData ( localPlayer, "on", 0 ) end addEventHandler ( "onClientPlayerVehicleEnter", getRootElement(), onEnterVehicle ) function startLights ( ) local state = getElementData ( localPlayer, "on" ) if ( state == 0 ) then setElementData ( localPlayer, "on", 1 ) triggerServerEvent ( "addVehicleToTable", localPlayer ) else setElementData ( localPlayer, "on", 0 ) triggerServerEvent ( "removeVehicleFromTable", localPlayer, getPedOccupiedVehicle ( localPlayer ) ) end end function Exit ( vehicle ) unbindKey ( "k", "down", create ) setElementData ( localPlayer, "on", 0 ) triggerServerEvent ( "removeVehicleFromTable", localPlayer, vehicle ) end addEventHandler ( "onClientPlayerVehicleExit", getRootElement(), Exit ) function Explode ( ) unbindKey ( "k", "down", create ) setElementData ( localPlayer, "on", 0 ) triggerServerEvent ( "removeVehicleFromTable", localPlayer, source ) end addEventHandler ( "onClientVehicleExplode", getRootElement(), Explode ) function Destroy () if ( getElementType(source) == "vehicle" ) then unbindKey ( "k", "down", create ) setElementData ( localPlayer, "on", 0 ) triggerServerEvent ( "removeVehicleFromTable", localPlayer, source ) end end addEventHandler ("onClientElementDestroy", getRootElement(), Destroy ) Server: local vehicles = { }; addEvent ( "addVehicleToTable", true ) addEventHandler ( "addVehicleToTable", getRootElement(), function ( ) local vehicle = getPedOccupiedVehicle ( source ) table.insert ( vehicles, vehicle ) end ) addEvent ( "removeVehicleFromTable", true ) addEventHandler ( "removeVehicleFromTable", getRootElement(), function ( veh ) table.removevalue(vehicles, veh) end ) function startLights ( ) for i, v in ipairs ( vehicles ) do setVehicleLightState ( v, 0, 0 ) end setTimer( function ( ) for i, v in ipairs ( vehicles ) do setVehicleLightState ( v, 0, 1 ) end end, 50, 1 ) end setTimer ( startLights, 500, 0 ) addEventHandler("onPlayerQuit", root, function() local veh = getPedOccupiedVehicle ( source ) table.removevalue(vehicles, veh) end) function table.removevalue(t, val) for i,v in ipairs(t) do if v == val then table.remove(t, i) return i end end return false end
×
×
  • Create New...