Jump to content

Jeeveegee

Members
  • Posts

    16
  • Joined

  • Last visited

Jeeveegee's Achievements

Square

Square (6/54)

0

Reputation

  1. So if I understand you correctly you suggest that I create the functions in a new resource specificaly designed to load my queries, and export them to access them in other resources?
  2. I'm currently working on my own roleplay server and I have created serveral resources that all connect to one MySQL database with serveral tables that contain all the userdata. When I need the data ingame in a resource I load it from the MySQL database and store it in an array/table in my script This is usually when a new player logs into the server. When the user quits the server his data is saved again in the MySQL database. The problem is I somtimes need the same information from the database in multiple resources at the same time. Which means that if I load the data from the MySQL database into both resources and its changed in one resource, it's not automatically changed in the other resource. I figured my way might not be the best way to use MySQL queries. I know using setElementData() to share data across resources is a possibility but means more lag. I figured maybe instead of loading the data into an array/table just using queries all the time to load and save it from/in the MySQL database is an option, but maybe you guys have a better solution?
  3. This script teleports you from one warp-marker to another warp-marker. The problem is, the script loops 2 or 3 times when people enter the marker, and while sometimes you end up at the right location, sometimes you just warp to your current location. I tried to fix it by setting timers and something like that, but that isn't working. Anyone who can help me? function hitMarker(hitElement, matchingDimension) function typeEnter() local elementType = getElementType(hitElement) if elementType == "player" then local warpID = getElementData(source,"warpID") local warpDimension = getElementData(source,"warpDimension") local warpName = getElementData(source,"warpName") local warpRestriction = getElementData(source,"warpRestriction") outputDebugString(warpID) local result = mysql_query(handler,"SELECT * FROM warps WHERE warpName = '"..warpName.."' AND warpID != '"..warpID.."' LIMIT 1") local count = mysql_num_rows(result) if (count == 1) then outputChatBox("You are being moved.", hitElement) local row = mysql_fetch_assoc(result) local warpX = row['warpX'] local warpY = row['warpY'] local warpZ = row['warpZ'] local warpR = row['warpR'] local warpDimension = row['warpDimension'] setElementPosition(hitElement,warpX,warpY,warpZ) setElementRotation(hitElement,0,0,warpR) setElementDimension(hitElement,warpDimension) else outputChatBox("Nothing happend.") end end end addCommandHandler("enter",typeEnter) end addEventHandler("onMarkerHit",getRootElement(),hitMarker)
  4. Alright so far it seems to work! So let's me try and get this straight: - triggerServerEvent() use localPlayer. - triggeringClientEvent() use source two times. Then it will always be that players gui only?
  5. Alright so I changed what you told me to do, but it's still showing the GUI to every player. Anything else I might have missed? Client-Side function createVehicleWindow() local Width = 200 local Height = 200 local X = 100 local Y = 400 vehicleWindow = guiCreateWindow(X, Y, Width, Height, "Vehicle Window", false) guiWindowSetSizable(vehicleWindow, false) guiSetVisible(vehicleWindow, false) end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function() bindKey ("F4", "down", showVehicleWindow) createVehicleWindow() end ) function showVehicleWindow() getVisible = guiGetVisible (vehicleWindow) if (getVisible == true) then guiSetVisible (vehicleWindow, false) showCursor(false) guiSetInputEnabled(false) end if (getVisible == false) then local playerName = getPlayerName(getLocalPlayer()) triggerServerEvent("getVehiclesForBox", localPlayer, playerName) end end function vehicleWindowButtons(vehicleModel1,vehicleModel2) local vehicleName1 = getVehicleNameFromModel( vehicleModel1 ) local vehicleName2 = getVehicleNameFromModel( vehicleModel2 ) X = 0.05 Y = 0.15 Width = 0.4 Height = 0.15 btnCar1 = guiCreateButton(X, Y, Width, Height, vehicleName1, true, vehicleWindow) X = 0.55 Y = 0.15 Width = 0.4 Height = 0.15 btnCar2 = guiCreateButton(X, Y, Width, Height, vehicleName2, true, vehicleWindow) guiSetVisible (vehicleWindow, true) showCursor(true) guiSetInputEnabled(true) addEventHandler("onClientGUIClick", btnCar1, spawnVehicle1, false) addEventHandler("onClientGUIClick", btnCar2, spawnVehicle2, false) end addEvent("showVehicleButtons",true) addEventHandler("showVehicleButtons", getRootElement(), vehicleWindowButtons) function spawnVehicle1() local playerName = getPlayerName(getLocalPlayer()) triggerServerEvent("spawnVehicleOne", localPlayer, playerName) end function spawnVehicle2() local playerName = getPlayerName(getLocalPlayer()) triggerServerEvent("spawnVehicleTwo", localPlayer, playerName) end Server-Side --GET VEHICLE FOR GUI BOX function getStoredVehicles(playerName) local result = mysql_query(handler, "SELECT vehicleModel FROM vehicles WHERE playerName = '"..playerName.."'") if (result) then local numRows = mysql_num_rows(result) outputChatBox(numRows) if (numRows > 0) then mysql_data_seek(result, 0) local row = mysql_fetch_assoc(result) vehicleModel1 = row['vehicleModel'] if (numRows > 1) then mysql_data_seek(result, 1) local row = mysql_fetch_assoc(result) vehicleModel2 = row['vehicleModel'] end triggerClientEvent("showVehicleButtons",source,vehicleModel1,vehicleModel2) else return nil end end mysql_free_result(result) end addEvent("getVehiclesForBox", true) addEventHandler("getVehiclesForBox", getRootElement(), getStoredVehicles) --SPAWN FIRST VEHICLE function spawnFirstVehicle(playerName) local result = mysql_query(handler, "SELECT * FROM vehicles WHERE playerName = '"..playerName.."'") if (result) then local numRows = mysql_num_rows(result) if (numRows > 0) then mysql_data_seek(result, 0) local row = mysql_fetch_assoc(result) local vehicleModel = row['vehicleModel'] local vehicleHealth = row['vehicleHealth'] local vehicleColor1 = row['vehicleColor1'] local vehicleColor2 = row['vehicleColor2'] local vehicleX = row['vehicleX'] local vehicleY = row['vehicleY'] local vehicleZ = row['vehicleZ'] local vehicleA = row['vehicleA'] local newVehicle = createVehicle (vehicleModel,0,0,0) local spawnVeh = spawnVehicle(newVehicle, vehicleX, vehicleY, vehicleZ, 0, 0, vehicleA) if spawnVeh then outputChatBox("Vehicle was spawned", source) else outputChatBox("Error", source) end end end end addEvent("spawnVehicleOne", true) addEventHandler("spawnVehicleOne", getRootElement(), spawnFirstVehicle) --SPAWN SECOND VEHICLE function spawnSecondVehicle(playerName) local result = mysql_query(handler, "SELECT * FROM vehicles WHERE playerName = '"..playerName.."'") if (result) then local numRows = mysql_num_rows(result) if (numRows > 0) then mysql_data_seek(result, 1) local row = mysql_fetch_assoc(result) local vehicleModel = row['vehicleModel'] local vehicleHealth = row['vehicleHealth'] local vehicleColor1 = row['vehicleColor1'] local vehicleColor2 = row['vehicleColor2'] local vehicleX = row['vehicleX'] local vehicleY = row['vehicleY'] local vehicleZ = row['vehicleZ'] local vehicleA = row['vehicleA'] local newVehicle = createVehicle (vehicleModel,0,0,0) local spawnVeh = spawnVehicle(newVehicle, vehicleX, vehicleY, vehicleZ, 0, 0, vehicleA) if spawnVeh then outputChatBox("Vehicle was spawned", source) else outputChatBox("Error", source) end end end end addEvent("spawnVehicleTwo", true) addEventHandler("spawnVehicleTwo", getRootElement(), spawnSecondVehicle)
  6. Here are the scripts, serverside and client-side. They are used to load the players vehicle from the mysql database, which can contain a maximum of two cars. Everytime the player presses F4 the gui pops up with the car data for that player, but then it also pops up at every other player. I read something about it having to do with using 'getRootElement()' and 'source' and I tried to figure that out but everything I tried failed. Here's the script. Client-Side function createVehicleWindow() local Width = 200 local Height = 200 local X = 100 local Y = 400 vehicleWindow = guiCreateWindow(X, Y, Width, Height, "Vehicle Window", false) guiWindowSetSizable(vehicleWindow, false) guiSetVisible(vehicleWindow, false) end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function() bindKey ("F4", "down", showVehicleWindow) createVehicleWindow() end ) function showVehicleWindow() getVisible = guiGetVisible (vehicleWindow) if (getVisible == true) then guiSetVisible (vehicleWindow, false) showCursor(false) guiSetInputEnabled(false) end if (getVisible == false) then local playerName = getPlayerName(getLocalPlayer()) triggerServerEvent("getVehiclesForBox", getRootElement(), playerName) end end function vehicleWindowButtons(vehicleModel1,vehicleModel2) local vehicleName1 = getVehicleNameFromModel( vehicleModel1 ) local vehicleName2 = getVehicleNameFromModel( vehicleModel2 ) X = 0.05 Y = 0.15 Width = 0.4 Height = 0.15 btnCar1 = guiCreateButton(X, Y, Width, Height, vehicleName1, true, vehicleWindow) X = 0.55 Y = 0.15 Width = 0.4 Height = 0.15 btnCar2 = guiCreateButton(X, Y, Width, Height, vehicleName2, true, vehicleWindow) guiSetVisible (vehicleWindow, true) showCursor(true) guiSetInputEnabled(true) addEventHandler("onClientGUIClick", btnCar1, spawnVehicle1, false) addEventHandler("onClientGUIClick", btnCar2, spawnVehicle2, false) end addEvent("showVehicleButtons",true) addEventHandler("showVehicleButtons", getRootElement(), vehicleWindowButtons) function spawnVehicle1() local playerName = getPlayerName(getLocalPlayer()) triggerServerEvent("spawnVehicleOne", getRootElement(), playerName) end function spawnVehicle2() local playerName = getPlayerName(getLocalPlayer()) triggerServerEvent("spawnVehicleTwo", getRootElement(), playerName) end Server-Side --GET VEHICLE FOR GUI BOX function getStoredVehicles(playerName) local result = mysql_query(handler, "SELECT vehicleModel FROM vehicles WHERE playerName = '"..playerName.."'") if (result) then local numRows = mysql_num_rows(result) outputChatBox(numRows) if (numRows > 0) then mysql_data_seek(result, 0) local row = mysql_fetch_assoc(result) vehicleModel1 = row['vehicleModel'] if (numRows > 1) then mysql_data_seek(result, 1) local row = mysql_fetch_assoc(result) vehicleModel2 = row['vehicleModel'] end triggerClientEvent("showVehicleButtons",getRootElement(),vehicleModel1,vehicleModel2) else return nil end end mysql_free_result(result) end addEvent("getVehiclesForBox", true) addEventHandler("getVehiclesForBox", getRootElement(), getStoredVehicles) --SPAWN FIRST VEHICLE function spawnFirstVehicle(playerName) local result = mysql_query(handler, "SELECT * FROM vehicles WHERE playerName = '"..playerName.."'") if (result) then local numRows = mysql_num_rows(result) if (numRows > 0) then mysql_data_seek(result, 0) local row = mysql_fetch_assoc(result) local vehicleModel = row['vehicleModel'] local vehicleHealth = row['vehicleHealth'] local vehicleColor1 = row['vehicleColor1'] local vehicleColor2 = row['vehicleColor2'] local vehicleX = row['vehicleX'] local vehicleY = row['vehicleY'] local vehicleZ = row['vehicleZ'] local vehicleA = row['vehicleA'] local newVehicle = createVehicle (vehicleModel,0,0,0) local spawnVeh = spawnVehicle(newVehicle, vehicleX, vehicleY, vehicleZ, 0, 0, vehicleA) if spawnVeh then outputChatBox("Vehicle was spawned", source) else outputChatBox("Error", source) end end end end addEvent("spawnVehicleOne", true) addEventHandler("spawnVehicleOne", getRootElement(), spawnFirstVehicle) --SPAWN SECOND VEHICLE function spawnSecondVehicle(playerName) local result = mysql_query(handler, "SELECT * FROM vehicles WHERE playerName = '"..playerName.."'") if (result) then local numRows = mysql_num_rows(result) if (numRows > 0) then mysql_data_seek(result, 1) local row = mysql_fetch_assoc(result) local vehicleModel = row['vehicleModel'] local vehicleHealth = row['vehicleHealth'] local vehicleColor1 = row['vehicleColor1'] local vehicleColor2 = row['vehicleColor2'] local vehicleX = row['vehicleX'] local vehicleY = row['vehicleY'] local vehicleZ = row['vehicleZ'] local vehicleA = row['vehicleA'] local newVehicle = createVehicle (vehicleModel,0,0,0) local spawnVeh = spawnVehicle(newVehicle, vehicleX, vehicleY, vehicleZ, 0, 0, vehicleA) if spawnVeh then outputChatBox("Vehicle was spawned", source) else outputChatBox("Error", source) end end end end addEvent("spawnVehicleTwo", true) addEventHandler("spawnVehicleTwo", getRootElement(), spawnSecondVehicle)
  7. That's exactly what I showed you, but I will post the whole script. it's made up of two seperate scripts, so I will post them both. --LOGIN SCRIPT function loginHandler(username, password) outputChatBox("Name: " .. username .. " and password: " .. password .. ".", client) local result = mysql_query(handler, "SELECT * FROM players WHERE playerName = '" .. username .. "' AND playerPassword = '" .. password .. "' ") local count = mysql_num_rows(result) if (count == 1) then if (client) then local row = mysql_fetch_assoc(result) local playerID = row['playerID'] local playerX = row['playerX'] local playerY = row['playerY'] local playerZ = row['playerZ'] local playerA = row['playerA'] local playerSkin = row['playerSkin'] local playerMoney = row['playerMoney'] local playerHealth = row['playerHealth'] local playerArmor = row['playerArmor'] spawnPlayer(client, playerX, playerY, playerZ, playerA) setElementModel(client, playerSkin) setPlayerMoney(client, playerMoney) setElementHealth(client, playerHealth) setPedArmor(client, playerArmor) fadeCamera(client, true) setCameraTarget(client, client) local online = "WelcomeBack" setElementData(client, "loggedIn", online) triggerEvent("loadWeapons", root, playerID) outputChatBox("You succesfully logged in!", client) end else outputChatBox("Invalid username and password. Please re-connect and try again.", client) end mysql_free_result(result) end addEvent("submitLogin", true) addEventHandler("submitLogin", root, loginHandler) --REGISTER SCRIPT function registerHandler(username, password) outputChatBox("Name: " .. username .. " and password: " .. password .. ".", client) local result = mysql_query(handler, "SELECT * FROM players WHERE playerName = '" .. username .. "'") local count = mysql_num_rows(result) if (count ~= 1) then local query = "INSERT INTO players SET playerName='" .. username .. "', playerPassword='" .. password .. "', playerHealth='100', playerArmor='0', playerMoney='1000', playerSkin='217', playerX='1692.80', playerY='1448.41', playerZ='13', playerA='270', playerAdminLevel='0'" if (mysql_query(handler, query)) then outputChatBox("Account created. Please enter your password to login.") local ID = mysql_query(handler,"SELECT playerID FROM players WHERE playerName = '"..username.."'") local row = mysql_fetch_assoc(ID) local playerID = row['playerID'] triggerEvent("createWeapons", root, playerID) else outputChatBox("An error has occured when trying to create your account.",client) end else outputChatBox("That name is already in use.",client) end mysql_free_result(result) end addEvent("submitRegister", true) addEventHandler("submitRegister", root, registerHandler) --ON PLAYER DISCONNECT function onPlayerDisconnect(quitType) local online = getElementData(source, "loggedIn") if (online == "WelcomeBack") then local playername = getPlayerName(source) local ID = mysql_query(handler,"SELECT playerID FROM players WHERE playerName = '"..playername.."'") local row = mysql_fetch_assoc(ID) local playerID = row['playerID'] outputDebugString("Disconnect Server Script "..playerID) triggerClientEvent("saveWeapons", getRootElement(), playerID) mysql_free_result(ID) local x, y, z = getElementPosition(source) local rx,ry,rz = getElementRotation(source) mysql_query(handler,"UPDATE players SET playerHealth='"..getElementHealth(source).."', playerArmor='"..getPedArmor(source).."', playerMoney='"..getPlayerMoney(source).."', playerSkin='"..getElementModel(source).."', playerX='"..x.."', playerY='"..y.."', playerZ='"..z.."', playerA='"..rz.."' WHERE playerName='" .. getPlayerName(source) .. "'") else outputDebugString("NIET ONLINE, NIETS OPGESLAGEN!") end end addEventHandler("onPlayerQuit", getRootElement(), onPlayerDisconnect) --CHANGE NICKNAME KICK function changeNickHandler(oldNick, newNick) setPlayerName(source, oldNick) kickPlayer(source, "the Server", "Your Nick has to be the same as your Account Name!") end addEvent("changeNick", true) addEventHandler("changeNick", getRootElement(), changeNickHandler) --CAMERA ON PLAYER JOIN function setCameraOnPlayerJoin() fadeCamera(source, true, 5) setCameraMatrix(source, 1979.69, 1564.31, 103.89, 2101.18, 1342.60, 20.53) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) addEvent("createWeapons", true) function weaponCreateHandler(playerID) mysql_query(handler, "INSERT INTO weapons SET weaponPlayerID = '"..playerID.."'") end addEventHandler("createWeapons", root, weaponCreateHandler) addEvent("loadWeapons", true) function weaponLoadHandler(playerID) local result = mysql_query(handler, "SELECT * FROM weapons WHERE weaponPlayerID = '" .. playerID .. "'") local row = mysql_fetch_assoc(result) local weaponSlot0 = row['weaponSlot0'] local weaponAmmo0 = row['weaponAmmo0'] local weaponSlot1 = row['weaponSlot1'] local weaponAmmo1 = row['weaponAmmo1'] local weaponSlot2 = row['weaponSlot2'] local weaponAmmo2 = row['weaponAmmo2'] local weaponSlot3 = row['weaponSlot3'] local weaponAmmo3 = row['weaponAmmo3'] local weaponSlot4 = row['weaponSlot4'] local weaponAmmo4 = row['weaponAmmo4'] local weaponSlot5 = row['weaponSlot5'] local weaponAmmo5 = row['weaponAmmo5'] local weaponSlot6 = row['weaponSlot6'] local weaponAmmo6 = row['weaponAmmo6'] local weaponSlot7 = row['weaponSlot7'] local weaponAmmo7 = row['weaponAmmo7'] local weaponSlot8 = row['weaponSlot8'] local weaponAmmo8 = row['weaponAmmo8'] local weaponSlot9 = row['weaponSlot9'] local weaponAmmo9 = row['weaponAmmo9'] local weaponSlot10 = row['weaponSlot10'] local weaponAmmo10 = row['weaponAmmo10'] local weaponSlot11 = row['weaponSlot11'] local weaponAmmo11 = row['weaponAmmo11'] local weaponSlot12 = row['weaponSlot12'] local weaponAmmo12 = row['weaponAmmo12'] giveWeapon(source, weaponSlot0, weaponAmmo0) giveWeapon(source, weaponSlot1, weaponAmmo1) giveWeapon(source, weaponSlot2, weaponAmmo2) giveWeapon(source, weaponSlot3, weaponAmmo3) giveWeapon(source, weaponSlot4, weaponAmmo4) giveWeapon(source, weaponSlot5, weaponAmmo5) giveWeapon(source, weaponSlot6, weaponAmmo6) giveWeapon(source, weaponSlot7, weaponAmmo7) giveWeapon(source, weaponSlot8, weaponAmmo8) giveWeapon(source, weaponSlot9, weaponAmmo9) giveWeapon(source, weaponSlot10, weaponAmmo10) giveWeapon(source, weaponSlot11, weaponAmmo11) giveWeapon(source, weaponSlot12, weaponAmmo12) mysql_free_result(result) end addEventHandler("loadWeapons", root, weaponLoadHandler) addEvent("saveWeapons", true) function weaponSaveHandler(playerID) local weaponSlot0 = getPedWeapon(getLocalPlayer(),0) local weaponAmmo0 = getPedTotalAmmo(getLocalPlayer(),0) local weaponSlot1 = getPedWeapon(getLocalPlayer(),1) local weaponAmmo1 = getPedTotalAmmo(getLocalPlayer(),1) local weaponSlot2 = getPedWeapon(getLocalPlayer(),2) local weaponAmmo2 = getPedTotalAmmo(getLocalPlayer(),2) local weaponSlot3 = getPedWeapon(getLocalPlayer(),3) local weaponAmmo3 = getPedTotalAmmo(getLocalPlayer(),3) local weaponSlot4 = getPedWeapon(localPlayer,4) local weaponAmmo4 = getPedTotalAmmo(localPlayer,4) local weaponSlot5 = getPedWeapon(getLocalPlayer(),5) local weaponAmmo5 = getPedTotalAmmo(getLocalPlayer(),5) local weaponSlot6 = getPedWeapon(getLocalPlayer(),6) local weaponAmmo6 = getPedTotalAmmo(getLocalPlayer(),6) local weaponSlot7 = getPedWeapon(getLocalPlayer(),7) local weaponAmmo7 = getPedTotalAmmo(getLocalPlayer(),7) local weaponSlot8 = getPedWeapon(getLocalPlayer(),8) local weaponAmmo8 = getPedTotalAmmo(getLocalPlayer(),8) local weaponSlot9 = getPedWeapon(getLocalPlayer(),9) local weaponAmmo9 = getPedTotalAmmo(getLocalPlayer(),9) local weaponSlot10 = getPedWeapon(getLocalPlayer(),10) local weaponAmmo10 = getPedTotalAmmo(getLocalPlayer(),10) local weaponSlot11 = getPedWeapon(getLocalPlayer(),11) local weaponAmmo11 = getPedTotalAmmo(getLocalPlayer(),11) local weaponSlot12 = getPedWeapon(getLocalPlayer(),12) local weaponAmmo12 = getPedTotalAmmo(getLocalPlayer(),12) mysql_query(handler,"UPDATE weapons SET weaponSlot0='"..weaponSlot0.."', weaponAmmo0='"..weaponAmmo0.."', weaponSlot1='"..weaponSlot1.."', weaponAmmo1='"..weaponAmmo1.."', weaponSlot2 = '"..weaponSlot2.."', weaponAmmo2 = '"..weaponAmmo2.."', weaponSlot3 = '"..weaponSlot3.."', weaponAmmo3 = '"..weaponAmmo3.."', weaponSlot4 = '"..weaponSlot4.."', weaponAmmo4 = '"..weaponAmmo4.."', weaponSlot5 = '"..weaponSlot5.."', weaponAmmo5 = '"..weaponAmmo5.."', weaponSlot6 = '"..weaponSlot6.."', weaponAmmo6 = '"..weaponAmmo6.."', weaponSlot7 = '"..weaponSlot7.."', weaponAmmo7 = '"..weaponAmmo7.."', weaponSlot8 = '"..weaponSlot8.."', weaponAmmo8 = '"..weaponAmmo8.."', weaponSlot9 = '"..weaponSlot9.."', weaponAmmo9 = '"..weaponAmmo9.."', weaponSlot10 = '"..weaponSlot10.."', weaponAmmo10 = '"..weaponAmmo10.."', weaponSlot11 = '"..weaponSlot11.."', weaponAmmo11 = '"..weaponAmmo11.."', weaponSlot12='"..weaponSlot12.."', weaponAmmo12='"..weaponAmmo12.."' WHERE weaponPlayerID='"..playerID.."'") end addEventHandler("saveWeapons", getRootElement(), weaponSaveHandler)
  8. function onPlayerDisconnect(quitType) local online = getElementData(source, "loggedIn") if (online == "WelcomeBack") then local playername = getPlayerName(source) local ID = mysql_query(handler,"SELECT playerID FROM players WHERE playerName = '"..playername.."'") local row = mysql_fetch_assoc(ID) local playerID = row['playerID'] outputDebugString("Disconnect Server Script "..playerID) triggerClientEvent("saveWeapons", getRootElement(), playerID) mysql_free_result(ID) local x, y, z = getElementPosition(source) local rx,ry,rz = getElementRotation(source) mysql_query(handler,"UPDATE players SET playerHealth='"..getElementHealth(source).."', playerArmor='"..getPedArmor(source).."', playerMoney='"..getPlayerMoney(source).."', playerSkin='"..getElementModel(source).."', playerX='"..x.."', playerY='"..y.."', playerZ='"..z.."', playerA='"..rz.."' WHERE playerName='" .. getPlayerName(source) .. "'") else outputDebugString("NIET ONLINE, NIETS OPGESLAGEN!") end end addEventHandler("onPlayerQuit", getRootElement(), onPlayerDisconnect) addEvent("saveWeapons", true) function weaponSaveHandler(playerID) local weaponSlot0 = getPedWeapon(getLocalPlayer(),0) local weaponAmmo0 = getPedTotalAmmo(getLocalPlayer(),0) local weaponSlot1 = getPedWeapon(getLocalPlayer(),1) local weaponAmmo1 = getPedTotalAmmo(getLocalPlayer(),1) local weaponSlot2 = getPedWeapon(getLocalPlayer(),2) local weaponAmmo2 = getPedTotalAmmo(getLocalPlayer(),2) local weaponSlot3 = getPedWeapon(getLocalPlayer(),3) local weaponAmmo3 = getPedTotalAmmo(getLocalPlayer(),3) local weaponSlot4 = getPedWeapon(localPlayer,4) local weaponAmmo4 = getPedTotalAmmo(localPlayer,4) local weaponSlot5 = getPedWeapon(getLocalPlayer(),5) local weaponAmmo5 = getPedTotalAmmo(getLocalPlayer(),5) local weaponSlot6 = getPedWeapon(getLocalPlayer(),6) local weaponAmmo6 = getPedTotalAmmo(getLocalPlayer(),6) local weaponSlot7 = getPedWeapon(getLocalPlayer(),7) local weaponAmmo7 = getPedTotalAmmo(getLocalPlayer(),7) local weaponSlot8 = getPedWeapon(getLocalPlayer(),8) local weaponAmmo8 = getPedTotalAmmo(getLocalPlayer(),8) local weaponSlot9 = getPedWeapon(getLocalPlayer(),9) local weaponAmmo9 = getPedTotalAmmo(getLocalPlayer(),9) local weaponSlot10 = getPedWeapon(getLocalPlayer(),10) local weaponAmmo10 = getPedTotalAmmo(getLocalPlayer(),10) local weaponSlot11 = getPedWeapon(getLocalPlayer(),11) local weaponAmmo11 = getPedTotalAmmo(getLocalPlayer(),11) local weaponSlot12 = getPedWeapon(getLocalPlayer(),12) local weaponAmmo12 = getPedTotalAmmo(getLocalPlayer(),12) mysql_query(handler,"UPDATE weapons SET weaponSlot0='"..weaponSlot0.."', weaponAmmo0='"..weaponAmmo0.."', weaponSlot1='"..weaponSlot1.."', weaponAmmo1='"..weaponAmmo1.."', weaponSlot2 = '"..weaponSlot2.."', weaponAmmo2 = '"..weaponAmmo2.."', weaponSlot3 = '"..weaponSlot3.."', weaponAmmo3 = '"..weaponAmmo3.."', weaponSlot4 = '"..weaponSlot4.."', weaponAmmo4 = '"..weaponAmmo4.."', weaponSlot5 = '"..weaponSlot5.."', weaponAmmo5 = '"..weaponAmmo5.."', weaponSlot6 = '"..weaponSlot6.."', weaponAmmo6 = '"..weaponAmmo6.."', weaponSlot7 = '"..weaponSlot7.."', weaponAmmo7 = '"..weaponAmmo7.."', weaponSlot8 = '"..weaponSlot8.."', weaponAmmo8 = '"..weaponAmmo8.."', weaponSlot9 = '"..weaponSlot9.."', weaponAmmo9 = '"..weaponAmmo9.."', weaponSlot10 = '"..weaponSlot10.."', weaponAmmo10 = '"..weaponAmmo10.."', weaponSlot11 = '"..weaponSlot11.."', weaponAmmo11 = '"..weaponAmmo11.."', weaponSlot12='"..weaponSlot12.."', weaponAmmo12='"..weaponAmmo12.."' WHERE weaponPlayerID='"..playerID.."'") end addEventHandler("saveWeapons", getRootElement(), weaponSaveHandler)
  9. I asked you that ( for server-side code ), you didn't answer me... I guess I did not define the source, how exactly do you suggest me doing that?
  10. Then how do I properly use getPedWeapon and getpedTotalAmmo? I read about it on the wiki and used it like I showed in my first post, but that is not working. Any idea how to get rid of that 'bad argument'?
  11. I changed 'root' to 'getRootElement()' like you told me too, but the client script is still not triggered.
  12. So now I am trying to trigger the function, which is now saved client-side, from a server-side script like this but nothing is happening. I checked an the client script is not triggered, any help? server script triggerClientEvent("saveWeapons", root, playerID) client script function weaponSaveHandler(playerID) outputDebugString("Disconnect Client Script"..playerID) local weaponSlot0 = getPedWeapon(getLocalPlayer(),0) local weaponAmmo0 = getPedTotalAmmo(getLocalPlayer(),0) local weaponSlot1 = getPedWeapon(getLocalPlayer(),1) local weaponAmmo1 = getPedTotalAmmo(getLocalPlayer(),1) local weaponSlot2 = getPedWeapon(getLocalPlayer(),2) local weaponAmmo2 = getPedTotalAmmo(getLocalPlayer(),2) local weaponSlot3 = getPedWeapon(getLocalPlayer(),3) local weaponAmmo3 = getPedTotalAmmo(getLocalPlayer(),3) local weaponSlot4 = getPedWeapon(localPlayer,4) local weaponAmmo4 = getPedTotalAmmo(localPlayer,4) local weaponSlot5 = getPedWeapon(getLocalPlayer(),5) local weaponAmmo5 = getPedTotalAmmo(getLocalPlayer(),5) local weaponSlot6 = getPedWeapon(getLocalPlayer(),6) local weaponAmmo6 = getPedTotalAmmo(getLocalPlayer(),6) local weaponSlot7 = getPedWeapon(getLocalPlayer(),7) local weaponAmmo7 = getPedTotalAmmo(getLocalPlayer(),7) local weaponSlot8 = getPedWeapon(getLocalPlayer(),8) local weaponAmmo8 = getPedTotalAmmo(getLocalPlayer(),8) local weaponSlot9 = getPedWeapon(getLocalPlayer(),9) local weaponAmmo9 = getPedTotalAmmo(getLocalPlayer(),9) local weaponSlot10 = getPedWeapon(getLocalPlayer(),10) local weaponAmmo10 = getPedTotalAmmo(getLocalPlayer(),10) local weaponSlot11 = getPedWeapon(getLocalPlayer(),11) local weaponAmmo11 = getPedTotalAmmo(getLocalPlayer(),11) local weaponSlot12 = getPedWeapon(getLocalPlayer(),12) local weaponAmmo12 = getPedTotalAmmo(getLocalPlayer(),12) mysql_query(handler,"UPDATE weapons SET weaponSlot0='"..weaponSlot0.."', weaponAmmo0='"..weaponAmmo0.."', weaponSlot1='"..weaponSlot1.."', weaponAmmo1='"..weaponAmmo1.."', weaponSlot2 = '"..weaponSlot2.."', weaponAmmo2 = '"..weaponAmmo2.."', weaponSlot3 = '"..weaponSlot3.."', weaponAmmo3 = '"..weaponAmmo3.."', weaponSlot4 = '"..weaponSlot4.."', weaponAmmo4 = '"..weaponAmmo4.."', weaponSlot5 = '"..weaponSlot5.."', weaponAmmo5 = '"..weaponAmmo5.."', weaponSlot6 = '"..weaponSlot6.."', weaponAmmo6 = '"..weaponAmmo6.."', weaponSlot7 = '"..weaponSlot7.."', weaponAmmo7 = '"..weaponAmmo7.."', weaponSlot8 = '"..weaponSlot8.."', weaponAmmo8 = '"..weaponAmmo8.."', weaponSlot9 = '"..weaponSlot9.."', weaponAmmo9 = '"..weaponAmmo9.."', weaponSlot10 = '"..weaponSlot10.."', weaponAmmo10 = '"..weaponAmmo10.."', weaponSlot11 = '"..weaponSlot11.."', weaponAmmo11 = '"..weaponAmmo11.."', weaponSlot12='"..weaponSlot12.."', weaponAmmo12='"..weaponAmmo12.."' WHERE weaponPlayerID='"..playerID.."'") end addEvent("saveWeapons", true) addEventHandler("saveWeapons", root, weaponSaveHandler)
  13. Every time I try to use getPedWeapon and getPedTotalAmmo it returns the following in the console: Bad argument @ 'getPedWeapon' Bad argument @ 'getPedTotalAmmo' I use this script in a function after 'onPlayerQuit' to get the weapon and ammo and save it to a mysql database. Any idea how to fix this? This is how I try to retrieve the data local weaponSlot0 = getPedWeapon(source,0) local weaponAmmo0 = getPedTotalAmmo(source,0) local weaponSlot1 = getPedWeapon(source,1) local weaponAmmo1 = getPedTotalAmmo(source,1)
  14. It took serveral attemps and some random guessing on what to do, but now it's working! Thanks!
  15. Alright so I don't fully understand how to use the setElementData and getElementData, but this is what I tried in my script and it didn't work, so maybe you guys can tell me how to properly use them? added this to the login script: setElementData(source,"playerLoggedIn", true) and this is the changed disconnect script: function onPlayerDisconnect(quitType) if (getElementData(source, "playerLoggedIn") == true) then local x, y, z = getElementPosition(source) local rx,ry,rz = getElementRotation(source) mysql_query(handler,"UPDATE players SET playerHealth='"..getElementHealth(source).."', playerArmor='"..getPedArmor(source).."', playerMoney='"..getPlayerMoney(source).."', playerSkin='"..getElementModel(source).."', playerX='"..x.."', playerY='"..y.."', playerZ='"..z.."', playerA='"..rx.."' WHERE playerName='" .. getPlayerName(source) .. "'") end end addEventHandler("onPlayerQuit", getRootElement(), onPlayerDisconnect)
×
×
  • Create New...