Jump to content

Общий мини "HELP ME" топик по скриптингу


Recommended Posts

Спасибо, всё очень сильно помогло, осталось последнее - получение денег. Не совсем понимаю, что творится ниже в 'onKillDM', но тем не менее. Вроде все ОК, дэбаг молчит. Иногда ругается на 3 строку, что она должна быть 'boolean'. Но деньги после убийства не передаются. Наверняка легко будет выследить данную ошибку, я пока что-то не могу.
    local DMzone = createColCuboid ( 2495, 2616, 9.5, 255, 243, 80 ) -- создаю кубойд 
    function shapeHit ( player ) -- типа счетчика 
            outputChatBox ( getPlayerName ( player ) .. " вошел в зону DM. (/dm)" ) 
    end 
    addEventHandler ( "onColShapeHit", DMzone, shapeHit ) 
     
    function onKillDM ( ammo, source, weapon, bodypart ) -- имитация onPlayerWasted, чтобы определить кто кого убил и что делается 
    local prove = isElementWithinColShape ( source, DMzone ) -- элемент внутри формы 
            if ( source ) then -- если это тот элемент, то 
            if ( getElementType ( source ) == "player" ) then -- Если элемент найден как игрок, то 
            prove = prove and getElementDimension ( source ) == getElementDimension( DMzone ) -- проверка - элемент внутри формы и они находится на территории друг друга (Не в разных местах) 
            if prove then -- если все ОК, то - вывод сообщения и дать игроку деньги 
                outputChatBox ( "Все ОК." ) 
                givePlayerMoney( source, 7500 ) 
            end 
            end 
            end 
    end 
addEventHandler("onPlayerWasted", getRootElement(), onKillDM) -- при убийстве игрока (В этой части рулит 'killer') 

не работал с колшейпами если честно, но могу дать совет, при входе и выходе дать игроку ключи к примеру on - 0/1

и когда его kill то проверяй на наличие у ключа on нужного числа. / p.s. лень заставляет шевелить мозгами))

safeZoneRadar = createRadarArea ( 2495, 2616, 255, 255, 255, 243, 80 )  
           DMzone = createColCuboid ( 2495, 2616, 9.5, 255, 243, 80 ) 
            function shapeHit ( player ) 
                outputChatBox ( ""..tostring(getPlayerName ( player )).."  вошел в зону  ",getRootElement(),255,255,0 ) 
            end 
            addEventHandler ( "onColShapeHit", DMzone, shapeHit ) 
            
    function player_Wasted ( ammo, attacker, weapon, bodypart ) 
        if ( attacker ) then 
                 local dm = isElementWithinColShape (source, DMzone ) -- ниже в посте указана данная функция  
                 if dm then -- просто при смери проверяем игрок что умер находится ли в зоне и если да то отнимаем/даем кеш 
                                if ( getElementType ( attacker ) == "player" ) then 
                                        givePlayerMoney(attacker, 7500) 
                                        takePlayerMoney(source,7500) 
                                end 
                        
                end 
              end 
        end 
    addEventHandler ( "onPlayerWasted", getRootElement(), player_Wasted ) 
  

хм, ну что то вроде ) мне просто заняться нечем)))

Edited by Guest
Link to comment
Спасибо, всё очень сильно помогло, осталось последнее - получение денег. Не совсем понимаю, что творится ниже в 'onKillDM', но тем не менее. Вроде все ОК, дэбаг молчит. Иногда ругается на 3 строку, что она должна быть 'boolean'. Но деньги после убийства не передаются. Наверняка легко будет выследить данную ошибку, я пока что-то не могу.
    local DMzone = createColCuboid ( 2495, 2616, 9.5, 255, 243, 80 ) -- создаю кубойд 
    function shapeHit ( player ) -- типа счетчика 
            outputChatBox ( getPlayerName ( player ) .. " вошел в зону DM. (/dm)" ) 
    end 
    addEventHandler ( "onColShapeHit", DMzone, shapeHit ) 
     
    function onKillDM ( ammo, source, weapon, bodypart ) -- имитация onPlayerWasted, чтобы определить кто кого убил и что делается 
    local prove = isElementWithinColShape ( source, DMzone ) -- элемент внутри формы 
            if ( source ) then -- если это тот элемент, то 
            if ( getElementType ( source ) == "player" ) then -- Если элемент найден как игрок, то 
            prove = prove and getElementDimension ( source ) == getElementDimension( DMzone ) -- проверка - элемент внутри формы и они находится на территории друг друга (Не в разных местах) 
            if prove then -- если все ОК, то - вывод сообщения и дать игроку деньги 
                outputChatBox ( "Все ОК." ) 
                givePlayerMoney( source, 7500 ) 
            end 
            end 
            end 
    end 
