Технический форум Помощь по скриптингу
larnet7 16.09.2017 в 15:13

Проверенный

Репутация: 213 бал.

Замечания: 0 бал.

LordOri, таймер + проверка времени. Всё на серверной части
Twin_Soul 24.09.2017 в 18:36

Проверенный

Репутация: 3 бал.

Замечания: 0 бал.

Кто может подсказать анимацию наручников? Чот найти не могу..
L3firD 25.09.2017 в 20:39

Проверенный

Репутация: 36 бал.

Замечания: 0 бал.

Twin_Soul, В МТА нет анимации наручников.
LordOri 28.09.2017 в 18:05

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

Привет ребят подскажите одну вещь.
Есть у меня скрипт который убирает колёса из транспорта если их там нет (DayZ),
но когда он заново ресается то колёса ставятся по умолчанию, тоисть всё 4 штуки. Как мне сделать что бы после респа все колёса устанавливались по наличию их в авто.
Вот пример скрипта который "манипулирует" колёсами

function setVehicleWheelsIn ( veh )
if isElement ( veh ) then
local parent = getElementData ( veh, "parent" )
if isElement ( parent ) then
local wheels = getElementData ( parent, "Tire_inVehicle" ) or 0
local tires = getVehicleAddonInfos ( getElementModel ( veh ) ) or 0
if tires > 3 then
--setElementFrozen ( veh, true )
if wheels == 0 then
setTimer ( function (car) setVehicleWheelStates ( car, 2, 2, 2, 2) end, 1000, 1, veh )
elseif wheels == 1 then
setTimer ( function (car) setVehicleWheelStates ( car, 0, 2, 2, 2) end, 1000, 1, veh )
elseif wheels == 2 then
setTimer ( function (car) setVehicleWheelStates ( car, 0, 0, 2, 2) end, 1000, 1, veh )
elseif wheels == 3 then
setTimer ( function (car) setVehicleWheelStates ( car, 0, 0, 0, 2) end, 1000, 1, veh )
else
setTimer ( function (car) setVehicleWheelStates ( car, 0,0,0, 0); setElementFrozen ( car, false ) end, 1000, 1, veh )
end
end
end
end
end
function wheelsChanged(dataName,oldValue)
if getElementType(source) == "colshape" and dataName == "Tire_inVehicle" then
setVehicleWheelsIn ( getElementData ( source, "parent" ) )
end
end
addEventHandler("onElementDataChange",getRootElement(),wheelsChanged)

а вот сам спавн ТС (по идее)
function spawnDayZVehicles()
for _,v in ipairs(getElementsByType("vehicle")) do
local col = getElementData(v, "parent");
if col then
destroyElement(col);
end
destroyElement(v);
end
for _,v in ipairs(vehicleSpawns) do
local x,y,z = v[2], v[3], v[4];
local veh = createVehicle(v[1], x, y, z);
local vehCol = createColSphere(x, y, z, 2.5);
attachElements(vehCol, veh);
setElementData(vehCol, "parent", veh);
setElementData(veh, "parent", vehCol);
setElementData(vehCol, "vehicle", true);
setElementData(veh, "dayzvehicle", 1);
local tires,engine,parts,slots = getVehicleAddonInfos(v[1]);
setElementData(vehCol, "MAX_Slots", tonumber(slots));
setElementData(vehCol, "Tire_inVehicle", math.random(0, tires));
setElementData(vehCol, "Engine_inVehicle", math.random(0, engine));
setElementData(vehCol, "Parts_inVehicle", math.random(0, parts));
setElementData(vehCol, "spawn", {v[1], x, y, z});
setElementData(vehCol, "fuel", math.random(5, 20));
for _,v in ipairs(lootItems["helicrashsides"]) do
local value = math.percentChance(v[5], math.random(2));
setElementData(vehCol, v[1], value);
local ammoData,_ = getWeaponAmmoType(v[1], true);
if (ammoData and value > 0) then
setElementData(vehCol, ammoData, math.random(2));
end
end
end
backup();
end

Как провернуть такое дело? Помогите а то сам не могу додуматься.

Уже сам разобрался)
Twin_Soul 30.09.2017 в 08:47

Проверенный

Репутация: 3 бал.

Замечания: 0 бал.

L3firD, www.MTA-Resource.ruwww.MTA-Resource.ruwww.MTA-Resource.ru Но с помощью импровизации можно их реализовать))
LordOri 30.09.2017 в 17:05

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

Twin_Soul, ахахахахах) Норм)
NuRu 13.10.2017 в 11:57

Пользователь

Репутация: 2 бал.

Замечания: 0 бал.

Может кто подсказать, есть какая-нибудь функция отвечающая за проверку занятого места игроком в машине(на месте пассажира или водителя)
FoxWiZZard 13.10.2017 в 14:28

Модератор

Репутация: 155 бал.

Замечания: 0 бал.

NuRu, getPedOccupiedVehicleSeat()

Эта функция возвращает номер сидения в автомобиле, на котором сидит искомый ped. Функция только на клиентской стороне.

Аргументы:
ThePed - Ped, у которого ищем номер сидения.

Возвращает целое число(integer) обозначающее номер сидения, на котором сидит PED. Число 0 - сидение водителя, числа выше - сидения пассажиров. Возвращает false если PED не находиться в транспортном средстве, или если ped вообще не существует.

======

Дальше просто делай проверку по данной функции.
NuRu 13.10.2017 в 15:30

Пользователь

Репутация: 2 бал.

Замечания: 0 бал.

FoxWiZZard, Большое спасибо
LordOri 22.10.2017 в 21:31

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

