
Histórico de Curtidas
-
Peemello recebeu reputação de Strikerzerh em Criatura Spawnar mesmo com player na telaIsso precisa ser feito nas source, e compilar novamente com o arquivo spawn.cpp editado.
Se quiser, siga o tutorial abaixo:
Em spawn.cpp
Procure por
bool Spawn::findPlayer(const Position& pos) E no lugar de:
bool Spawn::findPlayer(const Position& pos) { SpectatorVec list; g_game.getSpectators(list, pos); Player* tmpPlayer = NULL; for(SpectatorVec::iterator it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->hasFlag(PlayerFlag_IgnoredByMonsters)) return true; } return false; } Coloque:
bool Spawn::findPlayer(const Position& pos) { SpectatorVec list; g_game.getSpectators(list, pos); Player* tmpPlayer = NULL; for(SpectatorVec::iterator it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->hasFlag(PlayerFlag_IgnoredByMonsters)) return false; } return false; } Pronto, irá spawnar com ou sem player na tela, já foi testado por mim.
-
Peemello recebeu reputação de Gabrielx17 em Criatura Spawnar mesmo com player na telaIsso precisa ser feito nas source, e compilar novamente com o arquivo spawn.cpp editado.
Se quiser, siga o tutorial abaixo:
Em spawn.cpp
Procure por
bool Spawn::findPlayer(const Position& pos) E no lugar de:
bool Spawn::findPlayer(const Position& pos) { SpectatorVec list; g_game.getSpectators(list, pos); Player* tmpPlayer = NULL; for(SpectatorVec::iterator it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->hasFlag(PlayerFlag_IgnoredByMonsters)) return true; } return false; } Coloque:
bool Spawn::findPlayer(const Position& pos) { SpectatorVec list; g_game.getSpectators(list, pos); Player* tmpPlayer = NULL; for(SpectatorVec::iterator it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->hasFlag(PlayerFlag_IgnoredByMonsters)) return false; } return false; } Pronto, irá spawnar com ou sem player na tela, já foi testado por mim.
-
Peemello recebeu reputação de Thenebrozo em (Resolvido)Account Manager Invalid PasswordNada ve esses bagui ai de trocar a distro, tudo vocês querem trocar mesmo.
Se sabe compilar ?
é em protocolgame.cpp da sua source - procure por:
if(!IOLoginData::getInstance()->getPassword(id, hash, salt, character) || !encryptTest(salt + password, hash))
{
ConnectionManager::getInstance()->addAttempt(getIP(), protocolId, false);
disconnectClient(0x14, "Invalid password.");
return false;
}
e apague tudo.
pronto!, feche e compile.
Créditos: Caronte
Te Ajudei? +REP
-
Peemello deu reputação a Snowsz em (Resolvido)Tile que até X level consegue passarEsta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.
local c = { level = 601, msg = "Você não pode passar, apenas pessoas de level 1 a 600 podem passar." } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getPlayerLevel(cid) >= c.level then doPlayerSendCancel(cid, c.msg) doTeleportThing(cid, fromPosition) return false end return true end
-
Peemello recebeu reputação de Heyron em Criatura Spawnar mesmo com player na telaIsso precisa ser feito nas source, e compilar novamente com o arquivo spawn.cpp editado.
Se quiser, siga o tutorial abaixo:
Em spawn.cpp
Procure por
bool Spawn::findPlayer(const Position& pos) E no lugar de:
bool Spawn::findPlayer(const Position& pos) { SpectatorVec list; g_game.getSpectators(list, pos); Player* tmpPlayer = NULL; for(SpectatorVec::iterator it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->hasFlag(PlayerFlag_IgnoredByMonsters)) return true; } return false; } Coloque:
bool Spawn::findPlayer(const Position& pos) { SpectatorVec list; g_game.getSpectators(list, pos); Player* tmpPlayer = NULL; for(SpectatorVec::iterator it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->hasFlag(PlayerFlag_IgnoredByMonsters)) return false; } return false; } Pronto, irá spawnar com ou sem player na tela, já foi testado por mim.
-
Peemello recebeu reputação de Lucas Barreto em Castle War com Crystal 24hPor favor, se alguém puder me ajudar.
Exemplo: A guild vai mata o crystal e tem acesso a áreas exclusivas, e ele nasce em seguida automaticamente, sendo assim, a guild que dominar o castle não poderá atacar o crystal enquanto a outra não dominar.
Já vi muitos tópicos de castle war, mas todos são com "Alavancas".
Se alguém puder me ajudar, agradeço de coração!
-
Peemello deu reputação a matsantos em [PEDIDO] WAND COM MESMO HIT EM PLAYER E MONSTERVai no script desse item que fica em data/weapons/scripts
e onde tem a formula faça o seguinte :
Ex. MagicLevel Formula = 68, 2, 1, 68, 2, 1
Coloca os 3 últimos números os mesmo dos 3 primeiros
talvez funcione , não tenho certeza :]
E se você não tiver a script dele em weapons , só é você criar um arquivo .lua
em data/weapons/scripts e cria uma tag com o mesmo nome em data/weapons/weapons.xml
Espero ter ajudado ...
-
Peemello deu reputação a Deadpool em (Resolvido)[PEDIDO] Source 0.4 SEM ERROS AO COMPILARDownloads:
• Distro Compilada 32x
• Sources
• Datapack Limpo
Créditos: LuanLuciano93
-
Peemello deu reputação a Caronte em (Resolvido)[PEDIDO] Crystal pro castleOpa, erro meu.
Substitua o seu Crystal.lua do creaturescripts/scripts
function onKill(cid, target, lastHit) if not (isMonster(target) and getCreatureName(target) == "Crystal") then return true end ------------------ Inicio das config ------------ local castle_one_name = "Castle24h" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está ...) local monster_name = "Crystal" local monster_pos = {x = 100, y = 130, z = 7} -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 15 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 5468 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end return addEvent( function() doCreateMonster(monster_name, monster_pos) end, 10) end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end Eu não coloquei pros players da guild dominante não poder atacar...
se não tiver, eles podem burlar, matando o bicho quando ele tiver pouca vida, aí vai renovar a vida, e eles vão poder monopolizar...
Pera aí...
-
Peemello recebeu reputação de williamcgv em (Resolvido)Account Manager Invalid PasswordNada ve esses bagui ai de trocar a distro, tudo vocês querem trocar mesmo.
Se sabe compilar ?
é em protocolgame.cpp da sua source - procure por:
if(!IOLoginData::getInstance()->getPassword(id, hash, salt, character) || !encryptTest(salt + password, hash))
{
ConnectionManager::getInstance()->addAttempt(getIP(), protocolId, false);
disconnectClient(0x14, "Invalid password.");
return false;
}
e apague tudo.
pronto!, feche e compile.
Créditos: Caronte
Te Ajudei? +REP
-
Peemello deu reputação a Biinhow em (Resolvido)Efeito no Criticalvai estar assim: doSendAnimatedText(getCreaturePos(attacker), "Critical!", 120) doSendMagicEffect(getCreaturePos(attacker), 31) você deixa assim: doSendAnimatedText(getCreaturePos(attacker), "Critical!", 120) doSendMagicEffect(getCreaturePos(cid), 31) troca o (attacker) pelo (cid).. mais troca só essa linha : doSendMagicEffect(getCreaturePos(xxx), 31)
-
Peemello deu reputação a GBs em (Resolvido)Efeito no Criticallocal lvlcrit = 48913 local efeito = 31 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then if (getPlayerStorageValue(attacker, lvlcrit)*2) >= math.random (0,1000) then local multiplier = isPlayer(cid) and 3 or 1.5 -- multiplicador dano = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255) doSendAnimatedText(getCreaturePos(attacker), "Critical!", 120) doSendMagicEffect(getCreaturePos(attacker), EFEITO) ---COLOCA O NUMERO DO EFFECT AQUI return false end end return true end
-
Peemello deu reputação a Biinhow em (Resolvido)Efeito no Criticalnão storme é assim essa linha:
doSendMagicEffect(getCreaturePos(cid), EFEITO) ---COLOCA O NUMERO DO EFFECT AQUI
return false
end
end
return true
end
ele quer assim (cid) e não attacker
-
Peemello deu reputação a Biinhow em (Resolvido)Efeito no Criticalfaz assim pega esse script aqui:
http://www.tibiaking...l-skill-system/
faz tudo certinho ai substitui o que tem na sua pasta critical em creaturescripts/scripts por esse aqui:
local lvlcrit = 48913 local efeito = 31 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then if (getPlayerStorageValue(attacker, lvlcrit)*2) >= math.random (0,1000) then local multiplier = isPlayer(cid) and 3 or 1.5 -- multiplicador dano = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255) doSendAnimatedText(getCreaturePos(attacker), "Critical!", 120) doSendMagicEffect(getCreaturePos(cid), 31) return false end end return true end -
Peemello deu reputação a Tricoder em (Resolvido)ERRO AO CRIAR GUILDClica com botão direito na coluna "guild" no sqlite. Em seguida "edite table". Vai abrir uma tela, na parte onde está escrito "columns", selecione a linha "checkdate" Ao lado terá a opção "edit select" e a opção "NOT NULL" para você marcar e desmarcar. Caso seu problema tenha sido resolvido, favor marcar como melhor resposta.
-
Peemello deu reputação a Gabrielk em Frag Look- Kills And Dead-PremiumOlá Galera, vim trazer para vocês o Frag Look - Kills And Dead... ele irá mostrar quantos você matou, e quantos você morreu. Vou Trazer em duas versões... a que mostra só o Kill e Dead, e outra que mostra quantos dias premium também existe na sua conta... Vamos lá..
Frag Look - Kills And Dead (Normal) :
Vá em creaturescripts/creaturescripts.xml : e adicione essa linha:
Após isso, crie um arquivo chamado KillsandDeath.lua e adiciona isso
Depois vá em login.lua e adicione isso :
Pronto Adicionado o Script de Kills And Death...
2º: para mostrar os premiums day(Lembre-se que só funciona em servidor que usa o premium como vip.) também coloque esse script :
é isso galera. eu não se quem de quem são os creditos, peguei de um servidor antigo que eu tinha aqui. Então valeu. Gostou ? REP+
-
Peemello deu reputação a Caronte em (Resolvido)[URGENTE] INVALID PASSWORDVocê sabe compilar?
é em protocolgame.cpp vá em:
if(!IOLoginData::getInstance()->getPassword(id, hash, salt, character) || !encryptTest(salt + password, hash)) { ConnectionManager::getInstance()->addAttempt(getIP(), protocolId, false); disconnectClient(0x14, "Invalid password."); return false; } e apague tudo.
pronto!, feche e compile.
-
Peemello deu reputação a Caronte em (Resolvido)[PEDIDO] Nascer respawn com player na telaVocê não alterou,
e precisa compilar...
Tenta usar esse que eu compilei, coloquei para dar o mesmo efeito que o dos 10.+ , que é o teleport.
-
Peemello deu reputação a ViitinG em [talkaction] Adicionar X item para o playerPara quem não sabe como funciona o script : O ADM do servidor digita um comando para dar X quantidade de item para X player.Útil para quando terminar um evento o ADM dar X item para tal player pelo comando e não jogando o item no chao.
• Adicionando o script •
"data/talkactions/giveitem.lua" :
function onSay(cid, words, param) local param = param.explode(param, ',') if param then if isPlayer(getCreatureByName(param[1])) == TRUE then doPlayerSendTextMessage(getCreatureByName(param[1]), 22, "Você acabou de receber um item do ADM!") doPlayerAddItem(getCreatureByName(param[1]), param[2], param[3]) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") end return TRUE end "data/talkactions/talkactions.xml" :
<talkaction log="yes" access="5" words="/giveitem" event="script" value="giveitem.lua"/> • Configurando •
-
Peemello deu reputação a ViitinG em [talkactions] Adicionar item para todos players onlinePara quem não sabe como funciona o script é o seguinte o ADM pode usar o comando para adicionar um item para todos os players online no servidor.
• Adicionando o script •
Em "data/talkactions/talkactions.xml" adicione está tag :
<talkaction log="yes" words="/additem" access="5" event="script" value="additem.lua"/> Em "data/talkactions/scripts" crie um arquivo lua com o nome "additem" e adicione este script nele :
function onSay(cid, words, param, channel) local t = string.explode(param, ",") if t[1] ~= nil and t[2] ~= nil then local list = {} for i, tid in ipairs(getPlayersOnline()) do list[i] = tid end for i = 1, #list do doPlayerAddItem(list[i],t[1],t[2]) doBroadcastMessage(getPlayerName(cid) .. " Acabou de dar: " .. t[2] .." ".. getItemNameById(t[1]) .. " para todos os players online!") end else doPlayerPopupFYI(cid, "No parm...\nSend:\n /itemadd itemid,how_much_items\nexample:\n /itemadd 2160,10") end return true end • Configurando •