addEventHandler("onPlayerWasted", getRootElement(), onKillDM) -- при убийстве игрока (В этой части рулит 'killer') 

не работал с колшейпами если честно, но могу дать совет, при входе и выходе дать игроку ключи к примеру on - 0/1

и когда его kill то проверяй на наличие у ключа on нужного числа. / p.s. лень заставляет шевелить мозгами))

        local DMzone = createColCuboid ( 2495, 2616, 9.5, 255, 243, 80 ) 
        function shapeHit ( player ) 
            outputChatBox ( ""..tostring(getPlayerName ( player )).."  вошел в зону DM. (/dm) ",getRootElement(),255,255,0 ) 
                              setElementData( player,"oncolshape", 1 ) 
        end 
        addEventHandler ( "onColShapeHit", DMzone, shapeHit ) 
        
function player_Wasted ( ammo, attacker, weapon, bodypart ) 
    if ( attacker ) then 
                if getElementData(source,"oncolshape" ) then 
                     if getElementData(source,"oncolshape" ) == 1 then  
                            if ( getElementType ( attacker ) == "player" ) then 
                                    givePlayerMoney(attacker, 7500) 
                                    takePlayerMoney(source,7500) 
                        end 
                    end 
                 end 
          end 
    end 
end 
addEventHandler ( "onPlayerWasted", getRootElement(), player_Wasted ) 
  
function hill_Exit ( thePlayer, matchingDimension ) 
        if getElementType ( thePlayer ) == "player" then  
           if isPlayerDead ( thePlayer ) ~= true then 
              setElementData(thePlayer,"oncolshape", 0 ) 
        end 
    end 
end 
addEventHandler ( "onColShapeLeave",DMzone, hill_Exit ) 
  

хм, ну что то вроде ) мне просто заняться нечем)))

Спасибо большое :D , но деньги не выдаются и, вроде, не отнимаются. Как и было...

Чтобы после смерти слоты с ружьем были пусть, мне нужно воспользоваться:

giveWeapon

?

Link to comment
да именно)) в пост с кодом внес поправки пробуй )

БЛАГОДАРЮ! ОГРОМНОЕ СПАСИБО! Прокомментируйте поправки, пожалуйста. Смастерил пляшущих педов (+18) в стрип-баре, деньги не забираются. Надо и там то же помастерить.

Link to comment
        function player_Wasted ( ammo, attacker, weapon, bodypart ) 
            if ( attacker ) then 
                     local dm = isElementWithinColShape (source, DMzone ) 
                     if dm then 
                                    if ( getElementType ( attacker ) == "player" ) then 
                                            givePlayerMoney(attacker, 2500) 
                                            takePlayerMoney(source, 25000) 
                                            takeWeapon ( source, 30 ) 
                                            takeWeapon ( source, 24 ) 
                                            takeWeapon ( source, 34 ) 
                                            takeWeapon ( source, 16 ) 
                                            takeWeapon ( source, 45 ) 
                                    end 
                            
                    end 
                  end 
            end 
  

Ружье ни в какую не отнимается. Даже giveWeapon прововал, никак.

