- 172
- 252
Описание: Трансмиссия содержит 6 передних и 6 задних передач. Автоматически подстраивается под движение вперед/назад с помощью клавиш W и S.
Требования: Moonloader, cleo, sampfuncs.
Активация: Клавиша INSERT сидя в транспорте, она же для деактивации.
Управление: Колёсико мыши вверх/вниз для разных типов передач по разному. Правая кнопка мыши для смены передачи/Gearlock.
Автор: Izd4T
Исходный код:
Требования: Moonloader, cleo, sampfuncs.
Активация: Клавиша INSERT сидя в транспорте, она же для деактивации.
Управление: Колёсико мыши вверх/вниз для разных типов передач по разному. Правая кнопка мыши для смены передачи/Gearlock.
Автор: Izd4T
Исходный код:
Lua:
script_name("Transmission")
script_author("IZD4T")
require "lib.moonloader"
function main()
repeat
wait(0)
until isSampAvailable()
CarControlBlock = 0xB73458
GearControlMemory = CarControlBlock+0x20
DragControlMemory = CarControlBlock+0x22
GearStep = 51
pGear = 0
nGear = 0
GearState = 0
ScriptStatus = 0
while true do
wait(0)
if wasKeyPressed(VK_INSERT) then
if ScriptStatus==0 then
ScriptStatus=1
GeneralFont = renderCreateFont("Arial", 16, 0, "utf-8")
else
ScriptStatus=0
renderReleaseFont(GeneralFont)
end
else
end
if ScriptStatus==1 then
local ScreenWidth, ScreenHeight = getScreenResolution()
if isPlayerPlaying(playerPed) then
if isCharInAnyCar(playerPed) then
if wasKeyPressed(VK_RBUTTON) then
if GearState==-1 then
GearState=0
elseif GearState==0 then
GearState=1
elseif GearState==1 then
GearState=-1
end
end
if GearState==-1 then --positive
local mWheelDelta = getMousewheelDelta()
if mWheelDelta>0 then --up
if pGear<255 then
pGear=pGear+GearStep
end
elseif mWheelDelta<0 then --down
if pGear>0 then
pGear=pGear-GearStep
end
end
renderFontDrawText(GeneralFont, "Gearlock", 16, ScreenHeight/2, 0xFFECF0F1, false)
renderFontDrawText(GeneralFont, "Forward: "..pGear/51, 16, ScreenHeight/2+16, 0xFF3498DB, false)
renderFontDrawText(GeneralFont, "Reverse: "..nGear/51, 16, ScreenHeight/2+32, 0xFFECF0F1, false)
elseif GearState==1 then --negative
local mWheelDelta = getMousewheelDelta()
if mWheelDelta>0 then --up
if nGear<0 then
nGear=nGear+GearStep
end
elseif mWheelDelta<0 then --down
if nGear>-255 then
nGear=nGear-GearStep
end
end
renderFontDrawText(GeneralFont, "Gearlock", 16, ScreenHeight/2, 0xFFECF0F1, false)
renderFontDrawText(GeneralFont, "Forward: "..pGear/51, 16, ScreenHeight/2+16, 0xFFECF0F1, false)
renderFontDrawText(GeneralFont, "Reverse: "..nGear/51, 16, ScreenHeight/2+32, 0xFF3498DB, false)
elseif GearState==0 then
renderFontDrawText(GeneralFont, "Gearlock", 16, ScreenHeight/2, 0xFF3498DB, false)
renderFontDrawText(GeneralFont, "Forward: "..pGear/51, 16, ScreenHeight/2+16, 0xFFECF0F1, false)
renderFontDrawText(GeneralFont, "Reverse: "..nGear/51, 16, ScreenHeight/2+32, 0xFFECF0F1, false)
end
if isKeyDown(0x57) then
writeMemory(GearControlMemory, 2, pGear, 1)
end
if isKeyDown(0x53) then
writeMemory(GearControlMemory, 2, nGear, 1)
end
else
end
else
end
end
end
end