Jump to content

Painel Download


Recommended Posts

Acho que ele quer por exemplo: Se Lord Henry digitar : /desativarresource Carro Isto é um exemplo por comando, mas creio que ele quer fazer isso por um painel e ele mesmo por as resources que os jogadores poderam  desligar/ligar para eles mesmo, então: Ao Lord digitar /desativarresource Carro a textura do carro tal é desligada apenas para Lord

Edited by OverKILL
Link to comment
5 hours ago, Lord Henry said:

Não entendi o que você quer fazer.

Quero fazer um painel que o player consiga desativa mod e ativa mod,tipo como texturas.

4 hours ago, OverKILL said:

Acho que ele quer por exemplo: Se Lord Henry digitar : /desativarresource Carro Isto é um exemplo por comando, mas creio que ele quer fazer isso por um painel e ele mesmo por as resources que os jogadores poderam  desligar/ligar para eles mesmo, então: Ao Lord digitar /desativarresource Carro a textura do carro tal é desligada apenas para Lord

Isso mano.

Link to comment
  • Other Languages Moderators

Cara, esqueça essa ideia de pastas. O MTA não trabalha com gerenciamento de diretórios externos ao resource por motivos de segurança.

Como eu falei, você pode sim ativar ou desativar resources específicos usando as funções que passei.

----------------------------

Afinal, quais tipos de resource você quer que o jogador desative/ative? Mods de Texturas? Veículos?

Edited by Lord Henry
Link to comment
59 minutes ago, Lord Henry said:

Cara, esqueça essa ideia de pastas. O MTA não trabalha com gerenciamento de diretórios externos ao resource por motivos de segurança.

Como eu falei, você pode sim ativar ou desativar resources específicos usando as funções que passei.

----------------------------

Afinal, quais tipos de resource você quer que o jogador desative/ative? Mods de Texturas? Veículos?

Texturas amigos,mais voce disse deixa pasta pra la,e como vo por tipo qual mod será desativado e ativado ?

Link to comment
  • Other Languages Moderators
12 hours ago, FeniXMTA said:

Texturas amigos,mais voce disse deixa pasta pra la,e como vo por tipo qual mod será desativado e ativado ?

Se você desativar o mod de texturas, irá desativar pra todo mundo. Dai não tem vantagem nenhuma usar esse painel, pois é o mesmo que ir no painel admin e desligar o resource.

Link to comment
  • Other Languages Moderators

Eu fiz esse exemplo que funciona por comando, dai cabe a você fazer por painel. As modificações dos veículos estão no mesmo resource.

Client-Side

txd = {}
dff = {}

txd[426] = engineLoadTXD ('premier.txd')
engineImportTXD (txd[426], 426)
dff[426] = engineLoadDFF ('premier.dff', 426)
engineReplaceModel (dff[426], 426)

txd[489] = engineLoadTXD ('rancher.txd')
engineImportTXD (txd[489], 489)
dff[489] = engineLoadDFF ('rancher.dff', 489)
engineReplaceModel (dff[489], 489)

function remodVehicles1 (cmd, id) -- Função que ativa/desativa a modificação do veículo. Ex: /disableVeh 426
	if not id then return end
	if cmd == "enableVeh" then
		if (dff[tonumber(id)]) then
			engineReplaceModel (dff[tonumber(id)], tonumber(id))
			outputChatBox ("Modificação do veículo #FFFFFF'"..getVehicleNameFromModel (tonumber(id)).."'#00FF00 ativada.", 231, 217, 176, true)
		end
		if (txd[tonumber(id)]) then
			engineImportTXD (txd[tonumber(id)], tonumber(id))
		end
	elseif cmd == "disableVeh" then
		if (dff[tonumber(id)]) then
			engineRestoreModel (tonumber(id))
			outputChatBox ("Modificação do veículo #FFFFFF'"..getVehicleNameFromModel (tonumber(id)).."'#FF0000 desativada.", 231, 217, 176, true)
		end
	end
end
addCommandHandler ("enableVeh", remodVehicles1)
addCommandHandler ("disableVeh", remodVehicles1)

 

Edited by Lord Henry
Link to comment
1 hour ago, Lord Henry said:

Eu fiz esse exemplo que funciona por comando, dai cabe a você fazer por painel. As modificações dos veículos estão no mesmo resource.

Client-Side


txd = {}
dff = {}

