
Alphazin
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
Alphazin recebeu reputação de Cat em Sistema de Medalhões! Solicite aqui!quero os meus medalhoes
-
Alphazin deu reputação a marcot em (Resolvido)pedido script held fusion@Danxi
Eu testei um pouco o sistema e a princípio parece que funcionou. Gostaria que você testasse adequadamente e, caso encontre algum bug, me mande aqui nessa mesma página que vou tentar corrigir.
Nome:
Fusão de Held Item Testado em:
The Forgotten Server 0.4 Como instalar:
1) Cole a tag em data/actions/actions.xml 2) Crie um arquivo chamado "heldFusion.lua" em data/actions/scripts e cole o "script" dentro dele 3) Vá no map editor de sua preferência, crie um contêiner e um ativador (nos testes usei uma alavanca), guarde a posição do contêiner, pois será necessário na configuração do script. 4) Ainda no map editor, coloque o actionID 10001 no ativador Pronto! Tag:
<action actionid = "10001" event = "script" value = "heldFusion.lua" /> Script:
-- Held Fusion 0.1 by Marcot -- Se encontrou algum erro no script, favor enviar PM explicando os erros -- http://www.tibiaking.com/forum/profile/120572-marcot/ -- Configuracoes necessarias para o script local config = { quest = { -- Precisa fazer quest? (Nao mexa caso negativo) necessaria = false, -- Eh necessario fazer uma quest para liberar o sistema? storageID = 10001, -- Qual o storageID dessa quest? (caso true, anteriormente) }, chestPos = {x = 92, y = 114, z = 7, stackpos = 1}, -- Posicao do Bau (certifique-se que nao tenha nada encima dele) -- Tenha atencao para que a soma das chances dos helds em cada tier seja igual a 100 helds = { -- Item IDs e chance de vir o held [1] = { -- Array Tier 1 {ID = 2159, chance = 10}, {ID = 2160, chance = 80}, {ID = 2158, chance = 10}, }, [2] = { -- Array Tier 2 {ID = 2000, chance = 20}, {ID = 2001, chance = 20}, {ID = 2002, chance = 20}, {ID = 2003, chance = 20}, {ID = 2004, chance = 20}, }, [3] = { -- Array Tier 3 }, [4] = { -- Array Tier 4 }, [5] = { -- Array Tier 5 }, [6] = { -- Array Tier 6 }, [7] = { -- Array Tier 7 }, }, } function onUse(cid, item, fromPosition, itemEx, toPosition) if config.quest.necessaria and getPlayerStorageValue (cid, config.quest.storageID) == 0 then -- Erro caso a pessoa use a maquina sem ter feito a quest -- Valido apenas quando a opcao esta ativada doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t have permission to use this machine.") return false end items = {nil, nil, nil} container = getThingFromPos(config.chestPos) for i = 0, 2 do items[i + 1] = getContainerItem (container.uid, i) if items [i + 1].itemid == 0 or items [i + 1].itemid == nil then -- Erro quando tem menos de 3 itens no bau doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need 3 held items to fuse.") return false end end heldType = {nil, nil, nil} for j=1, 3 do for i=1, 7 do for k = 1, #config.helds[i] do if config.helds[i][k].ID == items[j].itemid then heldType[j] = i end end end if heldType [j] == nil then -- Erro a ser exibido caso o jogador coloque algum item que nao seja um held na maquina doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "This machine works only to held items.") return false end end if heldType[1] ~= heldType[2] or heldType[2] ~= heldType[3] then -- Erro a ser exibido caso o jogador coloque helds de tiers diferentes doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need helds with the same tier.") return false elseif heldType[1] == 7 or heldType[2] == 7 or heldType[3] == 7 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You cannot fuse tier 7 held items.") return false end -- Sortear qual held vira for i = 1, 3 do doRemoveItem(items[i].uid, 1) end tierSorteado = heldType[1] + 1 numeroSorte = math.random(1, 100) itemIDSorteado = sorteiaValor (tierSorteado, numeroSorte) doPlayerAddItem(cid, itemIDSorteado, 1) -- Mensagem exibida ao fundir com sucesso doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You received your new held item.") return true end -- Função retirada de https://pt.stackoverflow.com/questions/147884/sorteio-aleat%C3%B3rio-mas-com-diferentes-probabilidades function sorteiaValor (tierSorteado, numeroSorte) x = numeroSorte for i = 1, #config.helds[tierSorteado] do x = x - config.helds[tierSorteado][i].chance if x <= 0 then return config.helds[tierSorteado][i].ID end end end
Caso queira personalizar as mensagens eu deixei comentários encima de cada mensagem explicando quando são executadas, desculpe pelo meu inglês fisk, só consigo ler, quando vou escrever é um desastre.
P.S.: Note que o script só olha os 3 primeiros itens de dentro do contêiner, portanto, cabe ao utilizador do script limitar o slot desse contêiner para 3.
[EDIT] Link para compreender a configuração do stackpos:
-
Alphazin recebeu reputação de darkus god2 em Pokemon HuatsonOT (DXP) Custom lvl sysMuito interessante seu servidor, mas como tenho jogado bastante tenho detectado uma grande dificuldade dos jogadores em lidar com este tipo de level system, por gentileza poderia criar um servidor com as mesma caracteristicas mas sem level system? parabens pelo trabalho.
muy interesante su servidor mas tengo visto muy difculdad en los player de jugar com el level systen, puedes por favuer hacer uno que no tenga el custom level, tengo visto muy su capacidad del mismo, gracias
-
Alphazin deu reputação a 9k22 em [Link Quebrado]Pokémon MythologyEstou arrumando todo o servidor. Está ficando muito bom.
Removi todos os bugs existentes mas podem haver outros.
Estou trabalhando nele.
Arrumei aquele bug chato no cliente de abrir a barra lateral esquerda.
Estou adicionando os npcs com dialogo (demorei para fazer este npc da task funcionar com dialogo mas consegui)
Também fiz o dialogo sumir ao dizer bye Está TOP
Segue alguns prints:
CLIENT deixei 100% - removi todos os bugs de crash e um que deixa o cliente bem lento com o tempo.
SERVIDOR possui alguns bugs mas estou arrumando.
Estava com um bug fazendo o mesmo cair (muitas vezes com Distro aberto mas não era possível entrar no servidor) - ARRUMADO
OBS: quem pegar este servidor, refaz os NPCS. O cara que fez é mt PNC, não sei se é preguiça mas está uma porcaria kk
Os npcs funcionam mas, não é recomendado.
Outra, da uma olhada nas libs. Tem uma função lá que remove todas as magias dos pokemons selvagens.
Sempre que um pokemon selvagem usa uma habilidade, ele remove para sempre do servidor. (Um código malicioso).
Não lembro exatamente onde se encontra este código malicioso, está na pasta LIB, boa sorte