Jump to content

Move Vehicle. (Race/DD)


pejczi

Recommended Posts

Hello,

Recently, I've decided to write script which repairs one bug on DD maps. As somebody from u guys know, when u prees enter , gamemode marks u as "dead" - it puts something like shadow with burn on the middle. Same thing is when u get blown.

The problem is how gamemode marks u as dead? What event it uses?

function moveVehicle ( ) 
    outputChatBox ( "First part", getRootElement(), 255, 0, 0, true ) 
    local vehicle = getPedOccupiedVehicle ( source ) 
    local x,y,z = getElementPosition( source ) 
    outputChatBox ( "vehicle: " ..tostring ( source ) ) 
    if ( vehicle ) then 
            setElementPosition ( vehicle, x,y,z-100 )            
        end 
    end 
    addEventHandler ( "onPlayerWasted" , getRootElement() , moveVehicle ) 

Ok i changed something.

Any ideas?

Edited by Guest
Link to comment
Hello,

Recently, I've decided to write script which repairs one bug on DD maps. As somebody from u guys know, when u prees enter , gamemode marks u as "dead" - it puts something like shadow with burn on the middle. Same thing is when u get blown.

The problem is how gamemode marks u as dead? What event it uses?

I tried to use event onExplode, but it still doesn't work.

function moveVehicle ( ) 
local x,y,z = getElementPosition(source) 
local vehicle = getPedOccupiedVehicle(source) 
local veh_health = getElementHealth ( vehicle ) 
local pl_health = getElementHealth ( source ) 
if ( vehicle ) then 
if veh_health == 0 or pl_health == 0 then 
setElementPosition ( vehicle, x,y,z-100 ) 
outputChatBox ( "Red #FFFFFFWhite", getRootElement(), 255, 0, 0, true ) 
addEventHandler ("onVehicleExplode", source, moveVehicle) 
end 
end 
end 

Any ideas?

You put the event inside the function

most be like this

function moveVehicle ( ) 
local x,y,z = getElementPosition(source) 
local vehicle = getPedOccupiedVehicle(source) 
local veh_health = getElementHealth ( vehicle ) 
local pl_health = getElementHealth ( source ) 
if ( vehicle ) then 
if veh_health == 0 or pl_health == 0 then 
setElementPosition ( vehicle, x,y,z-100 ) 
outputChatBox ( "Red #FFFFFFWhite", getRootElement(), 255, 0, 0, true ) 
end 
end 
end 
addEventHandler ("onVehicleExplode", source, moveVehicle) 

Link to comment

Ok, I changed event, what about it ?

function moveVehicle ( ) 
    outputChatBox ( "First part", getRootElement(), 255, 0, 0, true ) 
    local vehicle = getPedOccupiedVehicle ( source ) 
    local x,y,z = getElementPosition( source ) 
    outputChatBox ( "vehicle: " ..tostring ( source ) ) 
    if ( vehicle ) then 
            setElementPosition ( vehicle, x,y,z-100 )           
        end 
    end 
    addEventHandler ( "onPlayerWasted" , getRootElement() , moveVehicle ) 

It still ain't work.

Link to comment
function moveVehicle ( vehicle ) 
    outputChatBox ( "First part", getRootElement(), 255, 0, 0, true ) 
    local vehicle = getPedOccupiedVehicle ( source ) 
    local x, y, z = getElementPosition( source ) 
    outputChatBox ( "vehicle: ".. tostring ( source ) ) 
    if ( vehicle ) then 
        setElementPosition ( vehicle, x, y, z - 100 ) 
    end 
end 
addEvent ( "onPlayerRaceWasted", true ) 
addEventHandler ( "onPlayerRaceWasted" , getRootElement(), moveVehicle ) 

Link to comment
function moveVehicle ( vehicle ) 
    outputChatBox ( "First part", getRootElement(), 255, 0, 0, true ) 
    local x, y, z = getElementPosition ( vehicle ) 
    outputChatBox ( "vehicle: ".. tostring ( vehicle ) ) 
    if ( vehicle ) then 
        setElementPosition ( vehicle, x, y, z - 100 ) 
    end 
