toptional Posted June 1, 2013 Posted June 1, 2013 I get this debug error ERROR: line 18: attempt to compare boolean with number It's supposed to when you enter the marker see if your vehicle health is below 100% if it is, it fixes it, if not it does nothing. UKMarker = createMarker ( -2079.88, 2099.58, 15.5,"cylinder",6.0,255,255,0,125) USAMarker = createMarker (349.18, 2540.00, 15.5,"cylinder",6.0,255,255,0,125) RUSMarker = createMarker ( 2205.92, -219.31, 16.5,"cylinder",6.0,255,255,0,125) GERMarker = createMarker ( -1088.41, -1036.57, 128.25,"cylinder",6.0,255,255,0,125) UKBlip = createBlipAttachedTo ( UKMarker,63, 1,0,0,0,255,0,3000,getRootElement()) USABlip = createBlipAttachedTo ( USAMarker,63, 1,0,0,0,255,0,3000,getRootElement()) RUSBlip = createBlipAttachedTo ( RUSMarker,63, 1,0,0,0,255,0,3000,getRootElement()) GERBlip = createBlipAttachedTo ( GERMarker,63, 1,0,0,0,255,0,3000,getRootElement()) function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then if ( getElementType ( hitPlayer ) == "player" ) then local vehicle = getPedOccupiedVehicle ( hitPlayer ) if ( vehicle ) then local vehicleHealth = getElementHealth ( playerVehicle ) if vehicleHealth <= 100 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle, true ) setTimer ( function ( ) fixVehicle ( vehicle ) --toggleAllControls ( true ) setElementFrozen ( vehicle, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) else outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) end end end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK )
ViRuZGamiing Posted June 1, 2013 Posted June 1, 2013 Is this a Pay 'n Spray? Because I have a Working One if you want it send me a PM "If debugging is the process of removing software bugs, then programming must be the process of putting them in."
iPrestege Posted June 1, 2013 Posted June 1, 2013 local vehicleHealth = getElementHealth ( playerVehicle ) You see ( playerVehicle ) This argument should be ( vehicle ) .
toptional Posted June 1, 2013 Author Posted June 1, 2013 I changed that Pre[T]ege, but now it says I need to be in a vehicle when i go through the marker
iPrestege Posted June 1, 2013 Posted June 1, 2013 function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth = getElementHealth ( vehicle ) if vehicleHealth <= 100 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle, true ) setTimer ( function ( ) fixVehicle ( vehicle ) --toggleAllControls ( true ) setElementFrozen ( vehicle, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK )
Vision Posted June 1, 2013 Posted June 1, 2013 Is that what you wanted to? UKMarker = createMarker ( -2079.88, 2099.58, 15.5,"cylinder",6.0,255,255,0,125) USAMarker = createMarker (349.18, 2540.00, 15.5,"cylinder",6.0,255,255,0,125) RUSMarker = createMarker ( 2205.92, -219.31, 16.5,"cylinder",6.0,255,255,0,125) GERMarker = createMarker ( -1088.41, -1036.57, 128.25,"cylinder",6.0,255,255,0,125) UKBlip = createBlipAttachedTo ( UKMarker,63, 1,0,0,0,255,0,3000,getRootElement()) USABlip = createBlipAttachedTo ( USAMarker,63, 1,0,0,0,255,0,3000,getRootElement()) RUSBlip = createBlipAttachedTo ( RUSMarker,63, 1,0,0,0,255,0,3000,getRootElement()) GERBlip = createBlipAttachedTo ( GERMarker,63, 1,0,0,0,255,0,3000,getRootElement()) function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then if ( getElementType ( hitPlayer ) == "player" ) then local vehicle = getPedOccupiedVehicle ( hitPlayer ) if ( vehicle ) then local vehicleHealth = getElementHealth ( vehicle ) if ( vehicleHealth < 1000 ) then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle, true ) setTimer ( function ( ) fixVehicle ( vehicle ) --toggleAllControls ( true ) setElementFrozen ( vehicle, false ) fadeCamera ( true ) takePlayerMoney ( 250 ) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end else outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) end end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK )
denny199 Posted June 1, 2013 Posted June 1, 2013 And you are taking the money on client side, bad idea. Note: Using this function client side (not recommended) will not change a players money server side. Sometimes I dream about cheese
toptional Posted June 1, 2013 Author Posted June 1, 2013 function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth = getElementHealth ( vehicle ) if vehicleHealth <= 100 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle, true ) setTimer ( function ( ) fixVehicle ( vehicle ) --toggleAllControls ( true ) setElementFrozen ( vehicle, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK ) Thanks you fixed it
toptional Posted June 1, 2013 Author Posted June 1, 2013 Another issue D: It outputs the message 3 times, when you go and get the vehicle fixed. function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth = getElementHealth ( vehicle ) if vehicleHealth <= 950 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle, true ) setTimer ( function ( ) fixVehicle ( vehicle ) --toggleAllControls ( true ) setElementFrozen ( vehicle, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK ) function fixUSA ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle2 = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle2 ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth2 = getElementHealth ( vehicle2 ) if vehicleHealth2 <= 950 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle2, true ) setTimer ( function ( ) fixVehicle ( vehicle2 ) --toggleAllControls ( true ) setElementFrozen ( vehicle2, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", USAMarker, fixUSA ) function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle3 = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle3 ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth3 = getElementHealth ( vehicle3 ) if vehicleHealth3 <= 950 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle3, true ) setTimer ( function ( ) fixVehicle ( vehicle3 ) --toggleAllControls ( true ) setElementFrozen ( vehicle3, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK ) function fixUK ( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle4 = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle4 ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth4 = getElementHealth ( vehicle4 ) if vehicleHealth4 <= 950 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle4, true ) setTimer ( function ( ) fixVehicle ( vehicle4 ) --toggleAllControls ( true ) setElementFrozen ( vehicle4, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixUK ) P.S The markers are created before the script don't worry
Jaysds1 Posted June 1, 2013 Posted June 1, 2013 (edited) try this: function fixScript( hitPlayer, matchingDimension ) if ( hitPlayer == localPlayer ) then local vehicle = getPedOccupiedVehicle ( hitPlayer ) if not ( vehicle ) then outputChatBox ( "You need to be in a vehicle!", 255, 0, 0 ) return end local vehicleHealth = getElementHealth ( vehicle ) if vehicleHealth <= 950 then fadeCamera ( false ) --toggleAllControls ( false ) setElementFrozen ( vehicle, true ) setTimer ( function ( ) fixVehicle ( vehicle ) --toggleAllControls ( true ) setElementFrozen ( vehicle, false ) fadeCamera ( true ) takePlayerMoney(250) outputChatBox ( "Your vehicle was fixed for $250!", 255, 0, 0 ) end , 2000, 1 ) end end end addEventHandler ( "onClientMarkerHit", UKMarker, fixScript ) addEventHandler ( "onClientMarkerHit", USAMarker,fixScript) addEventHandler ( "onClientMarkerHit", RUSMarker,fixScript) addEventHandler ( "onClientMarkerHit", GERMarker,fixScript) Edited June 2, 2013 by Guest My in-game name: Jaysds1 Retired CMG Scripter World Of Tanks GameMode (Open-Source): https://github.com/Jaysds1/mtasa-wot-gamemode Online GUI-Editor (WIP): https://forum.mtasa.com/topic/47678-online-gui-editor/
Castillo Posted June 1, 2013 Posted June 1, 2013 Isn't the code from each function the same? if so, then you can just use one function, that would be a lot more efficient. San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
Jaysds1 Posted June 2, 2013 Posted June 2, 2013 oh, your right, let me change that then My in-game name: Jaysds1 Retired CMG Scripter World Of Tanks GameMode (Open-Source): https://github.com/Jaysds1/mtasa-wot-gamemode Online GUI-Editor (WIP): https://forum.mtasa.com/topic/47678-online-gui-editor/
PaiN^ Posted June 2, 2013 Posted June 2, 2013 And you are taking the money on client side, bad idea.Note: Using this function client side (not recommended) will not change a players money server side. It's a fake money also the fix vehicle . " Keep Thinking Different . " - Steve Jops -------------------- Don't send me PMs asking for help, I Won't reply !
Castillo Posted June 2, 2013 Posted June 2, 2013 He has to use triggerServerEvent to take/fix it server side. San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
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