Jump to content

Memory

Members
  • Posts

    383
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Memory's Achievements

Street Cat

Street Cat (24/54)

0

Reputation

  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 )
×
×
  • Create New...