Histórico de Curtidas
-
franckle deu reputação a Cat em Salvando Mapa e bugando as housesCom o mapa aberto de um ctrl + p e deixe configurado o nome do houses.xml conforme a sua pasta data/world. Nao edite o arquivo manualmente, tente reabrir o editor depois disso.
-
franckle deu reputação a Adriano SwaTT em Anél de Experiência' [Exp Ring]Eu tentei achar aqui no TibiaKing o Anél de Experiência (Ring of Experience ou Exp Ring), e só achei um tutorial, mas está meio imcompleto e confuso...
No entanto decidi postar este que criei há alguns meses.
Como o nome diz, é um anél que aumenta a experiência de sua caçada' (configurável)
\o/
Vamos lá...
1º Passo
Se quer um Anel de Experiencia Recarregável (como soft boots), clique no Spoiler abaixo.
Configurações do NPC:
Recolhe: "broken experience ring"
Custo: "50k"
Devolte: "Brand-New Experience Ring"
5º Passo
É, acho que é isso...
Qualquer coisa postem aqui para resolvermos juntos.
Eu editei o Script, criei o NPC e criei o Tutorial.
Créditos pelo tutorial: AdrianoSwaTT
Créditos pelo Exp Ring Stages: Vodkart
Créditos pelo Script: OTLand
Abraços, espero que seja útil'
-
franckle deu reputação a Absolute em [ANTI-CLONE] 100% NOVO [O MELHOR]Fala galera do TK!
Trago hoje a vocês um sistema que desenvolvi sob uma base de shop com meu parceiro Thales Valentim do pokemonbr.com.br a alguns meses, pós vários testes e visando que funcionou perfeitamente trago para vocês!
Como funciona?
Toda vez que um ItemVIP ou qualquer Item comprado no SHOP do seu site, quando ele for entregar ao player, irá ficar; COMPRADOR POR:, ou seja; irá adicionar uma "KEY" algo que realmente saiu direto do seu SHOP, pois quando o item é disparado para o player ele vai entregar normal com a função "doCreateItemEx" e então adicionar a descrição no mesmo com a função "doItemSetAttribute".
E como evitará os clones Absolute?
Você terá uma QUERY para executar no seu banco de dados, fazendo uma checagem dos items VIPS que não possuem esse SERIAL KEY (o script também já faz a checagem), ou seja; os que não tiverem a KEY foram clonados (não saíram do SHOP), e então vocês poderão deleta-los manualmente caso necessário.
É muito simples, apenas um script e a QUERY de checagem.
Vamos a instalação?
Em data/globalevents/scripts substitua o seu arquivo shop.lua por este:
-- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') local iter = 0 while iter ~= container_count do local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doAddContainerItemEx(new_container, new_item) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') doPlayerSave(cid) db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return TRUE end
Confira se no seu globalevents.xml já possui a tag:
<globalevent name="shop" interval="30000" script="shop.lua"/>
PRONTO, VOCÊ ESTÁ LIVRE DE CLONES! TÃO SIMPLES NÃO?
Para fazer a checagem se há items clonados, abra o seu phpmyadmin e execute a seguinte query:
------------------- COMANDO SQL BY ABSOLUTE PARA VERIFICAR A TABELA PLAYER_DEPOTITEMS---------------------- SELECT `player_id`,`pid`,`sid`,CONVERT( `attributes` USING latin1 ) FROM `player_depotitems` WHERE CONVERT( `attributes` USING latin1 ) LIKE '%description%' ------------------- COMANDO SQL BY ABSOLUTE PARA VERIFICAR A TABELA PLAYER_ITEMS---------------------- SELECT `player_id`,`pid`,`sid`,CONVERT( `attributes` USING latin1 ) FROM `player_items` WHERE CONVERT( `attributes` USING latin1 ) LIKE '%description%'
OBSERVAÇÃO IMPORTANTE: Caso seu servidor já esteja online e já possua vendas no seu SHOP, você terá que adicionar a "KEY" em todos os items ou reseta-los.
OUTRA OBSERVAÇÃO: Nunca crie items VIP com o ADMIN e de aos jogadores, pois eles ficaram sem a "KEY" e poderão ser deletados.
ESTE SCRIPT FUNCIONA PERFEITAMENTE NAS REVS 0.3.6 e 0_4, caso necessário passo para a 1.x. S
IMPLES, PRATICO E PERFEITO NÃO?
Quero vê-los usando, espero ter ajudado. :D
Até a próxima!
Absolute.
-
franckle deu reputação a KotZletY em Não carrega a soluçãoE você está abrindo o arquivo correto ?
-
franckle deu reputação a L3K0T em Alguem sabe o porque desse erro?bom se tiver a source vai em tile.cpp procure //FLAG_IGNOREBLOCKITEM is set
troca para esse
if(items)
{
MagicField* field = getFieldItem();
if(field && field->isBlocking(creature))
return RET_NOTPOSSIBLE;
if(!hasBitSet(FLAG_IGNOREBLOCKITEM, flags))
{
//If the FLAG_IGNOREBLOCKITEM bit isn't set we dont have to iterate every single item
if(hasFlag(TILESTATE_BLOCKSOLID))
return RET_NOTENOUGHROOM;
}
else
{
//FLAG_IGNOREBLOCKITEM is set
if(ground)
{
const ItemType& iType = Item::items[ground->getID()];
if(ground->isBlocking(creature) && (!iType.moveable || (ground->isLoadedFromMap() &&
(ground->getUniqueId() || (ground->getActionId()
&& ground->getContainer())))))
return RET_NOTPOSSIBLE;
}
isso seria a msg pra não jogar em lugares aonde players não possa andar
return RET_NOTENOUGHROOM vc pode trocar pra RET_NOTPOSSIBLE; preferir vai por vc
-
franckle deu reputação a WhiteBubble em [AJUDA] Wand que da luz com coré muito facil, se você ja adicionou no items.otb e no items.xml agora so pegar os 2 arquivos e ir na pasta do seu rme achar sua versão e jogar la dentro o items.otb e o .xml, e o piso,parede novos vai estar na parte Raw Pallet e em Others
-
franckle recebeu reputação de KrazzyMan em (Resolvido)Como criar uma Sprint que o jogador possa colorir ?Isso ae @Adventure se te ajudei deixa um repp pra ajuda ae ... Qualquer duvida so perguntar q eu ajudo.
-
franckle deu reputação a Ivens Pontes em [AJUDA]Instalar gesior em otxDeu erro? Mesma coisa do tfs creio eu
-
franckle deu reputação a Pedriinz em [AJUDA] Alguem sabe o porque desse erro?Pelo que li, isso tá acontecendo por que deve ter adicionado alguma extenção ou
configurado de mal jeito o mesmo.
Aconselho que você re-instale.
PS: Eu apenas li o erro, eu nem uso VS 2015.
Boa sorte.
-
franckle deu reputação a Pedriinz em [AJUDA] Alguem sabe o porque desse erro?Eu utilizo apenas linux para compilação e etc...
Anyway que bom que problema foi resolvido.
-
franckle deu reputação a xBlackWolf em [CODIFICADO]WebSite + Layout Vestia.plOlá Pessoas, em outro fórum achei um layout porém nem codificado estava, tinha apenas o PSD, então dei vida a ele, e estou modificando o Gesior para rodar com meu layout. Todo o trabalho está sendo feito por min, e já está quase terminado, na verdade o layout está todo correto, agora só falta pequenas edições das páginas do Gesior, e a tradução, que estou fazendo o website inteiro.
Vejam como está ficando, e me deem dicas, críticas, ou elogios.
Bom, isso é só um pouco do que já fiz, estimo ai que esse mês já termino o site. Tudo em português, e funcional.
Por favor não esqueçam de comentar =P
-
franckle deu reputação a Adventure em (Resolvido)Como criar uma Sprint que o jogador possa colorir ?Entendi as funções das cores.
Amarelo: Cabeça.
Vermelho: Peito.
Verde: Calça
Azul: Detalhes
-
franckle recebeu reputação de Adventure em (Resolvido)Como criar uma Sprint que o jogador possa colorir ?Você precisa das outfits pronta andando para os todos lados .. geralmente é 3 pra frente 3 pra tras 3 pra esquerda e 3 pra direita , dps q colocou todos , clica em blender layer e poe as cores tambem , e depois que fizer tudo so registra no outifit.xml que fica na pasta xml.
vou mostrar com uma Screen Abaixo..
ve se da pra entender... se te ajudei deixe seu rep++
-
franckle recebeu reputação de Adventure em (Resolvido)Como criar uma Sprint que o jogador possa colorir ?sim sim ... todos outifits q eu tenho todos tem essas cores.. entao creio eu que sim .. agora não sei o q significa cada uma delas no tibia .. mas tem q ser essas cores sim brother...
tipo essas cores é pra pode mudar dps in game .. se voce por exemplo: roxo ou outra cor q não seja essas capaz de ficar a cor da roupa dele dessa cor.. agora essas cores ai q esta no boneco .. verde , vermelho , amarelo ... é o padrao pra pode mudar a cor do outifit in game ... entendeu mais o menos?
seguinte essas cores não vao alterar in game .. , essas cores é apenas pra você pode modificar a cor na lista de editar o boneco la no game.. entendeu?
outro exemplo pra você a baixo.
-
franckle deu reputação a WhiteBubble em (Resolvido)Como criar uma Sprint que o jogador possa colorir ?Tem a outfit normal que geralmente e toda branca, e tem a camada acho que isso que se chama no object builder que tem varias cores como você disse. Bom não sei te dizer pra que serve cada cor mas o que eu deduzi foi que cada cor é uma aba daquela parte que muda a cor da outfit.
-
franckle deu reputação a WhiteBubble em Arrow novaBom dia, para isso você teria que criar o item que acho que você já fez, depois você terá que criar um distance effect da nova arrow, depois disso vai em weapons.xml e adicione isso:
<distance id="ID DA ARROW" event="script" value="novaarrow.lua"/> Depois vai em weapons/scripts e cria um arquivo com nome novaarrow.lua e adicione isso dentro:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, EFEITO) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Aonde ta escrito EFEITO você poe o id do efeito de distance que você criou por exemplo no object builder ta o id 81 então ali você vai colocar 80, sempre 1 numero a menos ficando assim na parte do efeito:
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 80)
-
franckle deu reputação a WhiteBubble em Arrow novaSim no missele o id for 489 no script vai ficar assim:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 488) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Caso tenha feito certo em weapons.xml e ai no script e mesmo assim não aparece pode ser que seu server esteja no limite de efeitos de distance.
-
franckle deu reputação a WhiteBubble em Arrow novaNão tenho, mas faz o seguinte teste substitua ali o id do efeito que no caso é 488 por um missele (distance effect) que você sabe que funcione tipo o 10 e teste, se aparecer o efeito é a source mesmo, mas se não aparecer é algo que você fez errado.
-
franckle deu reputação a WhiteBubble em Arrow novaNão tenho certeza porque meu conhecimento e bem pouco mas mesmo assim posso tentar ajudar, pode ser que seja alguma imunidade do orc contra o tipo de dano da obsidian knife.
-
franckle deu reputação a dihstifler em [Link Quebrado]CLOSED! Tibia Origins 6.5Olá galerinha minha primeira contribuição, já pensaram em um servidor do tibia na versão 6.5? Aqui estarei disponibilizando as Sources de um servidor para tibia 6.5 e relíquia essas Sources pois então façam bom proveito (OBS: O servidor funciona com cliente 7.1 também)
Imagens:
Download Sources:
Scan:
https://www.virustotal.com/pt/file/7664b08d097aa3bdeef792f77c5a1e33004917194ddacc50daf100d49e8fdc48/analysis/1466492981/
Download Client 6.5
Scan:
https://www.virustotal.com/pt/file/51900919eb1f5d66493ecc99e90751efadfd7be9092699a30d26071c6ad2f2c3/analysis/1466493002/
Todos Créditos a Jopirop
-
franckle deu reputação a Sanieg em Alguem sabe me dizer porq isso?Bem, se você ultrapassou o limite de 65535 sprites, elas irão ficar 'bugadas' e será bem claro que esse é o problema.. É esse o caso ?
E sobre "estender" o client: não creio que seja possível em um Old Client.. Você pode "quebrar" o limite de sprites no Tibia.dat, mas isso só funcionará em um NewClient.. Ao menos, era assim na última vez em que lí um post sobre esse assunto.
-
franckle deu reputação a Aluccard em REAL Cipsoft filesNão vi nenhum tópico comentando sobre a distribuição gratuita, depois de anos dos arquivos dito 'originais' do Tibia antigo. A fonte parece ser confiável. Gostaria de saber o que vocês esperam aprender e descobrir nesses arquivos?
-
franckle recebeu reputação de KotZletY em NPC De Runasta tranquilooo brooo obrigado mesmo assim +REPP
-
franckle deu reputação a KotZletY em NPC De RunasÉ tenso, to começando em Script ainda, mais tarde, pela manhã ou tarde aparece alguém pra te ajudar! xD
-
franckle deu reputação a KotZletY em NPC De RunasTesta ae!
Dica, traduz essa porra ae, você é BR, tem que representar a gente. Kkkkkkkk
Brincks, testa ae! xD