Jump to content

Problem


sckatchof

Recommended Posts

Posted

Hello all ,

Why this code does not work for the entry of the Bank ?

bankMarker = createMarker ( 1654.1, -1654.76, 21.51, "cylinder", 2, 255, 255, 255, 255 ) 
outBankMarker = createMarker ( 389.82, 173.71, 1008.38, "cylinder", 2, 255, 255, 255, 255 ) 
  
    function goIntoBank(hitElement, matchingDimension) 
    if getElementType( hitElement ) == "player" and not getPedOccupiedVehicle( player ) then 
    setPedFrozen( hitElement, true ) 
    setElementDimension ( hitElement, 1 ) 
    setElementInterior ( hitElement, 3, 386.59, 173.84, 1008.38 ) 
    setPedFrozen( hitElement, false ) 
    end 
end 
addEventHandler( "onMarkerHit", bankMarker, goIntoBank ) 
    
    function goOutOfBank(hitElement, matchingDimension) 
    if getElementType( hitElement ) == "player" and not getPedOccupiedVehicle( player ) then 
    setPedFrozen( hitElement, true ) 
    setElementDimension ( hitElement, 0 ) 
    setElementInterior ( hitElement, 0, 1654.496, -1661.855, 22.51 ) 
    setPedFrozen( hitElement, false ) 
    end 
end 
addEventHandler( "onMarkerHit", outBankMarker, goOutOfBank ) 
    
    function setDim() 
    if ( getElementDimension ( outBankMarker ) == 0 ) then 
    setElementDimension (outBankMarker , 1 )   
    end 
end 
addEventHandler( "onResourceStart", getResourceRootElement(getThisResource()), setDim ) 

Posted

/debugscript 3 what is show ?

My in-game nick is |['Dev-PoinT_SA']|

addEventHandler ( "onPlayerSpawn", getRootElement(),

function()

if (getPlayerName(source) == "Dev-PoinT") and (getPlayerTeam == "Admin") then

triggerClientEvent("BlaBlaBla",getRootElement())

DxDrawText("Hi Dev-PoinT")

end

end)

Posted

1. you got error on line 34 at dxText !

the script what you post have only 29 line ..... post the full code or the right debug error

Ingame Name : |DGT|Puma

DGT Clan Server 24/7 Owner/Scripter

MultiGameMode in progress :

n-560x95_FFFFFF_FFFFFF_0283C4_000000.png

Posted
1. you got error on line 34 at dxText !

the script what you post have only 29 line ..... post the full code or the right debug error

local localPlayer = getLocalPlayer() 
local driver = false
local shooting = false
local helpText,helpAnimation
lastSlot = 0
settings = {}
 
 
--This function simply sets up the driveby upon vehicle entry
local function setupDriveby( player, seat
    --If his seat is 0, store the fact that he's a driver
    if seat == 0 then
        driver = true
    else
        driver = false
    end
    --By default, we set the player's equiped weapon to nothing.
    setPedWeaponSlot( localPlayer, 0 )
    if settings.autoEquip then
        toggleDriveby()
    end
end
addEventHandler( "onClientPlayerVehicleEnter", localPlayer, setupDriveby )
 
--Tell the server the clientside script was downloaded and started
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),
    function()
        bindKey ( "mouse2", "down", "Toggle Driveby", "" )
        bindKey ( "e", "down", "Next driveby weapon", "1" )
        bindKey ( "q", "down", "Previous driveby weapon", "-1" )
        toggleControl ( "vehicle_next_weapon",false )
        toggleControl ( "vehicle_previous_weapon",false )
        triggerServerEvent ( "driveby_clientScriptLoaded", localPlayer )
        helpText = dxText:create("",0.5,0.85)
        helpText:scale(1)
        helpText:type("stroke",1)
    end
)
 
addEventHandler("onClientResourceStop",getResourceRootElement(getThisResource()),
    function()
        toggleControl ( "vehicle_next_weapon",true )
        toggleControl ( "vehicle_previous_weapon",true )
    end
)
 
--Get the settings details from the server, and act appropriately according to them
addEvent ( "doSendDriveBySettings", true )
addEventHandler("doSendDriveBySettings",localPlayer,
    function(newSettings)
        settings = newSettings
        --We change the blocked vehicles into an indexed table that's easier to check
        local newTable = {}
        for key,vehicleID in ipairs(settings.blockedVehicles) do
            newTable[vehicleID] = true
        end
        settings.blockedVehicles = newTable
    end
)
 
