KruTolic_rus Posted July 22, 2013 Share Posted July 22, 2013 Привет! С каждым новым повтором миссии добавляется + 1 GUI окно,как это решить? А также не удаляется маркер,начиная со 2 раза перепрохождения...все остальное робит хорошо.Дело либо в сервере,либо в клиенте: server theMarker = createMarker (406.6682, 2549.14453125, 15.4 , "cylinder", 1.5, 100, 0, 0, 170 ) MissionPed = createPed ( 115, 406.6682, 2551.14453125, 17 ) setPedArmor ( MissionPed,100) setElementRotation(MissionPed,0,0,180) function DissagreMission (thePlayer) outputChatBox ("Ok,if you want...",thePlayer,0,255,0,false) end addEvent( "disagree", true ) addEventHandler( "disagree", getRootElement(), DissagreMission ) function AcceptMission (thePlayer) removeEventHandler ("onMarkerHit", theMarker, OnMissionStart ) destroyElement ( theMarker ) outputChatBox ("You are accepted Mission!",thePlayer,255,255,0,false) local mVehicle = createVehicle ( 492, 408.51937866211, 2546.439453125, 17 ) local mvBlip = createBlipAttachedTo ( mVehicle, 41 ) function OnPlayerEnterInVehicle (theVehicle) if ( getElementModel ( theVehicle ) == 492 ) then outputChatBox ("Yes,you found car that you need to return!",thePlayer,0,255,0,false) outputChatBox ("Go into the 'waypoint' blip near Enemy base!",thePlayer,0,255,0,false) thesupermarker = createMarker (428.09045410156, 2546.4338378906, 15.4 , "cylinder", 3.5, 100, 0, 0, 170 ) endmissionBlip = createBlipAttachedTo ( thesupermarker, 41 ) function EndThisMission (hitElement) destroyElement(endmissionBlip) destroyElement(thesupermarker) destroyElement(mvBlip) destroyElement(mVehicle) destroyElement(source) givePlayerMoney (hitElement,20000) outputChatBox( "You are got 20.000 money!",hitElement,255,255,0,false) theMarker = createMarker (406.6682, 2549.14453125, 15.4 , "cylinder", 1.5, 100, 0, 0, 170 ) addEventHandler( "onMarkerHit", theMarker, OnMissionStart ) end addEventHandler( "onMarkerHit", thesupermarker, EndThisMission) end end addEventHandler ( "onPlayerVehicleEnter", getRootElement(), OnPlayerEnterInVehicle ) end addEvent( "agree", true ) addEventHandler( "agree", getRootElement(), AcceptMission ) function OnPedSpawn (hitElement) if isPedDead ( MissionPed ) then destroyElement ( MissionPed ) MissionPed = createPed ( 115, 406.6682, 2551.14453125, 17 ) setElementRotation(MissionPed,0,0,180) end if not isPedDead ( MissionPed ) then end end addEventHandler( "onMarkerHit", theMarker, OnPedSpawn ) function OnMissionStart (hitElement) local accName = getAccountName ( getPlayerAccount ( hitElement ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Enemy" ) ) then triggerClientEvent ( "GUIshow", hitElement ) end end addEventHandler( "onMarkerHit", theMarker, OnMissionStart ) client GUIEditor = { button = {}, window = {}, label = {} } function ZombieModRPGMission () GUIEditor.window[1] = guiCreateWindow(489, 264, 312, 274, "Zombie Mod RPG(F5)", false) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.button[1] = guiCreateButton(9, 102, 137, 53, "Agree", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(159, 101, 143, 54, "Disagree", false, GUIEditor.window[1]) GUIEditor.button[3] = guiCreateButton(159, 165, 143, 54, "Close", false, GUIEditor.window[1]) GUIEditor.label[1] = guiCreateLabel(20, 27, 282, 15, "You must return Greenwood to the hangar!", false, GUIEditor.window[1]) GUIEditor.label[2] = guiCreateLabel(99, 244, 98, 15, "REWARD: 20 000", false, GUIEditor.window[1]) showCursor (true) function AgreeMission () if guiSetVisible ( GUIEditor.window[1], true) then guiSetVisible (GUIEditor.window[1],false) showCursor (false) triggerServerEvent ( "agree", getLocalPlayer() ) else guiSetVisible (GUIEditor.window[1],true) end end addEventHandler ( "onClientGUIClick", GUIEditor.button[1], AgreeMission, false ) function DisagreeMission () if guiSetVisible ( GUIEditor.window[1], true) then guiSetVisible (GUIEditor.window[1],false) showCursor (false) triggerServerEvent ( "disagree", getLocalPlayer()) else guiSetVisible (GUIEditor.window[1],true) end end addEventHandler ( "onClientGUIClick", GUIEditor.button[2], DisagreeMission, false ) function CloseWindow () guiSetVisible (GUIEditor.window[1],false) showCursor (false) end addEventHandler ( "onClientGUIClick", GUIEditor.button[3], CloseWindow, false ) function ShowCursorAsk () showCursor (false) guiSetVisible (GUIEditor.window[1],false) end addCommandHandler ("show",ShowCursorAsk) bindKey ("f5","down",ShowCursorAsk) outputChatBox ("If you can't close window,write /show and close it!") outputChatBox ("Or take F5 button") end addEvent( "GUIshow", true ) addEventHandler( "GUIshow", getRootElement(), ZombieModRPGMission ) Link to comment
CocaColaBear Posted July 22, 2013 Share Posted July 22, 2013 Ты не удаляешь предыдущее окно через destroyElement, а создаешь поверх старого новое Link to comment
KruTolic_rus Posted July 22, 2013 Author Share Posted July 22, 2013 даже через destroyElement продолжает существовать проблема... Link to comment
Kernell Posted July 22, 2013 Share Posted July 22, 2013 viewtopic.php?f=141&t=40703 Даже код читать не хочется, каша полная. P.S. Зря вы так халатно относитесь к чистоте кода, вы пока не понимаете, но сильно усложняете себе жизнь в будущем, да и другим не захочется читать такой код. Вот например Notepad++ загнулся из-за этого, а ведь был очень популярен: http://habrahabr.ru/company/infopulse/blog/185144/ Link to comment
Kenix Posted July 23, 2013 Share Posted July 23, 2013 Полностью согласен с постом выше, если вы хотите получить помощь, то, пожалуйста выкладывайте код в нормальном виде, чтобы его вообще можно было понять. 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