Во втором скрипте (Сегодня мастерил, пока ждал ответа :3 Надо же набираться опыта.)

   function Anim4Money2 ( player, str2, amount )  
    if (getPlayerMoney(player)) > 800 then  
    takePlayerMoney ( player, 800 ) 
    local rnd = math.random ( 1, #aStrip )  
      setPedAnimation ( s2, "STRIP", aStrip[rnd][1], -1, false, false )  
         triggerServerEvent("ActionForS2", getRootElement(), player)  
         setTimer ( animStrip, 6000, 1 )  
         else  
         outputChatBox ( "У Вас не хватает денег!", player ) 
      end  
   end  
   addCommandHandler("str2", Anim4Money2)  
  

Здесь не отбираются деньги, пробовал разные аргументы. Ну первым делом проводил на стороне сервера. Ни в какую. Только извлекал весь список народу и отнимал в общем кол-ве у каждого. Не знаю как создать 'thePlayer'...

Link to comment

насколько знаю при каждом спавне оружие не сохраняется если самому не написать код на это дело. поищи в своем гейм моде мб где то есть выдача оружие после смерти..

   function Anim4Money2 ( source,cmd ) -- зачем 3 аргумент amount ? обычно используют доп аргументы что бы веести число или текст  
    if (getPlayerMoney(source)) > 800 then 
        takePlayerMoney ( source, 800 ) 
        local rnd = math.random ( 1, #aStrip )  
        setPedAnimation ( s2, "STRIP", aStrip[rnd][1], -1, false, false ) -- тут типо бот танцует? 
        -- triggerServerEvent("ActionForS2", getRootElement(), source ) ,зачем нужен триггер? если для синхры анимации то юзай данный код на сервере и все будет good  
         setTimer ( animStrip, 6000, 1 ) -- ?  
         else 
         outputChatBox ( "У Вас не хватает денег!", source ) 
      end 
   end 
   addCommandHandler("str2", Anim4Money2)  

деньги забирать точно должен))

Link to comment

Решил проблему, перенес на сторону сервера. :) Спасибо!

-----

На общей карте не видно blip'а. В скриптах - автосалон, заправка. Он на карте изображен. Что отвечает за это? Какая функция?

-----

SetInteriorSoundsEnabled - Где я могу воспользоваться данной функцией?

-----

После анимации игрок залипает на месте и развисает, если ударить кулаком. Это ОК? Или есть какой-то метод?

Link to comment

Здравствуйте.

1) Часто на серверах замечаю видоизмененную оболочку GUI: квадратные углы, блики, градиенты и пр. Каким образом это реализуется? Библиотеки, Java, СSS?

2) Каким образом на серверах реализуют некие информационные окошки, которые плавно выезжают из границ экрана? (Подозреваю опять же Java и CSS)

3) При регистрации, авторизации, сервер пишет клиенту что-то вроде: "You successful registered". Можно ли как-то блокировать эти сообщения?

Link to comment

Jonathan.P, как ты себе представляешь использование каскадных таблиц стилей в MTA? И причем тут Java?

Ты не умеешь передвигать картинку? Функция guiSetPosition изменяет положение gui элемента на экране.

Link to comment
Jonathan.P, как ты себе представляешь использование каскадных таблиц стилей в MTA? И причем тут Java?

Ты не умеешь передвигать картинку? Функция guiSetPosition изменяет положение gui элемента на экране.

Я думал, что это можно реализовать проще. Вот и всё.

Link to comment

Как можно локально спавнить взорванные машины и машины, которые различаются от своей позиции.

Т.е. создаем авто, если авто взорвано, то респуним его на место, если он находится в др. позиции, отл. от его собственной, то респуним его на место.

Link to comment
Как можно локально спавнить взорванные машины и машины, которые различаются от своей позиции.

Т.е. создаем авто, если авто взорвано, то респуним его на место, если он находится в др. позиции, отл. от его собственной, то респуним его на место.

Прочитал несколько раз, не вник :D Выбери нужное:

  
setVehicleRespawnPosition 
spawnVehicle 
respawnVehicle 
  