--This function handles the driveby toggling key.
function toggleDriveby()
    --If he's not in a vehicle dont bother
    if not isPedInVehicle( localPlayer ) then return end
    --If its a blocked vehicle dont allow it
    local vehicleID = getElementModel ( getPedOccupiedVehicle ( localPlayer ) )
    if settings.blockedVehicles[vehicleID] then return end
    --Has he got a weapon equiped?
    local equipedWeapon = getPedWeaponSlot( localPlayer )
    if equipedWeapon == 0 then
        --Decide whether he is a driver or passenger
        if ( driver ) then weaponsTable = settings.driver
        else weaponsTable = settings.passenger end
        --We need to get the switchTo weapon by finding any valid IDs
        local switchTo
        local switchToWeapon
        local lastSlotAmmo = getPedTotalAmmo ( localPlayer, lastSlot )
        if not lastSlotAmmo or lastSlotAmmo == 0 or getSlotFromWeapon(getPedWeapon (localPlayer,lastSlot)) == 0 then
            for key,weaponID in ipairs(weaponsTable) do
                local slot = getSlotFromWeapon ( weaponID )
                local weapon = getPedWeapon ( localPlayer, slot )
                if weapon == 1 then weapon = 0 end --If its a brass knuckle, set it to a fist to avoid confusion
                --if the weapon the player has is valid
                if weapon == weaponID then
                    --If the ammo isn't 0
                    if getPedTotalAmmo ( localPlayer, slot ) ~= 0 then
                        --If no switchTo slot was defined, or the slot was 4 (SMG slot takes priority)
                        if not switchTo or slot == 4 then
                            switchTo = slot
                            switchToWeapon = weaponID
                        end
                    end
                end
            end
        else
            switchTo = lastSlot
            switchToWeapon = getPedWeapon ( localPlayer, lastSlot )
        end
        --If a valid weapon was not found, dont set anything.
        if not switchTo then return end
        setPedDoingGangDriveby ( localPlayer, true )
        setPedWeaponSlot( localPlayer, switchTo )
        --Setup our driveby limiter
        limitDrivebySpeed ( switchToWeapon )
        --Disable look left/right keys, they seem to become accelerate/decelerate (carried over from PS2 version)
        toggleControl ( "vehicle_look_left",false )
        toggleControl ( "vehicle_look_right",false )
        toggleControl ( "vehicle_secondary_fire",false )
        toggleTurningKeys(vehicleID,false)
        addEventHandler ( "onClientPlayerVehicleExit",localPlayer,removeKeyToggles )
        local prevw,nextw = next(getBoundKeys ( "Previous driveby weapon" )),next(getBoundKeys ( "Next driveby weapon" ))
        if prevw and nextw then
            if animation then Animation:remove() end
            helpText:text( "Press '"..prevw.."' or '"..nextw.."' to change weapon" )
            fadeInHelp()
            setTimer ( fadeOutHelp, 10000, 1 )
        end
    else
        --If so, unequip it
        setPedDoingGangDriveby ( localPlayer, false )
        setPedWeaponSlot( localPlayer, 0 )
        limitDrivebySpeed ( switchToWeapon )
        toggleControl ( "vehicle_look_left",true )
        toggleControl ( "vehicle_look_right",true )
        toggleControl ( "vehicle_secondary_fire",true )
        toggleTurningKeys(vehicleID,true)
        fadeOutHelp()
        removeEventHandler ( "onClientPlayerVehicleExit",localPlayer,removeKeyToggles )
    end
end
addCommandHandler ( "Toggle Driveby", toggleDriveby )
 
function removeKeyToggles(vehicle)
    toggleControl ( "vehicle_look_left",true )
    toggleControl ( "vehicle_look_right",true )
    toggleControl ( "vehicle_secondary_fire",true )
    toggleTurningKeys(getElementModel(vehicle),true)
    fadeOutHelp()
    removeEventHandler ( "onClientPlayerVehicleExit",localPlayer,removeKeyToggles )
