Postado Dezembro 10, 2018 6 anos Citar Salve galera! Eu já procurei aqui no fórum e encontrei um sistema de !saga que muda a outfit sem ter que criar novas vocações, apesar de o script ser muito bem desenvolvido, e funcionar perfeitamente, eu gostaria de um "upgrade" nele. No caso, eu digito "!saga 1" e ele me altera para a outfit 1 (que eu configurei), ai eu digito "!saga 2" e ele muda para a outfit 2, etc. Porém, ao deslogar do servidor a Outfit que o player estava usando no momento não fica salva, e como a base que estou utilizando para estudos ela adiciona a outfit de um mago velhinho (de roupa azul) para todas as vocações criadas, e eu não sei onde eu arrumo isso. Eu já tentei ir lá no SQL e adicionar o número da Outfit, porém fazendo isso quando eu entro no servidor ele me crasha. (Mas se deixar o mago velho como outfit inicial, entrar no game e digitar "saga" ele muda para a outfit que eu quero e não da bug) Também esse sistema de !saga ele anda somente para frente. Exemplo: Tem um nível para liberar uma saga nova, que eu configurei para 100 níveis Mas se o jogador estiver no nível 200 e já tiver usado o comando !saga 2 Ele não consegue voltar para a !saga 1 Mas o foco aqui é um upgrade nesse script para ele salvar as outfits, algum mago ai consegue me dar um help nisso? Autor: Wolf. Código: local saga = { [1] = {[1] = 66, [2] = 67, effect = 4}, -- Exemplo de como fica aqui, [1] = ID da Vocação | "[1] = 66" = !saga 1 = muda para outfit 66. local level = 100 -- Limite para liberar uma saga nova -- Eu gostaria de saber se tem como variar este nível para liberar saga, tem vocações que eu só tenho 4 sprites... ai o cara vai ter que upar level 400 pra ver uma tenten toda torda '_' function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") return true end if not saga[getPlayerVocation(cid)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") return true end local t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") return true end if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end if getPlayerLevel(cid) >= (tonumber(t[1])*level) then doSetCreatureOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]}, -1) doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect) doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.") end return true end
Postado Dezembro 10, 2018 6 anos Solução @betosoares Primeiramente vá em talkactions.xml e coloque a seguinte tag. Mostrar conteúdo oculto <talkaction words="!saga" event="script" value="saga.lua"/> Crie um arquivo .lua com o nome saga e coloque a seguinte script Mostrar conteúdo oculto local saga = { -- [ID DA VOC] = { Naruto }, [1] = { 840, 91, 841, 676, 842, 40, 305, 677, 686, 179, 683, 397, 607, 875, 914}, } local level = 50 -- Limite para liberar uma saga nova local sagastor = 578744 function onSay(cid, words, param, channel) if exhaustion.check(cid, 120) == TRUE then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 3) return true end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que voce deseja.") exhaustion.set(cid, 120, 0.5) return true end if not saga[getPlayerVocation(cid)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") exhaustion.set(cid, 120, 0.5) return true end local t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que voce deseja.") exhaustion.set(cid, 120, 0.5) return true end if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") exhaustion.set(cid, 120, 0.5) return true end if getPlayerLevel(cid) < (tonumber(t[1])*level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, voce precisa de level "..(tonumber(t[1]) * level).." usar essa saga.") return true end local out = saga[getPlayerVocation(cid)][tonumber(t[1])] doCreatureChangeOutfit(cid, {lookType = out}) setPlayerStorageValue(cid, sagastor, ":"..out..",:"..getPlayerVocation(cid)) doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) exhaustion.set(cid, 120, 0.5) return true end Aqui esta configurado para ter uma transformação a cada 50 leveis (configuravel) Explicação [1] = { 840, 91, 841, 676, 842, 40, 305, 677, 686, 179, 683, 397, 607, 875, 914}, o [1] é o ID da vocação que vc quer as transforms e dentro das chaves esta a ID de cada sprite, quando vc dizer !saga 1 vai transformar na sprite 840, e quando disser !saga 2 vai pra sprite 91, você pode dizer livremente !saga 1 ou 10 estando em qualquer outra transform. Creditos ao script > @Vodkart Olá, que tal dar uma olhada no meu projeto? https://discord.gg/bsNkbsyJ3W
Postado Dezembro 10, 2018 6 anos Autor Em 10/12/2018 em 21:22, King Laker disse: @betosoares Primeiramente vá em talkactions.xml e coloque a seguinte tag. Mostrar conteúdo oculto Mostrar conteúdo oculto <talkaction words="!saga" event="script" value="saga.lua"/> Crie um arquivo .lua com o nome saga e coloque a seguinte script Mostrar conteúdo oculto Mostrar conteúdo oculto local saga = { -- [ID DA VOC] = { Naruto }, [1] = { 840, 91, 841, 676, 842, 40, 305, 677, 686, 179, 683, 397, 607, 875, 914}, } local level = 50 -- Limite para liberar uma saga nova local sagastor = 578744 function onSay(cid, words, param, channel) if exhaustion.check(cid, 120) == TRUE then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 3) return true end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que voce deseja.") exhaustion.set(cid, 120, 0.5) return true end if not saga[getPlayerVocation(cid)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") exhaustion.set(cid, 120, 0.5) return true end local t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que voce deseja.") exhaustion.set(cid, 120, 0.5) return true end if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") exhaustion.set(cid, 120, 0.5) return true end if getPlayerLevel(cid) < (tonumber(t[1])*level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, voce precisa de level "..(tonumber(t[1]) * level).." usar essa saga.") return true end local out = saga[getPlayerVocation(cid)][tonumber(t[1])] doCreatureChangeOutfit(cid, {lookType = out}) setPlayerStorageValue(cid, sagastor, ":"..out..",:"..getPlayerVocation(cid)) doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) exhaustion.set(cid, 120, 0.5) return true end Aqui esta configurado para ter uma transformação a cada 50 leveis (configuravel) Explicação [1] = { 840, 91, 841, 676, 842, 40, 305, 677, 686, 179, 683, 397, 607, 875, 914}, o [1] é o ID da vocação que vc quer as transforms e dentro das chaves esta a ID de cada sprite, quando vc dizer !saga 1 vai transformar na sprite 840, e quando disser !saga 2 vai pra sprite 91, você pode dizer livremente !saga 1 ou 10 estando em qualquer outra transform. Creditos ao script > @Vodkart Assim ele vai salvar a saga que o player deixou antes de dar logout? Se sim, melhor resposta. Muito obrigado, maninho.
Postado Dezembro 11, 2018 6 anos @betosoares Ele vai salvar o ultimo outfit que o personagem usou antes de deslogar numa storage, sendo assim quando logar ele vai estar com a mesma outfit, ja tive o mesmo problema! Olá, que tal dar uma olhada no meu projeto? https://discord.gg/bsNkbsyJ3W
Postado Dezembro 11, 2018 6 anos Autor @King Laker thank u, bro! De coração ♥ @King Laker Amigo, o script que você me mandou não está funcionando... Usando a do Wolf ele troca as sagas, mas não salva. A sua nem troca as sagas e nem salva... Sabe me dizer o que acontece?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.