Best-Killer
Members-
Posts
494 -
Joined
-
Last visited
Everything posted by Best-Killer
-
21 attempt to index field '?' a nill value
-
Castillo help me please , some help guys pls
-
tostring work fine my problem i want add markers rotation cuz i want add more than marker
-
server-side pv = {} spawners = { posX, posY, posZ, R, G, B, Alpha {1541.1, -1693.67, 13.55,255, 255, 255,600} } addEventHandler("onResourceStart", resourceRoot, function () for i,v in pairs(spawners) do local marker = createMarker(tostring(v[1]), tostring(v[2]), tostring(v[3])-1, "cylinder", 1.5, tostring(v[4]), tostring(v[5]), tostring(v[6]), tostring(v[7])) addEventHandler("onMarkerHit", marker, onMarkerHit) addEventHandler("onMarkerLeave", marker, onMarkerLeave) end end) function createTheVehicle(id, posx, posy, posz, player) if(isElement(pv[player])) then destroyElement(pv[player]) end pv[player] = createVehicle(id, posx, posy, posz + 3) warpPedIntoVehicle(player, pv[player]) if(getTeamName(getPlayerTeam(player)) == "Staff") then addVehicleUpgrade(pv[player], 1010) end end addEvent("crVeh", true) addEventHandler("crVeh", getRootElement(), createTheVehicle) -- function onMarkerHit(hitElement) if(getElementType(hitElement) == "player") then triggerClientEvent(hitElement, "markerHitted", getRootElement()) end end function onMarkerLeave(leftElement) if(getElementType(leftElement) == "player") then triggerClientEvent(leftElement, "markerLeaved", getRootElement()) end end any example to make it : posX, posY, posZ, R, G, B, Alpha,Rotation please guys really i need help here pls
-
local lottery = nil local winningNum = nil addEvent ( "SAEGLottery->onClientAttemptToBuyLotteryTicket", true ) addEventHandler ( "SAEGLottery->onClientAttemptToBuyLotteryTicket", root, function ( number ) local a = getPlayerAccount ( source ) if ( isGuestAccount ( a ) ) then return exports.SAEGMessages:sendClientMessage ( "Please login to use the lottery", source, 255, 0, 0 ) end if ( lottery [ getAccountName ( a ) ] ) then return exports.SAEGMessages:sendClientMessage ( "You already bought the lottery ticket \""..tostring(lottery[getAccountName(a)]).."\"", source, 255, 255, 0 ) end for i, v in pairs ( lottery ) do if ( v == number ) then return exports.SAEGMessages:sendClientMessage ( "This number has already been bought.", source, 255, 255, 0 ) end end if ( getPlayerMoney ( source ) < 100 ) then return exports.SAEGMessages:sendClientMessage ( "You don't have enough money to buy a lottery ticket", 255, 0, 0 ) end takePlayerMoney ( source, 100 ) exports.SAEGMessages:sendClientMessage ( "You have bought lottery ticket #"..tostring ( number ).."!", source, 0, 255, 0) lottery[getAccountName(a)] = number end ) function winLottery ( ) local winAccount = nil local winner = nil local num = getLotteryWinningNumber ( ) for i, v in pairs ( lottery ) do if ( v == num ) then winAccount = i end end if ( winAccount ) then for i, v in pairs ( getElementsByType ( "player" ) ) do local a = getPlayerAccount ( v ) if ( not isGuestAccount ( a ) and getAccountName ( a ) == winAccount ) then winner = v end end end if ( winAccount and not winner ) then winner = winaccount.." #ff0000(offline)" elseif ( not winAccount ) then winner = nil end outputChatBox ( "Winner: "..tostring(winer or "Nobody"), root, 255, 255, 255, true) outputChatBox ( "Winning Number: #ffff00"..tostring ( num ), root, 255, 255, 255, true) if ( winner ~= nil and getElementType ( winner ) == "player" ) then exports.SAEGMessages:sendClientMessage("You won $"..tostring(prize).." from the lottery!", winner, 0, 255, 0) givePlayerMoney ( winner, prize ) end generateNextLottery ( ) getLastNumber ( ) end function generateNextLottery ( ) lottery = { } winningNum = math.random ( 1, 30 ) prize = math.random ( 1, 2000000 ) if ( isTimer ( lotTImer ) ) then killTimer ( lotTImer ) lotTImer = nil end lotTImer = setTimer ( winLottery, 50000, 1) end function getLotteryWinningNumber ( ) return winningNum end function getLotteryTimer ( ) return lotTImer end function getLastNumber ( ) return winningNum end generateNextLottery ( ) getLastNumber ( ) addEvent ( "SAEGLottery->onClientRequestWinDetails", true ) addEventHandler ( "SAEGLottery->onClientRequestWinDetails", root, function ( ) triggerClientEvent ( source, "SAEGLottery->onClientRequestWinDetails", source, getLastNumber()) end ) addEvent ( "SAEGLotter->onClientRequestTimerDetails", true ) addEventHandler ( "SAEGLotter->onClientRequestTimerDetails", root, function ( ) triggerClientEvent ( source, "SAEGLottery->onServerSendClientTimerDetails", source, convertMilSecsToTimer ( getTimerDetails ( getLotteryTimer ( ) ) )) end ) function convertMilSecsToTimer ( mil ) local h = 0 local m = 0 local s = 0 while ( mil > 1000 ) do s = s + 1 mil = mil - 1000 end while ( s > 60 ) do s = s - 60 m = m + 1 end while ( m > 60 ) do m = m - 60 h = h + 1 end return tostring ( h ).."h "..tostring(m).."m "..tostring (s).."s" end new code 0 errors but still not showing pls help me guys
-
bad argument @ 'TriggerClientEvent' Expected string at argument 1 got nill in ur code line : 85
-
local rootElement = getRootElement() jWin = guiCreateWindow(550,560,200,200,"Vehicle System",false) guiSetVisible(jWin,false) function openGui() guiSetVisible(jWin,true) function spawnveh(button, press, p) local VIP = getElementData(localPlayer, "VIP") if(press) then if(button == "1") then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 468, x, y, z, localPlayer) end end if(button == "2") then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 457, x, y, z, localPlayer) end if(button == "3") then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 412, x, y, z, localPlayer) end if(button == "4") then if VIP == "Bronze" or VIP == "Silver" or VIP == "Gold" or VIP == "Premium" then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 522, x, y, z, localPlayer) else end end if(button == "5") then if VIP == "Silver" or VIP == "Gold" or VIP == "Premium" then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 560, x, y, z, localPlayer) else end end if(button == "6") then if VIP == "Gold" or VIP == "Premium" then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 411, x, y, z, localPlayer) else end end if(button == "7") then if VIP == "Gold" or VIP == "Premium" then x, y, z = getElementPosition(localPlayer) triggerServerEvent("crVeh", rootElement, 546, x, y, z, localPlayer) else end end end
-
I tried with that before u telling me that : local rootElement = getRootElement() local markers = {} local vehiclesTable = { {1535.95, -1679.16, 13.38,0, 0, 255, 150, 60}, } addEventHandler("onResourceStart", resourceRoot, function () for i,v in pairs(vehiclesTable) do local marker = createMarker(tostring(v[1]), tostring(v[2]), tostring(v[3])-1, "cylinder", 1.5, tostring(v[4]), tostring(v[5]), tostring(v[6]), tostring(v[7]), rootElement) if marker then markers[marker] = {v[8]} addEventHandler("onMarkerHit", marker, onSpawnerMarkerHit) addEventHandler("onMarkerLeave", marker, onSpawnerMarkerLeave) end end end) function createTheVehicle(id, marker, player) if(isElement(vehiclesTable[player])) then destroyElement(vehiclesTable[player]) end local x,y,z = getElementPosition(marker) vehiclesTable[player] = createVehicle(id,markers[marker][4], x-9, y, z + 3, 0, 0, markers[marker][3]) warpPedIntoVehicle(player, vehiclesTable[player]) if(getTeamName(getPlayerTeam(player)) == "Staff") then addVehicleUpgrade(vehiclesTable[player], 1010) end end addEvent("crVeh", true) addEventHandler("crVeh", rootElement, createTheVehicle) -- function onSpawnerMarkerHit(hitElement) if(getElementType(hitElement) == "player") then triggerClientEvent(hitElement, "markerHitted", getRootElement()) end end function onSpawnerMarkerLeave(leftElement) if(getElementType(leftElement) == "player") then triggerClientEvent(leftElement, "markerLeaved", getRootElement()) end end -- i got : 26: bad argument@ 'getElementPosition'Expected elment at argument 1, got number '1535.891) 27: attempt to index field'?? (a nill value)
-
pv = { } ---------it's : posX, posY, posZ, R, G, B, Alpha sp1 = createMarker(1535.95, -1679.16, 13.38-1, "cylinder", 1.5, 255, 255, 255, 150) function createTheVehicle(id, posx, posy, posz, player) if(isElement(pv[player])) then destroyElement(pv[player]) end pv[player] = createVehicle(id, posx, posy, posz + 3) warpPedIntoVehicle(player, pv[player]) if(getTeamName(getPlayerTeam(player)) == "Staff") then addVehicleUpgrade(pv[player], 1010) end end addEvent("crVeh", true) addEventHandler("crVeh", getRootElement(), createTheVehicle) any example to make it : posX, posY, posZ, R, G, B, Alpha,Rotation please guys help i need it urgent
-
i'm learning lua bro i don't understand u u can explain to me easy ?
-
Server-Side local lottery = nil local winningNum = nil addEvent ( "SAEGLottery->onClientAttemptToBuyLotteryTicket", true ) addEventHandler ( "SAEGLottery->onClientAttemptToBuyLotteryTicket", root, function ( number ) local a = getPlayerAccount ( source ) if ( isGuestAccount ( a ) ) then return exports.SAEGMessages:sendClientMessage ( "Please login to use the lottery", source, 255, 0, 0 ) end if ( lottery [ getAccountName ( a ) ] ) then return exports.SAEGMessages:sendClientMessage ( "You already bought the lottery ticket \""..tostring(lottery[getAccountName(a)]).."\"", source, 255, 255, 0 ) end for i, v in pairs ( lottery ) do if ( v == number ) then return exports.SAEGMessages:sendClientMessage ( "This number has already been bought.", source, 255, 255, 0 ) end end if ( getPlayerMoney ( source ) < 100 ) then return exports.SAEGMessages:sendClientMessage ( "You don't have enough money to buy a lottery ticket", 255, 0, 0 ) end takePlayerMoney ( source, 100 ) exports.SAEGMessages:sendClientMessage ( "You have bought lottery ticket #"..tostring ( number ).."!", source, 0, 255, 0) lottery[getAccountName(a)] = number end ) function winLottery ( ) local winAccount = nil local winner = nil local num = getLotteryWinningNumber ( ) for i, v in pairs ( lottery ) do if ( v == num ) then winAccount = i end end if ( winAccount ) then for i, v in pairs ( getElementsByType ( "player" ) ) do local a = getPlayerAccount ( v ) if ( not isGuestAccount ( a ) and getAccountName ( a ) == winAccount ) then winner = v end end end if ( winAccount and not winner ) then winner = winaccount.." #ff0000(offline)" elseif ( not winAccount ) then winner = nil end exports.SAEGMessages:sendClientMessage("Lottery Winner is :"..tostring(winner or "Nobody")" Prize :"..tostring(prize), root, 0, 255, 0) if ( winner ~= nil and getElementType ( winner ) == "player" ) then exports.SAEGMessages:sendClientMessage("You won $"..tostring(prize).." from the lottery!", winner, 0, 255, 0) givePlayerMoney ( winner, prize ) end generateNextLottery ( ) getLastNumber () end function generateNextLottery ( ) lottery = { } winningNum = math.random ( 1, 30 ) prize = math.random ( 1, 2000000 ) if ( isTimer ( lotTImer ) ) then killTimer ( lotTImer ) lotTImer = nil end lotTImer = setTimer ( winLottery, 1800000, 1) end function getLotteryWinningNumber ( ) return winningNum end function getLotteryTimer ( ) return lotTImer end generateNextLottery ( ) function getLastNumber () triggerClientEvent ( source, "SAEGLottery->onClientRequestWinDetails", source, getLotteryWinningNumber) end ) Client-Side addEvent ( "SAEGLottery->onClientRequestWinDetails", true ) addEventHandler ( "SAEGLottery->onClientRequestWinDetails", root, function ( l ) guiSetText ( GUIEditor.label[5], "Last Jackpot: "..tostring ( l ) ) end ) i tried to get Last Number won but it's don't Work 0 errors / 0 warnings
-
Sloved /Lock pls
-
Castillo when i restart the script the blance showed to me
-
yes it's : outputDebugString("We passed our check!",3)
-
setAccountData is server-side function. already i did check this : https://forum.multitheftauto.com/viewtopic.php?f=91&t=95922
-
Sloved
-
function useItem ( item ) local rv = false local d = getElementData ( localPlayer, "SAEGUser:Items" ) if not d then return false end if not d[item] then return false end local amount = d[item] if ( amount <= 0 ) then return false end if ( item == 'FuelCans' ) then local c = getPedOccupiedVehicle ( localPlayer ) if ( getVehicleController ( c ) == localPlayer ) then local f = getElementData ( c, "fuel" ) if ( f <= 90 ) then rv = true setElementData ( c, "fuel", f + 10 ) exports.SAEGMessages:sendClientMessage ( "You have used a fuel can... +10% fuel", 0, 255, 0 ) else exports.SAEGMessages:sendClientMessage ( "Your fuel must be below 90% to use this item", 255, 0, 0 ) end else exports.SAEGMessages:sendClientMessage ( "You're not the driver of this vehicle.", 255, 255, 0 ) end elseif ( item == "Drug.LSD" ) then exports.SAEGDrugs:useDrug ( "LSD", 1 ) exports.SAEGMessages:sendClientMessage ( "You have decided to use LSD. Get ready for some crazy shit", 255, 255, 0 ) rv = true elseif ( item == "Drug.Marijuana" ) then exports.SAEGDrugs:useDrug ( "Marijuana", 1 ) --exports.SAEGMessages:sendClientMessage ( "~~~~~ Stoner ~~~~~", 0, 255, 0 ) --exports.SAEGMessages:sendClientMessage ( "You smoked some that grade A shit, man!", 255, 255, 0) exports.SAEGMessages:sendClientMessage ( "You'll get 2% health every second", 255, 0, 0 ) rv = true elseif ( item == "health_packs" ) then if ( exports.saeghealthpack:useHealthPack ( ) ) then rv = true else exports.saegmessages:sendClientMessage ( "You don't need a health pack right now!", 255, 255, 0 ) end elseif ( item == "armour" ) then triggerServerEvent ("armouritem",localPlayer,item) rv = true exports.SAEGMessages:sendClientMessage ( "You have used armour,", 255, 255, 0 ) else exports.saegmessages:sendClientMessage ( "You don't need a armour right now!", 255, 255, 0 ) end triggerServerEvent ( "SAEGInventory:onClientUseItem", localPlayer, item ) if rv then d[item] = d[item] - 1 setElementData ( localPlayer, "SAEGUser:Items", d ) reloadInvenPanel ( ) end return rv end function reloadInvenPanel ( ) local d = getElementData ( localPlayer, "SAEGUser:Items" ) local c = selectedItem closeInventoryWindow ( ) createInventoryWindow ( ) for i=0, guiGridListGetRowCount ( GUIEditor.gridlist[1] ) do local d = guiGridListGetItemData ( GUIEditor.gridlist[1], i, 1 ) if ( d == c ) then guiGridListSetSelectedItem ( GUIEditor.gridlist[1], i, 1 ) triggerEvent ( "onClientGUIDoubleClick", GUIEditor.gridlist[1] ) break end end c=nil return true end bindKey ( "I", "down", function ( ) if ( inven and isElement ( GUIEditor.window[1] ) ) then closeInventoryWindow ( ) else createInventoryWindow ( ) end end ) i click on item then all amount used pls help
-
done i did everything fine but still not saved Shit
-
0 warinig 0 erros and the bank blance not saved
-
Thanks u other problem example i have 20 Drug Cocaine in Inventory then i click dobuleclick on item all amount of cocaine used
-
i test it not work castillo pls slove the me that problem pls
-
i'm trying to make Inventory System i did it and work fine i have 1 problem bad usage @'addEventHandler' onClientGUIDoubleClick with this function is already handled function onClientGUIDoubleClick ( ) if ( source == GUIEditor.gridlist[1] ) then selectedItem = nil local r, c = guiGridListGetSelectedItem ( source ) if ( r ~= -1 ) then local name = tostring ( guiGridListGetItemData ( source, r, 1 ) ) local c = getElementData(localPlayer,"SAEGUser:Items")[name] guiSetText ( GUIEditor.edit[1], items[name].desc ) selectedItem = name if ( items[name].requiresInVehicle ) then guiSetText ( GUIEditor.edit[1], guiGetText ( GUIEditor.edit[1] ) .."\n\nThis requires you to be in a vehicle." ) if ( not isPedInVehicle ( localPlayer ) ) then removeEventHandler ( "onClientGUIDoubleClick", GUIEditor.gridlist[1], onClientGUIDoubleClick ) end end if ( isPedInVehicle ( localPlayer ) and not items [ name ].useableInVehicle ) then removeEventHandler ( "onClientGUIDoubleClick", GUIEditor.gridlist[1], onClientGUIDoubleClick ) elseif ( not isPedInVehicle ( localPlayer ) and not items[name].requiresInVehicle ) then addEventHandler ( "onClientGUIDoubleClick", GUIEditor.gridlist[1], onClientGUIDoubleClick ) end end useItem ( selectedItem ) end end
-
Castillo everything work fine only blance not saving help pls server-side addEventHandler("onPlayerLogin", getRootElement(), function () local account = getPlayerAccount(source) local balance = (getAccountData(account, "bankmoney") or 0) if balance then setAccountData(account, "bankmoney", balance) else setAccountData(account, "bankmoney", 0) end end ) addEventHandler("onPlayerLogout", getRootElement(), function () local account = getPlayerAccount(source) local balance = (getAccountData(account, "bankmoney") or 0) setAccountData(account, "bankmoney", balance) end ) addEventHandler("onPlayerQuit", getRootElement(), function () local account = getPlayerAccount(source) local balance = (getAccountData(account, "bankmoney")) setAccountData(account, "bankmoney", balance) end ); function depoist ( text ) if not (tonumber(text) <= 0) then local moneybank = getAccountData (getPlayerAccount (source), "bankmoney") mbank = moneybank + text setTimer(takePlayerMoney,2000,1,source,text) exports['SAEGMessages']:sendClientMessage ( "You've deposited $"..text.." from your bank account", source, 200, 200, 200 ) setAccountData (getPlayerAccount (source), "bankmoney", mbank) else exports['SAEGMessages']:sendClientMessage ( "You don't have enough money for deposit $"..text.." from your bank account", source, 200, 200, 200 ) end end addEvent ("depoist", true) addEventHandler( "depoist", getRootElement(), depoist ) function withdraw (text) local bankcash = getAccountData (getPlayerAccount (source), "bankmoney") if (tonumber(text) <= tonumber(bankcash)) then if(tonumber(text) >= 1) then mbank2 = bankcash-text setAccountData (getPlayerAccount (source), "bankmoney", mbank2) givePlayerMoney(source, text) exports['SAEGMessages']:sendClientMessage ( "You've withdrawn $"..text.." from your bank account", source, 200, 200, 200 ) else exports['SAEGMessages']:sendClientMessage ( "You don't have enough money for withdraw $"..text.." from your bank account", source, 200, 200, 200 ) end end end addEvent ("withdraw",true) addEventHandler( "withdraw", getRootElement(), withdraw ) Client-side function depoistMoney() local text = tonumber (guiGetText(GUIEditor.edit[2])) local text2 = tonumber(guiGetText(GUIEditor.edit[1])) if (guiRadioButtonGetSelected(GUIEditor.radiobutton[1])) then if tonumber(text) and getPlayerMoney() >= tonumber(text) and tonumber(text) >= 0 then guiSetText(GUIEditor.edit[1],"Transferring...") setTimer(guiSetText,2000,1,GUIEditor.edit[1],tonumber(text + text2)) triggerServerEvent ("depoist", getLocalPlayer(), text) setElementData(localPlayer,"bankmoney",tonumber(text2 + text)) end end end function withdrawMoney() local text = guiGetText(GUIEditor.edit[2]) local text2 = guiGetText(GUIEditor.edit[1]) if (guiRadioButtonGetSelected(GUIEditor.radiobutton[2])) then if tonumber(text2) >= tonumber(text) and tonumber(text) > 0 then guiSetText(GUIEditor.edit[1],"Transferring...") setTimer(guiSetText,2000,1,GUIEditor.edit[1],tostring(text2 - text)) triggerServerEvent ("withdraw", getLocalPlayer(), text) setElementData(localPlayer,"bankmoney",tonumber(text2 - text)) end end end
-
function depoistMoney() local text = tonumber (guiGetText(GUIEditor.edit[2])) local text2 = tonumber(guiGetText(GUIEditor.edit[1])) mb = text + text2 if (guiRadioButtonGetSelected(GUIEditor.radiobutton[1])) then if tonumber(text) and getPlayerMoney() >= tonumber(text) and tonumber(text) >= 0 then guiSetText(GUIEditor.edit[1],"Transferring...") setTimer(guiSetText,2000,1,GUIEditor.edit[1],mb) triggerServerEvent ("depoist", getLocalPlayer(), text) setAccountData(localPlayer,"bankmoney",mb) end end end now code but same problem