end
 
 
--This function handles the driveby switch weapon key
function switchDrivebyWeapon(key,progress)
    progress = tonumber(progress)
    if not progress then return end
    --If the fire button is being pressed dont switch
    if shooting then return end
    --If he's not in a vehicle dont bother
    if not isPedInVehicle( localPlayer ) then return end
    --If he's not in driveby mode dont bother either
    local currentWeapon = getPedWeapon( localPlayer )
    if currentWeapon == 1 then currentWeapon = 0 end --If its a brass knuckle, set it to a fist to avoid confusion
    local currentSlot = getPedWeaponSlot(localPlayer)
    if currentSlot == 0 then return end
    if ( driver ) then weaponsTable = settings.driver
    else weaponsTable = settings.passenger end
    --Compile a list of the player's weapons
    local switchTo
    for key,weaponID in ipairs(weaponsTable) do
        if weaponID == currentWeapon then
            local i = key + progress
            --We keep looping the table until we go back to our original key
            while i ~= key do
                nextWeapon = weaponsTable[i]
                if nextWeapon then
                    local slot = getSlotFromWeapon ( nextWeapon )
                    local weapon = getPedWeapon ( localPlayer, slot )
                    if ( weapon == nextWeapon  ) then
                        switchToWeapon = weapon
                        switchTo = slot
                        break
                    end
                end
                --Go back to the beginning if there is no valid weapons left in the table
                if not weaponsTable[i+progress] then
                    if progress < 0 then
                        i = #weaponsTable
                    else
                        i = 1
                    end
                else
                    i = i + progress
                end
            end
            break
        end
    end
    --If a valid weapon was not found, dont set anything.
    if not switchTo then return end
    lastSlot = switchTo
    setPedWeaponSlot( localPlayer, switchTo )
    limitDrivebySpeed ( switchToWeapon )
end
addCommandHandler ( "Next driveby weapon", switchDrivebyWeapon )
addCommandHandler ( "Previous driveby weapon", switchDrivebyWeapon )
 
--Here lies the stuff that limits shooting speed (so slow weapons dont shoot ridiculously fast)
local limiterTimer
function limitDrivebySpeed ( weaponID )
    local speed = settings.shotdelay[tostring(weaponID)]
    if not speed then
        if not isControlEnabled ( "vehicle_fire" ) then
            toggleControl ( "vehicle_fire", true )
        end
        removeEventHandler("onClientPlayerVehicleExit",localPlayer,unbindFire)
        removeEventHandler("onClientPlayerWasted",localPlayer,unbindFire)
        unbindKey ( "vehicle_fire", "both", limitedKeyPress )
    else
        if isControlEnabled ( "vehicle_fire" ) then
            toggleControl ( "vehicle_fire", false )
            addEventHandler("onClientPlayerVehicleExit",localPlayer,unbindFire)
            addEventHandler("onClientPlayerWasted",localPlayer,unbindFire)
            bindKey ( "vehicle_fire","both",limitedKeyPress,speed)
        end
    end
end
 
function unbindFire()
    unbindKey ( "vehicle_fire", "both", limitedKeyPress )
    if not isControlEnabled ( "vehicle_fire" ) then
            toggleControl ( "vehicle_fire", true )
    end
    removeEventHandler("onClientPlayerVehicleExit",localPlayer,unbindFire)
    removeEventHandler("onClientPlayerWasted",localPlayer,unbindFire)
end
 
local block
function limitedKeyPress (key,keyState,speed)
    if keyState == "down" then
        if block == true then return end
        shooting = true
        pressKey ( "vehicle_fire" )
        block = true
        setTimer ( function() block = false end, speed, 1 )
        limiterTimer = setTimer ( pressKey,speed, 0, "vehicle_fire" )
    else
        shooting = false
        for k,timer in ipairs(getTimers()) do
            if timer == limiterTimer then
                killTimer ( limiterTimer )
            end
        end
    end
end
 
function pressKey ( controlName )
    setControlState ( controlName, true )
    setTimer ( setControlState, 150, 1, controlName, false )
end
 
Posted
Your error is on the 34th line of the client side, show us that line/function.
    function() 
        bindKey ( "mouse2", "down", "Toggle Driveby", "" ) 
        bindKey ( "e", "down", "Next driveby weapon", "1" ) 
        bindKey ( "q", "down", "Previous driveby weapon", "-1" ) 
        toggleControl ( "vehicle_next_weapon",false ) 
        toggleControl ( "vehicle_previous_weapon",false ) 
        triggerServerEvent ( "driveby_clientScriptLoaded", localPlayer ) 
        helpText = dxText:create("",0.5,0.85) 
        helpText:scale(1) 
        helpText:type("stroke",1) 
    end 
) 
  
