Jump to content

Jeeveegee

Members
  • Posts

    16
  • Joined

  • Last visited

Everything posted by Jeeveegee

  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)
  16. I was wondering if anyone could help me out. I am working on a custom script with the following functions: -You can register an account via a Register gui, which is stored in a mysql database (works perfectly fine) -You can login using the account you registered, again via a Login gui. (works perfectly fine) -Your Player data (like money and position) is stored in the mysql database everytime you disconnect. (works not so perfectly fine!) Now there is one little problem. When a player enters the server with a name that is already registered in the server, and he disconnects before logging on and spawning, the player data is still stored in the mysql database. This resets all the data that was previously there with '0' in every field. I have no idea how I can fix this, since I have no way of checking if a player has logged on or not before storing his data when he disconnects again. Is there some way of setting a sort of 'cookie' like websites do to check if you are logged in or not? Please help me. This is the current disconnect script, but it is certainly lacking something to check if you are logged on, however I have no idea how to make that. function onPlayerDisconnect(quitType) 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 addEventHandler("onPlayerQuit", getRootElement(), onPlayerDisconnect)
×
×
  • Create New...