Histórico de Curtidas
-
tetheuscunha recebeu reputação de Vodkart em [8.6] Task System 4.0! (Task system + Daily Task System)@Vodkart estou com um problema na Daily Task
https://pastebin.com/sirER2j9
-
tetheuscunha recebeu reputação de Gabrielx17 em (Resolvido)Bichos dando hit um no outroE que ele ainda não foi aprovado.
Ate amanha ele e aprovado, fique olhando.
-
tetheuscunha recebeu reputação de Gabrielx17 em [CreatureScript] Monster no Hit MonsterBoa Noite.
Hoje vou compartilhar com vocês o script que eu tenho aqui a muito tempo, não recordo quem fez ele pra mim (assim que lembrar colocarei os devidos creditos).
Ele funciona da seguinte forma :
- As Ue de monsters não hita os outros monsters da hunt, se tiver summon ele hita.
Versão testada
-8.6
-TFS 0.4.
Primeiro vai ate a pasta creaturescripts/script e crie um arquivo como nome noattack.lua e cole isso dentro.
function onStatsChange(cid, attacker, type, combat, value) -- This should block all damage monster cause on eachother expect player summons if isMonster(cid) and isMonster(attacker) then local master = getCreatureMaster(cid) if not master or not isPlayer(master) then return false end end return true end
Depois vá ate o arquivo Login.lua e cole essa linha depois do Ultimo registerCreatureEvent.
registerCreatureEvent(cid, "noattack")
Já em creaturescripts.xml registre essa linha.
<event type="statschange" name="noattack" event="script" value="noattack.lua"/>
Depois vá ate os monsters que você quer que não hite os outros e coloque essa linha dentro dele depois de <immunities>...</immunities>
<script> <event name="noattack"/> </script>
-
tetheuscunha recebeu reputação de WooX em Gesior - Classic-Yurots 2019O erro esta no script SHOP.lua estou procurando um que funcione.
-
tetheuscunha recebeu reputação de alasgalux1 em Montando OTserver (10.x/1.x) perfeito.Fico feliz que tenha conseguido.
Pra da REP+ e só clicar aquela setinha que tem em baixo do meu comentário.
-
tetheuscunha recebeu reputação de DouGlaS Mapper em [CreatureScript] Monster no Hit MonsterBoa Noite.
Hoje vou compartilhar com vocês o script que eu tenho aqui a muito tempo, não recordo quem fez ele pra mim (assim que lembrar colocarei os devidos creditos).
Ele funciona da seguinte forma :
- As Ue de monsters não hita os outros monsters da hunt, se tiver summon ele hita.
Versão testada
-8.6
-TFS 0.4.
Primeiro vai ate a pasta creaturescripts/script e crie um arquivo como nome noattack.lua e cole isso dentro.
function onStatsChange(cid, attacker, type, combat, value) -- This should block all damage monster cause on eachother expect player summons if isMonster(cid) and isMonster(attacker) then local master = getCreatureMaster(cid) if not master or not isPlayer(master) then return false end end return true end
Depois vá ate o arquivo Login.lua e cole essa linha depois do Ultimo registerCreatureEvent.
registerCreatureEvent(cid, "noattack")
Já em creaturescripts.xml registre essa linha.
<event type="statschange" name="noattack" event="script" value="noattack.lua"/>
Depois vá ate os monsters que você quer que não hite os outros e coloque essa linha dentro dele depois de <immunities>...</immunities>
<script> <event name="noattack"/> </script>
-
tetheuscunha recebeu reputação de M Cronos em (Resolvido)[PEDIDO] SPRITES até o 12.30Boa madrugada, mano tenho esse cliente aqui 10.00 porém com as sprites do 12.20
https://gitlab.com/guilhermesidney/cliente10/
-
tetheuscunha recebeu reputação de DdJs em (Resolvido)quero colocar o efeito da wand pra sair sd e não consigo! !Vá na pasta weapons/script e crie um arquivo chamado lunar staff.lua e coloque isso dentro
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -50, -1, -50, 5, 5, 4, 7) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
Agora abra o arquivo weapons.xml e adicione essa linha
<wand id="7424" level="1" mana="0" min="2" max="3" event="script" value="lunar staff.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </wand> -
tetheuscunha recebeu reputação de Cat em HP e MP porcentagem OTX3.x+Olá, após procurar em todo lugar da internet um feature que funcionasse em OTX3.x+ não encontrei um que desse certo nessa versão. Então eu tentei fazer e felizmente consegui achar o caminho certo.
Com esse feature a HP e MP ira aparecer em porcentagem ao invés daqueles números enormes (que dependendo da exp do server ela vira uma barra que recarrega 10x), mostrando assim a HP e MP:
Em protocolgamebase.cpp procure por
void ProtocolGameBase::AddPlayerStats(NetworkMessage& msg) Agora para alterar a HP procure por:
msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxHealth(), std::numeric_limits<uint16_t>::max())); Substitua por:
if (player->getMaxHealth() > 0) { float f_h_percent = (float)player->getHealth() / player->getMaxHealth(); uint16_t h_percent = f_h_percent * 100; msg.add<uint16_t>(h_percent); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); }
Agora para a MP procure por:
msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxMana(), std::numeric_limits<uint16_t>::max()));
Substitua por
if (player->getMaxMana() > 0) { float f_m_percent = (float)player->getMana() / player->getMaxMana(); uint16_t m_percent = f_m_percent * 100; msg.add<uint16_t>(m_percent); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Agora vai ficar assim:
-
tetheuscunha recebeu reputação de Zeikko em HP e MP porcentagem OTX3.x+Olá, após procurar em todo lugar da internet um feature que funcionasse em OTX3.x+ não encontrei um que desse certo nessa versão. Então eu tentei fazer e felizmente consegui achar o caminho certo.
Com esse feature a HP e MP ira aparecer em porcentagem ao invés daqueles números enormes (que dependendo da exp do server ela vira uma barra que recarrega 10x), mostrando assim a HP e MP:
Em protocolgamebase.cpp procure por
void ProtocolGameBase::AddPlayerStats(NetworkMessage& msg) Agora para alterar a HP procure por:
msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxHealth(), std::numeric_limits<uint16_t>::max())); Substitua por:
if (player->getMaxHealth() > 0) { float f_h_percent = (float)player->getHealth() / player->getMaxHealth(); uint16_t h_percent = f_h_percent * 100; msg.add<uint16_t>(h_percent); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); }
Agora para a MP procure por:
msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxMana(), std::numeric_limits<uint16_t>::max()));
Substitua por
if (player->getMaxMana() > 0) { float f_m_percent = (float)player->getMana() / player->getMaxMana(); uint16_t m_percent = f_m_percent * 100; msg.add<uint16_t>(m_percent); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Agora vai ficar assim:
-
tetheuscunha recebeu reputação de DdJs em HP e MP porcentagem OTX3.x+Olá, após procurar em todo lugar da internet um feature que funcionasse em OTX3.x+ não encontrei um que desse certo nessa versão. Então eu tentei fazer e felizmente consegui achar o caminho certo.
Com esse feature a HP e MP ira aparecer em porcentagem ao invés daqueles números enormes (que dependendo da exp do server ela vira uma barra que recarrega 10x), mostrando assim a HP e MP:
Em protocolgamebase.cpp procure por
void ProtocolGameBase::AddPlayerStats(NetworkMessage& msg) Agora para alterar a HP procure por:
msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxHealth(), std::numeric_limits<uint16_t>::max())); Substitua por:
if (player->getMaxHealth() > 0) { float f_h_percent = (float)player->getHealth() / player->getMaxHealth(); uint16_t h_percent = f_h_percent * 100; msg.add<uint16_t>(h_percent); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); }
Agora para a MP procure por:
msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxMana(), std::numeric_limits<uint16_t>::max()));
Substitua por
if (player->getMaxMana() > 0) { float f_m_percent = (float)player->getMana() / player->getMaxMana(); uint16_t m_percent = f_m_percent * 100; msg.add<uint16_t>(m_percent); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Agora vai ficar assim:
-
tetheuscunha recebeu reputação de Rafals em Teleport Falante 8.6 Igual 9.++O script e basicamente um TP FALANTE, só que nada de ANIMATEDTEXT, ele e igual os TP FALANTE dos otserver 9++
function onThink(interval, lastExecution) local name_of_monster = 'Training Monk' --- here put monster name or any npc name local texts = { -- text pos effects ["test1"] = {{x=1027, y=1021, z=7},CONST_ME_ENERGYAREA, 23}, ["test2"] = {{x=1028, y=1021, z=7},CONST_ME_ENERGYAREA, 23}, ["test3"] = {{x=1029, y=1021, z=7},CONST_ME_FIREWORK_YELLOW, 23} } for text, param in pairs(texts) do doCreatureSay(getCreatureByName(name_of_monster),text,TALKTYPE_ORANGE_1, false, 0,param[1]) doSendMagicEffect(param[1], param[2]) end return TRUE end
<globalevent name="texto" interval="3000" script="texto.lua"/>
EXPLICAÇÃO
local name_of_monster = 'demon' --- here put monster name or any npc name
Aqui você coloca o nome de um NPC ou de um Monster (se for utilizar de monster, coloque um monster que nunca morra, pois se ele morrer começara a dar erro na distro)
#IMAGEM NÃO E MINHA, PEGUEI DO PEDIDO QUE UM CARA VEZ NA AREA DE PEDIDOS.
#NÃO LEMBRO ONDE PEGUEI ESSE SCRIPT, TENHO ELE A MUITO TEMPO. SE EU ACHAR O DONO EU POSTAREI OS DEVIDOS CREDITOS.
-
tetheuscunha deu reputação a TheKronOs em (Resolvido)Autoloot Bugadoda uma olhada nesse link aqui @tetheuscunha
-
tetheuscunha deu reputação a poko360 em (Resolvido)Piso que muda de corta na mao meu patrão
coloque em "pisoesquerda" o sqm que vai checar (a cor do piso), o script é bem facil, se nao entender so falar
-
tetheuscunha recebeu reputação de bpm91 em (Resolvido)Ao jogar o item no chão o item é teleportadoSão itens que são exceções, os itens que não vai ser teletransportado, se quiser que aconteça com todos e so deixar remover os ids e as virgulas deixando assim {}
-
tetheuscunha recebeu reputação de bpm91 em (Resolvido)Ao jogar o item no chão o item é teleportado<movevent event="AddItem" pos="1776,1732,7" script="dicetrash.lua"/> <!-- 1776 1732 7 --> local item_exceptions = {2152, 2160, 5792, 5793, 5794, 5795, 5796, 5797, 9971} local positionTo = {x=32817, y=31600, z=9} -- Position para onde o item vai ser mandado function onAddItem(item, tile, pos) if not isInArray(item_exceptions, item.itemid) then doTeleportThing(item.uid, positionTo) end return true end
-
tetheuscunha deu reputação a xWhiteWolf em (Resolvido)Spell para ficar intocavel@skailord, você não pode dar up no tópico dos outros a não ser que tenha passado 24 hrs. Leia as regras
spells\scripts\especiais\invencible.lua
local config = { storage = 3482101, cooldown = 30, --- tempo entre um uso e outro duration = 5, --- duração effect1 = 29 -- efeito que sai ao falar a spell } local outfit = createConditionObject(CONDITION_INVISIBLE, config.duration * 1000, false) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, 55695) >= config.cooldown then setPlayerStorageValue(cid, 55695, os.time()) doSendMagicEffect(getCreaturePosition(cid), config.effect1) setPlayerStorageValue(cid, config.storage, os.time() + config.duration) doCreatureSay(cid,"UNTOUCHABLE!!!", 19) doAddCondition(cid, outfit) doPlayerSendTextMessage(cid, 27, "You have now ".. config.duration .." seconds of invulnerability.") else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55695))).." seconds.") return false end return true end spells.xml
<instant name="testeTK" words="naruto3" lvl="16" mana="500" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="especiais/invencible.lua"> </instant> creaturescripts\scripts\login.lua:
---------- Invencible ---------------- registerCreatureEvent(cid, "invencible") if getPlayerStorageValue(cid, 3482101) ~= 0 then setPlayerStorageValue(cid, 3482101, 0) end creaturescripts.xml:
<event type="statschange" name="invencible" event="script" value="invencible.lua"/> creaturescripts\scripts\invencible.lua
local config = { storage = 3482101, effect1 = 2 --- efeito ao ser atacado estando invulnerável } 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) - os.time() > 0 and isCreature(attacker) then doSendMagicEffect(getCreaturePosition(cid), config.effect1) doSendAnimatedText(getCreaturePosition(cid), "0", 180) return false end end return true end Usei o mesmo storage da outra spell que fiz pra vc uchihagaeshi, mude o storage em todos os scripts ;]
-
tetheuscunha recebeu reputação de Armouzt em (Resolvido)Arma EditadaNada
Faz so um favorzinho, marca minha resposta como a melhor, que a o tópico e considerado fechado !
-
tetheuscunha recebeu reputação de bpm91 em (Resolvido)pisar e voltar se nao tiver itemAtualizei o tópico, usa o que eu coloquei lá.
-
tetheuscunha recebeu reputação de bpm91 em (Resolvido)pisar e voltar se nao tiver itemVlw, marca a minha resposta como a Melhor resposta pro tópico ser considerado fechado porfavor!
-
tetheuscunha recebeu reputação de bpm91 em (Resolvido)pisar e voltar se nao tiver item
-
tetheuscunha recebeu reputação de Armouzt em (Resolvido)Arma EditadaDo geniumOt, são dois scripts totalmente diferente um do outro. O que muda nele e uma action.
Vai ate na pasta weapon/scripts, e cria 2 arquivos .lua e cole cada um dentro.
Target:
Area
abre o arquivo weapons.xml e coloque essas linhas la dentro
(2x) <wand id="ID_ITEM" level="1" mana="0" min="2" max="3" event="script" value="ARQUIVO.lua"><vocation id="1"/></wand>
Agora vai em action e cria um arquivo .lua, e coloca isso dentro.
<action itemid="ID_ITEM1" script="ARQUIVO.lua" />
<action itemid="ID_ITEM2" script="ARQUIVO.lua" />
-
tetheuscunha deu reputação a Vodkart em Exclusive Cave System By Account! 8.6Explicação:
Este sistema proporciona ao jogador a compra de determinada cave por "X" tempo, cada conta poderá comprar somente 1 cave por vez... Lá o jogador poderá upar livremente.
Também poderá chamar um amigo para upar na sua cave!!
O sistema é o mais completo do mercado, vou estar falando do mesmo abaixo.
OBS: Não esqueça de executar a query para funcionar!!
Exclusive Cave System Features
Dentro do pacote terá duas versões:
versão 1 : É para vendar as caves em money(Gold's)
Versão 2: É para vender as caves por items, por exemplo por moedas especiais como scarab coins(ID 2159)
O sistema é feito por banco de dados
O tempo da cave é mostrado em tempo real
Você poderá chamar um amigo para sua cave e também remove-lo quando quiser.
Existe um globalevents especifico para mostrar no default quando uma cave ficou disponível para venda! (Irá informar o nome da cave o preço dela!)
Você poderá configurar a cave para vender por exemplo:
- Level minimo e máximo!
- Tempo de duração da cave
- Se precisa ser premium account para comprar a cave!
Quando o tempo da cave expira tanto o dono da cave como o friend invitado são removidos da cave, mesmo estando offline ou online!
Comandos exclusivos:
Comando para dono da cave:
/mycave - Mostra informações da sua cave, como:
- Nome da cave
- Nome do seu amigo de cave(caso tiver invitado)
- Quando tempo falta para expirar o tempo da sua cave
/addcavefriend - Adiciona um amigo seu para que ele possa entrar e sai da sua cave quando quiser... Obs: Tem um exhausted de 1 hora(configurável) para não ficar toda hora tirando e colocando amigo na cave.
/removecavefriend - Remove o seu amigo da sua cave(caso ele esteja dentro da cave tanto offline quanto online, ele é removido)
/cavetime - Mostra quando tempo falta para expirar a sua cave
Comando para amigo invitado da cave:
/cavefriendtime - Mostra quando tempo falta para expirar a cave que ele invitado.
/caveleave - Comando para ele se kikar da cave que está invitado.
Comandos adicionais importante para todos:
/cavelist -- Mostra em uma janela todas as caves do servidor
/cave ID -- Neste comando você terá que usar o ID da cave que deseja saber as infor,ações, por exemplo:
/cave 1 -- Irá mostrar em uma janela todas as informações desta cave, como:
-Nome da cave
-Preço da cave
-Level Minimo e Level Maximo para comprar a cave
-Se nesta cave precisa ser Premium Account para comprar ou não.
/cavepurchase -- Filtra em uma janela somente as caves que estão disponíveis para compra.
----------------------------------------------------------------------------------------------------------------------------------------------------
Configurações:
Vá na lib e irá se deparar com duas tabelas...
Esta primeira tabela é onde você irá adicionar novas caves e atribuir as configurações, exemplo:
exclusives_caves_areas = { -- adicionar as caves [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}}, [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}} }
[1] -- Entre os colchetes é o ID da cave, favor colocar e ordem.
name = "Demon Hunter" -- Entre as aspas "" Você atribui o nome da cave
price = 1000 -- Preço em gps da sua cave(caso use a versão que vende em gps)
level = {min = 8, max =30} -- Aqui voce coloca o level min e max que o jogador tem que ser para comprar a cave
time = 4 -- Tempo em horas que o jogador poderá ficar na cave
premium = false -- Se para comprar a cave terá que ser premium (false ou true)
enter = {x = 284, y = 223, z = 7} -- Pos de entrada da cave
from = {x = 275, y = 219, z = 5}, -- Aqui você deverá pegar a pos do começa da cave
to = {x = 302, y = 240, z = 7} - - -- Aqui você deverá pegar a pos final da cave!(como se fosse um quadrado.
e como adicionar mais caves por exemplo? Assim:
exclusives_caves_areas = { -- adicionar as caves [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}}, [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}}, [3] = {name = "Ciclops Cave", price = 5000, level = {min = 20, max = 50}, time = 2, premium = true, enter = {x = 198, y = 320, z = 7}, from = {x = 200, y = 340, z = 7}, to = {x = 250, y = 390, z = 7}} }
----------------------------------------------------------------------------------------------------------------------------------------------------
explicando a segunda tabela:
exclusives_caves_config = { storage = 547575, check = 547576, comand_add_exaust = {hours = 1, storage = 547577}, -- tempo para nao ficar toda hora tirando e colocando amigo mensagem = "[Exclusive Cave System] Você foi removido ou o tempo da %s cave expirou!", serve_mensagem = "[Exclusive Cave System] A cave %s acabou de ficar liberada para venda por %d Gold's, aproveitem para compra-la no NPC!" }
storage -- nao mexer!
check -- não mexer!!
comand_add_exhausted -- é o tempo que jogador poderá voltar a invitar outro jogador, está configurado para 1 hora!!
mensagem -- não mexa
serve_mensagem -- não mexa tbm kkk
Só baixar e executar as querys!!
Cave System.rar
-
tetheuscunha recebeu reputação de Salazar Slytherin em Pedido vip por Group idAqui no tk voce encontra muitos scripts, só da uma pesquisada pelo o modelo que você quer, que encontra rapidão.
-
tetheuscunha recebeu reputação de Salazar Slytherin em Pedido vip por Group idCreio que tem como, porém acho que fica meio sem nexo. Melhor usar o próprio sistema de premium do tibia ou por storage!!!!! Ai da pra colocar no onLook pra mostrar quem é vip.