Ruga Posted August 11, 2013 Share Posted August 11, 2013 (edited) Спасибо, всё очень сильно помогло, осталось последнее - получение денег. Не совсем понимаю, что творится ниже в '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 August 12, 2013 by Guest Link to comment
TheNormalnij Posted August 11, 2013 Share Posted August 11, 2013 isElementWithinColShape Link to comment
Ruga Posted August 11, 2013 Share Posted August 11, 2013 TheNormalnij, всегда нужна острота хДД)) Link to comment
nikitafloy Posted August 12, 2013 Share Posted August 12, 2013 Спасибо, всё очень сильно помогло, осталось последнее - получение денег. Не совсем понимаю, что творится ниже в '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 ) хм, ну что то вроде ) мне просто заняться нечем))) Спасибо большое , но деньги не выдаются и, вроде, не отнимаются. Как и было... Чтобы после смерти слоты с ружьем были пусть, мне нужно воспользоваться: giveWeapon ? Link to comment
Ruga Posted August 12, 2013 Share Posted August 12, 2013 да именно)) в пост с кодом внес поправки пробуй ) Link to comment
nikitafloy Posted August 12, 2013 Share Posted August 12, 2013 да именно)) в пост с кодом внес поправки пробуй ) БЛАГОДАРЮ! ОГРОМНОЕ СПАСИБО! Прокомментируйте поправки, пожалуйста. Смастерил пляшущих педов (+18) в стрип-баре, деньги не забираются. Надо и там то же помастерить. Link to comment
nikitafloy Posted August 12, 2013 Share Posted August 12, 2013 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
Ruga Posted August 12, 2013 Share Posted August 12, 2013 насколько знаю при каждом спавне оружие не сохраняется если самому не написать код на это дело. поищи в своем гейм моде мб где то есть выдача оружие после смерти.. 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
nikitafloy Posted August 12, 2013 Share Posted August 12, 2013 Решил проблему, перенес на сторону сервера. Спасибо! ----- На общей карте не видно blip'а. В скриптах - автосалон, заправка. Он на карте изображен. Что отвечает за это? Какая функция? ----- SetInteriorSoundsEnabled - Где я могу воспользоваться данной функцией? ----- После анимации игрок залипает на месте и развисает, если ударить кулаком. Это ОК? Или есть какой-то метод? Link to comment
Jonathan.P Posted August 13, 2013 Share Posted August 13, 2013 Здравствуйте. 1) Часто на серверах замечаю видоизмененную оболочку GUI: квадратные углы, блики, градиенты и пр. Каким образом это реализуется? Библиотеки, Java, СSS? 2) Каким образом на серверах реализуют некие информационные окошки, которые плавно выезжают из границ экрана? (Подозреваю опять же Java и CSS) 3) При регистрации, авторизации, сервер пишет клиенту что-то вроде: "You successful registered". Можно ли как-то блокировать эти сообщения? Link to comment
TheNormalnij Posted August 13, 2013 Share Posted August 13, 2013 1) dx 2) dx + getTickCount Link to comment
Kernell Posted August 13, 2013 Share Posted August 13, 2013 3) При регистрации, авторизации, сервер пишет клиенту что-то вроде: "You successful registered". Можно ли как-то блокировать эти сообщения? Отмена события OnClientChatMessage вроде должна помочь.. Link to comment
Jonathan.P Posted August 13, 2013 Share Posted August 13, 2013 А как я проверю, то ли это сообщение от сервера? Link to comment
CocaColaBear Posted August 13, 2013 Share Posted August 13, 2013 А как я проверю, то ли это сообщение от сервера? Сравни строку на выходе с нужной тебе строкой. Если совпадают - отменяй событие. Link to comment
Jonathan.P Posted August 14, 2013 Share Posted August 14, 2013 (edited) 1) dx2) dx + getTickCount Нужно рендерить. А если "guiCreateStaticImage" ? (В первом случае по крайней мере) Edited August 14, 2013 by Guest Link to comment
Flaker Posted August 14, 2013 Share Posted August 14, 2013 Jonathan.P, как ты себе представляешь использование каскадных таблиц стилей в MTA? И причем тут Java? Ты не умеешь передвигать картинку? Функция guiSetPosition изменяет положение gui элемента на экране. Link to comment
Jonathan.P Posted August 14, 2013 Share Posted August 14, 2013 Jonathan.P, как ты себе представляешь использование каскадных таблиц стилей в MTA? И причем тут Java?Ты не умеешь передвигать картинку? Функция guiSetPosition изменяет положение gui элемента на экране. Я думал, что это можно реализовать проще. Вот и всё. Link to comment
nikitafloy Posted August 14, 2013 Share Posted August 14, 2013 Как можно локально спавнить взорванные машины и машины, которые различаются от своей позиции. Т.е. создаем авто, если авто взорвано, то респуним его на место, если он находится в др. позиции, отл. от его собственной, то респуним его на место. Link to comment
CocaColaBear Posted August 14, 2013 Share Posted August 14, 2013 Как можно локально спавнить взорванные машины и машины, которые различаются от своей позиции. Т.е. создаем авто, если авто взорвано, то респуним его на место, если он находится в др. позиции, отл. от его собственной, то респуним его на место. Прочитал несколько раз, не вник Выбери нужное: setVehicleRespawnPosition spawnVehicle respawnVehicle Link to comment
nikitafloy Posted August 15, 2013 Share Posted August 15, 2013 (edited) Как можно локально спавнить взорванные машины и машины, которые различаются от своей позиции. Т.е. создаем авто, если авто взорвано, то респуним его на место, если он находится в др. позиции, отл. от его собственной, то респуним его на место. Прочитал несколько раз, не вник Выбери нужное: 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 August 15, 2013 by Guest Link to comment
TheNormalnij Posted August 15, 2013 Share Posted August 15, 2013 Я тебе говорил, что такое безумие? Link to comment
Other Languages Moderators Disinterpreter Posted August 15, 2013 Other Languages Moderators Share Posted August 15, 2013 Я тебе говорил, что такое безумие? Нет, но это видно в коде выше. Link to comment
TEDERIs Posted August 15, 2013 Share Posted August 15, 2013 Файл карты: "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
Elengar Posted August 15, 2013 Share Posted August 15, 2013 (edited) Вот, начиркал, пока что нет возможности проверить... 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 August 15, 2013 by Guest Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now