AlexWo Posted July 27, 2012 Share Posted July 27, 2012 Hi guys I have a job and I want that if a player with the vehicle arrive at the marker he get frozed for 3 seconds. I already tried to put a timer into the script but it doesn't work Client file ---------------------------------------------------------------------------------------------------------------------------------- --Tug TABLE ---------------------------------------------------------------------------------------------------------------------------------- local tugTable = { [1]={-1336, -513, 15}, [2]={-1411, -552, 15}, [3]={-1442, -122, 15}, [4]={-1263, 36, 15}, [5]={-1203, 28, 15}, [6]={-1239, -8, 15}, [7]={-1567, -431, 7}, [8]={-1428, -312, 6}, [9]={-1549, -453, 6} --<----- LA ULTIMA LINEA DE TABLA NO LLEVA COMA } ---------------------------------------------------------------------------------------------------------------------------------- --GET TUG LOCATION ---------------------------------------------------------------------------------------------------------------------------------- function getTugLocation(ID) if isElement (marker) then destroyElement(marker) end if isElement (blip) then destroyElement(blip) end local x, y, z = tugTable[iD][1], tugTable[iD][2], tugTable[iD][3] local marker = createMarker(x,y,z,"checkpoint",10,10,235,250,150) local blip = createBlipAttachedTo(marker,19,2,10,235,250,225) function rewardPlayer (hitPlayer) if hitPlayer == getLocalPlayer() and isPedInVehicle(hitPlayer) then if getElementVelocity(getPedOccupiedVehicle(hitPlayer)) <= 2 then outputChatBox ("You arrived succesfully!",hitPlayer,10,235,250) if getElementModel(getPedOccupiedVehicle(hitPlayer)) == 583 then playSoundFrontEnd (11) triggerServerEvent("DriverGiveMoney",getLocalPlayer(),math.random(80,100)) if #tugTable == tonumber(getElementData(hitPlayer,"SAMR.jobs_civilian_train_driver")) then setElementData(hitPlayer,"SAMR.jobs_civilian_train_driver",1) else setElementData(hitPlayer,"SAMR.jobs_civilian_train_driver",tonumber(getElementData(hitPlayer,"SAMR.jobs_civilian_train_driver"))+1) end blipsAttached = getAttachedElements (source) for i,blips in ipairs (blipsAttached) do if getElementType (blips) == "blip" then destroyElement(blips) end end if isElement (source) then destroyElement(source) end getTugLocation(tonumber(getElementData(hitPlayer,"SAMR.jobs_civilian_train_driver"))) end else outputChatBox ("*You're going very fast!",hitPlayer,10,235,250) end end end addEventHandler("onClientMarkerHit",marker,rewardPlayer,hitPlayer) addEventHandler("onClientVehicleExit",getRootElement(), function (leaveElement) if leaveElement == getLocalPlayer() then if isElement (marker) then destroyElement(marker) end if isElement (blip) then destroyElement(blip) end end end) end ---------------------------------------------------------------------------------------------------------------------------------- --ON CLIENT VEHICLE ENTER ---------------------------------------------------------------------------------------------------------------------------------- addEventHandler("onClientVehicleEnter",getRootElement(), function (thePlayer) if getElementModel(source) == 583 and getElementModel(thePlayer) == 16 and thePlayer == getLocalPlayer() then outputChatBox ("Now You Can Go To The Airport For Job",10,235,250) getTugLocation(1) setElementData(thePlayer,"SAMR.jobs_civilian_train_driver",1) end end) ----------------------------------------------------------------------------------------------------------------------------- --CREATE Tug GUI ----------------------------------------------------------------------------------------------------------------------------- function tugCreateTugGUI() tug_window_main = guiCreateWindow (0.3,0.2,0.4,0.5,"Tug Mission",true) memo1 = guiCreateMemo (0.15,0.2,0.7,0.5,"Welcome to the Cargo job, please take a Tug and go to the next Marker",true,tug_window_main) tug_window_main_button_accept = guiCreateButton(0.52,0.85,0.45,0.1,"Acept",true,tug_window_main) tug_window_main_button_decline = guiCreateButton(0,0.85,0.45,0.1,"Decline",true,tug_window_main) showCursor (true) end addEvent ("tugCreateTugGUI",true) addEventHandler ("tugCreateTugGUI",getResourceRootElement(getThisResource()),tugCreateTugGUI) ----------------------------------------------------------------------------------------------------------------------------- --DESTROY Tug GUI ----------------------------------------------------------------------------------------------------------------------------- function tugDestroyTugGUI() destroyElement(tug_window_main) tug_window_main = false showCursor (false) end ----------------------------------------------------------------------------------------------------------------------------- --ON tug WINDOW CLICK ----------------------------------------------------------------------------------------------------------------------------- function tugOnTugWindowClick() if source == tug_window_main_button_accept then triggerServerEvent ("tugCreateTug",getLocalPlayer()) tugDestroyTugGUI () elseif source == tug_window_main_button_decline then tugDestroyTugGUI () end end addEventHandler("onClientGUIClick",getRootElement(),tugOnTugWindowClick) Server file: ----------------------------------------------------------------------------------------------------------------------------- --CREATE Tug STUFF ----------------------------------------------------------------------------------------------------------------------------- function tugCreateTugStuff() tug_marker_request = createMarker(-1546,-441,6,"arrow",2, 225, 225, 0, 150 ) blip2 = createBlip (-1546,-441,6,40) end addEventHandler ("onResourceStart",getResourceRootElement(getThisResource()),tugCreateTugStuff) ----------------------------------------------------------------------------------------------------------------------------- --CREATE Tug ----------------------------------------------------------------------------------------------------------------------------- function tugCreateTug () theTug = createVehicle (583,-1546,-441,6,40) setElementModel(source, 16) outputChatBox ("*The Tug is behind you.",source,10,235,250) end addEvent ("tugCreateTug",true) addEventHandler ("tugCreateTug",getRootElement(),tugCreateTug) ---------------------------------------------------------------------------------------------------------------------------------- --GIVE MONEY ---------------------------------------------------------------------------------------------------------------------------------- addEvent ("DriverGiveMoney",true) addEventHandler ("DriverGiveMoney",getRootElement(), function (theMoney) givePlayerMoney(source,theMoney) end) ---------------------------------------------------------------------------------------------------------------------------------- --CREATE Tug GUI ---------------------------------------------------------------------------------------------------------------------------------- function tugCreateTugGUI(hitElement) if source == tug_marker_request then triggerClientEvent (hitElement,"tugCreateTugGUI",getRootElement()) end end addEventHandler ("onMarkerHit",getRootElement(),tugCreateTugGUI) I think there have to be a timer in the Client file... Link to comment
AMARANT Posted July 27, 2012 Share Posted July 27, 2012 You know it's not very simple to read your code without lua tag. Link to comment
AlexWo Posted July 27, 2012 Author Share Posted July 27, 2012 Client: ---------------------------------------------------------------------------------------------------------------------------------- --Tug TABLE ---------------------------------------------------------------------------------------------------------------------------------- local tugTable = { [1]={-1336, -513, 15}, [2]={-1411, -552, 15}, [3]={-1442, -122, 15}, [4]={-1263, 36, 15}, [5]={-1203, 28, 15}, [6]={-1239, -8, 15}, [7]={-1567, -431, 7}, [8]={-1428, -312, 6}, [9]={-1549, -453, 6} --<----- LA ULTIMA LINEA DE TABLA NO LLEVA COMA } ---------------------------------------------------------------------------------------------------------------------------------- --GET TUG LOCATION ---------------------------------------------------------------------------------------------------------------------------------- function getTugLocation(ID) if isElement (marker) then destroyElement(marker) end if isElement (blip) then destroyElement(blip) end local x, y, z = tugTable[ID][1], tugTable[ID][2], tugTable[ID][3] local marker = createMarker(x,y,z,"checkpoint",10,10,235,250,150) local blip = createBlipAttachedTo(marker,19,2,10,235,250,225) function rewardPlayer (hitPlayer) if hitPlayer == getLocalPlayer() and isPedInVehicle(hitPlayer) then if getElementVelocity(getPedOccupiedVehicle(hitPlayer)) <= 2 then if getElementModel(getPedOccupiedVehicle(hitPlayer)) == 583 then playSoundFrontEnd (11) triggerServerEvent("DriverGiveMoney",getLocalPlayer(),math.random(80,100)) if #tugTable == tonumber(getElementData(hitPlayer,"SAMR.jobs_civilian_train_driver")) then setElementData(hitPlayer,"SAMR.jobs_civilian_train_driver",1) else setElementData(hitPlayer,"SAMR.jobs_civilian_train_driver",tonumber(getElementData(hitPlayer,"SAMR.jobs_civilian_train_driver"))+1) end blipsAttached = getAttachedElements (source) for i,blips in ipairs (blipsAttached) do if getElementType (blips) == "blip" then destroyElement(blips) end end if isElement (source) then destroyElement(source) end getTugLocation(tonumber(getElementData(hitPlayer,"SAMR.jobs_civilian_train_driver"))) end else outputChatBox ("*You're going very fast!",hitPlayer,10,235,250) end end end addEventHandler("onClientMarkerHit",marker,rewardPlayer,hitPlayer) addEventHandler("onClientVehicleExit",getRootElement(), function (leaveElement) if leaveElement == getLocalPlayer() then if isElement (marker) then destroyElement(marker) end if isElement (blip) then destroyElement(blip) end end end) end ---------------------------------------------------------------------------------------------------------------------------------- --ON CLIENT VEHICLE ENTER ---------------------------------------------------------------------------------------------------------------------------------- addEventHandler("onClientVehicleEnter",getRootElement(), function (thePlayer) if getElementModel(source) == 583 and getElementModel(thePlayer) == 16 and thePlayer == getLocalPlayer() then outputChatBox ("Now You Can Go To The Airport For Job",10,235,250) getTugLocation(1) setElementData(thePlayer,"SAMR.jobs_civilian_train_driver",1) end end) ----------------------------------------------------------------------------------------------------------------------------- --CREATE Tug GUI ----------------------------------------------------------------------------------------------------------------------------- function tugCreateTugGUI() tug_window_main = guiCreateWindow (0.3,0.2,0.4,0.5,"Tug Mission",true) memo1 = guiCreateMemo (0.15,0.2,0.7,0.5,"Welcome to the Cargo job, please take a Tug and go to the next Marker",true,tug_window_main) tug_window_main_button_accept = guiCreateButton(0.52,0.85,0.45,0.1,"Acept",true,tug_window_main) tug_window_main_button_decline = guiCreateButton(0,0.85,0.45,0.1,"Decline",true,tug_window_main) showCursor (true) end addEvent ("tugCreateTugGUI",true) addEventHandler ("tugCreateTugGUI",getResourceRootElement(getThisResource()),tugCreateTugGUI) ----------------------------------------------------------------------------------------------------------------------------- --DESTROY Tug GUI ----------------------------------------------------------------------------------------------------------------------------- function tugDestroyTugGUI() destroyElement(tug_window_main) tug_window_main = false showCursor (false) end ----------------------------------------------------------------------------------------------------------------------------- --ON tug WINDOW CLICK ----------------------------------------------------------------------------------------------------------------------------- function tugOnTugWindowClick() if source == tug_window_main_button_accept then triggerServerEvent ("tugCreateTug",getLocalPlayer()) tugDestroyTugGUI () elseif source == tug_window_main_button_decline then tugDestroyTugGUI () end end addEventHandler("onClientGUIClick",getRootElement(),tugOnTugWindowClick) Server ----------------------------------------------------------------------------------------------------------------------------- --CREATE Tug STUFF ----------------------------------------------------------------------------------------------------------------------------- function tugCreateTugStuff() tug_marker_request = createMarker(-1546,-441,6,"arrow",2, 225, 225, 0, 150 ) blip2 = createBlip (-1546,-441,6,40) end addEventHandler ("onResourceStart",getResourceRootElement(getThisResource()),tugCreateTugStuff) ----------------------------------------------------------------------------------------------------------------------------- --CREATE Tug ----------------------------------------------------------------------------------------------------------------------------- function tugCreateTug () theTug = createVehicle (583,-1545,-430,6,40) setElementModel(source, 16) outputChatBox ("*The Tug is behind you.",source,10,235,250) end addEvent ("tugCreateTug",true) addEventHandler ("tugCreateTug",getRootElement(),tugCreateTug) ---------------------------------------------------------------------------------------------------------------------------------- --GIVE MONEY ---------------------------------------------------------------------------------------------------------------------------------- addEvent ("DriverGiveMoney",true) addEventHandler ("DriverGiveMoney",getRootElement(), function (theMoney) givePlayerMoney(source,theMoney) end) ---------------------------------------------------------------------------------------------------------------------------------- --CREATE Tug GUI ---------------------------------------------------------------------------------------------------------------------------------- function tugCreateTugGUI(hitElement) if source == tug_marker_request then triggerClientEvent (hitElement,"tugCreateTugGUI",getRootElement()) end end addEventHandler ("onMarkerHit",getRootElement(),tugCreateTugGUI) Link to comment
AMARANT Posted July 27, 2012 Share Posted July 27, 2012 Server-side: ---------------------------------------------------------------------------------------------------------------------------------- --CREATE Tug GUI ---------------------------------------------------------------------------------------------------------------------------------- function tugCreateTugGUI(hitElement) if source == tug_marker_request then setElementFrozen(hitElement,true) setTimer ( function(hitElement) setElementFrozen(hitElement,false) end, 3000, 1 ) triggerClientEvent (hitElement,"tugCreateTugGUI",getRootElement()) end end addEventHandler ("onMarkerHit",getRootElement(),tugCreateTugGUI) EDITED*** Link to comment
AlexWo Posted July 27, 2012 Author Share Posted July 27, 2012 Yes ok but I meaned that I want that a player got freezed with his car when he arrives at a checkpoint Link to comment
Tete omar Posted July 27, 2012 Share Posted July 27, 2012 use these setTimer setElementFrozen getPedOccupiedVehicle onMarkerHit Link to comment
albers14 Posted July 27, 2012 Share Posted July 27, 2012 use these setTimer setElementFrozen getPedOccupiedVehicle onMarkerHit No need for getPedOccupiedVehicle as that one is the hitElement, if you want to freeze the player you are in need of getVehicleController instead 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