Jump to content

Ajuda com script de veículos


Recommended Posts

Posted (edited)
bike1 = createVehicle (x, y, z, 0, 0, 90)

Alguém pode me ajudar na seguinte situação?: então eu estou mexendo em um script que envolve criação de veículos, então para cria-lo, eu usei a seguinte linha

bike1 = createVehicle... até aí tudo bem, mas eu quero saber como eu devo fazer para criar um comando que destrua esse veículo...

Edited by danblemes1

Minha resposta te ajudou? Por favor, não esqueça de avaliar - #DeltaSCR

Minha página no Facebook: Delta Scripting - MTA


"Viribus et honor"

  • Moderators
Posted
destroyElement (bike1)
bike1 = nil

 

  • Like 1

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
7 hours ago, Lord Henry said:

destroyElement (bike1)
bike1 = nil

 

Então se eu fizesse o seguinte, ficaria correto?:

function des1 (source)
  destroyElement (bike1)
  bike1 = nil
  givePlayerMoney (source, 10)
  outputChatBox (meu texto, source, r, g, b, a, true)
end
addCommandHandler ("desalugar", des1)

 

Minha resposta te ajudou? Por favor, não esqueça de avaliar - #DeltaSCR

Minha página no Facebook: Delta Scripting - MTA


"Viribus et honor"

Posted

evite erros

function des1 (source)
    if bike1 then
    destroyElement (bike1)
    end
    givePlayerMoney (source, 10)
    outputChatBox (meu texto, source, r, g, b, a, true)
  end
  addCommandHandler ("desalugar", des1)

 

  • Thanks 1
Posted
2 minutes ago, brunob22 said:

evite erros


function des1 (source)
    if bike1 then
    destroyElement (bike1)
    end
    givePlayerMoney (source, 10)
    outputChatBox (meu texto, source, r, g, b, a, true)
  end
  addCommandHandler ("desalugar", des1)

 

Mas eu não poderia colocar o "end" que está relacionado ao "if" após o outputChatBox?

Minha resposta te ajudou? Por favor, não esqueça de avaliar - #DeltaSCR

Minha página no Facebook: Delta Scripting - MTA


"Viribus et honor"

Posted
8 minutes ago, danblemes1 said:

Mas eu não poderia colocar o "end" que está relacionado ao "if" após o outputChatBox?

pode coloca onde tu quiser man ^^

  • Thanks 1
  • Moderators
Posted
bike1 = {}

function aluga1 (source)
	local x, y, z = getElementPosition (source)
	bike1[source] = createVehicle (481, x, y, z + 1)
	takePlayerMoney (source, 50)
end
addCommandHandler ("alugar", aluga1)

function des1 (source)
	if isElement (bike1[source]) then
		destroyElement (bike1[source])
		bike1[source] = nil
		givePlayerMoney (source, 10)
		outputChatBox ("meu texto", source, r, g, b, true) -- substitua os valores r, g, b.
	end
end
addCommandHandler ("desalugar", des1)

É mais vantagem deixar o veículo em uma table, para que mais de um jogador possa usar ao mesmo tempo.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (edited)
18 minutes ago, Lord Henry said:

bike1 = {}

function aluga1 (source)
	local x, y, z = getElementPosition (source)
	bike1[source] = createVehicle (481, x, y, z + 1)
	takePlayerMoney (source, 50)
end
addCommandHandler ("alugar", aluga1)

function des1 (source)
	if isElement (bike1[source]) then
		destroyElement (bike1[source])
		bike1[source] = nil
		givePlayerMoney (source, 10)
		outputChatBox ("meu texto", source, r, g, b, true) -- substitua os valores r, g, b.
	end
end
addCommandHandler ("desalugar", des1)

É mais vantagem deixar o veículo em uma table, para que mais de um jogador possa usar ao mesmo tempo.

Oque seria esse "+1" na linha 6?

Edited by danblemes1