Link to comment
Как можно локально спавнить взорванные машины и машины, которые различаются от своей позиции.

Т.е. создаем авто, если авто взорвано, то респуним его на место, если он находится в др. позиции, отл. от его собственной, то респуним его на место.

Прочитал несколько раз, не вник :D Выбери нужное:

  
setVehicleRespawnPosition 
spawnVehicle 
respawnVehicle 
  

Вот, начиркал, пока что нет возможности проверить...

    local pt1 = 1714.30005, 1470.5, 10.6 
    t1 = createVehicle( 420, 1714.30005, 1470.5, 10.6, 0, 0, 342.498 ) 
    setVehicleRespawnPosition ( t1, 1714.30005, 1470.5, 10.6, 0, 0, 342.498 ) 
    toggleVehicleRespawn(t1, true) 
    local pt2 = 1711.59998, 1460.5, 10.6 
    t2 = createVehicle( 420, 1711.59998, 1460.5, 10.6, 0, 0, 344.493 ) 
    setVehicleRespawnPosition ( t2, 1711.59998, 1460.5, 10.6, 0, 0, 344.493 ) 
    toggleVehicleRespawn(t2, true) 
    local pt3 = 1708.5, 1450.40002, 10.6 
    t3 = createVehicle( 420, 1708.5, 1450.40002, 10.6, 0, 0, 344.993 ) 
    setVehicleRespawnPosition ( t3, 1708.5, 1450.40002, 10.6, 0, 0, 344.993 ) 
    toggleVehicleRespawn(t3, true) 
    local pt4 = 1706.90002, 1420.59998, 10.6 
    t4 = createVehicle( 420, 1706.90002, 1420.59998, 10.6, 0, 0, 5.493 ) 
    setVehicleRespawnPosition ( t4, 1706.90002, 1420.59998, 10.6, 0, 0, 5.493 ) 
    toggleVehicleRespawn(t4, true) 
    local pt5 = 1708.40002, 1412.09998, 10.6 
    t5 = createVehicle( 420, 1708.40002, 1412.09998, 10.6, 0, 0, 11.488 ) 
    setVehicleRespawnPosition ( t5, 1708.40002, 1412.09998, 10.6, 0, 0, 11.488 ) 
    toggleVehicleRespawn(t5, true) 
    local pt6 = 1710.09998, 1404.5, 10.6 
    t6 = createVehicle( 420, 1710.09998, 1404.5, 10.6, 0, 0, 5.493 ) 
    setVehicleRespawnPosition ( t6, 1710.09998, 1404.5, 10.6, 0, 0, 5.493 ) 
    toggleVehicleRespawn(t6, true) 
    local pt7 = 1719.40002, 1411.80005, 10.6 
    t7 = createVehicle( 420, 1719.40002, 1411.80005, 10.6, 0, 0, 10.736 ) 
    setVehicleRespawnPosition ( t7, 1719.40002, 1411.80005, 10.6, 0, 0, 10.736 ) 
    toggleVehicleRespawn(t7, true) 
    local pt8 = 1717.40002, 1434.69995, 10.4 
    t8 = createVehicle( 420, 1717.40002, 1434.69995, 10.4, 0, 0, 358.734 ) 
    setVehicleRespawnPosition ( t8, 1717.40002, 1434.69995, 10.4, 0, 0, 358.734 ) 
    toggleVehicleRespawn(t8, true) 
    local pt9 = 2040.09998, 1008.59998, 10.6 
    t9 = createVehicle( 420, 2040.09998, 1008.59998, 10.6, 0, 0, 180 ) 
    setVehicleRespawnPosition ( t9, 2040.09998, 1008.59998, 10.6, 0, 0, 180 ) 
    toggleVehicleRespawn(t9, true) 
    local pt10 = 2040.09961, 999.59961, 10.6 
    t10 = createVehicle( 420, 2040.09961, 999.59961, 10.6, 0, 0, 180 ) 
    setVehicleRespawnPosition ( t10, 2040.09961, 999.59961, 10.6, 0, 0, 180 ) 
    toggleVehicleRespawn(t10, true) 
    local pt11 = 2040.09961, 1017.7998, 10.6 
    t11 = createVehicle( 420, 2040.09961, 1017.7998, 10.6, 0, 0, 180 ) 
    setVehicleRespawnPosition ( t11, 2040.09961, 1017.7998, 10.6, 0, 0, 180 ) 
    toggleVehicleRespawn(t11, true) 
     
    function respawnExplodedVehicle() 
        setTimer(function() 
        if isVehicleBlown ( t1 ) == true then 
        respawnVehicle ( t1 ) else return end 
        if isVehicleBlown ( t2 ) == true then 
        respawnVehicle ( t2 ) else return end 
        if isVehicleBlown ( t3 ) == true then 
        respawnVehicle ( t3 ) else return end 
        if isVehicleBlown ( t4 ) == true then 
        respawnVehicle ( t4 ) else return end 
        if isVehicleBlown ( t5 ) == true then 
        respawnVehicle ( t5 ) else return end 
        if isVehicleBlown ( t6 ) == true then 
        respawnVehicle ( t6 ) else return end 
        if isVehicleBlown ( t7 ) == true then 
        respawnVehicle ( t7 ) else return end 
        if isVehicleBlown ( t8 ) == true then 
        respawnVehicle ( t8 ) else return end 
        if isVehicleBlown ( t9 ) == true then 
        respawnVehicle ( t9 ) else return end 
        if isVehicleBlown ( t10 ) == true then 
        respawnVehicle ( t10 ) else return end 
        if isVehicleBlown ( t11 ) == true then 
        respawnVehicle ( t11 ) else return end 
        end, 5000, 1, source) 
    end 
    addEventHandler("onVehicleExplode", getRootElement(), respawnExplodedVehicle) 
     
    function respPosVehicle ( ) 
        if getElementPosition ( t1 ) ~= pt1 then 
        elseif getElementPosition ( t2 ) ~= pt2 then 
        elseif getElementPosition ( t3 ) ~= pt3 then 
        elseif getElementPosition ( t4 ) ~= pt4 then 
        elseif getElementPosition ( t5 ) ~= pt5 then 
        elseif getElementPosition ( t6 ) ~= pt6 then 
        elseif getElementPosition ( t7 ) ~= pt7 then 
        elseif getElementPosition ( t8 ) ~= pt8 then 
        elseif getElementPosition ( t9 ) ~= pt9 then 
        elseif getElementPosition ( t10 ) ~= pt10 then 
        elseif getElementPosition ( t11 ) ~= pt11 then 
            setTimer(function()  
                respawnVehicle ( t1 ) 
                respawnVehicle ( t2 ) 
                respawnVehicle ( t3 ) 
                respawnVehicle ( t4 ) 
                respawnVehicle ( t5 ) 
                respawnVehicle ( t6 ) 
                respawnVehicle ( t7 ) 
                respawnVehicle ( t8 ) 
                respawnVehicle ( t9 ) 
                respawnVehicle ( t10 ) 
                respawnVehicle ( t11 ) 
                end, 5000, 1, source) 
            else return 
        end 
    end 
    addEventHandler("onPlayerQuit", getRootElement(), respPosVehicle) 