txd[426] = engineLoadTXD ('premier.txd')
engineImportTXD (txd[426], 426)
dff[426] = engineLoadDFF ('premier.dff', 426)
engineReplaceModel (dff[426], 426)

txd[489] = engineLoadTXD ('rancher.txd')
engineImportTXD (txd[489], 489)
dff[489] = engineLoadDFF ('rancher.dff', 489)
engineReplaceModel (dff[489], 489)

function remodVehicles1 (cmd, id) -- Função que ativa/desativa a modificação do veículo. Ex: /disableVeh 426
	if not id then return end
	if cmd == "enableVeh" then
		if (dff[tonumber(id)]) then
			engineReplaceModel (dff[tonumber(id)], tonumber(id))
			outputChatBox ("Modificação do veículo #FFFFFF'"..getVehicleNameFromModel (tonumber(id)).."'#00FF00 ativada.", 231, 217, 176, true)
		end
		if (txd[tonumber(id)]) then
			engineImportTXD (txd[tonumber(id)], tonumber(id))
		end
	elseif cmd == "disableVeh" then
		if (dff[tonumber(id)]) then
			engineRestoreModel (tonumber(id))
			outputChatBox ("Modificação do veículo #FFFFFF'"..getVehicleNameFromModel (tonumber(id)).."'#FF0000 desativada.", 231, 217, 176, true)
		end
	end
end
addCommandHandler ("enableVeh", remodVehicles1)
addCommandHandler ("disableVeh", remodVehicles1)

 

Vlw aee.

Edited by FeniXMTA
Link to comment
  • Other Languages Moderators

Tem sim.

txd = engineLoadTXD ('premier.txd')
engineImportTXD (txd, 426)
dff = engineLoadDFF ('premier.dff', 426)
engineReplaceModel (dff, 426)

function remodVehicle (cmd) -- Função que ativa/desativa a modificação do veículo Premier. Ex: /offPremier
	if cmd == "onPremier" then
		engineImportTXD (txd, 426)
		engineReplaceModel (dff, 426)
		outputChatBox ("Modificação do veículo #FFFFFF'Premier'#00FF00 ativada.", 231, 217, 176, true)
	elseif cmd == "offPremier" then
		engineRestoreModel (426)
		outputChatBox ("Modificação do veículo #FFFFFF'Premier'#FF0000 desativada.", 231, 217, 176, true)
	end
end
addCommandHandler ("onPremier", remodVehicle)
addCommandHandler ("offPremier", remodVehicle)

--------------------------------------------------------

Eu ficaria agradecido se você desse um Thanks nas minhas respostas. Assim como mostra a minha assinatura.

Edited by Lord Henry
Otimização de código.
  • Thanks 1
Link to comment
1 hour ago, Lord Henry said:

Tem sim.


txd = engineLoadTXD ('premier.txd')
engineImportTXD (txd, 426)
dff = engineLoadDFF ('premier.dff', 426)
engineReplaceModel (dff, 426)

function remodVehicle (cmd) -- Função que ativa/desativa a modificação do veículo Premier. Ex: /offPremier
	if cmd == "onPremier" then
		engineImportTXD (txd, 426)
		engineReplaceModel (dff, 426)
		outputChatBox ("Modificação do veículo #FFFFFF'Premier'#00FF00 ativada.", 231, 217, 176, true)
	elseif cmd == "offPremier" then
		engineRestoreModel (426)
		outputChatBox ("Modificação do veículo #FFFFFF'Premier'#FF0000 desativada.", 231, 217, 176, true)
	end
end
addCommandHandler ("onPremier", remodVehicle)
addCommandHandler ("offPremier", remodVehicle)

--------------------------------------------------------

Eu ficaria agradecido se você desse um Thanks nas minhas respostas. Assim como mostra a minha assinatura.

Vlw amigo,desculpa sei que é Thanks não, sou novato no forum.

Edited by FeniXMTA
Link to comment
  • Other Languages Moderators
9 hours ago, FeniXMTA said:

Vlw amigo,desculpa sei que é Thanks não, sou novato no forum.

É um voto de agradecimento que vc dá a um comentário no fórum que ajuda na reputação do autor. Só vc ir em baixo do comentário e passar o mouse em cima daquele ícone de coração. Dai vai aparecer vários tipos de reações. Selecione aquele Troféu roxo, que indica que vc está agradecendo pela resposta.

Link to comment
  • Other Languages Moderators
8 hours ago, FeniXMTA said:

Mano e se fosse textura de rua,como eu faço ? que é cheio de fotos e tals,não tem um jeito específico que só precisa por o nome da pasta do mod,sei la.

Dai nesse caso é mais trabalhoso de fazer, pois como vc já deve saber, precisa informar todos os IDs de todas as ruas que terão a textura substituída. Mas basicamente funciona da mesma forma. A única coisa que não vai ter é a parte do DFF, já que não há substituição de modelo, apenas de texturas.

  • Thanks 1
Link to comment
Uma maneira de funcionar da maneira que você falou (ativar/desativar os scripts de um resource apenas para o jogador que acionou o comando) é
 
1. Ler o arquivo meta.xml do resource especificado;
2. Identificar os scripts (.lua) e arquivos (dff/txd/col) percorrendo o xml;
3. Carregar os scripts com loadstring() no lado cliente (necessário ler no lado server e depois transferir);
4. Ler no lado server e transferir para o lado cliente os arquivos (dff/txd/col) e então salva-los;
5. Identificar os modelos substituídos para então retorna-lo ao estado original quando desejado (sobrescrevendo funções do tipo: engineReplaceModel() para conseguir armazenar o ID substituído).
Para funcionar o exemplo acima, é necessário que os resources não sejam ativados (apenas deve manter ON o script responsável pela leitura dos resources)!
 
O mais inviável seria o passo (4), talvez adaptar os resources, mudando no meta.xml as tags <script> por <file> dos arquivos .lua e então ativar os resources normalmente, para então baixar os mods (mas não trabalhar os scripts) seria uma boa...
 
Falei o mais simplificado possível, e é necessário um conhecimento intermediário / avançado para construir algo do tipo! Vá por mim, procure outros métodos, e tente utilizar em apenas um resources, unindo todos seus mods de veículos/texturas e etc. Será bem mais fácil fazer o que você quer (desativar/ativar mods)
  • Thanks 1
Link to comment
1 hour ago, MaligNos said:
Uma maneira de funcionar da maneira que você falou (ativar/desativar os scripts de um resource apenas para o jogador que acionou o comando) é
 
1. Ler o arquivo meta.xml do resource especificado;
2. Identificar os scripts (.lua) e arquivos (dff/txd/col) percorrendo o xml;
3. Carregar os scripts com loadstring() no lado cliente (necessário ler no lado server e depois transferir);
4. Ler no lado server e transferir para o lado cliente os arquivos (dff/txd/col) e então salva-los;
5. Identificar os modelos substituídos para então retorna-lo ao estado original quando desejado (sobrescrevendo funções do tipo: engineReplaceModel() para conseguir armazenar o ID substituído).
Para funcionar o exemplo acima, é necessário que os resources não sejam ativados (apenas deve manter ON o script responsável pela leitura dos resources)!
 
O mais inviável seria o passo (4), talvez adaptar os resources, mudando no meta.xml as tags <script> por <file> dos arquivos .lua e então ativar os resources normalmente, para então baixar os mods (mas não trabalhar os scripts) seria uma boa...
 
Falei o mais simplificado possível, e é necessário um conhecimento intermediário / avançado para construir algo do tipo! Vá por mim, procure outros métodos, e tente utilizar em apenas um resources, unindo todos seus mods de veículos/texturas e etc. Será bem mais fácil fazer o que você quer (desativar/ativar mods)

Seria possivel usar a função startResource para ativar o mod e stopResource  para desativar ? tipo colocando dentro da função a pasta do mod que será ativa.

Link to comment
8 hours ago, Lord Henry said:

Dai nesse caso é mais trabalhoso de fazer, pois como vc já deve saber, precisa informar todos os IDs de todas as ruas que terão a textura substituída. Mas basicamente funciona da mesma forma. A única coisa que não vai ter é a parte do DFF, já que não há substituição de modelo, apenas de texturas.

Mais tipo txd de lojas,ruas e etc,de Lojas não tem dff,então na hora de desativar ela não consigo usar engineReplaceModel,e de ruas são por img,e não txd.ENTENDEU ?


 
Link to comment
5 hours ago, FeniXMTA said:

Seria possivel usar a função startResource para ativar o mod e stopResource  para desativar ? tipo colocando dentro da função a pasta do mod que será ativa.

É possível, só que seria exatamente o que o @Lord Henry comentou: usando startResource() / stopResource() irá afetar a todos no servidor....

3 hours ago, FeniXMTA said:

