Histórico de Curtidas
-
TheFrost deu reputação a luanluciano93 em Boss drope dplocal items = {itemid = 2160, count = 50, chance = 100} local town_id = 12 function onDeath(cid, corpse, deathList) local chest = doCreateItemEx(2595) doAddContainerItem(chest, items.itemid, items.count) for i = 1, #deathList do if isPlayer(deathList[i]) then doPlayerSendTextMessage(deathList[i], MESSAGE_INFO_DESCR, "Parabens! Voce matou o " .. getCreatureName(cid) .. "!") doPlayerSendMailByName(getPlayerName(deathList[i]), chest, town_id) end end return true end
-
TheFrost deu reputação a SoyColombiaa em [Ajuda] Action use Por VocaçãoÉ só criar uma condição amigo, bem simples.
No caso, essa parte do script que eu mandei acima, conferiria se a id ad vocação do player for 4, vai adicionar uma espada pra ele.
Ids das vocations tibia:
Mas vale ressaltar que em alguns OT's, as vocações variam, e você pode conferi-las em data/XML/vocations.xml. Assim, dentro dela vão ter vocações dentro de "<" ">", aí é só você procurar por "vocation id". Por exemplo:
Espero tê-lo ajudado, e se eu realmente te ajudei, não se esqueça de me REPUTAR XD
(EU TINHA POSTO NAO SE ESQUEÇA DE ME REPOTAR FPOAEKFPOASKFOPEAFPOOPFKAPOKFPOASDKFOPASKPO)
-
TheFrost deu reputação a LeoTK em [Tuto Básico] Adicionando novas outfits (Detalhado)Fala galera eu recentemente me aventurei a adicionar uma nova outfit no servidor e com addon e descobri que não tinha muitos conteúdos falando sobre isso detalhadamente com imagens etc... então resolvi pegar tudo o que aprendi e vou explicar a vocês detalhadamente passo a passo com as ferramentas que temos hoje no caso o object builder.
Programas Usados:
Paint
Object Builder
Explicando jogo de cores a serem adicionadas e como adicionar
Todo o cabelo
Blusa e Braços
Pernas
Botas e detalhes do corpo
1º- Outift Toda Branca
obs: É necessário a outfit pintada toda de branco por causa da paleta de cores quando for trocar as cores e a outfit estiver colorida ao mudar a cor vai mesclar uma cor com a outra e quando mudar para a cor branca vai mudar para a cor que estava então caso o cabelo for amarelo quando adicionar no cliente e for na paleta de cores in-game e mudar para a cor branca vai ficar amarelo o cabelo....
Exemplo:
Configurações padrão para criar a nova outfit
obs: Única coisa que notei referente a essas configurações é que se for diferente disso ao adicionar a sprite do addon ela buga....
2º- Adicionando as áreas que vão mudar de cor
Exemplo:
Para criar essa parte colorida basta pegar as sprites normais da outfit e pintar de rosa as áreas do rosto das mãos caso aparecer dedos etc... remover também tem que sobrar apenas as áreas das roupas que vai mudar de cor...
obs: caso quiser que algum detalhe da roupa continue sem mudar de cor padrão basta não pintar de nenhuma cor seja amarelo na parte da cabeça, vermelho na parte do busto, verde parte das perna e nem em azul a parte das botas e detalhes do corpo todo.
3º- Adicionando as áreas que vão mudar de cor na outfit
Quando você tiver criado o slot com as configurações padrões acima vai ter a opção Blend Layer nas opções de aparence no object builder logo abaixo onde adiciona as sprites
Exemplo:
Ao selecionar a caixa a oufit adicionada vai sumir então você vai adicionar as sprites da sua oufit colorida
Exemplo:
Após adicionar tudo certinho como se fosse uma nova outfit basta salvar e compilar.
4º- Adicionando a nova outfit no Set Outfit
Mesmo tendo adicionado no cliente ainda não é possível selecionar a nova outfit na opção Set Outfit dentro do jogo para habilitar essa opção você vai ter que ir na pasta. pasta do seu servidor/data/xml/outfits
obs: pode váriar de servidor para servidor como vai estar mas essa linha de script é padrão.
<outfits> <outfit id="1" premium="0"> <list type="female" looktype="136" name="Citizen"/> <list type="male" looktype="128" name="Citizen"/> </outfit> Tem também a versão que precisa de storage para ser usada
só vai liberar a outfit ou addon para o player que tiver a storage configurada
<?xml version="1.0"?> <outfits> <outfit id="1" quest="9785"> <list gender="0" lookType="1288" name="Test"/> <list gender="1" lookType="1288" name="Test"/> </outfit> </outfits> ou também pode ser adicionado com a linha premium ficando assim
<outfits> <outfit id="1" premium="0" quest="9785"> <list type="female" looktype="136" name="Citizen"/> <list type="male" looktype="128" name="Citizen"/> </outfit> obs:
Premium = 0 free
Premium = 1 premium
0 contas free account podem usar a outfit
1 apenas contas premium podem usar a outfit
5º-Explicando Configuração das linhas
Em ID é o id da outfit dentro do script outfit.xml então basta ir no ultimo adicionado e seguir a contagem se o ultimo for 44 o próximo é 45 e assim vai
Quest é a storage necessária para o player poder liberar a outfit no set outfit
Female looktype é o id da outfit da mulher no object builder no caso do citizen a outfit da mulher é 136 e o nome que vai aparecer no set outfit da outfit é citizen
Male looktype é o id da outfit do homem no object builder no caso do citizen a outfit do homem é 128 e o nome também é citizen
obs: Caso a outfit ser a mesma para mulher e homem basta colocar o mesmo looktype nos dois e colocar o mesmo nome da outfit.
--------- ENCERRAMENTO ---------------
Se gostou curta
Se o tópico bombar trago a parte de adicionar os addons bem explicado nesse mesmo tópico
By: Brunds
-
TheFrost deu reputação a LeoTK em (Resolvido)Outfit spellNão é a forma mais elegante mas posso afirmar que é funcional
caso tenha várias ai é legal você criar um tabela e percorrer ela usando o for
local outfit = 267 local outfit2 = 268 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, 64) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 10 return -(skillTotal / 10 + levelTotal), -(skillTotal + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) if getCreatureOutfit(cid).lookType == outfit or getCreatureOutfit(cid).lookType == outfit2 then return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Você não tem o outfit x.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end
-
TheFrost deu reputação a Vodkart em (Resolvido)Reflectlocal config = { storage = 3411101, percent = 70 } math.percent = function (value, percentage) return math.ceil(math.floor(value)*math.floor(percentage)/100) end function onStatsChange(cid, attacker, type, combat, value) if value >= 1 and (type == STATSCHANGE_HEALTHLOSS or (getCreatureCondition(cid, CONDITION_MANASHIELD) and type == STATSCHANGE_MANALOSS)) then if getPlayerStorageValue(cid,config.storage) == 1 and isCreature(attacker) then local atk, me = math.percent(value, config.percent), math.percent(value, (100 - config.percent)) -- aqui por exemplo vai devolver 70% do atack para o que atacou e 30% para mim doSendAnimatedText(getCreaturePosition(cid),"REFLECT "..atk, 215) doSendAnimatedText(getCreaturePosition(attacker),"-"..atk, 215) doCreatureAddHealth(attacker, -atk, true) doCreatureAddHealth(cid, -me, true) setPlayerStorageValue(cid,config.storage, 0) return false end end return true end
-
TheFrost deu reputação a So volto tarde em (Resolvido)Animate Dead Spell
-
TheFrost deu reputação a Endless em Error Player DeathsVou arriscar, teu banco de dados na tabela `players_deaths` não está com a coluna `id` com auto incremento, isso faz com que sempre que seu servidor for inserir 1 valor nessa tabela, ele tente colocar com o id 0, porém o id 0 já existe. Para corrigir isso, vá em seu phpmyadmin, selecione o seu banco de dados, navegue até a tabela `players_deaths`, vá em estrutura, na coluna `id` clique em editar, e selecione a opção A_I (é possível que esteja como IA ou I_A), ai é só clicar em salvar. O seu problema deve ser solucionado com isso.
-
TheFrost deu reputação a Storm em (Resolvido)Erro LuadoPlayerAddOutfit Player Not Found@TheFrost
--[vocation]{outfit, efeito} local config = { [20] = { look = 10, efeito = 11 }, [2] = { look = 510, efeito = 11 }, [3] = { look = 510, efeito = 11 }, [4] = { look = 510, efeito = 11 }, [5] = { look = 510, efeito = 11 }, [6] = { look = 510, efeito = 11 }, [7] = { look = 510, efeito = 11 }, [8] = { look = 510, efeito = 11 }, [9] = { look = 510, efeito = 11 }, } local storage = 53345 function onStepIn(cid, item, pos) if not isPlayer(cid) then return true end local vocation = config[getPlayerVocation(cid)] if vocation then local outfit = {lookType = vocation.look} if getCreatureStorage(cid, storage) == -1 or getCreatureStorage(cid, storage) == 0 then doCreatureSetStorage(cid, storage, getCreatureOutfit(cid).lookType) doCreatureChangeOutfit(cid, outfit) else doCreatureChangeOutfit(cid, {lookType = getCreatureStorage(cid, storage)}) doCreatureSetStorage(cid, storage, -1) end doSendMagicEffect(getCreaturePosition(cid), vocation.efeito) else doSendMagicEffect(getCreaturePosition(cid), 11) end return true end
-
TheFrost deu reputação a Storm em (Resolvido)Erro LuadoPlayerAddOutfit Player Not Found@TheFrost
--[vocation]{outfit, efeito} local config = { [20] = { look = 10, efeito = 11 }, [2] = { look = 510, efeito = 11 }, [3] = { look = 510, efeito = 11 }, [4] = { look = 510, efeito = 11 }, [5] = { look = 510, efeito = 11 }, [6] = { look = 510, efeito = 11 }, [7] = { look = 510, efeito = 11 }, [8] = { look = 510, efeito = 11 }, [9] = { look = 510, efeito = 11 }, } local storage = 53345 function onStepIn(cid, item, pos) if not isPlayer(cid) then return true end local vocation = config[getPlayerVocation(cid)] if vocation then local outfit = {lookType = vocation.look} if getCreatureStorage(cid, storage) == -1 or getCreatureStorage(cid, storage) == 0 then doCreatureChangeOutfit(cid, outfit) doCreatureSetStorage(cid, storage, getCreatureOutfit(cid).lookType) else doCreatureChangeOutfit(cid, {lookType = getCreatureStorage(cid, storage)}) doCreatureSetStorage(cid, storage, -1) end doSendMagicEffect(getCreaturePosition(cid), vocation.efeito) else doSendMagicEffect(getCreaturePosition(cid), 11) end return true end
-
TheFrost deu reputação a KotZletY em (Resolvido)Erro Creature Not Found@ivonebruno
gear second.lua