M i s s 9 Postado Junho 13, 2020 Share Postado Junho 13, 2020 Alguém pode me ajudar com o seguinte script? Pode ser por global event ou talkaction (oque for mlr pra vcs). Ao ser ativado uma mensagem irá aparecer na tela e um item irá ser spawnado no mapa aleatoriamente (os locais em que ele pode aparecer podem ser configurados). Obgd desde já ❤️ Link para o comentário Compartilhar em outros sites More sharing options...
1 Yan Oliveira 211 Postado Julho 26, 2020 Share Postado Julho 26, 2020 6 minutos atrás, R e d disse: -- TABELA COM O ID E QUANTIDADE DO ITEM -- local items = { {id = 2707, quantidade = 1}, } -- TABELA COM AS POSIÇÕES ONDE SERÁ CRIADO O ITEM NO MAPA -- local coordenadas_mapa = { {x= 267, y= 1380, z= 7}, {x= 271, y= 1380, z= 7}, {x= 267, y= 1377, z= 7} } --------------------------------- CÓDIGO --------------------------------- ta assim Que estranho, está certo as tabelas, esse erro geralmente é de coordenada. Testa assim: -- TABELA COM O ID E QUANTIDADE DO ITEM -- local items = { {id = 2707, quantidade = 1} } -- TABELA COM AS POSIÇÕES ONDE SERÁ CRIADO O ITEM NO MAPA -- local coordenadas_mapa = { {x= 267, y= 1380, z= 7}, {x= 271, y= 1380, z= 7}, {x= 267, y= 1377, z= 7} } --------------------------------- CÓDIGO --------------------------------- function onThink(cid, interval, lastExecution) local mensagem = true -- VARIAEL QUE DEFINE SE VAI APARECER MENSAGEM, SE QUER MENSAGEM MUDE DEIXE TRUE, CASO CONTRÁRIO MUDE PARA FALSE local random_item = math.random(#items) -- VALOR ALEATÓRIO PARA PEGAR UM ID DE ITEM DE ACORDO COM O ÍNDICE DA TABELA local random_position = math.random(#coordenadas_mapa) -- VALOR ALEATÓRIO DO ÍNDICE DA TABELA PARA PEGAR UMA POSIÇÃO PARA CRIAR O ITEM local texto = "Um item surgiu no mapa." -- TEXTO QUE VAI APARECER NO BROADCAST if mensagem then doCreateItem(items[random_item].id, items[random_item].quantidade, coordenadas_mapa[random_position]) doBroadcastMessage(texto) return true else doCreateItem(items[random_item].id, items[random_item].quantidade, coordenadas_mapa[random_position]) return true end end Agora estou passando a tabela diretamente em vez de passar os elementos individuais (x, y, z). Testa e me fala. Link para o comentário Compartilhar em outros sites More sharing options...
1 Yan Oliveira 211 Postado Julho 25, 2020 Share Postado Julho 25, 2020 (editado) Vai em Data/Globalevents/Scripts e cria o arquivo item_random.lua e adiciona o código dentro: -- TABELA COM O ID E QUANTIDADE DO ITEM -- local items = { {id = 15412, quantidade = 5}, {id = 15487, quantidade = 1}, {id = 8987, quantidade = 1}, {id = 6585, quantidade = 1}, {id = 9658, quantidade = 1}, {id = 3258, quantidade = 1}, {id = 2152, quantidade = 100}, {id = 2160, quantidade = 50}, } -- TABELA COM AS POSIÇÕES ONDE SERÁ CRIADO O ITEM NO MAPA -- local coordenadas_mapa = { {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7} } --------------------------------- CÓDIGO --------------------------------- function onThink(cid, interval, lastExecution) local mensagem = true -- VARIAEL QUE DEFINE SE VAI APARECER MENSAGEM, SE QUER MENSAGEM MUDE DEIXE TRUE, CASO CONTRÁRIO MUDE PARA FALSE local random_item = math.random(#items) -- VALOR ALEATÓRIO PARA PEGAR UM ID DE ITEM DE ACORDO COM O ÍNDICE DA TABELA local random_position = math.random(#coordenadas_mapa) -- VALOR ALEATÓRIO DO ÍNDICE DA TABELA PARA PEGAR UMA POSIÇÃO PARA CRIAR O ITEM local texto = "Um item surgiu no mapa." -- TEXTO QUE VAI APARECER NO BROADCAST if mensagem then doCreateItem(items[random_item].id, items[random_item].quantidade, {coordenadas_mapa[random_position].x, coordenadas_mapa[random_position].y, coordenadas_mapa[random_position].z}) doBroadcastMessage(texto) return true else doCreateItem(items[random_item].id, items[random_item].quantidade, {coordenadas_mapa[random_position].x, coordenadas_mapa[random_position].y, coordenadas_mapa[random_position].z}) return true end end Deixei a tabela com as coordenadas tudo 1000 x e y para você trocar (valor genérico), e na tabela de itens só colocar id e quantidade dos itens. Deixei uma variável booleana mensagem para aparecer mensagem broadcast caso queira, mas se não quiser, só colocar false. Tem a variável texto que é o texto que vai aparecer no broadcast, só mudar lá como queira. Agora adicione a tag no arquivo globalevents.xml: <globalevent name="item_random" interval="3600" script="item_random.lua"/> No atributo interval você coloca a quantidade de tempo que quer, tem servidor que é em segundos e servidor que é em milissegundos, mas normalmente é em segundos. Se for em em milissegundos, só multiplicar por 1000. No caso ali, deixei em segundos (1 hora). Teste e me fale caso der algum erro ou problema. Editado Julho 25, 2020 por Yan18 Link para o comentário Compartilhar em outros sites More sharing options...
0 M i s s 9 Postado Julho 26, 2020 Autor Share Postado Julho 26, 2020 @Yan18 Muiito obgd, vou testar ❤️ Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Julho 26, 2020 Share Postado Julho 26, 2020 5 horas atrás, R e d disse: @Yan18 Muiito obgd, vou testar ❤️ De nada! Testa e me fala ?. Link para o comentário Compartilhar em outros sites More sharing options...
0 M i s s 9 Postado Julho 26, 2020 Autor Share Postado Julho 26, 2020 Deu esse erro, o item n apareceu no mapa [26/07/2020 18:24:57] [Error - GlobalEvent Interface] [26/07/2020 18:24:57] data/globalevents/scripts/itemRandom.lua:onThink [26/07/2020 18:24:57] Description: [26/07/2020 18:24:57] (luaDoCreateItem) Tile not found [26/07/2020 18:24:57] > Broadcasted message: "Um item surgiu no mapa.". Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Julho 26, 2020 Share Postado Julho 26, 2020 3 minutos atrás, R e d disse: Deu esse erro, o item n apareceu no mapa [26/07/2020 18:24:57] [Error - GlobalEvent Interface] [26/07/2020 18:24:57] data/globalevents/scripts/itemRandom.lua:onThink [26/07/2020 18:24:57] Description: [26/07/2020 18:24:57] (luaDoCreateItem) Tile not found [26/07/2020 18:24:57] > Broadcasted message: "Um item surgiu no mapa.". Você colocou os ids e coordenadas certa? Como você deixou as tabelas? Link para o comentário Compartilhar em outros sites More sharing options...
0 M i s s 9 Postado Julho 26, 2020 Autor Share Postado Julho 26, 2020 -- TABELA COM O ID E QUANTIDADE DO ITEM -- local items = { {id = 2707, quantidade = 1}, } -- TABELA COM AS POSIÇÕES ONDE SERÁ CRIADO O ITEM NO MAPA -- local coordenadas_mapa = { {x= 267, y= 1380, z= 7}, {x= 271, y= 1380, z= 7}, {x= 267, y= 1377, z= 7} } --------------------------------- CÓDIGO --------------------------------- ta assim Link para o comentário Compartilhar em outros sites More sharing options...
0 M i s s 9 Postado Julho 26, 2020 Autor Share Postado Julho 26, 2020 @Yan18 agora funcionou sem erros, vc é incrivel ❤️ obgd Yan Oliveira reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Julho 26, 2020 Share Postado Julho 26, 2020 Agora, R e d disse: @Yan18 agora funcionou sem erros, vc é incrivel ❤️ obgd Que bom que funcionou ?. Obrigado pelas palavras, fico feliz ❤️. Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Julho 26, 2020 Diretor Share Postado Julho 26, 2020 O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
M i s s 9
Alguém pode me ajudar com o seguinte script?
Pode ser por global event ou talkaction (oque for mlr pra vcs).
Ao ser ativado uma mensagem irá aparecer na tela e um item irá ser spawnado no mapa aleatoriamente (os locais em que ele pode aparecer podem ser configurados).
Obgd desde já ❤️
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados