Jump to content

MrDante

Members
  • Posts

    176
  • Joined

  • Last visited

Everything posted by MrDante

  1. No que exatamente você precisa de ajuda? Está acontecendo algum erro? Percebi alguns no código, a variável skinPulicia seria o Pickup criado? Se sim, reverte a linha do 'addEventHandler', a onde está skinPulicia você altera pra farda, e farda você altera pra skinPulicia. No addCommandHandler, retire o skinPulicia do final, para verificar se o jogador está em cima da Pickup, você precisa criar um Marker/ColShape na mesma posição, exemplo -------------------- COM MARKER --------------------- local markerFarda = createMarker(pos1, pos2, pos3, "cylinder", 1, 0, 0, 0, 0) local skinPulicia = createPickup(...) function pickupHit (theElem) outputChatBox("Utilize /trabalhar para pegar a farda", theElem, 255,0,0) end addEventHandler("onPickupHit", skinPulicia, pickupHit) function comandoFarda (theElem) if isElementWithinMarker(theElem, markerFarda) then setElementModel(theElem, 285) -- Utilize setElementModel ao invés de setPedSkin, pois em versões futuras do MTA essa função pode não estar funcionando. end end addCommandHandler("trabalhar", comandoFarda) --------------------- COM COLSHAPE (EXEMPLO UTILIZANDO COL CIRCLE) --------------------- local colFarda = createColCircle(pos1, pos2, pos3, 2.0) local skinPulicia = createPickup(...) function pickupHit (theElem) outputChatBox("Utilize /trabalhar para pegar a farda", theElem, 255,0,0) end addEventHandler("onPickupHit", skinPulicia, pickupHit) function comandoFarda (theElem) if isElementWithinColShape(theElem, colFarda) then setElementModel(theElem, 285) -- Utilize setElementModel ao invés de setPedSkin, pois em versões futuras do MTA essa função pode não estar funcionando. end end addCommandHandler("trabalhar", comandoFarda)
  2. Why function "deleteTabela" is using? Ever Delete Data when call function saveDatabase. You want update the Data?
  3. Hi guys, I have a problem with the database, don't update and don't display errors in theDebugScript, the problem is when the eventName "onResourceStop" will UPDATE the Database, but i don't UPDATE. I trying use dbFREE, dbQuery and dbExec, it still doesn't work NOTE: OOP use B = { Database = {}, InventoryData = {} } function onSystemConnect () B.Database.create = Connection("sqlite", "files/database/inventory.db"); if (eventName == "onResourceStart") then if (B.Database.create) then local query = B.Database.create:query("CREATE TABLE IF NOT EXISTS inventoryData ('ID' int NOT NULL, 'SLOT' tinyint NOT NULL, 'NAME' varchar(30), 'TYPE' varchar(10), 'IDType' tinyint, 'AMOUNT' tinyint);"); local poll = query:poll(-1); if (poll) then local selectTable = B.Database.create:query("SELECT * FROM inventoryData"); local pollTable = selectTable:poll(-1); if (pollTable) then if (#pollTable == 0) then for k, v in ipairs (Element.getAllByType("player")) do B.InventoryData[v] = {} for i = 1, 18 do local setTable = B.Database.create:query("INSERT INTO inventoryData ('ID', 'SLOT', 'NAME', 'TYPE', 'IDType', 'AMOUNT') VALUES (?, ?, ?, ?, ?, ?)", v:getData("TN:IDSYSTEM"), i, 'empyt', 'empyt', 0, 0); local resultTable = setTable:poll(-1); if (resultTable) then table.insert(B.InventoryData[v], {["ID"] = v:getData("TN:IDSYSTEM"), ["NAME"] = "empyt", ["TYPE"] = "empyt", ["IDType"] = 0, ["AMOUNT"] = 0}); end end end return; end for k, v in ipairs(Element.getAllByType("player")) do B.InventoryData[v] = {} for i = 1, #pollTable do if (v:getData("TN:IDSYSTEM") == pollTable[i]["ID"]) then table.insert(B.InventoryData[v], {["ID"] = v:getData("TN:IDSYSTEM"), ["NAME"] = pollTable[i]["NAME"], ["TYPE"] = pollTable[i]["TYPE"], ["IDType"] = pollTable[i]["IDType"], ["AMOUNT"] = pollTable[i]["AMOUNT"]}); print(pollTable[1]["NAME"]) end end end end end end elseif (eventName == "onResourceStop") then if (B.Database.create) then for k, v in ipairs (Element.getAllByType("player")) do local data = B.InventoryData[v]; if (data) then for i = 1, #data do B.Database.create:exec("UPDATE inventoryData SET 'NAME' = ?, 'TYPE' = ?, 'IDType' = ?, 'AMOUNT' = ? WHERE 'ID' = ? AND 'SLOT' = ?", data[i]["NAME"], data[i]["TYPE"], data[i]["IDType"], data[i]["AMOUNT"], data[i]["ID"], i); end end end end end end addEventHandler("onResourceStart", resourceRoot, onSystemConnect) addEventHandler("onResourceStop", resourceRoot, onSystemConnect)
  4. MrDante

    [HELP] Clothes

    function setPedClothes(thePed, clothingSlot, clothingID) if not isElement(thePed) or type(clothingSlot) ~= "number" then error("Invalid arguments to setPedClothes()!", 2) end if not clothingID then return removePedClothes(thePed, clothingSlot) end local hasClothes = getPedClothes(thePed, clothingSlot) if hasClothes then removePedClothes(thePed, clothingSlot) end local texture, model = getClothesByTypeIndex(clothingSlot, clothingID) return addPedClothes(thePed, texture, model, clothingSlot) end function roupat () if (getPlayerMoney(source) >= 10) then takePlayerMoney(source, 10) setPedClothes(source, 0, 11) end end addEvent("roupa1", true) addEventHandler("roupa1", root, roupat)
  5. STOLEN: https://community.multitheftauto.com/index.php?p=resources&s=details&id=14391 ORIGINAL: https://community.multitheftauto.com/index.php?p=resources&s=details&id=14232
  6. MrDante

    Hud help

    function drawHud() local screenW,screenH = guiGetScreenSize() local time = getRealTime() local hour = time.hour local minute = time.minute local health = getElementHealth(localPlayer) local armor = getPedArmor(localPlayer) local oxygen = getPedOxygenLevel(localPlayer) local weapon = getPedWeapon(localPlayer) local weaponname = getWeaponNameFromID(weapon) local currentammo = getPedAmmoInClip(localPlayer) local maxammo = getPedTotalAmmo(localPlayer)-(currentammo) local vehicle = getPedOccupiedVehicle(localPlayer) setPlayerHudComponentVisible("clock",false) setPlayerHudComponentVisible("armour",false) setPlayerHudComponentVisible("breath",false) setPlayerHudComponentVisible("health",false) setPlayerHudComponentVisible("money",false) setPlayerHudComponentVisible("wanted",false) setPlayerHudComponentVisible("weapon",false) setPlayerHudComponentVisible("ammo",false) dxDrawRectangle(screenW * 0.8631 - 3, screenH * 0.0644 - 3, screenW * 0.1175 + 6, screenH * 0.0256 + 6, tocolor(0, 0, 0, 255), false) dxDrawRectangle(screenW * 0.8631, screenH * 0.0644, screenW * 0.1175, screenH * 0.0256, tocolor(222, 0, 0, 100), false) dxDrawRectangle(screenW * 0.8631, screenH * 0.0644, screenW * 0.1175/(math.floor(health) > 100 and 200 or 100)*health, screenH * 0.0256, tocolor(222, 0, 0, 255), false) dxDrawRectangle(screenW * 0.8631 - 3, screenH * 0.1011 - 3, screenW * 0.1175 + 6, screenH * 0.0256 + 6, tocolor(0, 0, 0, 255), false) dxDrawRectangle(screenW * 0.8631, screenH * 0.1011, screenW * 0.1175, screenH * 0.0256, tocolor(122, 122, 122, 100), false) dxDrawRectangle(screenW * 0.8631, screenH * 0.1011, screenW * 0.1175/100*armor, screenH * 0.0256, tocolor(122, 122, 122, 255), false) dxDrawText(hour..":"..minute.."", screenW * 0.8631 + 2, screenH * 0.0278 + 2, screenW * 0.9806, screenH * 0.0533, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(hour..":"..minute.."", screenW * 0.8631, screenH * 0.0278, screenW * 0.9806, screenH * 0.0533, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(math.floor(health).."%", screenW * 0.8631 + 2, screenH * 0.0644 + 2, screenW * 0.9806, screenH * 0.0900, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(math.floor(health).."%", screenW * 0.8631, screenH * 0.0644, screenW * 0.9806, screenH * 0.0900, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(math.floor(armor).."%", screenW * 0.8631 + 2, screenH * 0.1011 + 2, screenW * 0.9806, screenH * 0.1267, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(math.floor(armor).."%", screenW * 0.8631, screenH * 0.1011, screenW * 0.9806, screenH * 0.1267, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) if (oxygen < 1000 or isElementInWater(localPlayer)) or (isElementInWater(vehicle)) then dxDrawRectangle(screenW * 0.8631 - 3, screenH * 0.1378 - 3, screenW * 0.1175 + 6, screenH * 0.0256 + 6, tocolor(0, 0, 0, 255), false) dxDrawRectangle(screenW * 0.8631, screenH * 0.1378, screenW * 0.1175, screenH * 0.0256, tocolor(222, 222, 0, 100), false) dxDrawRectangle(screenW * 0.8631, screenH * 0.1378, screenW * 0.1175/1000*oxygen, screenH * 0.0256, tocolor(222, 222, 0, 255), false) dxDrawText(math.floor(oxygen).."%", screenW * 0.8631 + 2, screenH * 0.1378 + 2, screenW * 0.9806, screenH * 0.1633, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(math.floor(oxygen).."%", screenW * 0.8631, screenH * 0.1378, screenW * 0.9806, screenH * 0.1633, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(weaponname.." | "..currentammo.."/"..maxammo, screenW * 0.8631 + 2, screenH * 0.1744 + 2, screenW * 0.9806, screenH * 0.2000, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(weaponname.." | "..currentammo.."/"..maxammo, screenW * 0.8631, screenH * 0.1744, screenW * 0.9806, screenH * 0.2000, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) else dxDrawText(weaponname.." | "..currentammo.."/"..maxammo, screenW * 0.8631 + 2, screenH * 0.1744 + 2, screenW * 0.9806, screenH * 0.1300, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(weaponname.." | "..currentammo.."/"..maxammo, screenW * 0.8631, screenH * 0.1744, screenW * 0.9806, screenH * 0.1300, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) end end addEventHandler("onClientRender",root,drawHud) function deleteHud() setPlayerHudComponentVisible("clock",true) setPlayerHudComponentVisible("armour",true) setPlayerHudComponentVisible("breath",true) setPlayerHudComponentVisible("health",true) setPlayerHudComponentVisible("money",true) setPlayerHudComponentVisible("wanted",true) setPlayerHudComponentVisible("weapon",true) setPlayerHudComponentVisible("ammo",true) end addEventHandler("onClientResourceStop",root,deleteHud)
  7. It exists and works, because before using the download = "false" attribute in meta, the script was working.
  8. I'm Brazilian, Sorry my bad english Hi Guys, I need help! I made a modloader, it is totally correct, however I did the following, on the server side, send a table to the client, with the correct files, and also is in the meta, however, for testing, when typing /loadMod, the client side can not verify that the file exists, that it exists and is in the meta. I had made it work, but before using the attribute in the meta download="false", now using, can not verify ... Can anyone help? Client-side: Boxs = { download = {}, size = 0 } addEvent(getThisResource().name..": onClientSystem", true); addEventHandler(getThisResource().name..": onClientSystem", root, function (args) if (args[1] == "files-load") then for k, v in ipairs (args[3]) do local txd = v[4].."/"..args[2].."/"..v[3].."/"..v[2]..".txd"; local dff = v[4].."/"..args[2].."/"..v[3].."/"..v[2]..".dff"; local col = v[4].."/"..args[2].."/"..v[3].."/"..v[2]..".col"; if (fileExists(txd)) then local txdFile = fileOpen(txd); Boxs.size = Boxs.size + txdFile:getSize(); downloadFile(v[4].."/"..args[2].."/"..v[3].."/"..v[2]..".txd"); txdFile:close(); end if (fileExists(dff)) then local dffFile = fileOpen(dff); Boxs.size = Boxs.size + dffFile:getSize(); downloadFile(v[4].."/"..args[2].."/"..v[3].."/"..v[2]..".dff"); fileClose(dffFile); end if (fileExists(col)) then local colFile = fileOpen(col); Boxs.size = Boxs.size + colFile:getSize(); downloadFile(v[4].."/"..args[2].."/"..v[3].."/"..v[2]..".col"); fileClose(colFile); end Boxs.download[v[4].."/"..args[2].."/"..v[3].."/"..v[2]] = {v[2], args[2], v[3], Boxs.size, v[1]}; end end end ) addEventHandler("onClientFileDownloadComplete", root, function (filename, success) if (success) then setTimer(function () if (filename:find(".txd")) then local file = filename:gsub(".txd", "") loadMod(Boxs.download[file][1]..".txd", Boxs.download[file][2], Boxs.download[file][3], Boxs.download[file][5]); elseif (filename:find(".dff")) then local file = filename:gsub(".dff", "") loadMod(Boxs.download[file][1]..".dff", Boxs.download[file][2], Boxs.download[file][3], Boxs.download[file][5]); elseif (filename:find(".col")) then local file = filename:gsub(".col", "") loadMod(Boxs.download[file][1]..".col", Boxs.download[file][2], Boxs.download[file][3], Boxs.download[file][5]); end end, 500, 1) end end ) function loadMod (file, city, type, id) local engineFile = "Arquivos/"..city.."/"..type.."/"..file; if (fileExists(engineFile)) then if (file:find(".dff")) then local dff = engineLoadDFF(dff, engineFile, id); engineReplaceModel(dff, id); elseif (file:find(".txd")) then local txd = engineLoadTXD(engineFile); engineImportTXD(txd, id); elseif (file:find(".col")) then local col = engineLoadCOL(engineFile); engineImportCOL(col, id); end --[[[ for k, v in ipairs (Boxs.download) do if (k == engineFile and v) then Boxs.download[k] = false; end end --]] end end addCommandHandler("loadMod", function () --if (event) then triggerServerEvent(getThisResource().name..": onServerSystem", localPlayer, {"files-load", "CR", "CR"}); --end end ); Server-side: Boxs = { Models = { CR = { {415, "415", "Veiculos", "Arquivos"} } } } addEvent(getThisResource().name..": onServerSystem", true); addEventHandler(getThisResource().name..": onServerSystem", root, function (args) if (args[1] == "files-load") then onRequestLoadingFiles(source, args[2]); end end ) function onRequestLoadingFiles (player, city) triggerClientEvent(player, getThisResource().name..": onClientSystem", root, {"files-load", city, Boxs.Models[city]}); end Meta: <meta> <info author="MrDante" name="[All] ModLoader" version="1.0" description="ModLoader Script"></info> <script src="Server-side.lua" type="server"></script> <script src="Client-side.lua" type="client" cache="false" validate="true"></script> <oop>true</oop> <file src="Arquivos/CR/Veiculos/415.dff" download="false"></file> <file src="Arquivos/CR/Veiculos/415.txd" download="false"></file> </meta>
  9. Ok, but is the algorithm "v[3]" catching a table ?
  10. Oh, really? Now try to make it work :D
  11. I'm Brazillian, Sorry my bad english Hi Guys, I need help! I am creating a modloader, however I did it with a form where it is giving error when executing the event "onClientFileDownloadComplete", because when I am going to the event, I need to find the data inside a table, but the error in The nil value debug, For some reason I do not know, if they want, they can test on their servers, and I ask you to help me, I'll be very grateful OBS: OOP Syntax The server-side table is the directory where the txd's / dff's are located Server-Side: [will be re-added later] Client-Side: [will be re-added later]
  12. Muito obrigado!! Você me ajudou demais!! e até uma possível depressão (Irônico) rs.
  13. Olá a todos, estou com um problema que está me deixando super desanimado... eu criei um comando de repetição para varias markers pegados nas posições de uma tabela, até ai tudo bem, mas ai usei onMarkerHit, ele só vai para o ultimo marker repetido... já tentei de várias formas, criei função para cada marker... mas ai o getElementID que eu utilizei foi para outra posição... Server-side Boxs = { Positions = { {1368.09497, -1279.76941, 13.54688 + 0.8, 285.67160, -86.19171, 1001.52289 + 0.8, 294.71225, -80.24703, 1001.51563 - 0.8, 4}, {2333.50806, 61.62383, 26.70579 + 0.8, 285.67160, -86.19171, 1001.52289 + 0.8, 294.71225, -80.24703, 1001.51563 - 0.8, 4}, {-2625.85010, 208.34500, 4.81250 + 0.8, 285.67160, -86.19171, 1001.52289 + 0.8, 294.71225, -80.24703, 1001.51563 - 0.8, 4}, {2158.97290, 943.12683, 10.82031 + 0.8, 285.67160, -86.19171, 1001.52289 + 0.8, 294.71225, -80.24703, 1001.51563 - 0.8, 4} }, Create = {} } addEventHandler("onResourceStart", resourceRoot, function () for i = 1, #Boxs.Positions do Boxs.Create.Enter = createMarker(Boxs.Positions[i][1], Boxs.Positions[i][2], Boxs.Positions[i][3], "arrow", 1, 255, 255, 0, 255); Boxs.Create.Exit = createMarker(Boxs.Positions[i][4], Boxs.Positions[i][5], Boxs.Positions[i][6], "arrow", 1, 255, 255, 0, 255); Boxs.Create.Marker = createMarker(Boxs.Positions[i][7], Boxs.Positions[i][8], Boxs.Positions[i][9], "cylinder", 1, 255, 255, 0, 255); createBlipAttachedTo(Boxs.Create.Enter, 6, 2, 0, 255, 0, 0, 0, 7000); setElementInterior(Boxs.Create.Exit, Boxs.Positions[i][10]); setElementInterior(Boxs.Create.Marker, Boxs.Positions[i][10]); setElementID(Boxs.Create.Enter, i); addEventHandler("onMarkerHit", Boxs.Create.Enter, markerHitEnter); end end ) addEventHandler("onMarkerHit", resourceRoot, function (Jog, mathDim) if (getElementType(Jog) == "player") then if (source == Boxs.Create.Enter) then fadeCamera(Jog, false, 1.0); local x, y, z = getElementPosition(Jog); setTimer( function (Jog) fadeCamera(Jog, true, 1.0); setElementInterior(Jog, Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][10], Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][4]+1.5, Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][5]+1.5, Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][6]); end, 2000, 1, Jog) elseif (source == Boxs.Create.Exit) then fadeCamera(Jog, false, 1.0); setTimer( function (Jog) fadeCamera(Jog, true, 1.0); setElementInterior(Jog, 0, Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][1]+1.5, Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][2], Boxs.Positions[tonumber(getElementID(Boxs.Create.Enter))][3]); end, 2000, 1, Jog) elseif (source == Boxs.Create.Marker) then triggerClientEvent(Jog, getResourceName(getThisResource())..": onClientSystem", root, "addRenderScript"); end end end ) Eu não sei mais o que fazer.. fiz vários comandos de repetição verificando source no onMarkerHit, não está adiantando nada...
  14. Salva suas posições antes de ser preso.
  15. function StarKill ( ammo, killer, killerweapon, Vehicle, bodypart ) if ( killer ) and ( killer ~= source ) then x,y,z = getElementPosition(killer) setElementData(killer, "positions", {x, y, z}); local procurado = getPlayerWantedLevel (killer) if procurado == 0 then givePlayerMoney ( killer, 200 ) setPlayerWantedLevel ( killer, 2) elseif procurado == 2 then givePlayerMoney ( killer, 200 ) setPlayerWantedLevel ( killer, 4) elseif procurado == 4 then givePlayerMoney ( killer, 200 ) setPlayerWantedLevel ( killer, 6) elseif procurado == 6 then setPlayerWantedLevel (killer,0) removePedFromVehicle (killer) setElementPosition (killer, 2587.328125, 2067.626953125, 10.8203125) outputChatBox ("[PENITENCIÁRIA] - #ff0000Você foi preso por 60 segundos...",killer,80,80,80,true) outputChatBox ("[PENITENCIÁRIA] - " .. getPlayerName(killer) .. "#ff0000 foi preso por 60 segundos...",source,80,80,80,true) setElementFrozen (killer, true) setTimer (function () backlocation(killer) end, 120000, 1) else givePlayerMoney ( killer, 200 ) end end function backlocation (killer) local x, y, z = unpack(getElementData(killer, "positions")) setElementPosition (killer,x,y,z+1) end end addEventHandler ( "onPlayerWasted", getRootElement(), StarKill )
  16. Sorry my bad english Hello people, I have a problem in the image section, I do not use every day so I am with many problems, I want this image is cut according to the damage of the vehicle, but that's not what's happening The problem http://imgur.com/lCG3sC9 as I want to leave http://imgur.com/FOF5B6O Script: OBS(OOP Script) dxDrawImageSection(Boxs.x+90, Boxs.y-15, 55, 50, 0, math.floor(localPlayer:getOccupiedVehicle():getHealth())/10, 48, 38, "Arquivos/Imagens/damage.png");
  17. Use setVehicleHandling to rotate the wheels.
  18. Sim, e esse post já há algum tempo que resolvi o problema. Ou seja, tudo está correto.
  19. Muito obrigado n3wage e DNL 291, ajudou muito! consegui compreender o que houve na função, obrigadão
  20. Salve galera!, estou com um problema que anda me afetando muito, e gostaria de entender o porque acontece isso, eu tenho uma tabela dentro de outra tabela, e quero pegar os elementos da tabela dentro de uma tabela randomicamente. Mais ou menos isso: Boxs = { Marker = { Start = { {-714.84930, 961.21680, 12.23629} }, Positions = { {-709.06329345703, 951.41162109375, 11.969321250916}, {-715.99768066406, 974.80853271484, 11.71480178833} }, Create = {} }, Vehicle = {} } Positions = { {-709.06329345703, 951.41162109375, 11.969321250916}, {-715.99768066406, 974.80853271484, 11.71480178833} } addEventHandler("onMarkerHit", root, function (Jogador) if (source == Boxs.Marker.Create[1]) then if (getElementType(Jogador) == "player") then if (isElement(Boxs.Vehicle[Jogador])) then destroyElement(Boxs.Vehicle[Jogador]); end local x, y, z = getElementPosition(Jogador) Boxs.Vehicle[Jogador] = createVehicle(411, x, y, z); warpPedIntoVehicle(Jogador, Boxs.Vehicle[Jogador]); Boxs.Marker.Create[2] = createMarker(unpack(Boxs.Marker.Positions[math.random(1, #Boxs.Marker.Positions)]), "cylinder", 1, 255, 0, 0, 255); end end end ) for i, v in ipairs(Boxs.Marker.Start) do Boxs.Marker.Create[1] = createMarker(v[1], v[2], v[3], "cylinder", 1, 255, 0, 0); end Se alguém poder dar uma ajuda, ficarei muito grato
  21. In the case of mod I'm working out, players can use a link to a music stream, that's what I need.
  22. Sorry my bad english A Good Morning / Good afternoon / Good evening to all.. I have a problem, I'm doing a radio/music system, streaming, and I wanted to create a progress bar telling the time of music, but I can not in any way ... I tried getTickCount() to getSoundLenght, setTimer to getSoundLenght, interpolateBetween, no work. can anybody help me? Attempt Client : local xI, yI, zI = interpolateBetween(0, 0, 0, utils.width, 0, 0, (getTickCount()-utils.tick)/getSoundLength(utils.MusicStream), "Linear") utils.getLenght = xI dxDrawRectangle(x+100, y+90, utils.getLenght, utils.top-5, tocolor(180, 255, 0, 255), false)
  23. function cancelRob( crim ) if ( getElementData(source, "arrested") ) or ( getElementData( source, "Jailed" ) ) == "Yes" then removeElementData( source, "rob" ) exports.GTWtopbar:dm( "Robbery failed because you left the store!", source, 255, 0, 0 ) setPedAnimation(source, nil, nil) if isTimer( cancelTimers[source]) then killTimer(cancelTimers[source]) end end end addEventHandler("onPlayerWasted", root, cancelRob) Only now I realized, in his function he was checking who killed him, not the player who was killed
  24. Test now function cancelRob( crim, target ) if isPedDead(crim) then if isElement( crim ) then if getElementData( crim, "arrested" ) or getElementData( crim, "Jailed" ) == "Yes" then setElementData( crim, "rob", false ) exports.GTWtopbar:dm( "Robbery failed because you left the store!", crim, 255, 0, 0 ) setPedAnimation( target, nil, nil ) if isTimer( cancelTimers[crim] ) then killTimer( cancelTimers[crim] ) end end end end end
×
×
  • Create New...