-
Posts
3,875 -
Joined
-
Days Won
67
Everything posted by DNL291
-
https://wiki.multitheftauto.com/wiki/IsObjectInACLGroup Dá uma olhada no exemplo da página.
-
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 )
-
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 )
-
Check out this thread. Maybe it will have what you are looking for.
-
https://community.multitheftauto.com/index.php?p=resources&s=details&id=2005 That's just an old resource that I did.
-
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.
-
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.
-
SAF RPG - San Andreas Fusini Brasil | [PT/BR]
DNL291 replied to gustavorn's topic in Servidores para jogar
Por que não criar um tópico próprio pra anunciar o seu servidor? Bacana a sua atitude. -
SAF RPG - San Andreas Fusini Brasil | [PT/BR]
DNL291 replied to gustavorn's topic in Servidores para jogar
É, 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. -
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.
-
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.
-
Ele já disse que quer comprar.
-
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).
-
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.
-
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.
-
Na parte da offSet, você tá usando a posição que o tiro acertou no veículo.
-
Hexadecimal codes. You're welcome.
-
For the 1st question: text = #001122G-#aaaaffStefan text:gsub("#%x%x%x%x%x%x","") -- > G-Stefan
-
It should be cause "player" isn't a player element.
-
[AJUDA]Como Deixa Um Script Fechado para Class/Team
DNL291 replied to FoxyPT's topic in Programação em Lua
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... -
[AJUDA]Como Deixa Um Script Fechado para Class/Team
DNL291 replied to FoxyPT's topic in Programação em Lua
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 -
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.
-
Use dxGetTextWidth pra obter o tamanho do texto, e esse mesmo valor você define pro retângulo-dx (no argumento da largura).