Edited by Guest
Link to comment

Файл карты:

    "580" posX="2341.479980" posY="132.843994" posZ="26.336000" rotX="0" rotY="0" rotZ="0">
    "580" posX="1341.479980" posY="132.843994" posZ="26.336000" rotX="0" rotY="0" rotZ="0">
    "580" posX="2341.479980" posY="32.843994" posZ="16.336000" rotX="0" rotY="0" rotZ="0">

  

Серверная сторона:

addEventHandler ( "onResourceStart", resourceRoot, 
    function ( ) 
        for _, vehicle in ipairs ( getElementsByType ( "vehicle", resourceRoot ) ) do 
            toggleVehicleRespawn ( vehicle, true ) 
            local x, y, z = getElementPosition ( vehicle ) 
            setVehicleRespawnPosition ( vehicle, x, y, z ) 
        end 
    end 
, false ) 

Будет респавнить авто в точке его создания.

Link to comment

Вот, начиркал, пока что нет возможности проверить...

    local pt1 = 1714.30005, 1470.5, 10.6 
    t1 = createVehicle( 420, 1714.30005, 1470.5, 10.6, 0, 0, 342.498 ) 
    setVehicleRespawnPosition ( t1, 1714.30005, 1470.5, 10.6, 0, 0, 342.498 ) 
    toggleVehicleRespawn(t1, true) 
    local pt2 = 1711.59998, 1460.5, 10.6 
    t2 = createVehicle( 420, 1711.59998, 1460.5, 10.6, 0, 0, 344.493 ) 
    setVehicleRespawnPosition ( t2, 1711.59998, 1460.5, 10.6, 0, 0, 344.493 ) 
    toggleVehicleRespawn(t2, true) 
    local pt3 = 1708.5, 1450.40002, 10.6 
    t3 = createVehicle( 420, 1708.5, 1450.40002, 10.6, 0, 0, 344.993 ) 
    setVehicleRespawnPosition ( t3, 1708.5, 1450.40002, 10.6, 0, 0, 344.993 ) 
    toggleVehicleRespawn(t3, true) 
    local pt4 = 1706.90002, 1420.59998, 10.6 
    t4 = createVehicle( 420, 1706.90002, 1420.59998, 10.6, 0, 0, 5.493 ) 
    setVehicleRespawnPosition ( t4, 1706.90002, 1420.59998, 10.6, 0, 0, 5.493 ) 
    toggleVehicleRespawn(t4, true) 
    local pt5 = 1708.40002, 1412.09998, 10.6 
    t5 = createVehicle( 420, 1708.40002, 1412.09998, 10.6, 0, 0, 11.488 ) 
    setVehicleRespawnPosition ( t5, 1708.40002, 1412.09998, 10.6, 0, 0, 11.488 ) 
    toggleVehicleRespawn(t5, true) 
    local pt6 = 1710.09998, 1404.5, 10.6 
    t6 = createVehicle( 420, 1710.09998, 1404.5, 10.6, 0, 0, 5.493 ) 
    setVehicleRespawnPosition ( t6, 1710.09998, 1404.5, 10.6, 0, 0, 5.493 ) 
    toggleVehicleRespawn(t6, true) 
    local pt7 = 1719.40002, 1411.80005, 10.6 
    t7 = createVehicle( 420, 1719.40002, 1411.80005, 10.6, 0, 0, 10.736 ) 
    setVehicleRespawnPosition ( t7, 1719.40002, 1411.80005, 10.6, 0, 0, 10.736 ) 
    toggleVehicleRespawn(t7, true) 
    local pt8 = 1717.40002, 1434.69995, 10.4 
    t8 = createVehicle( 420, 1717.40002, 1434.69995, 10.4, 0, 0, 358.734 ) 
    setVehicleRespawnPosition ( t8, 1717.40002, 1434.69995, 10.4, 0, 0, 358.734 ) 
    toggleVehicleRespawn(t8, true) 
    local pt9 = 2040.09998, 1008.59998, 10.6 
    t9 = createVehicle( 420, 2040.09998, 1008.59998, 10.6, 0, 0, 180 ) 
    setVehicleRespawnPosition ( t9, 2040.09998, 1008.59998, 10.6, 0, 0, 180 ) 
    toggleVehicleRespawn(t9, true) 
    local pt10 = 2040.09961, 999.59961, 10.6 
    t10 = createVehicle( 420, 2040.09961, 999.59961, 10.6, 0, 0, 180 ) 
    setVehicleRespawnPosition ( t10, 2040.09961, 999.59961, 10.6, 0, 0, 180 ) 
    toggleVehicleRespawn(t10, true) 
    local pt11 = 2040.09961, 1017.7998, 10.6 
    t11 = createVehicle( 420, 2040.09961, 1017.7998, 10.6, 0, 0, 180 ) 
    setVehicleRespawnPosition ( t11, 2040.09961, 1017.7998, 10.6, 0, 0, 180 ) 
    toggleVehicleRespawn(t11, true) 
     
    function respawnExplodedVehicle() 
        setTimer(function() 
        if isVehicleBlown ( t1 ) == true then 
        respawnVehicle ( t1 ) else return end 
        if isVehicleBlown ( t2 ) == true then 
        respawnVehicle ( t2 ) else return end 
        if isVehicleBlown ( t3 ) == true then 
        respawnVehicle ( t3 ) else return end 
        if isVehicleBlown ( t4 ) == true then 
        respawnVehicle ( t4 ) else return end 
        if isVehicleBlown ( t5 ) == true then 
        respawnVehicle ( t5 ) else return end 
        if isVehicleBlown ( t6 ) == true then 
        respawnVehicle ( t6 ) else return end 
        if isVehicleBlown ( t7 ) == true then 
        respawnVehicle ( t7 ) else return end 
        if isVehicleBlown ( t8 ) == true then 
        respawnVehicle ( t8 ) else return end 
        if isVehicleBlown ( t9 ) == true then 
        respawnVehicle ( t9 ) else return end 
        if isVehicleBlown ( t10 ) == true then 
        respawnVehicle ( t10 ) else return end 
        if isVehicleBlown ( t11 ) == true then 
        respawnVehicle ( t11 ) else return end 
        end, 5000, 1, source) 
    end 
    addEventHandler("onVehicleExplode", getRootElement(), respawnExplodedVehicle) 
     
    functiones rpPosVehicle ( ) 
        if getElementPosition ( t1 ) ~= pt1 then 
        elseif getElementPosition ( t2 ) ~= pt2 then 
        elseif getElementPosition ( t3 ) ~= pt3 then 
        elseif getElementPosition ( t4 ) ~= pt4 then 
        elseif getElementPosition ( t5 ) ~= pt5 then 
        elseif getElementPosition ( t6 ) ~= pt6 then 
        elseif getElementPosition ( t7 ) ~= pt7 then 
        elseif getElementPosition ( t8 ) ~= pt8 then 
        elseif getElementPosition ( t9 ) ~= pt9 then 
        elseif getElementPosition ( t10 ) ~= pt10 then 
        elseif getElementPosition ( t11 ) ~= pt11 then 
            setTimer(function()  
                respawnVehicle ( t1 ) 
                respawnVehicle ( t2 ) 
                respawnVehicle ( t3 ) 
                respawnVehicle ( t4 ) 
                respawnVehicle ( t5 ) 
                respawnVehicle ( t6 ) 
                respawnVehicle ( t7 ) 
                respawnVehicle ( t8 ) 
                respawnVehicle ( t9 ) 
                respawnVehicle ( t10 ) 
                respawnVehicle ( t11 ) 
                end, 5000, 1, source) 
            else return 
        end 
    end 
    addEventHandler("onPlayerQuit", getRootElement(), respPosVehicle) 

Лучше их добавлять с помощью таблицы, а потом пробегатся по всем циклом и чекать стоит ли она на спавне. Дальше.

setVehicleRespawnPosition

    toggleVehicleRespawn

зачем ? Первая меняет координаты спавна, которые были установлены при createVehicle . Получается тебе это не нужно. Вторая, если я не ошибаюсь, при этой функции будет она спавнится как только она взорвется. Тебе же нужно чтобы прошло время после взрыва, верно ?

твой rpPosVehicle их перереспавнит только если t11 не будет равно pt11 причем перереспанит все, а не т11.

Дальше respawnExplodedVehicle зачем все проверять. Ивент тебе пришлет source, это будет машиной, которая взорвалась. Потом делаешь setTimer(respanVehicle,60000,1,source) и все.

Edited by Guest
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...