Jump to content

XaskeL

Members
  • Posts

    246
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by XaskeL

  1. Помогите, пожалуйста. Как сделать так, чтобы айтем в инвентаре не выходил за рамки dxDrawRectangle? local sW, sH = guiGetScreenSize() local bW, bH = (sW/2), (sH/2) local offset = 0 local gRender = dxCreateRenderTarget(80,100) local showInv = false bindKey("TAB","up",function() if showInv == false then showInv = true else showInv = false end showCursor(showInv) end) addEventHandler('onClientRender', root,function () if showInv == true then -- INVENTORY dxDrawBox(bW+191, bH-280, 319, 560, tocolor(0, 0, 0, 70)) dxDrawLine(bW+500, bH-280, bW+500, bH+279, tocolor(200, 200, 200, 100), 1) dxDrawRectangle(bW+190, bH-300, 320, 20, tocolor(0, 0, 0, 255)) dxDrawText("INVENTORY", bW+195, bH-300, bW+510, bH-280, tocolor(160, 160, 160, 255), 1, 'default', 'left', 'center', false, false, true, false, false) -- PLAYER dxDrawBox(bW - 140, bH-280, 319, 380) dxDrawRectangle(bW - 140, bH-300, 320, 20, tocolor(0, 0, 0, 255)) dxDrawText("PLAYER",bW - 135, bH-300, bW+510, bH-280, tocolor(160, 160, 160, 255), 1, 'default', 'left', 'center', false, false, true, false, false) -- VICINITY dxDrawBox(bW - 470, bH-280, 319, 560) dxDrawRectangle(bW - 470, bH-300, 320, 20, tocolor(0, 0, 0, 255)) dxDrawText("VICINITY",bW - 465, bH-300, bW+510, bH-280, tocolor(160, 160, 160, 255), 1, 'default', 'left', 'center', false, false, true, false, false) -- SCROLL dxDrawScroll(bW+503, bH-279+offset, 5, 170) -- ITEMS dxDrawRectangle(bW+191, bH-345+65*1-offset, 309, 60, tocolor(100, 100, 100, 200)) dxDrawImage(bW+191, bH-345+65*1-offset, 60, 60, '571858.png', 0, 0, 0, tocolor(255, 255, 255, 255)) dxDrawText("Горный рюкзак", bW+261, bH-326+65*1-offset, bW+499, bH-306+65*1-offset, tocolor(255, 255, 255, 255), 1, 'default-bold', 'left', 'center', false, false, true, false, false) dxDrawText("Слоты: 0/38", bW+451, bH-346+65*1-offset, bW+499, bH-326+65*1-offset, tocolor(255, 255, 255, 255), 1, 'default-bold', 'right', 'center', false, false, true, false, false) end end) function Scroll(key, state) if (state == 'down') then if (key == 'mouse_wheel_up') then if (offset > 0) then offset = offset-97 else offset = 0 end elseif (key == 'mouse_wheel_down') then if (offset < 388) then offset = offset+97 else offset = 388 end end end end bindKey('mouse_wheel_up', 'down', Scroll) bindKey('mouse_wheel_down', 'down', Scroll) function dxDrawBox(x, y, w, h) dxDrawLine(x - 1, y - 1, x - 1, y + h, tocolor(200, 200, 200, 100), 1) dxDrawLine(x + w, y - 1, x + w, y + h, tocolor(200, 200, 200, 100), 1) dxDrawLine(x - 1, y + h, x + w, y + h, tocolor(200, 200, 200, 100), 1) dxDrawLine(x - 1, y - 1, x + w, y - 1, tocolor(200, 200, 200, 100), 1) dxDrawRectangle(x, y, w, h, tocolor(0, 0, 0, 100)) end function dxDrawScroll(x, y, w, h) dxDrawLine(x - 1, y - 1, x - 1, y + h, tocolor(200, 200, 200, 100), 1) dxDrawLine(x + w, y - 1, x + w, y + h, tocolor(200, 200, 200, 100), 1) dxDrawLine(x - 1, y + h, x + w, y + h, tocolor(200, 200, 200, 100), 1) dxDrawLine(x - 1, y - 1, x + w, y - 1, tocolor(200, 200, 200, 100), 1) dxDrawRectangle(x, y, w, h, tocolor(0, 0, 0, 10)) end
  2. Help me please, с позицией клика на карте. Саму карту уже сделал: local x,y,z = getElementPosition(getLocalPlayer()) local screenx, screeny = guiGetScreenSize() local box_screen_y = (screeny/100 * 98) - 430 local font_screen_x = (screenx/100) + (450) local font_screen_y = (screeny/100 *98) - 430 local point_x = (3000 + x)/6000 * 450 local point_y = (3000 - y)/6000 * 430 Но как определить куда он нажал? Хочу сделать миномет, а с этой хренью никак. Желательно получить позицию X,Y,Z.
  3. Lua - да. Но MTA не обновляют Lua. Говорят мол если обновят, то все ресурсы перестанут работать Squirrel и AngelScript я внедрял в МТА (в виде модуля). Squirrel не прижился мне. Не понравилось в нём это: Для создания полей у таблиц нужно использовать специальный оператор <-, таким образом невозможно создать новое поле, случайно ошибившись в имени. Считаю подобные вещи бредом. Что касается AngelScript.. Не вижу в нём смысла, когда есть C# О-о-о, а разве в MTA можно использовать СиШарп? Да это же офигенно! Пора готовить свадьбу... надеюсь шарп согласиться00)
  4. Чет не разворачивает в обратку :C
  5. Здравствуйте, конечно я недавно в Lua, по этому хотел спросить, как развернуть игрока к двум точкам? Сам в математике/геометрии и тригонометрии не силен вообще! Есть формула только на Pawn коде. А вот как её сделать в Lua я не знаю. #define fclamp360(%0) %0 += (%0 >= 360.0) ? -360.0 : ((%0 < 0.0) ? 360.0 : 0.0) stock Float:GetZAngleToPoint(Float:x1, Float:y1, Float:x2, Float:y2) { new Float:zangle; zangle = (180.0 - atan2(floatsub(x1, x2), floatsub(y1, y2))); fclamp360(zangle); return zangle; }
  6. Здравствуйте, кто нибудь может мне показать ПРИМЕР как сделать например шифрование скаченного кеша? Ибо я делаю свои модели и мне жалко, когда их воруют. С помощью двух функций(вроде они): 1. base64Decode 2. base64Encode Что бы при скачивании они шифровались сразу) и при повторном входе на сервер не нужно было скачивать сервер снова. Я конечно знаю один способ, в ручную, но он сложный и бредовый.
  7. лучший скриптер про-павна тут *_* у меня есть основа для твоего чата, но прокрутки нет только.
  8. Пробовал сделать ограничение в "voice" не получилось, слышно на всю карту либо через раз. И расскажите о мифической нагрузке на сервер из-за "voice" local nearbyPlayers = {} addEventHandler( 'onPlayerVoiceStart', root, function() local posX, posY, posZ = getElementPosition( source ) local chatSphere = createColSphere( posX, posY, posZ, 10) nearbyPlayers = getElementsWithinColShape( chatSphere, "player" ) destroyElement( chatSphere ) local empty = exports.ls_voice:getNextEmptyChannel ( ) exports.ls_voice:setPlayerChannel(source, empty) for index, player in ipairs (nearbyPlayers) do exports.ls_voice:setPlayerChannel(player, empty) end end) addEventHandler("onPlayerVoiceStop",root, function() exports.ls_voice:setPlayerChannel(source) for index, player in ipairs (nearbyPlayers) do exports.ls_voice:setPlayerChannel(player) end nearbyPlayers = {} end)
  9. Если это правда так, то спасибо за ответ!
  10. Последнее время, мта с выходом ветки 1.4 стал кушать около 2-3х ГБ оперативной памяти и 60-80% ЦП Хотя с 1.3.1 по 1.3.5 такого не было, максимум МБ - 200-400 жрало, но не как не 3 ГБ. FPS конечно не проседает, но во время игры к примеру зайти в тот же браузер будет проблемотично
  11. Кто знает как исправить эту ошибку? if (getPedWeapon(ped) < 19) and (getPedWeapon(ped) ~= 9) then
  12. Я не считаю что Pawn сложнее, Lua мне трудно дается из-за длинных названий функций.
×
×
  • Create New...