Mais tipo txd de lojas,ruas e etc,de Lojas não tem dff,então na hora de desativar ela não consigo usar engineReplaceModel,e de ruas são por img,e não txd.ENTENDEU ?

Nas substituições apenas de .txd é só usar destroyElement() no elemento criado pelo engineLoadTXD()
Ruas por imagem ? utilizam shader né ?... então seria utilizado o engineRemoveShaderFromWorldTexture()

Link to comment
  • Other Languages Moderators
15 hours ago, FeniXMTA said:

Mais tipo txd de lojas,ruas e etc,de Lojas não tem dff,então na hora de desativar ela não consigo usar engineReplaceModel,e de ruas são por img,e não txd.ENTENDEU ?

Fiz este exemplo que você pode ativar e desativar a textura da Grove Street em seus respectivos modelos usando /enable/disable.

addCommandHandler ("enable", function ()
	txd = engineLoadTXD ("Los Santos/lae2roadshub.txd") -- Neste exemplo, substitui a textura da Grove Street.
	engineImportTXD (txd, 17595, 17597, 17610, 17611, 17612, 17613) -- Aplica a textura aos respectivos objetos.
end)

addCommandHandler ("disable", function ()
	if isElement (txd) then -- Se existe a textura, então:
		destroyElement (txd) -- Deleta a textura e volta ao original.
		txd = nil
	end
end)

Da mesma forma, você pode usar para ativar ou desativar texturas de lojas.

  • Thanks 1
Link to comment

Bom, se quiser pode usar este exemplo também, este exemplo é o mesmo que o do @Lord Henry porém com output avisando sobre desativar/ativar a textura:

addCommandHandler ("ativartexturas", function ()
	txd = engineLoadTXD ("Diretorio da textura")
	engineImportTXD (txd, id da textura que ira modificar)
	outputChatBox ( "Texturas ativadas !", 0, 255, 0 )
end)

addCommandHandler ("desativartexturas", function ()
	if isElement (txd) then 
		destroyElement (txd) 
		txd = nil
		outputChatBox ( "Texturas desativadas !", 255, 0, 0 )
	end
end)

 

1 hour ago, Lord Henry said:

Fiz este exemplo que você pode ativar e desativar a textura da Grove Street em seus respectivos modelos usando /enable/disable.


addCommandHandler ("enable", function ()
	txd = engineLoadTXD ("Los Santos/lae2roadshub.txd") -- Neste exemplo, substitui a textura da Grove Street.
	engineImportTXD (txd, 17595, 17597, 17610, 17611, 17612, 17613) -- Aplica a textura aos respectivos objetos.
end)

addCommandHandler ("disable", function ()
	if isElement (txd) then -- Se existe a textura, então:
		destroyElement (txd) -- Deleta a textura e volta ao original.
		txd = nil
	end
end)

Da mesma forma, você pode usar para ativar ou desativar texturas de lojas.

Tem alguma forma de fazer as texturas ficarem sempre desativada para os jogadores que entrarem? e só ativar se tal jogador quiser que a textura apareça para ele usando o comando /ativartexturas e uma verificação neste comando ? por exemplo: Se tiver ativada as texturas envia: '' As texturas já estão ativadas '' 

Eu imaginei fazer com xml salvando o valor true e false, mas não achei viável queria saber se tem outra forma

Edited by OverKILL
Link to comment
  • Other Languages Moderators
1 hour ago, OverKILL said:

Tem alguma forma de fazer as texturas ficarem sempre desativada para os jogadores que entrarem?

No exemplo em questão ele por padrão já deixa desativado. Ele só ativa ao usar o /enable.

1 hour ago, OverKILL said:

e uma verificação neste comando ? por exemplo: Se tiver ativada as texturas envia: '' As texturas já estão ativadas ''

Só adicionar uma condição que verifica se txd já existe.

addCommandHandler ("ativartexturas", function ()
	if not txd then
		txd = engineLoadTXD ("Diretorio da textura")
		engineImportTXD (txd, id)
		outputChatBox ("Texturas ativadas!", 0, 255, 0)
	else
		outputChatBox ("Texturas já estão ativadas!", 255, 255, 0)
	end
end)

addCommandHandler ("desativartexturas", function ()
	if isElement (txd) then 
		destroyElement (txd) 
		txd = nil
		outputChatBox ("Texturas desativadas!", 255, 0, 0)
	else
		outputChatBox ("Texturas já estão desativadas!", 255, 255, 0)
	end
end)

 

  • Thanks 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...