Jump to content

Удаление маркера.Создание файла коллизии.


Recommended Posts

Доброй ночи.Помогите мне удалить маркер.

MissionStartSource = createMarker ( 210.38717651367, 1921.611328125, 17, "cylinder" ) 
setMarkerColor ( MissionStartSource , 255, 0, 0, 45 ) 
Marker = { 
First = {} 
  
} 
  
GUIEditor = { 
    button = {}, 
    window = {} 
} 
addEventHandler("onClientMarkerHit", MissionStartSource , 
    function() 
        GUIEditor.window[1] = guiCreateWindow(0.32, 0.20, 0.35, 0.61, "Mission List", true) 
        guiWindowSetSizable(GUIEditor.window[1], false) 
  
        GUIEditor.button[1] = guiCreateButton(21, 37, 402, 44, "Mission 1.Transport", false, GUIEditor.window[1]) 
        GUIEditor.button[2] = guiCreateButton(118, 98, 212, 65, "Mission 2.Capture territority", false, GUIEditor.window[1]) 
        GUIEditor.button[3] = guiCreateButton(15, 185, 408, 49, "Mission 3.Defend Zone 51", false, GUIEditor.window[1])   
         showCursor ( true ) 
    addEventHandler("onClientGUIClick", GUIEditor.button[2]  , TerritorityMission , false ) 
    addEventHandler("onClientGUIClick", GUIEditor.button[3]  , DefendZoneMission , false ) 
    addEventHandler("onClientGUIClick", GUIEditor.button[1]  , TransportMissionTrigger, false )  
    addEvent ( "GetMyMoney",true ) 
    addEvent ( "MissionSecoundStart",true ) 
    addEvent ( "MissionStartFirst",true ) 
    addEvent ( "DefendZoneMission",true ) 
    end 
)     
-------------------------------------------------------------------------------------------------------------Transport 
function TransportMissionTrigger () 
showCursor ( false ) 
                triggerServerEvent ( "MissionStartFirst", getLocalPlayer()) 
                   guiSetVisible ( GUIEditor.window[1],false ) 
                    Marker.First[1] = createMarker ( 170.95462036133, 1912.0631103516 , 17, "cylinder" ) 
                    setMarkerColor ( Marker.First[1] , 255, 0, 0, 45 ) 
                    createBlip ( 170.95462036133 , 1912.0631103516 , 18.272439956665 ,56 )  
        function MarkerMission1Ended () 
           triggerServerEvent ( "GetMyMoney", getLocalPlayer() ) 
                outputChatBox ( "You are got 5000 money!", source,true ) 
        moveObject( Marker.First[1], 1 , 170.95462036133, 1912.0631103516, 4 ) 
        end 
     addEventHandler("OnClientMarkerHit", Marker.First[1] ,MarkerMission1Ended ) 
end 
--------------------------------------------------------------------------------------------------------------TerritorityCapture 
  
function TerritorityMission () 
showCursor ( false ) 
       triggerServerEvent ( "MissionSecoundStart", getLocalPlayer()) 
       guiSetVisible ( GUIEditor.window[1],false) 
end 
---------------------------------------------------------------------------------------------------------------Defend Zone unless zombies 
  
function DefendZoneMission () 
showCursor ( false ) 
       triggerServerEvent ( "DefendZoneMission", getLocalPlayer()) 
guiSetVisible ( GUIEditor.window[1],false ) 
end 

У меня логика такая:

1.Миссия началась(создался второй маркер,должен удалится маркер-мама,то есть маркер,создавший другой маркер )

2.Я двигаюсь к нужному мне маркеру

3.Маркер дает мне то,что нужно,удаляется сам,создает маркер-маму.

или подскажите как сделать правильно таблицу на эти маркеры?

И еще: как создать свой файл с колизией,например: хочу заменить машину Инфернус на БМВ,но они не особо и друг друга любят.Некоторые игроки "проходят" сквозь БМВ.

Link to comment

destroyElement

createMarker или вызвать функцию тобишь создать маркер родителя внутри функции и условие при заходе на него создать второй маркер а его дестрой, и со вторым также, только вместо создания поставить выполнение функции

что то типа

function createMarkerC () 
marker = createMarker(аргументы на вики) 
end 
  
function markerhit (hitElement) 
if source == marker then  
   <ваш код что вы хотите> 
   markers = createMarker(аргументы на вики) -- будет создан когда вы зашли на первый маркер 
      if isElement (marker) then 
     destroyElement(marker) 
    end 
elseif source == markers then 
     <ваш код что вы хотите> 
     marker = createMarker(аргументы на вики) -- будет создан когда вы зашли на второй маркер 
    if isElement (markers) then 
     destroyElement(markers) 
    end 
end 
end 
addEventHandler("onMarkerHit", getRootElement(), markerhit)  
  

ленивая и грязная версия вашей логики, грязная потому что много всего не дописал сюда, я надеюсь вы почитаете сами на вики и допишите, а лучше всего вместо всего этого использовать это https://wiki.multitheftauto.com/wiki/Se ... tVisibleTo

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...