Jump to content

JR10

Retired Staff
  • Posts

    2,947
  • Joined

  • Last visited

Everything posted by JR10

  1. database = dbConnect ("sqlite","database.db") local queryHandler = dbQuery ( database , "SELECT * FROM table") queryHandler doesn't contain the values selected from the database. You must use dbPoll to check the progress of the executed string, and if it is ready, it will return the values. local returnedData = dbPoll ( queryHandler , -1 ) Check the wiki page for dbPoll.
  2. function joinHandler ( ) --spawnPlayer (source, -1969.2669677734, 137.71185302734, 30, 0, skin, 0) spawnPlayer (source, -1969.2669677734, 137.71185302734, 30, 0, 0, 0) fadeCamera (source, true) setCameraTarget ( source, source ) end addEventHandler ( "onPlayerJoin" , getRootElement ( ) , joinHandler ) function spawnWasted(player, skin) repeat until spawnPlayer ( player, -2655.02, 625.30, 14.45, 180, skin, 0) fadeCamera(player, true) setCameraTarget(player, player) end addEventHandler("onPlayerWasted", root, function() setTimer(spawnWasted, 1800, 1, source, getElementModel(source)) end ) function greetPlayer ( ) outputChatBox ( "Witaj na Polskim Serwerze Zabawy stworzonym przez Mefisto_PL !" , source, 0, 159, 255 ) end addEventHandler ( "onPlayerLogin", getRootElement(), greetPlayer ) function onPlayerQuit() local playerAccount = getPlayerAccount(source) if (playerAccount) and not isGuestAccount(playerAccount) then local playerMoney = getPlayerMoney(source) local playerSkin = getElementModel(source) setAccountData(playerAccount, "money", playerMoney) setAccountData(playerAccount, "skin", playerSkin) end end addEventHandler("onPlayerQuit", getRootElement(), onPlayerQuit) function onPlayerLogin() local playerAccount = getPlayerAccount(source) if (playerAccount) then local playerMoney = tonumber(getAccountData(playerAccount, "money")) local playerSkin = tonumber(getAccountData(playerAccount, "skin")) if (playerMoney, playerSkin) then setPlayerMoney(source, playerMoney) setElementModel(source, playerSkin) end end end addEventHandler("onPlayerLogin", getRootElement(), onPlayerLogin) Try that. Spawns with cj because you haven't logged in yet, you must login first.
  3. There is no function called getPlayerSkin, use getElementModel instead. skin in joinHandler is not defined. function joinHandler ( ) --spawnPlayer (source, -1969.2669677734, 137.71185302734, 30, 0, skin, 0) spawnPlayer (source, -1969.2669677734, 137.71185302734, 30, 0, 0, 0) fadeCamera (source, true) setCameraTarget ( source, source ) end addEventHandler ( "onPlayerJoin" , getRootElement ( ) , joinHandler ) function spawnWasted(player, skin) repeat until spawnPlayer ( player, -2655.02, 625.30, 14.45, 180, skin, 0) fadeCamera(player, true) setCameraTarget(player, player) end addEventHandler("onPlayerWasted", root, function() setTimer(spawnWasted, 1800, 1, source, getElementModel(source)) end ) function greetPlayer ( ) outputChatBox ( "Witaj na Polskim Serwerze Zabawy stworzonym przez Mefisto_PL !" , source, 0, 159, 255 ) end addEventHandler ( "onPlayerLogin", getRootElement(), greetPlayer ) function onPlayerQuit() local playerAccount = getPlayerAccount(source) if (playerAccount) and not isGuestAccount(playerAccount) then local playerMoney = getPlayerMoney(source) local playerSkin = getElementModel(source) setAccountData(playerAccount, "money", playerMoney) setAccountData(playerAccount, "skin", playerSkin) end end addEventHandler("onPlayerQuit", getRootElement(), onPlayerQuit) function onPlayerLogin() local playerAccount = getPlayerAccount(source) if (playerAccount) then local playerMoney = getAccountData(playerAccount, "money") local playerSkin = getAccountData(playerAccount, "skin") if (playerMoney, playerSkin) then setPlayerMoney(source, playerMoney) setPlayerSkin(source, playerSkin) end end end addEventHandler("onPlayerLogin", getRootElement(), onPlayerLogin)
  4. That is because 'info' is not defined. addEventHandler ( "onResourceStart" , resourceRoot , function ( ) database = dbConnect ( "sqlite" , "database.db" ) dbExec ( database , "CREATE TABLE IF NOT EXISTS RaceStats ( RaceWins INT,RaceLoses INT,serial TEXT )" ) end ) function DestructionMoney2() local alivePlayers = getAlivePlayers() --if info == "Destruction derby" then if #alivePlayers == 1 then local playername = getPlayerName(alivePlayers[1]) local serial = getPlayerSerial(alivePlayers[1]) local raceWins local oldData = dbPoll ( dbQuery ( database , "SELECT * FROM RaceStats WHERE serial = ?" , getPlayerSerial ( alivePlayers [ 1 ] ) ) , -1 ) if #oldData == 0 then dbExec ( database , "INSERT INTO RaceStats VALUES (?,?,?)" , "1" , "0" , getPlayerSerial ( alivePlayers [ 1 ] ) ) raceWins = "1" else raceWins = tostring ( tonumber ( oldData [ 1 ] [ "RaceWins" ] ) + 1 ) dbExec ( database , "UPDATE RaceStats SET RaceWins = ? WHERE serial = ?" , raceWins , getPlayerSerial ( alivePlayers [ 1 ] ) ) end setElementData(alivePlayers[1], "RaceWins", raceWins ) outputChatBox(getPlayerName(alivePlayers[1] ) .. " is the last player alive!", root, 0, 255, 0) end end addEventHandler("onPlayerWasted", getRootElement(), function() local serial = getPlayerSerial(source) local oldData = dbPoll ( dbQuery ( database , "SELECT * FROM RaceStats WHERE serial = ?" , serial ) , -1 ) local raceLoses if #oldData == 0 then dbExec ( database , "INSERT INTO RaceStats VALUES (?,?,?)" , "0" , "1" , serial ) raceLoses = "1" else raceLoses = tostring(tonumber(oldData[1]["RaceWins"]) + 1) dbExec ( database , "UPDATE RaceStats SET RaceLoses = ? WHERE serial = ?" , raceLoses , serial ) end setElementData(source, "RaceLoses", raceLoses) end)
  5. JR10

    XML issue

    I suggest using SQLite for saving. This will create Data.xml in the client resources. MTA\mods\deathmatch\resources\RESOURCE\ Post the whole code.
  6. I'm just saying, so you can give it another look. You should try downloading some resource that uses SQLite. I also made a tutorial for the new db functions. Here.
  7. I changed everything to the new db functions. addEventHandler ( "onResourceStart" , resourceRoot , function ( ) database = dbConnect ( "sqlite" , "database.db" ) dbExec ( database , "CREATE TABLE IF NOT EXISTS RaceStats (RaceWins,RaceLoses,serial)" ) end ) function DestructionMoney2() local alivePlayers = getAlivePlayers() if info == "Destruction derby" then if #alivePlayers == 1 then local playername = getPlayerName(alivePlayers[1]) local serial = getPlayerSerial(alivePlayers[1]) local raceWins local oldData = dbPoll ( dbQuery ( database , "SELECT * FROM RaceStats WHERE serial = ?" , getPlayerSerial ( alivePlayers [ 1 ] ) ) , -1 ) if #oldData == 0 then dbExec ( database , "INSERT INTO RaceStats VALUES (?,?,?)" , "1" , "0" , getPlayerSerial ( alivePlayers [ 1 ] ) ) raceWins = "1" else raceWins = tostring ( tonumber ( oldData [ 1 ] [ "RaceWins" ] ) + 1 ) dbExec ( database , "UPDATE RaceStats SET RaceWins = ? WHERE serial = ?" , raceWins , getPlayerSerial ( alivePlayers [ 1 ] ) ) end setElementData(alivePlayers[1], "RaceWins", raceWins ) outputChatBox(getPlayerName(alivePlayers[1] ) .. " is the last player alive!", root, 0, 255, 0) end end end addEventHandler("onPlayerWasted", getRootElement(), function() local serial = getPlayerSerial(source) local oldData = dbPoll ( dbQuery ( database , "SELECT * FROM RaceStats WHERE serial = ?" , serial ) , -1 ) local raceLoses if #oldData == 0 then dbExec ( database , "INSERT INTO RaceStats VALUES (?,?,?)" , "0" , "1" , serial ) raceLoses = "1" else raceLoses = tostring(tonumber(oldData[1]["RaceWins"]) + 1) dbExec ( database , "UPDATE RaceStats SET RaceLoses = ? WHERE serial = ?" , raceLoses , serial ) end setElementData(source, "RaceLoses", raceLoses) end)
  8. function DestructionMoney2() local alivePlayers = getAlivePlayers() if info == "Destruction derby" then if #alivePlayers == 1 then local playername = getPlayerName(alivePlayers[1]) local serial = getPlayerSerial(alivePlayers[1]) local oldData = executeSQLSelect( "RaceStats", "RaceWins","serial = '" .. serial .. "'") if #oldData == 0 then executeSQLInsert ( "RaceStats","'1','"..getPlayerSerial(alivePlayers[1]).."'","RaceWins,serial" ) else newData = tostring(tonumber(oldData[1]["RaceWins"]) + 1) executeSQLUpdate("RaceStats", "RaceWins = '" .. newData .. "'","serial = '" .. serial .. "'") end setElementData(alivePlayers[1], "RaceWins", tostring(tonumber(getElementData(alivePlayers[1], "RaceWins")) + 1) or "1") outputChatBox(getPlayerName(alivePlayers[1] ) .. " is the last player alive!", rootElement, 0, 255, 0) end end end addEventHandler("onPlayerWasted", getRootElement(), function() local serial = getPlayerSerial(source) local oldData = executeSQLSelect("RaceStats", "RaceLoses", "serial = '" .. serial .. "'") setElementData(source, "RaceLoses", tostring(tonumber(getElementData(source, "RaceLoses")) + 1) or "1" ) if #oldData == 0 then executeSQLInsert ( "RaceStats","'1','"..getPlayerSerial(source).."'","RaceLoses,serial" ) else newData = tostring(tonumber(oldData[1]["RaceWins"]) + 1) executeSQLUpdate("RaceStats", "RaceLoses = '" .. newData.. "'","serial = '" .. serial .. "'") end end) My bad I misspelled it.
  9. function DestructionMoney2() local alivePlayers = getAlivePlayers() if info == "Destruction derby" then if #alivePlayers == 1 then local playername = getPlayerName(alivePlayers[1]) local serial = getPlayerSerial(alivePlayers[1]) local oldData = executeSQLSelect( "RaceStats", "RaceWins","serial = '" .. serial .. "'") if #oldData == 0 then executeSQLInsert ( "RaceStats","'1','"..getPlayerSerial(alivePlayers[1]).."'","RaceWins,serial" ) else newData = tostring(tonumber(oldData[1]["RaceWins"]) + 1) executeSQLUpdate("RaceStats", "RaceWins = '" .. newData .. "'","serial = '" .. serial .. "'") end setElementData(alivePlayers[1], "RaceWins", tostring(tonumber(getElementData(alivePlayers[1], "RaceWins")) + 1) or "1") outputChatBox(getPlayerName(alivePlayers[1] ) .. " is the last player alive!", rootElement, 0, 255, 0) end end end addEventHandler("onPlayerWasted", getRootElement(), function() local serial = getPlayerSerial(source) local oldData = executeSQLSelect("RaceStats", "RaceLoses", "serial = '" .. serial .. "'") setElementData(source, "RaceLoses", tostring(tonumber(getElementData(source, "RaceLoses")) + 1) or "1" ) if #oldDate == 0 then executeSQLInsert ( "RaceStats","'1','"..getPlayerSerial(source).."'","RaceLoses,serial" ) else newData = tostring(tonumber(oldData[1]["RaceWins"]) + 1) executeSQLUpdate("RaceStats", "RaceLoses = '" .. newData.. "'","serial = '" .. serial .. "'") end end)
  10. JR10

    HELP

    https://wiki.multitheftauto.com/wiki/Ser ... our_server
  11. function joinHandler ( ) spawnPlayer (source, -1969.2669677734, 137.71185302734, 30, 0, math.random (0,288), 0, 0) fadeCamera (source, true) setCameraTarget ( source, source ) end addEventHandler ( "onPlayerJoin" , getRootElement ( ) , joinHandler ) function spawnWasted(player, skin) repeat until spawnPlayer ( player, -2655.02, 625.30, 14.45, 180, skin, 0) fadeCamera(player, true) setCameraTarget(player, player) end addEventHandler("onPlayerWasted", root, function() setTimer(spawnWasted, 1800, 1, source, getElementModel(source)) end ) function greetPlayer ( ) outputChatBox ( "Witaj na Polskim Serwerze Zabawy stworzonym przez Mefisto_PL !" , source, 0, 159, 255 ) end addEventHandler ( "onPlayerLogin", getRootElement(), greetPlayer )
  12. You create a table and then use another name in select. addEventHandler( "onResourceStart", resourceRoot, function( ) local key = dbConnect( "sqlite", "Storedinfo.db" ) dbFree ( dbQuery ( key, "CREATE TABLE IF NOT EXISTS teleports ( teleportID, aX, aY, aZ, aInterior, aDimension, bX, bY, bZ,bInterior, bDimension )")) local result = dbPoll(dbQuery(key, "SELECT * FROM teleports" ),-1) -- You forgot about dbPoll. --[[for key, value in ipairs( result ) do dbQuery( value,"(teleportID, value.aX, value.aY, value.aZ, value.aInterior, value.aDimension, value.bX, value.bY, value.bZ, value.bInterior, value.bDimension)" ) -- What is this ? end]] end ) The whole commented area doesn't make any sense.
  13. JR10

    Question

    function predBomb(player, _,name, meters) local target = getPlayerFromPartialName (name,player) if not target or not isElement ( target) then return end meters = tonumber(meters) if not meters then meters = 3 end local posX , posY , posZ = getElementPosition ( target ) local rotation = getPedRotation( target ) posX = posX - math.sin ( math.rad ( rotation ) ) * meters posY = posY + math.cos ( math.rad ( rotation ) ) * meters bomb = createObject(1337,posX+1,posY,posZ) setTimer(setElementPosition,50,1,bomb,posX+1,posY,posZ) setTimer(setElementPosition,150,1,bomb,posX+3,posY,posZ) setTimer(setElementPosition,250,1,bomb,posX+6,posY,posZ) setTimer(setElementPosition,350,1,bomb,posX+9,posY,posZ) local xo,yo,zo = getElementPosition(bomb) setTimer(createExplosion,2000,1,xo,yo,zo, 0) end addCommandHandler("bomb", predBomb) function getPlayerFromPartialName ( name , player ) if name then local matches = { } for index , _player in ipairs ( getElementsByType ( "player" ) ) do if getPlayerName ( _player ) == name then return _player end if getPlayerName ( _player ) : gsub ( "#%x%x%x%x%x%x" , "" ) : lower ( ) : find ( name : lower ( ) ) then table.insert ( matches , _player ) end end if #matches == 1 then return matches [ 1 ] else if player then outputChatBox ( "Found " .. #matches .. " matches" , player , 255 , 0 , 0 ) end end end end
  14. JR10

    Question

    function predBomb(player, _,name, meters) local target = getPlayerFromName (name) if not target or not isElement ( target) then return end meters = tonumber(meters) if not meters then meters = 3 end local posX , posY , posZ = getElementPosition ( target ) local rotation = getPedRotation( target ) posX = posX - math.sin ( math.rad ( rotation ) ) * meters posY = posY + math.cos ( math.rad ( rotation ) ) * meters bomb = createObject(1337,posX+1,posY,posZ) setTimer(setElementPosition,50,1,bomb,posX+1,posY,posZ) setTimer(setElementPosition,150,1,bomb,posX+3,posY,posZ) setTimer(setElementPosition,250,1,bomb,posX+6,posY,posZ) setTimer(setElementPosition,350,1,bomb,posX+9,posY,posZ) local xo,yo,zo = getElementPosition(bomb) setTimer(createExplosion,2000,1,xo,yo,zo, 0) end addCommandHandler("bomb", predBomb)
  15. This is so messed up. addEventHandler( "onResourceStart", resourceRoot, function( ) local server = dbConnect( "sqlite", "Storedinfo.db" ) dbExec ( server , "CREATE TABLE IF NOT EXISTS fuelpoints ( fuelpointID, posX, posY, posZ, name)") local result = dbPoll(dbQuery(server, "SELECT * FROM fuelpoints"),-1) if result and #result > 0 then for index,value pairs( result ) do local colshape = createColSphere( value.posX, value.posY, value.posZ, 2 ) --setElementParent( colshape, fuelRoot ) setElementData( colshape, "name", tonumber( value.name ) or value.name ) end end end ) You're selecting from a table that won't exist on first resource start. Your loop 'for' is wrong. fuelRoot is not defined.
  16. JR10

    Question

    No that script will get you the position 3 meters ahead. You then need to use the returned values with setElementPosition.
  17. Any errors shown in /debugscript 3?
  18. JR10

    Question

    function getPositionInfrontOfElement ( element , meters ) if not element or not isElement ( element ) then return false end if not meters then meters = 3 end local posX , posY , posZ = getElementPosition ( element ) local _ , _ , rotation = getElementRotation ( element ) posX = posX - math.sin ( math.rad ( rotation ) ) * meters posY = posY + math.cos ( math.rad ( rotation ) ) * meters return posX , posY , posZ end
  19. JR10

    Spawn,teams.

    StartMoney is not defined. setPlayerTeam uses a team variable, to get that from a team's name use getTeamFromName function SpawnPlayer(thePlayer,skin,r,g,b) spawnPlayer ( thePlayer, 1178.9013671875,-1323.853515625,14.142958641052, 90.0, skin ) setCameraTarget (source, source) createBlipAttachedTo(source,0,2,r,g,b) --setPlayerMoney(thePlayer,StartMoney) setPlayerTeam(thePlayer,getTeamFromName("Players")) playerSkin[thePlayer] = {skin,r,g,b} setElementData(thePlayer,"Score",0) setPlayerNametagShowing ( thePlayer, false) end addEvent( "onClientWantsToSpawn", true ) addEventHandler( "onClientWantsToSpawn", getRootElement(), SpawnPlayer )
  20. He can also just use SQLite instead of MySQL.
  21. JR10

    resource trouble

    I don't get it. Are you talking about some resource editor? You need to 'refresh' to find new resources. Type 'refresh' in the console.
  22. Event: onClientGUIClick functions: triggerServerEvent , triggerClientEvent guiGetText setPlayerTeam , getTeamFromName
×
×
  • Create New...