-
Posts
3,875 -
Joined
-
Days Won
67
Everything posted by DNL291
-
Meu mta está crashando toda hora
DNL291 replied to PhongGamer's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
0x003C91CC Já foi explicado (no discord) sobre o seu problema. Se a reinstalação do GTA e MTA não resolveu você vai precisar de um upgrade no PC; senão, a sua alternativa é mudar de servidor e jogar em um servidor mais leve para o seu PC. -
I suppose your code is server side, you have to store the vehicle in a table for each player. Showing your code would be better.
-
[DUVIDA]] Objeto invisivel para outro jogador
DNL291 replied to +[T]rakin's topic in Programação em Lua
Sim, dá pra adaptar pro cliente sem muito trabalho, mais tarde farei o código (se alguém não fizer antes). -
/debugscript 3 Se certifique que sua dimensão e interior seja as mesmas que a da marker. E troque setPedSkin por setElementModel.
-
[DUVIDA]] Objeto invisivel para outro jogador
DNL291 replied to +[T]rakin's topic in Programação em Lua
Na verdade não vai funcionar com objects: Então nesse caso você precisa criar o object no lado cliente. Fiz poucas mudanças no código, como uma verificação com isElementVisibleTo no onMarkerHit e limpar a tabela quando o player sair. local Marker_Start = createMarker (-111.1279296875, -4.025390625, 3.1171875 -1, "cylinder", 1.5, 20, 70, 230, 80) local Blip_Start = createBlipAttachedTo(Marker_Start, 42) local Plantas = { [1] = {-129.10345458984,44.776748657227,3.1171875}, [2] = {-140.21569824219,35.499088287354,3.1171875}, [3] = {-138.20004272461,22.663047790527,3.1171875}, [4] = {-148.60707092285,14.514667510986,3.1171875}, [5] = {-145.90365600586,3.4965758323669,3.1171875}, [6] = {-156.54542541504,-6.012909412384,3.1171875}, [7] = {-154.13597106934,-17.593681335449,3.1171875}, [8] = {-164.40188598633,-27.394626617432,3.1171875}, [9] = {-162.29643249512,-39.118156433105,3.1171875}, [10] = {-171.7504119873,-45.86404800415,3.1171875}, } local Veh_Trator = {} local Coronas_Plantas = {} local Obj_Plantas = {} local Letra = "K" function jobStart(theJogador) if getElementType(theJogador) == "player" then if not getPedOccupiedVehicle(theJogador) and not Coronas_Plantas[theJogador] then exports.Scripts_OnMarkerMsgs_:delete(theJogador) jobStop() local x, y, z = unpack (Plantas[1]) Coronas_Plantas[theJogador] = createMarker (x, y, z -1, "corona", 2, 0, 255, 0, 80, theJogador) setElementData (Coronas_Plantas[theJogador], "DnO_Coronas", theJogador) setElementData (Coronas_Plantas[theJogador], "Plantas", 1) Obj_Plantas[theJogador] = createObject(804, x, y, z) setElementData(Obj_Plantas[theJogador], "DnO_Obj", theJogador) setObjectScale(Obj_Plantas[theJogador], 1.0) setElementCollisionsEnabled (Obj_Plantas[theJogador], false) setElementModel(theJogador, 158) -- use esta função já que setPedSkin é obsoleta Veh_Trator[theJogador] = createVehicle(531, -123.7235625, 64.36328125, 3.3815598964391, 0, 0, 156) setElementData(Veh_Trator[theJogador], "DnO_Trator", theJogador) warpPedIntoVehicle( theJogador, Veh_Trator[theJogador]) exports.Scripts_Dxmessages:outputDx (theJogador,"Colher todas as Plantas!!", "info") addEventHandler ("onMarkerHit", Coronas_Plantas[theJogador], Hit_Coronas) end end end function emarker(marker,md) if (md) then if isPedInVehicle ( source ) then return end if marker == Marker_Start then if getElementData ( source, "Emprego" ) == "Fazendeiro" then exports.Scripts_OnMarkerMsgs_:create(source,"Aperte 'K' Para se Demitir do Emprego de Fazendeiro") bindKey ( source, Letra, "down", jobStop ) else exports.Scripts_OnMarkerMsgs_:create(source,"Aperte 'K' Para Aceitar o Emprego de Fazendeiro") bindKey ( source, Letra, "down", jobStart ) end end end end addEventHandler("onPlayerMarkerHit",getRootElement(),emarker) function emarker2(marker,md) if (md) then if isPedInVehicle ( source ) then return end if marker == Marker_Start then exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, Letra, "down", jobStart ) unbindKey ( source, Letra, "down", jobStop ) end end end addEventHandler("onPlayerMarkerLeave",getRootElement(),emarker2) function Hit_Coronas(thePlayer) if (thePlayer == getElementData (source, "DnO_Coronas")) and isElementVisibleTo(source, thePlayer) then if isPedInVehicle ( thePlayer ) then if (getElementData (source, "Plantas") < #Plantas) then exports.Scripts_Dxmessages:outputDx(thePlayer, "Você colheu a Planta. Siga para a próxima.("..getElementData(source, "Plantas").."/"..#Plantas..")", "success") setElementData (source, "Plantas", getElementData (source, "Plantas") + 1) local x, y, z = unpack(Plantas[getElementData(source, "Plantas")]) setElementPosition(source, x, y, z -1) setElementPosition(Obj_Plantas[thePlayer], x, y, z) else removeEventHandler ("onMarkerHit", Coronas_Plantas[thePlayer], Hit_Coronas) jobStop( source ) exports.Scripts_Dxmessages:outputDx (thePlayer,"Você terminou de Colher Todas as Plantas bom Trabalho!!", "success") end end end end -- limpar as tabelas quando o jogador sair addEventHandler("onPlayerQuit", root, function() jobStop( source ) end) function jobStop(source) if Obj_Plantas[source] then if isElement(Obj_Plantas[source]) then destroyElement(Obj_Plantas[source]) end Obj_Plantas[source] = nil end if Veh_Trator[source] then if isElement(Veh_Trator[source]) then destroyElement(Veh_Trator[source]) end Veh_Trator[source] = nil end if Coronas_Plantas[source] then if isElement(Coronas_Plantas[source]) then destroyElement(Coronas_Plantas[source]) end Coronas_Plantas[source] = nil end end function resourceStartNotify ( resourcename ) outputDebugString ( "Script " .. getResourceName(resourcename) .. " carregado." ) end addEventHandler( "onResourceStart", resourceRoot, resourceStartNotify ) -- use resourceRoot para o evento acionar só pra este resource -
[DUVIDA]] Objeto invisivel para outro jogador
DNL291 replied to +[T]rakin's topic in Programação em Lua
Alguns scripts o ideal é ficar no lado client. Lado server: Coisas importantes relativas à segurança e tudo mais o que não puder ser feito no cliente, como funções que irão sincronizar entre os players. Lado Cliente: Coisas que demanda uso de performance; tudo o que não se aplicar acima. Se você jugar como algo voltado ao cliente e que não comprometa a segurança então certamente se aplica ao lado do cliente. Evitar o lado server também ajuda na performance do servidor. Quanto ao seu caso, dá pra adaptar o código funcionando apenas para um jogador com a função mencionada, se puder mostre seu código aqui. -
[DUVIDA]] Objeto invisivel para outro jogador
DNL291 replied to +[T]rakin's topic in Programação em Lua
setElementVisibleTo Se você quer que só um jogador visualize você pode criar o objeto clientside. -
/debugscript 3
-
Exemplo: local dxRecColor = { { 255,255,255, 255 }, { 186, 110, 68, 255 } } local state = 1 function changecolor() if getPedOccupiedVehicle( localPlayer ) then state = (state == 1) and 2 or 1 end end addCommandHandler("mudarcor",changecolor) bindKey("1", "down", "mudarcor") function Vel() local vehicle = getPedOccupiedVehicle( getLocalPlayer() ) if ( vehicle ) then local r,g,b,a = unpack(dxRecColor[state]) dxDrawRectangle(0, 182, 295, 180, tocolor(r,g,b,a), false) end end addEventHandler("onClientRender", root, Vel)
-
Movido para Portuguese / Português > Programação em Lua @Sparta
-
Depende, se for a ACL do painel admin vai precisar modificar e adicionar uma verificação por acl. Se você quer dar permissão do VIP apenas para tal ACL vai precisar editar o script do vip. Mostre aqui o código se tiver dificuldades @HG Snuuk
-
Se "importar sem usar engineLoadIFP" você não vai estar carregando nenhuma anim nova. E se já for do jogo também não vai funcionar (se for aquelas que levanta as mãos). Será melhor se você postar aqui seu código @KiritoAguiar
-
Nunca editei uma ifp do jogo pra dar tal funcionalidade, mas tenho certeza que mesmo os pés sem movimento o ped não vai andar se outra parte também tiver movimento. Tente deixando sem movimentos em qualquer dos bones e com o mínimo de frames.
-
Importando e substituindo a anim de segurar a arma.
-
Este tópico responde:
-
Deixe o alinhamento X como "right" e as dimensões do texto dentro da área delimitada, ou seja: leftX e rightX serão iguais que as dimensões da área. Ainda assim não vai impedir o texto de sair da sua área caso a largura seja maior que a da área dele (creio que você mesmo mencionou isso), daí se quiser corrigir isso existe um cálculo para a escala do texto dx diminuir de acordo com a largura.
-
Deixe true no argumento wordBreak se você tiver se referindo a quebra de linha.
-
Pode ser algum script faltando. /debugscript 3 irá te mostrar as mensagens de erro.
-
Sim. Use a seção Portuguese / Português @Lord _+[N]injA
-
https://community.multitheftauto.com/index.php?p=resources&s=details&id=1970 Just edit the resource according to your needs.
-
Dependendo do tipo de SQL você vai precisar configurar para funcionar a database. Lembre-se de usar a seção Portuguese / Português para postar da próxima vez @Cristtk
-
É uma variável interna do MTA que retorna o cliente que chamou o lado server. É útil também para verificação de segurança visto que o elemento cliente pode ser burlado em modificações do jogo, daí client sempre vai retornar o cliente válido.
-
Pra "sumir" você precisa dar essa funcionalidade ao script. Use removeEventHandler.
-
O nome do evento tá errado, substitua "onClientRander" por "onClientRender".
-
Então não sei o que é. Testei aqui e funcionou.