end 
addEvent ( "onPlayerRaceWasted", true ) 
addEventHandler ( "onPlayerRaceWasted" , getRootElement(), moveVehicle ) 

Link to comment
  • 2 weeks later...

Ok, I wanted to protect my script, so I decided to put server name "guard"

function blockScript () 
    local serverName = getServerName () 
    if serverName = "Dream Friends CW/FW [email protected], false"  then 
    outputChatBox ( "BlablablaTest", getRootElement(), 255, 255, 255, true ) 
end 
end 
addEventHandler ("getServerName", blockScript) 
  

I added this to my script (just for look if event works) , but debugscript says that "then expected near '=' in line 21"

Link to comment
function blockScript ( ) 
    local serverName = getServerName ( ) 
    if ( serverName == "Dream Friends CW/FW [email protected], false" ) then 
        outputChatBox ( "BlablablaTest", getRootElement(), 255, 255, 255, true ) 
    end 
end 
addEventHandler ( "getServerName", root, blockScript ) 

To check if something is equal you must use "==" not just "=".

Link to comment

Still doesn't work. At the beginning . Whole script looks :

function blockScript ( ) 
    local serverName = getServerName ( ) 
    if ( serverName == "GummyBear, false" ) then 
        outputChatBox ( "BlablablaTest", getRootElement(), 255, 255, 255, true ) 
    end 
end 
addEventHandler ( "getServerName", root, blockScript ) 
  
function moveVehicle ( vehicle ) 
    local x, y, z = getElementPosition ( vehicle ) 
    if ( vehicle ) then 
        setElementPosition ( vehicle, x, y, z - 100 ) 
    end 
end 
addEvent ( "onPlayerRaceWasted", true ) 
addEventHandler ( "onPlayerRaceWasted" , getRootElement(), moveVehicle ) 
  
function greetPlayer ( ) 
    -- we store the player's name 
    local joinedPlayerName = getPlayerName ( source ) 
    local serverName = getServerName( ) 
    -- and send him a greeting 
    outputChatBox ( "Antibug car script #FF0000made by #00BFBFPejczi", getRootElement(), 255, 255, 255, true ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), greetPlayer ) 
  

Btw. u didn't define "root", did you?

Link to comment

Ok, so i'll explain u what I wanted to do. I wanted to check if the event works - that's why i put outputchatbox instead of script block.

What doesn't make any sense else? Do u have skype or any other messanger? It's hard to write there.

Link to comment

I want to give somebody my script ; and I don't want to let this script to be given somebody else.

Ok, I've recognized that "getServerName" isn't event ; i added server sided event instead of this and defined one variable

local resourceRoot = getResourceRootElement ( getThisResource ( ) ) 
function blockScript ( ) 
    local serverName = getServerName ( ) 
    if ( serverName == "GummyBear, false" ) then 
        outputChatBox ( "BlablablaTest", 255, 255, 255, true ) 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, blockScript ) 
  
  
  
  
function moveVehicle ( vehicle ) 
    local x, y, z = getElementPosition ( vehicle ) 
    if ( vehicle ) then 
        setElementPosition ( vehicle, x, y, z - 100 ) 
    end 
end 
addEvent ( "onPlayerRaceWasted", true ) 
addEventHandler ( "onPlayerRaceWasted" , getRootElement(), moveVehicle ) 
  
function greetPlayer ( ) 
    -- we store the player's name 
    local joinedPlayerName = getPlayerName ( source ) 
    local serverName = getServerName( ) 
    -- and send him a greeting 
    outputChatBox ( "Antibug car script #FF0000made by #00BFBFPejczi", getRootElement(), 255, 255, 255, true ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), greetPlayer ) 

Link to comment
if ( serverName == "GummyBear, false" ) then 

Doesn't make any sence

try:

if ( getServerName ( ) == "GummyBear" ) then 

if the server name is "gummybear" it will trigger the event.

if you don't want that ( i guess ). then you will need a NOT statement.

if not ( getServerName ( ) == "GummyBear" ) then 

this will trigger if the server name isn't "gummybear"

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