
Histórico de Curtidas
-
Tchukixx deu reputação a Dwarfer em (Resolvido)Script rewardlocal moneyRate = 50 -- % de dinheiro que será perdida local sendMoneyMsg = true -- 'true' para enviar mensagem de quanto dinheiro foi perdido, 'false' para não enviar function onDeath(cid, corpse, killer, frompos) if not isPlayer(cid) then return true end local check_killer = killer[1] local playerKiller = isCreature(check_killer) and (isPlayer(check_killer) and check_killer or getCreatureMaster(check_killer)) or nil if not playerKiller then return true end local victimName, victimLevel, killerName, killerLevel = getPlayerName(cid), getPlayerLevel(cid), getPlayerName(playerKiller), getPlayerLevel(playerKiller) local victimMoney = getPlayerMoney(cid) if victimMoney > 0 then local money = math.ceil(.01 * moneyRate * victimMoney) if money > 0 then doPlayerRemoveMoney(cid, money) doPlayerAddMoney(playerKiller, money) if sendMoneyMsg then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("You lost %d gold coin%s due to this death.", money, (money > 1 and "s" or ""))) doPlayerSendTextMessage(playerKiller, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("You earned %d gold coin%s for this kill.", money, (money > 1 and "s" or ""))) end end end doBroadcastMessage(string.format("O jogador %s (Level: %d) foi morto pelo jogador %s (Level: %d).", victimName, victimLevel, killerName, killerLevel), MESSAGE_STATUS_CONSOLE_RED) return true end
-
Tchukixx deu reputação a KotZletY em (Resolvido)Healing@Tchukixx desculpe, erro de digitação. Kkkkk, dei um ctrl+c e v numa parte que já tinha feito e não inverti o sinal. Hahaha!
-
Tchukixx recebeu reputação de Vodkart em (Resolvido)To Frags OnlinePerfeito Muito Obrigado.
-
Tchukixx deu reputação a Vodkart em (Resolvido)To Frags Online<?xml version="1.0" encoding="ISO-8859-1"?> <mod name="rank frag" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="rankf_func"><![CDATA[ storage = 824544 function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)} return size.day + size.week + size.month end function setFrags(cid) if not isCreature(cid) then return LUA_ERROR end setPlayerStorageValue(cid, storage, getPlayerFrags(cid)) doPlayerSave(cid) end function getRankStorage(value, max, RankName) local str = "".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."\n" local players = getPlayersOnline() table.sort(players, function(a, b) return getPlayerStorageValue(a, value) > getPlayerStorageValue(b,value) end) k = 0 for x = 1, table.maxn(players) do k = k + 1 str = str .. "\n " .. k .. ". "..getCreatureName(players[x]).." - " .. getPlayerStorageValue(players[x], value) .. " frags" if k == max then break end end return str end ]]></config> <globalevent name="RankFrags_Broad" interval="120" event="script"><![CDATA[ domodlib('rankf_func') function onThink(interval, lastExecution) doBroadcastMessage(getRankStorage(storage, 5, "Top 5 Fraggers Online!"), 21) return true end]]></globalevent> <event type="login" name="RankfLogin" event="script"><![CDATA[ domodlib('rankf_func') function onLogin(cid) registerCreatureEvent(cid, "RankfKill") setFrags(cid) return true end]]></event> <event type="kill" name="RankfKill" event="script"><![CDATA[ domodlib('rankf_func') function onKill(cid, target, lastHit) if (isPlayer(cid) == true) and (isPlayer(target) == true) then addEvent(setFrags, 1000, cid) end return true end]]></event> </mod>
-
Tchukixx deu reputação a Vodkart em (Resolvido)To Frags Online<?xml version="1.0" encoding="ISO-8859-1"?> <mod name="rank frag" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="rankf_func"><![CDATA[ storage = 824544 function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)} return size.day + size.week + size.month end function setFrags(cid) if not isCreature(cid) then return LUA_ERROR end setPlayerStorageValue(cid, storage, getPlayerFrags(cid)) doPlayerSave(cid) end function RemovePlayerFromRank(p) db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = ".. p .." AND `key` = "..storage) end function getRankStorage(value, max, RankName) local str = "".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."\n" local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;") if (query:getID() ~= -1) then k = 1 repeat str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - " .. query:getDataInt("value") .. "" k = k + 1 until k > max or not query:next() end return str end ]]></config> <globalevent name="RankFrags_Broad" interval="120" event="script"><![CDATA[ domodlib('rankf_func') function onThink(interval, lastExecution) doBroadcastMessage(getRankStorage(storage, 5, "Top 5 Fraggers Online!"), 21) return true end]]></globalevent> <event type="login" name="RankfLogin" event="script"><![CDATA[ domodlib('rankf_func') function onLogin(cid) registerCreatureEvent(cid, "RankfKill") setFrags(cid) return true end]]></event> <event type="logout" name="RankfLogout" event="script"><![CDATA[ domodlib('rankf_func') function onLogout(cid) local player = getPlayerGUID(cid) addEvent(RemovePlayerFromRank, 1000, player) return true end]]></event> <event type="kill" name="RankfKill" event="script"><![CDATA[ domodlib('rankf_func') function onKill(cid, target, lastHit) if (isPlayer(cid) == true) and (isPlayer(target) == true) then addEvent(setFrags, 1000, cid) end return true end]]></event> </mod>
-
Tchukixx deu reputação a gabriel28 em (Resolvido)Ajuda Formulafunction onGetFormulaValues(cid, level, skill, attack, factor)
min = -(level * 0.5 + skill * 0.5 + attack * 2) * 1
max = -(level * 0.5 + skill * 0.5 + attack * 3) * 1
return min, max
end
Testa essa formula do jeito que está, pra ver se realmente o ataque da arma, que o player está usando, está contando. Testa o mesmo char com uma arma attack 10 ou menor, e de novo com uma de attack 40 ou maior. Se o valor do attack da arma estiver contando, você vai ver uma diferença grande no dano da skill, dai vai ver que está funcionando certinho, dai você altera pros valores de sua preferência.
Espero ter sido claro. kkkkk
-
Baseado no seu ultimo script postado, apenas remova a parte do level.
function onGetFormulaValues(cid, level, skill) local arma= getPlayerWeapon(cid) darma= getItemAttribute(arma.uid, "attack") min = -(skill*0.4) + -(darma*0.5) max = -(skill*0.8) + -(darma*0.6) return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
-
Tchukixx deu reputação a Skyforever em Ajuda scriptO erro se encontra nessa linha aqui local damageMap = creature:getDamageMap(), você esta chamando a variável creature, sendo que ela não foi declarada, mude para isso.
local damageMap = cid:getDamageMap()
que o erro vai sumir
-
Tchukixx deu reputação a Vodkart em Ajuda desabilitar pvpfunction onCombat(cid, target) local storage = 789153 if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, storage) >= os.time() or getPlayerStorageValue(target, storage) >= os.time() then return false end return true end return true end
-
Tchukixx deu reputação a Vodkart em Ajuda desabilitar pvpclaro que sim, no caso no pvp é não pode ser atacado né?
coloca para adicionar uma storage + os.time()
dps faz um onCombat que checa a storage e n deixa o jogador ser atacado
-
Tchukixx deu reputação a Vodkart em Ajuda desabilitar pvpcreature script
nopvpitem.lua
function onCombat(cid, target) local storage = 789153 if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) >= os.time() then return false end return true end return true end TAG
<event type="combat" name="ItemNoPvp" event="script" value="nopvpitem.lua"/>
coloca lá em onLogin antes do último 'return true'
registerCreatureEvent(cid, "ItemNoPvp")
item em actions
function onUse(cid, item, fromPosition, itemEx, toPosition) local hours, storage = 2,789153 if getPlayerStorageValue(cid, storage) >= os.time() then doPlayerSendCancel(cid, "Desculpe, mas o item ainda está ativo e você está continua com o modo NO PVP.") return true end setPlayerStorageValue(cid, storage, os.time()+hours*3600) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você ativou o modo NO PVP por "..hours..".") return true end
-
Tchukixx deu reputação a luangop em AJUDA script anihiSinto muito, não sei mais o que fazer.