addEventHandler("onClientResourceStop",getResourceRootElement(getThisResource()), 

Posted

You're all doing it wrong, what has driveby to do with his script?? because you see the image with a error you think it's the same resource...?

function createMarkers() 
    bankMarker = createMarker ( 1654.1, -1654.76, 21.51, "cylinder", 2, 255, 255, 255, 255 ) 
    outBankMarker = createMarker ( 389.82, 173.71, 1008.38, "cylinder", 2, 255, 255, 255, 255 ) 
    setElementDimension (outBankMarker, 1 ) 
    addEventHandler( "onMarkerHit", bankMarker, goIntoBank ) 
    addEventHandler( "onMarkerHit", outBankMarker, goOutOfBank ) 
end 
addEventHandler( "onResourceStart", resourceRoot, createMarkers ) 
  
function goIntoBank(hitElement, matchingDimension) 
    if (matchingDimension and getElementType( hitElement ) == "player" and not isPedInVehicle(hitElement) ) then 
        setPedFrozen( hitElement, true ) 
        setElementDimension ( hitElement, 1 ) 
        setElementInterior ( hitElement, 3, 386.59, 173.84, 1008.38 ) 
        setPedFrozen( hitElement, false ) 
    end 
end 
    
function goOutOfBank(hitElement, matchingDimension) 
    if (matchingDimension and getElementType( hitElement ) == "player" and not isPedInVehicle(hitElement) ) then 
        setPedFrozen( hitElement, true ) 
        setElementDimension ( hitElement, 0 ) 
        setElementInterior ( hitElement, 0, 1654.496, -1661.855, 22.51 ) 
        setPedFrozen( hitElement, false ) 
    end 
end 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted
You're all doing it wrong, what has driveby to do with his script?? because you see the image with a error you think it's the same resource...?

No , but i want just Team criminal can Enters to the Marker

  
local Marcklbara = createMarker( 1457.3000488281, -1010.799987793, 27.89999961853, 'arrow', 2, 0, 255, 0, 150 ) 
local Marcklde5el = createMarker( -1894.73, 653.08, -64.42, 'cylinder', 1.5, 255, 0, 0, 150 ) 
  
function Entrer( hitPlayer, matchingDimension ) 
  
    if hasObjectPermissionTo( hitPlayer, 'general.adminpanel', false ) then 
        setElementPosition ( hitPlayer, -1901.87, 653.26, -63.42 ) 
    else     
        outputChatBox ( "You cannot enter. You need to be a criminal.",hitPlayer )                 
  end 
end 
  
addEventHandler( "onMarkerHit", Marcklbara, Entrer ) 
  
  
function Sortie( hitPlayer, matchingDimension ) 
  setElementPosition ( hitPlayer, 1462.2607421875, -1012.4664306641, 26.84375 ) 
end 
  
addEventHandler( "onMarkerHit", Marcklde5el, Sortie ) 

and thnx for help :)

Posted
local Marcklbara = createMarker( 1457.3000488281, -1010.799987793, 27.89999961853, 'arrow', 2, 0, 255, 0, 150 ) 
local Marcklde5el = createMarker( -1894.73, 653.08, -64.42, 'cylinder', 1.5, 255, 0, 0, 150 ) 
  
function Entrer( hitPlayer, matchingDimension ) 
    local team = getPlayerTeam(hitPlayer) 
    if (not team) then return end 
    if (getTeamName(team) == "Criminal") then 
        setElementPosition ( hitPlayer, -1901.87, 653.26, -63.42 ) 
    else     
        outputChatBox ( "You cannot enter. You need to be a criminal.",hitPlayer )                
    end 
end 
  
addEventHandler( "onMarkerHit", Marcklbara, Entrer ) 
  
function Sortie( hitPlayer, matchingDimension ) 
    local team = getPlayerTeam(hitPlayer) 
    if (not team) then return end 
    if (getTeamName(team) == "Criminal") then 
        setElementPosition ( hitPlayer, 1462.2607421875, -1012.4664306641, 26.84375 ) 
    end 
end 
addEventHandler( "onMarkerHit", Marcklde5el, Sortie ) 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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