Jump to content

проблема с GUI


Recommended Posts

Привет!

С каждым новым повтором миссии добавляется + 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

viewtopic.php?f=141&t=40703

Даже код читать не хочется, каша полная.

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

Вот например Notepad++ загнулся из-за этого, а ведь был очень популярен: http://habrahabr.ru/company/infopulse/blog/185144/

Link to comment

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

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