Minha resposta te ajudou? Por favor, não esqueça de avaliar - #DeltaSCR

Minha página no Facebook: Delta Scripting - MTA


"Viribus et honor"

Posted (edited)

iria criar o veiculo com +2 de distancia longe do jogador, isso serve para evitar bug quando o veiculo for criado. Me corrigem caso eu estiver errado!

Edited by danilin

Meu comentário foi útil? Deixe um Thanks :D

Posted
49 minutes ago, danblemes1 said:

Oque seria esse "+1" na linha 6?

Como sintetizado pelo @danilin, é uma forma de evitar que o veículo spawne bugado no chão (coordenada z = altura). Pois geralmente em veículos 'grandes' a altura do centro do veículo é maior do que o do personagem, e caso a gente defina a mesma altura, possivelmente esse veículo entrará um pouco no chão na hora de desová-la. Mas no caso de uma ‘bike’ não vejo necessidade dessa manipulação.

41 minutes ago, danilin said:

iria criar o veiculo com +2 de distancia longe do jogador, isso serve para evitar bug quando o veiculo for criado. Me corrigem caso eu estiver errado!

Na realidade seria +1 (como está no script).

  • Moderators
Posted

Na verdade é apenas pra evitar que a bike nasça dentro do jogador.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (edited)
10 hours ago, danblemes1 said:

Oque seria esse "+1" na linha 6?

 

10 hours ago, Lord Henry said:

bike1 = {}

function aluga1 (source)
	local x, y, z = getElementPosition (source)
	bike1[source] = createVehicle (481, x, y, z + 1)
	takePlayerMoney (source, 50)
end
addCommandHandler ("alugar", aluga1)

function des1 (source)
	if isElement (bike1[source]) then
		destroyElement (bike1[source])
		bike1[source] = nil
		givePlayerMoney (source, 10)
		outputChatBox ("meu texto", source, r, g, b, true) -- substitua os valores r, g, b.
	end
end
addCommandHandler ("desalugar", des1)

É mais vantagem deixar o veículo em uma table, para que mais de um jogador possa usar ao mesmo tempo.

eu fiz exatamente como você sugeriu, mas na hora de desalugar o veiculo, a bike é destruída, mas não é dado nenhum dinheiro do player, e também não aparece o chat

function des1 (source)
	if isElement (bike[source]) then
		destroyElement (bike[source])
		bike1[source] = nil
		givePlayerMoney (source, 10)
		outputChatBox ("✘ #00FF7FAluguel de Bikes #FFFFFF✘ - Você devolveu a bicicleta e de volta ganhou R$10,00", source, 255, 255, 255)
	end
end
addCommandHandler ("desalugar", des1)

 

2 minutes ago, danblemes1 said:

 

eu fiz exatamente como você sugeriu, mas na hora de desalugar o veiculo, a bike é destruída, mas não é dado nenhum dinheiro do player, e também não aparece o chat


function des1 (source)
	if isElement (bike[source]) then
		destroyElement (bike[source])
		bike1[source] = nil
		givePlayerMoney (source, 10)
		outputChatBox ("✘ #00FF7FAluguel de Bikes #FFFFFF✘ - Você devolveu a bicicleta e de volta ganhou R$10,00", source, 255, 255, 255)
	end
end
addCommandHandler ("desalugar", des1)

 

Deixa, solucionado já

Edited by danblemes1

Minha resposta te ajudou? Por favor, não esqueça de avaliar - #DeltaSCR

Minha página no Facebook: Delta Scripting - MTA


"Viribus et honor"

  • Moderators
Posted

Só pra avisar que esse código é server-side. E também faltou o último parâmetro true no seu outputChatBox.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
12 hours ago, Lord Henry said:

Na verdade é apenas pra evitar que a bike nasça dentro do jogador.

Verdade. Dei uma olhada rápida e imaginei que estavam setando o player diretamente no veículo.

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...