Здраствуйте форумчане) давно за советом и помощью не приходил))) Так вот
у меня есть скролл

scrollbar = guiCreateScrollBar(11, 220, gsx-22, 20, true, false, windowlogin)
guiSetProperty(scrollbar, "MousePassThroughEnabled", "True")
guiSetAlpha(scrollbar, 0.60)

и играет звук

function ()
sound = playSound("sound.mp3")
end

как "привязать" переключение громкости звука до скролла?
Уже ничего работающего придумать не получилось и решил обратиться к умным людям)
Помогите пожалуйста) С меня как минимум лойс)

Уже не надо)
troeglazov2001 27.10.2017 в 21:29

Пользователь

Репутация: 0 бал.

Замечания: 1 бал.

Ребят, такая проблема, пропадает машина после 5 минут афк/езды (при чём ровно 5 минут проходит и всё, машина будто просто исчезает из под ж***), установлен freeroam с личным авто, скорее всего там в коде где-то есть, подскажите пожалуйста?
LordOri 12.11.2017 в 22:18

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

Здраствуйте, к делу. Нужно каким - то образом организовать проверку на то что игрок сидит в транспорте.
А если поточней то если игрок сидит транспорте то (какое-то) действие не выполнялось. Как осуществить?
zzz359 18.11.2017 в 17:16

Пользователь

Репутация: 0 бал.

Замечания: 1 бал.

Всем привет, как исправить такую штуку с палаткой, что после рестарта мода\серера, её нельзя свернуть пропадаёт меню 'обыскать' и 'свернуть'
LordOri 27.11.2017 в 23:36

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

zzz359, предпологаю что она не сохраняется как палатка. А остаётся как объект.

Здраствуйте. Прошу помощи в об`яснении принципа setElementData и getElementData
а именно дело такое
local winter = true
local player = getLocalPlayer()
local winterCheck = getElementData (player,"Winter")
function checkWinter ()
if (winter == true) then
setElementData(player,"Winter", true)
end
if (winter == false) then
setElementData(player,"Winter", false)
end
end
addEventHandler( "onClientResourceStart", getRootElement( ),checkWinter)

как видите я элемент привязываю к игроку на клиентской стороне, а как получить эту элемент дату на серверной стороне?
Надеюсь я правильно изложил суть вопроса. Прошу помочь а то не могу "осязнуть" истинну) Спасибо.

И ещё хочу спросить как решить проблему у добрых людей
вот код ошибки
Bad argument @ 'stopResource' [Expected resourse-data at argument 1, got nil]
а вот сам код который останавливает ресурсы
function WinterOn()
res = "hp_shader_detail"
stopResource(res)
end
function WinterOff()
local res = "hp_shader_detail"
startResource ( res )
end
addEvent( "WinterCh", true )
addEventHandler( "WinterCh", getRootElement(), WinterOn )
addEventHandler( "WinterCh", getRootElement(), WinterOff )

Помогите плесс
Danate 28.11.2017 в 22:52

Проверенный

Репутация: 18 бал.

Замечания: 0 бал.

как видите я элемент привязываю к игроку на клиентской стороне, а как получить эту элемент дату на серверной стороне?

LordOri, смотря при каких обстоятельствах ты хочешь выдернуть elementDat'у.

function getPlayerWinterData(thePlayer)
return getElementData(thePlayer,"Winter");
end

А вообще не понял, почему ты не можешь получить дату на сервере

ps. за пост выше сорян, миссклик

По поводу ошибки: у startResource, stopResource в аргументе не строка с именем ресурса, а конкретно сам ресурс как объект

Так же накидал свою версию
local resourceName = ""; -- в кавычках имя ресурса

function changeMode()
if getResourceFromName(resourceName) == "running" then
stopResource(getResourceFromName(resourceName));
elseif getResourceFromName(resourceName) == "loaded" then
startResource(getResourceFromName(resourceName));
end
end

addEvent( "changeWinterMode", true )
addEventHandler( "changeWinterMode", getRootElement(), changeMode )


Проверишь - отпиши
LordOri 29.11.2017 в 00:03

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

Danate, спасибо. По поводу
local resourceName = ""; -- в кавычках имя ресурса



function changeMode()

if getResourceFromName(resourceName) == "running" then

stopResource(getResourceFromName(resourceName));

elseif getResourceFromName(resourceName) == "loaded" then

startResource(getResourceFromName(resourceName));

почему-то не работает хотя и нет ошибок. Не пойму в чём дело. Ну то такое а на счёт первого я уже свой способ придумал для реализации.
Haradrimle 29.11.2017 в 03:37

Пользователь

Репутация: 0 бал.

Замечания: 1 бал.

Здравствуйте, у меня такая ситуация, поставил скрипт на захват территорий с помощью тимы, всё работает всё замечательно, НО появилась другая проблема, после рестарта ресурса или перезапуска сервера не сохраняются уже захваченные территории, прошу подсказать где, что дописать или поправить, я только учусь, в долгу не останусь!
FinnFInnovich 04.12.2017 в 22:47

Пользователь

Репутация: 0 бал.

Замечания: 1 бал.

Ребя, господа, товарищи, как чат изменить?
LordOri 04.12.2017 в 22:55

Проверенный

Репутация: 28 бал.

Замечания: 0 бал.

FinnFInnovich, а что именно хочешь изменить?
FinnFInnovich 05.12.2017 в 14:06

Пользователь

Репутация: 0 бал.

Замечания: 1 бал.

LordOri, вид чата, шрифт, цвета
Войдие или зарегистрируйтесь что бы написать сообщение