KruTolic_rus Posted July 22, 2013 Share Posted July 22, 2013 Мне надо,что бы триггер был ТОЛЬКО для того,кто зашел на маркер,а не всех игроков подряд... Что делать? server function GiveVehicle ( thePlayer ) findvehicle = createVehicle ( 445, -1301.1414794922, -176.54035949707, 15 ) findvehicleblip = createBlipAttachedTo (findvehicle,41) function givePlayerMoneyAndMission2 (theVehicle) if ( getElementModel ( theVehicle ) == 445 ) then destroyElement ( findvehicle ) destroyElement ( findvehicleblip ) givePlayerMoney (source,15000) outputChatBox ("[MISSION]You: Yes,i found money!",source,150,56,150,false) triggerClientEvent ( source, "mission2",getRootElement() ) removeEventHandler ( "newvehicle", getRootElement(),GiveVehicle ) removeEventHandler ( "onPlayerVehicleEnter",getRootElement(),givePlayerMoneyAndMission2) end end addEventHandler("onPlayerVehicleEnter",getRootElement(),givePlayerMoneyAndMission2) end addEvent( "newvehicle", true ) addEventHandler( "newvehicle", getRootElement(),GiveVehicle ) function Mission2Settings ( thePlayer ) VehicleOfMission2 = createVehicle ( 445, -1315.8223876953, -167.18829345703, 13.734149932861 ) VehicleOfMission2Blip = createBlipAttachedTo ( VehicleOfMission2,41) function Mission2Property (theVehicle) if ( getElementModel ( theVehicle ) == 445 ) then outputChatBox ("[MISSION][HELP]Drive this vehicle to the 'flag' blip!",source,140,120,50,false) outputChatBox ("[MISSION][HELP]Mission 2 Started",source,35,15,0,false) MarkerOfMission2 = createMarker ( 154.13981628418, -1943.1120605469, 2.5, "cylinder", 1.5, 0, 255, 0, 170 ) MarkerOfMission2Blip = createBlipAttachedTo ( MarkerOfMission2,53) function EndThisMission (hitElement) destroyElement(MarkerOfMission2) destroyElement(VehicleOfMission2Blip) destroyElement(VehicleOfMission2) destroyElement(MarkerOfMission2Blip) givePlayerMoney (hitElement,25000) outputChatBox ("[MISSION][HELP]You are done all missions,wait new missions soon! \"{SMILIES_PATH}/icon_biggrin.gif\" alt=\"\" title=\"Very Happy\" />",hitElement,255,0,0,false) outputChatBox ("[MISSION]You: Yes,i found it!! YEAH!!!",hitElement,255,255,0,false) setPedArmor (hitElement,100) setElementHealth(hitElement,100) end addEventHandler("onMarkerHit",MarkerOfMission2,EndThisMission) end end addEventHandler("onPlayerVehicleEnter",getRootElement(),Mission2Property) end addEvent( "mission2settings", true ) addEventHandler( "mission2settings", getRootElement(),Mission2Settings ) function TheArmyThe () killerPed = createPed (287, -1326.7757568359, -177.43579101563, 14 ) killPed (killerPed) end addEvent( "armyped", true ) addEventHandler( "armyped", getRootElement(),TheArmyThe ) client MissionMarker = createMarker ( 209.83544921875, 1921.2099609375, 16.5, "cylinder", 2.5, 0, 255, 0, 100 ) MissionMarkerBlip = createBlipAttachedTo ( MissionMarker, 6 ) function DestroyElementNeed () destroyElement ( MissionMarker ) destroyElement ( MissionMarkerBlip ) end addEventHandler ( "onClientMarkerHit", MissionMarker, DestroyElementNeed ) GUIEditor = { button = {}, window = {} } function MissionMarkerStart () GUIEditor.window[1] = guiCreateWindow(487, 257, 317, 325, "Zombie Mod RPG Missions(F4)", false) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.button[1] = guiCreateButton(9, 95, 132, 75, "Start", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(151, 95, 143, 73, "Stop", false, GUIEditor.window[1]) showCursor ( true ) function SetVisible () if ( guiGetVisible ( GUIEditor.window[1] ) == false ) then guiSetVisible ( GUIEditor.window[1],true ) showCursor ( true ) else guiSetVisible ( GUIEditor.window[1],false ) showCursor ( false ) end end bindKey ("f4","down",SetVisible) function StartMissionsButton () guiSetVisible ( GUIEditor.window[1],false ) showCursor ( false ) outputChatBox ("[MISSION]Mission 1: Find the vehicle!",0,255,0,false) outputChatBox ("[MISSION]You:I must find vehicle...i must to take it return!",255,255,0,false) triggerServerEvent ( "newvehicle",getRootElement()) end addEventHandler ( "onClientGUIClick", GUIEditor.button[1], StartMissionsButton, false ) end addEventHandler ( "onClientMarkerHit", MissionMarker, MissionMarkerStart ) function MissionSecoundStart () Mission2Marker = createMarker ( -1326.7757568359, -174.43579101563, 13.5, "cylinder", 2.5, 0, 255, 0, 100 ) triggerServerEvent ( "armyped",getRootElement()) function Mission2MarkerStart (hitElement) outputChatBox("[MISSION]You:Hmmm...ok",110,167,116) outputChatBox("[MISSION][HELP]:Turn back and sit into the car!",120,0,0) triggerServerEvent ( "mission2settings",hitElement) outputChatBox ("[YOU]:Oh,he is died...he said that in LS i can find Vaccine",hitElement,255,0,0,false) destroyElement( Mission2Marker ) end addEventHandler ( "onClientMarkerHit", Mission2Marker, Mission2MarkerStart ) end addEvent( "mission2", true ) addEventHandler( "mission2", getRootElement(),MissionSecoundStart ) Link to comment
CocaColaBear Posted July 22, 2013 Share Posted July 22, 2013 Твой код - не читаемый. У тебя обработчики входа на маркер есть на сервере и клиенте, ты бы сказал, какой именно. Единственное что я заметил - в triggerClientEvent у тебя первый параметр source, а в source, в данном случае, передается getRootElement, следовательно клиентский скрипт запускается у всех игроков. Исправь в клиенте (38 строка): triggerServerEvent ( "newvehicle",getRootElement()) Замени на: triggerServerEvent ( "newvehicle",localPlayer) Link to comment
TheNormalnij Posted July 23, 2013 Share Posted July 23, 2013 Чувак, удаляй все и пиши заново, учи синтаксис lua, если у тебя что-то и работает, то только через жуткие костыли, где баги компенсируют друг друга. Link to comment
Other Languages Moderators Disinterpreter Posted July 23, 2013 Other Languages Moderators Share Posted July 23, 2013 Чувак, удаляй все и пиши заново, учи синтаксис lua, если у тебя что-то и работает, то только через жуткие костыли, где баги компенсируют друг друга. И табуляция хромает. Link to comment
KruTolic_rus Posted July 23, 2013 Author Share Posted July 23, 2013 Чувак, удаляй все и пиши заново, учи синтаксис lua, если у тебя что-то и работает, то только через жуткие костыли, где баги компенсируют друг друга. Впаять 3 дня в это все и переделать? Какие еще баги? (это не к тебе) ---- табуляция,лично мне,подходит,все,что здесь испорчено,это из-за форума,а не из-за меня,если я правильно понял,что это значит. Поскольку я плохо понимаю trigger'ы так как о них написано аж столько много,столько в гугле даже 5 страниц о нем нет,а понять его нельзя,даже прочитав о нем все... Link to comment
KruTolic_rus Posted July 23, 2013 Author Share Posted July 23, 2013 Твой код - не читаемый.У тебя обработчики входа на маркер есть на сервере и клиенте, ты бы сказал, какой именно. Единственное что я заметил - в triggerClientEvent у тебя первый параметр source, а в source, в данном случае, передается getRootElement, следовательно клиентский скрипт запускается у всех игроков. Исправь в клиенте (38 строка): triggerServerEvent ( "newvehicle",getRootElement()) Замени на: triggerServerEvent ( "newvehicle",localPlayer) Спасибо,проблем меньше 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