Jump to content

DNL291

Retired Staff
  • Posts

    3,875
  • Joined

  • Days Won

    67

Everything posted by DNL291

  1. https://wiki.multitheftauto.com/wiki/IsObjectInACLGroup Dá uma olhada no exemplo da página.
  2. Corrigi vários erros no código, pode ser que ainda não funcione 100% porque não testei ele, mas tente isto: local db = dbConnect("sqlite", "testegang.db") if db then outputChatBox( "@dbConnect: Conexão feita com sucesso!" ) else outputChatBox( "@dbConnect: Falha na conexão com o banco de dados!" ) end dbExec(db, "CREATE TABLE IF NOT EXISTS gangues (name TEXT, leader TEXT, gangcolor TEXT)") dbExec(db, "CREATE TABLE IF NOT EXISTS ganguemembers (account TEXT, gangName TEXT, level TEXT)") addEventHandler ( "onResourceStart", resourceRoot, function ( ) exports.scoreboard:scoreboardAddColumn ( "Gang Level", getRootElement ( ), 90, "Gang Level", 12 ) for i, v in pairs ( getElementsByType ( "player" ) ) do local gangTeam = getElementData ( v, "Gang" ) if ( not gangTeam ) then setElementData ( v, "Gang", nil ) setElementData ( v, "Gang Level", nil) elseif gangTeam then setPlayerTeam( v, tostring(gangTeam) ) end if ( not getElementData ( v, "Gang Level" ) ) then setElementData ( v, "Gang Level", nil ) end end end ) local maxStr = 20 function gangIsLeader ( player, team ) local poll = dbPoll( dbQuery( db, "SELECT leader FROM gangues WHERE name=?", team ), -1 ) if ( poll[1]["leader"] == player ) then return true; else return false; end end function getPlayerGangLevel ( player ) local poll = dbPoll( dbQuery( db, "SELECT account FROM ganguemembers WHERE account=?", player ), -1 ) if ( poll[1]["account"] == player ) then return poll[1]["level"] else return false; end end function testePlayerLevel(player, commandName) local account = getAccountName( getPlayerAccount(player) ) local mylevel = getPlayerGangLevel( account ) outputChatBox("Meu level é: "..myLevel, player, 255, 255, 0, false) end addCommandHandler("getlevel", testePlayerLevel) function setPlayerGang ( player, team, level ) local account = getAccountName( getPlayerAccount(player) ) dbExec(db, "INSERT INTO ganguemembers VALUES (?, ?, ?)", account, tostring(team), tostring(level)) setPlayerTeam(player, getTeamFromName(tostring(team))) setElementData(player, "Gang", tostring(team)) outputDebugString(getPlayerName(player).." entrou na gang "..tostring(team).." como: "..tostring(level)) end function createGang(name, owner) local color = {math.random(255), math.random(255), math.random(255)} local r, g, b = unpack(color) local account = getAccountName( getPlayerAccount(owner) ) createTeam(tostring(name), r, g, b) dbExec(db, "INSERT INTO gangues VALUES (?, ?, ?)", name, account, toJSON(color)) outputDebugString(getPlayerName(owner).." criou a gang: "..tostring(name)) end function criarGang ( source, commandName, teamName ) local getMoney = getPlayerMoney ( source ) if ( teamName ) then if ( getMoney < 400000 ) then outputChatBox ( "#F4A460[GANG]#F08080 Você não tem dinheiro suficiente para criar uma gang Valor 400000$", source, 255, 255, 255, true ) elseif ( string.len ( teamName ) > maxStr ) then outputChatBox ( "#1e90ff[GANG] #ffffff- O Nome da Gang nao pode ter mais de " .. maxStr .. " caracteres!", source, 255, 255, 255, true ); else createGang ( tostring(teamName), source ) takePlayerMoney ( source, 400000 ) setPlayerGang ( source, tostring(teamName), "Lider" ) setElementData(source, "Gang Level", "Lider") end else outputChatBox ( "#F4A460[GANG]#F08080 Uso correto: /gangcriar [nome]", source, 255, 255, 255, true ) end end addCommandHandler ( "gangcriar", criarGang )
  3. Pode ser relacionado a alguma modificação que você instalou no GTA, talvez corrija fazendo o que o MarcosMix99 disse.
  4. Try this: local screenW,screenH = guiGetScreenSize() local resW, resH = 1280,720 local x, y = (screenW/resW), (screenH/resH) --===================================================================[[Basicos]]===================================================================-- addEventHandler( "onClientResourceStart", resourceRoot, function() GridListPizzaBoyLS = guiCreateGridList(x*313, y*272, x*559, y*273, false) guiGridListAddColumn(GridListPizzaBoyLS, "ID", x*0.07) guiGridListAddColumn(GridListPizzaBoyLS, "Local", x*0.30) guiGridListAddColumn(GridListPizzaBoyLS, "Disponível em", x*0.28) guiGridListAddColumn(GridListPizzaBoyLS, "Disponibilidade das", x*0.20) guiGridListAddColumn(GridListPizzaBoyLS, "Lucro", x*0.09) guiGridListSetSortingEnabled(GridListPizzaBoyLS,false) guiSetVisible(GridListPizzaBoyLS,false) for i = 1, 30 do guiGridListAddRow(GridListPizzaBoyLS) end end ) function VerificHourID1() -----------------------------------------------[[ 1 ]]----------------------------------------------- local h,m = getTime() if (h >= 0) and (h < 3) then if (m > 0 and h ~= 2) then guiGridListSetItemText(GridListPizzaBoyLS, 0, 1, "1", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 0, 2, "Pershing Square (DP) (LS)", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 0, 4, "00:00 às 02:00", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 0, 3, "Pizzaria De Los Santos", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 0, 5, "60", false,false) -------------------------------------------------------------------------------------- guiGridListSetItemColor(GridListPizzaBoyLS, 0, 1, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 0, 2, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 0, 3, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 0, 4, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 0, 5, 0, 255, 0, 255, false, false) end end end function VerificHourID2() local h,m = getTime() if (h >= 1 and h < 3) then if (h == 2 and m <= 30) then guiGridListSetItemText(GridListPizzaBoyLS, 2, 1, "3", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 2, "Hospital Jefferson (LS", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 4, "01:00 às 02:30", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 3, "Pizzaria De Los Santos", false,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 5, "80", false,false) -------------------------------------------------------------------------------------- guiGridListSetItemColor(GridListPizzaBoyLS, 2, 1, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 2, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 3, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 4, 0, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 5, 0, 255, 0, 255, false, false) end end if (h >= 2) then if (h == 2 and m > 30) then guiGridListSetItemText(GridListPizzaBoyLS, 2, 1, "3", true,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 2, "Hospital Jefferson (LS)", true,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 4, "01:00 às 02:30", true,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 3, "Pizzaria De Los Santos", true,false) guiGridListSetItemText(GridListPizzaBoyLS, 2, 5, "80", true,false) -------------------------------------------------------------------------------------- guiGridListSetItemColor(GridListPizzaBoyLS, 2, 1, 255, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 2, 255, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 3, 255, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 4, 255, 255, 0, 255, false, false) guiGridListSetItemColor(GridListPizzaBoyLS, 2, 5, 255, 255, 0, 255, false, false) end end end setTimer( VerificHourID1, 1000, 0 ) setTimer( VerificHourID2, 1000, 0 )
  5. Check out this thread. Maybe it will have what you are looking for.
  6. https://community.multitheftauto.com/index.php?p=resources&s=details&id=2005 That's just an old resource that I did.
  7. Using IDs should work. This may be an error in your code, I'm not sure if it's related to a bug though. Anyway, show us your code if isn't working yet.
  8. Tente isto: addEventHandler("onMarkerHit", resourceRoot, 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) local mx, my, mz = unpack( Boxs.Marker.Positions[ math.random( #Boxs.Marker.Positions ) ] ) Boxs.Vehicle[Jogador] = createVehicle(411, x, y, z); warpPedIntoVehicle(Jogador, Boxs.Vehicle[Jogador]); Boxs.Marker.Create[2] = createMarker(mx, my, mz, "cylinder", 1, 255, 0, 0, 255); end end end ) Só defini variável pras posições da marca, não achei outro erro. Você tava tentando usar unpack direto dentro da função, isso não funciona (pelo que me lembro). Se não funcionar, mostre o erro do debug.
  9. Por que não criar um tópico próprio pra anunciar o seu servidor? Bacana a sua atitude.
  10. É, mas são meros equívocos. Qualquer um brasileiro comete esses erros simples, infelizmente (agente, a gente, há gente). Edit: Você cometeu um erro de falta de vírgula, por exemplo. Desculpe começar a sair do assunto, enfim.
  11. Você quer dizer, linkar tudo num só meta? Acho que você não vai ter problemas, só na parte da atualização de algum código que todo o gamemode terá que ser reiniciado.
  12. Use: getRealTime().timestamp Use essa função quando for dado o VIP e calcule o tempo de VIP em segundos para a data em que o VIP irá expirar.
  13. Desculpe a demora. Acho que o problema é que o objeto é anexado sempre no meio do veículo, é isto? Tente o seguinte: Use esta função para obter as posições offset do veículo a partir dos eixos X,Y e Z (você vai precisar incluir também essa biblioteca em Lua: https://wiki.multitheftauto.com/wiki/Lua_matrix_library).
  14. Pra quê serve este script? Serve só pra criar essa cadeira e anexá-la ao carro? Pelo que eu vi nas imagens o objeto foi criado e não há erros no código. Se o problema for offSet, edita os últimos 3 argumentos do código. Pra deixar o objeto acima do carro, por exemplo, só editar o último argumento, isto é, a posição Z do alinhamento.
  15. Pra posicionar o objeto no veículo, lá na função attachElements, você vai usar offSets, e nesse caso está a posição onde o tiro acertou. Tente o seguinte: addEventHandler ( "onClientPlayerWeaponFire", getRootElement(), function(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) if isElement(hitElement) and getElementType ( hitElement ) == "vehicle" then attachElements( createObject(2636, hitX, hitY, hitZ, 0,0,50), hitElement, 0,0,0 ) outputChatBox("000xCar") end end) Aí, pra alterar a offSet, você só modifica os argumentos 0,0,0.
  16. Na parte da offSet, você tá usando a posição que o tiro acertou no veículo.
  17. Hexadecimal codes. You're welcome.
  18. For the 1st question: text = #001122G-#aaaaffStefan text:gsub("#%x%x%x%x%x%x","") -- > G-Stefan
  19. It should be cause "player" isn't a player element.
  20. O nome do tópico é igual o do outro, dá a entender que é sobre a mesma coisa. Aliás, você podia ter postado isso no outro tópico mesmo, mas já que abriu outro...
  21. Olá FoxyPT, um outro tópico seu a respeito do mesmo problema foi movido pra seção Programação em Lua - a área correta. Se não conseguiu encontrá-lo, aqui está ele: https://forum.multitheftauto.com/viewtopic.php?f=152&t=96626
  22. Em outras palavras: você quer que alguém termine esse script que foi descompilado. Eu não acho que alguém aqui fará. Eu particulamente só ajudaria alguém que está se esforçando.
  23. Olá lordhenry, Por favor, prossiga com essa mesma denúncia neste tópico aqui: https://forum.multitheftauto.com/viewtopic.php?f=114&t=31463
  24. Use dxGetTextWidth pra obter o tamanho do texto, e esse mesmo valor você define pro retângulo-dx (no argumento da largura).
×
×
  • Create New...