Martyz Posted November 15, 2013 Share Posted November 15, 2013 Hello, the question is: how to get vehicle the player died in. onPlayerVehicleExit, onVehicleStartExit, onVehicleExit events don't get called when player dies while he is in the vehicle. Also getPedOccupiedVehicle returns false in onPlayerWasted event. Maybe there is some another way to get the car? The reason why I need it, I need to set vehicle dimension to 0 when player exits vehicle. Link to comment
Anony# Posted November 15, 2013 Share Posted November 15, 2013 try this. g_me = getLocalPlayer() function bolt() vehicles = getPedOccupiedVehicle (localPlayer) setElementData(localPlayer,"vehic",vehicles) aoi = getElementData(localPlayer,"vehic") outputChatBox(aoi) end setTimer(bolt,500,-1) function kill(thePlayer, vehicles) setElementDimension(aoi, 5) triggerServerEvent('onRequestKillPlayer', g_me) end addCommandHandler('kill',kill) addCommandHandler('Commit suicide',kill) bindKey ( next(getBoundKeys"enter_exit"), "down", "Commit suicide") server addEvent('onRequestKillPlayer', true) addEventHandler('onRequestKillPlayer', getRootElement(),function() for player, dead in ipairs(getElementsByType("player")) do setElementHealth(dead, 0) end end) addEventHandler('onVehicleStartExit', getRootElement(), function() cancelEvent() end) Link to comment
Martyz Posted November 15, 2013 Author Share Posted November 15, 2013 Ye, I've knew this way to do it, but I thought there is some another simple function/event which I didn't notice, but big thanks for you anyways ! Link to comment
Spajk Posted November 15, 2013 Share Posted November 15, 2013 This is the worst way to do it... Here's a nice way: local playerVehicle = {} function enterVehicle(player) vehicle[player] = source end function exitVehicle(player) vehicle[player] = nil end function playerDied() local vehicle = playerVehicle[source] playerVehicle[source] = nil setElementDimension(vehicle, 0) end addEventHandler("onPlayerWasted", root, playerDied) addEventHandler("onVehicleEnter", root, enterVehicle) addEventHandler("onVehicleExit", root, exitVehicle) Link to comment
Martyz Posted November 16, 2013 Author Share Posted November 16, 2013 U failed a bit with variables here, but ye, that's looks the best way to do it, but anyways, I hope MTA team will fix onVehicleExit. Link to comment
Spajk Posted November 16, 2013 Share Posted November 16, 2013 uh, sorry, I first named the table "vehicle", but then, as its commonly used name, changed it to playerVehicle and forgot the change it on other places Link to comment
Moderators IIYAMA Posted November 17, 2013 Moderators Share Posted November 17, 2013 it isn't smart to set a vehicle to dimension 0, when you don't even know the vehicle still does exist. Next to that you don't clear the table when a player leaves the server, the userdata will remain there until the resource stops/restart. Even so it was a good example how it should be done, table systems are making the code very, very, fast. 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