Search the Community
Showing results for tags 'frags'.
-
Eae galera do xtibia beleza? hoje venho trazer o Death System um sisteminha que um amigo meu fez, é bem utilizado atualmente. Antes de tudo gostaria de deixar bem claro que não fui eu que fiz. Créditos no final do tópico. Testado em OTX Server 8.60 e TheForgottenServer 0.4 8.60... Como funciona? O Death System em alguns servidores possui um channel chamado "Mortes" ou "Death Channel", mas há alguns servidores que preferem que seja anunciado no default mesmo e a função é informar quem matou quem, ou quem foi morto por certo monstro. O que há de novo? Bom, agora quem matar x jogadores(configurável) e essa quantia for uma consecutiva, será anunciado isso : E se algum jogador derrotá-lo dentro a consecutiva, será anunciado isso : Vamos ao sistema : em data/XML/channels.xml, adicione isso : <channel id="15" name="Death Channel"/> em data/creaturescripts/creaturescripts.xml : <event type="death" name="deathchannel" event="script" value="deathchannel.lua"/> em data/creaturescripts/login.lua, adicione isso antes do último return true : registerCreatureEvent(cid, "deathchannel") em data/creaturescripts/scripts, crie um arquivo deathchannel.lua e cole isso dentro : TFS: OTX: Há uma única configuração, que é as consecutivas : local frags = {10, 15, 20, 25, 30, 35, 40, 45, 50} completou 10 frags? anuncia! e assim sucessivamente.. Créditos: Zoom
- 18 replies
-
- death system
- 2016
-
(and 2 more)
Tagged with:
-
***IMPORTANTE*** A parte para website foi desenvolvida para funcionar em gesior, então dificilmente irá funcionar em outros sem alguma alteração. Recentemente fiz um top fragger e decidi disponibilizar, existe um parecido que foi feito pelo Ryzor usei ele como base e melhorei o código tanto php e lua, de acordo com o que eu precisei. ***IMAGEM DO TOP FRAGGERS*** Primeiramente vamos instalar a parte do website(PHP). Abram seu layout.php e procure por : <a href="?subtopic=guilds"> <div id="submenu_guilds" class="Submenuitem" onmouseover="MouseOverSubmenuItem(this)" onmouseout="MouseOutSubmenuItem(this)"> <div class="LeftChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> <div id="ActiveSubmenuItemIcon_guilds" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div> <div id="ActiveSubmenuItemLabel_guilds" class="SubmenuitemLabel">Guilds</div> <div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> </div> </a> e cole logo abaixo : <a href="?subtopic=fraggers"> <div id="submenu_frags" class="Submenuitem" onmouseover="MouseOverSubmenuItem(this)" onmouseout="MouseOutSubmenuItem(this)"> <div class="LeftChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> <div id="ActiveSubmenuItemIcon_guilds" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div> <div id="ActiveSubmenuItemLabel_guilds" class="SubmenuitemLabel"><span style="color:red">Top Fraggers</span></div> <div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> </div> </a> dps na pasta /pages/ e crie fraggers.php e adicione no arquivo : Com isso já poderemos verificar os top fraggers do nosso ot acessando www.meusite.com/?subtopic=fraggers Agora vamos instalar a parte de frags no servidor(LUA). Primeiramente rode esse comando na sua database : ALTER TABLE players ADD frags_all smallint(5) unsigned default 0 ; Vá em creatuscripts/scripts e crie topfrags.lua: local skulls = {SKULL_WHITE, SKULL_YELLOW, SKULL_RED, SKULL_BLACK}function addPlayerFrag(cid, value) db.executeQuery("UPDATE `players` SET `frags_all` = `frags_all` + " .. value .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";") return trueendfunction onKill(cid, target) if isPlayer(cid) and isPlayer(target) then for i= 1, #skulls do if getPlayerSkullType(target) == skulls[i] then addPlayerFrag(cid, 1) break end end end return trueendfunction onLogin(cid) registerCreatureEvent(cid, "TopFrags") return trueend em creatuscripts.XML adicione: <event type="kill" name="TopFrags" event="script" value="topfrags.lua" /><event type="login" name="RTopFrags" event="script" value="topfrags.lua" /> Pronto!! sistema instalado. Confira como fica a página : http://baiakfontana.com/?subtopic=fraggers abrçs
- 11 replies
-
Gostaria q alguem me ajudasse a criar um script q quando eu clico no meu personagem aparece informaçoes igual a esse 19:28 -> [Level: 653833] [Reset: 23] Vocation: Blypter Druid. [Frags: 5] LIFE: [54320825 / 54320825] MANA: [80434145 / 80434145] Member of the Thedevil
-
olá Xtibianos, estou aqui para pedir uma ajuda em um script de Frags e Deaths que eu uso, ele está contando totalmente errado os deaths, ele conta muito mais a cada 1 morte !!! ele conta muito mais deaths, e se alguem puder olhar se os frags estão contando mt mais do que matou também e arrumar seria bom, para ficar certinho as Frags e as Deaths !!! darei REP+ para todos que ajudar segue abaixo o script : function getDeaths(cid) local query, d = db.getResult("SELECT `player_id` FROM `player_killers` WHERE `player_id` = " ..getPlayerGUID(cid)), 0 if (query:getID() ~= -1) then repeat d = d+1 until not query:next() query:free() end return d end 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 onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then return doPlayerSetSpecialDescription(thing.uid, '\n'.. '[Frags: ' .. getPlayerFrags(thing.uid) .. ' - Deaths: ' .. getDeaths(thing.uid) .. ']') elseif thing.uid == cid then local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end string = string..'\n'.. '[Frags: ' .. getPlayerFrags(cid) .. ' - Deaths: ' .. getDeaths(cid) .. ']' if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end return false, doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) end return 1 end
-
Olá pessoal, gostaria que alguém me ajudasse em uns scripts de frag, um é o de rank frags, que já usei 2 diferentes e nenhum deu certo. Um deles abre a janelinha do rank mas não aparece ninguém nela, e o outro script faz cair o server quando eu executo a talkaction pra abrir o rank. O outro é que eu tenho um script que aparece os frags do player quando dá look nele, o problema é como eu tenho um ot de war, eu gostaria que contabilizasse todas as mortes nesse contador de frags. Por exemplo, se eu pego pz em um player e eu mato ele, o frag conta. Só que se esse mesmo cara abrir PZ em mim ou se ele já tiver pego pz em outra pessoa e eu abrir "yellow" no cara e matar ele, o frag não conta. Obrigado amigos e aguardo ajuda.
-
- frags
- talkaction
-
(and 2 more)
Tagged with:
-
Olá, galerinha do Xtibia vim trazer esse mod aqui para vocês vão em mods crie um mods e renomeie para Skull System.xml o e adicione isso dentro; <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Skull System" version="1.0" author="Skyforever" contact="#####.com" enabled="yes"> <config name="SkullC_func"><![CDATA[ function setSkullColor(cid) local t = { [{5,10}] = 1, [{11,15}] = 2, [{16,20}] = 3, [{21,25}] = 4, [{26,math.huge}] = 5 } for var, ret in pairs(t) do if getPlayerFrags(cid) >= var[1] and getPlayerFrags(cid) <= var[2] then doCreatureSetSkullType(cid, ret) end end end 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 ]]></config> <event type="login" name="SkullLogin" event="script"><![CDATA[ domodlib('SkullC_func') function onLogin(cid) registerCreatureEvent(cid, "ColorKill") setSkullColor(cid) return true end]]></event> <event type="kill" name="ColorKill" event="script"><![CDATA[ domodlib('SkullC_func') function onKill(cid, target) if isPlayer(cid) and isPlayer(target) then doCreatureSetSkullType(target, 0) addEvent(setSkullColor, 100, cid) end return true end]]></event> </mod> primeiro abra o config.lua procurem por vai estar assim deixem assim agora procurem por e deixem assim Skyforever meu nome em outro fórum LEMBRANDO SOMENTE PARA SERVIDORES DE WAR
-
Olá , boa tarde xtibianos ... Vim pedir um script de rank de frags , o player usa !rankfrags e o rank de quem mais matou no ot, eu tinha pego um rank de frags só que quando eu uso o comando o ot fecha ... estou no aguardo.
-
Gostaria de um script que quando o player diz !removefrags, os kills são removidos. Exemplo, to com 9 kills, mais 1 pego red e quando digito !removefrags fico com 0 kills.
-
Ola o Nome do topico ja diz tudo eu queria um tile q so podesse passar se o player tivesse 5 frags ou +, dou rep + para qm me ajudar ! Se nao existe como me avisem! =]
-
Tenho o servidor New Styller Yourots 0.9 e enfrento um problema ... A contagem de frags não sai do 0 , e por isso os jogadores não conseguem pegar red skull . Config.lua data/talkactions/frags.lua REP+ pra quem conseguir me ajudar ! (Se precisarem de outras informações sobre o meu servidor é só pedir)
-
Entao galera.. Peço a ajuda de voces para arrumar os ajustes finais do meu ot war team x team! É o seguinte, eu quero que quando os players morressem voltassem para o lvl inicial que no caso é 150. E que nao perdessem skill! Gostaria de um script que de acordo com a quantidade que o players vai matando apareça um shield no player parecido com akeles do system war. Exemplo: o player ta fragando, e quando ele chegar a 50 frags apareça akele shield verde, mais quando ele morrer ou deslogar os frags online zera,e o shield sai, mais os frags totais continua! (Esses shields do system war so valem para os frags online) 50 frags = shield verde 80 frags = shield azul 110 frags+ = shield red Tambem gostaria de uma ajuda com relaçao as experience da war. por exemplo, quero que cada frag upe somente 1 lvl independente do lvl.-->> 150 mata um 150 = 151 151 mata um 150 = 152 152 mata um 150 = 153 300 mata um 150 = 301 150 mata um 151 = 151 150 mata um 152 = 151 150 mata um 160 = 151 150 mata um 300 = 151 160 mata um 160 = 161 300 mata um 300 = 301 *Nao é necessario que seje 1 lvl inteiro, pode ser 80 % de 1 lvl! - Tipo galera, todos que atacaram a pessoa que morreu, vao fragar e upar e ganhar 500 gps! - Eu tambem estou com um problema.. quando a pessoa fraga, envez dela ganhar 5 platinum coins, ela ta ganhando 500 gps.. Isso enchera a backpack mais rapido.. Gostaria que a recompensa fosse em forma de 5 platinum coins e nao 500 gps! Gostaria também de um script que os players tivessem somente os addons do citizen! e que sempre que eles morresem ou deslogarem, a outfit e o addon citizen voltasse para o character! ACREDITO QUE SEJE SOMENTE ISSO PESSOAL... DESCULPE POSTAR TANTOS PROBLEMAS EM UM UNICO TOPICO..MUITO OBRIGADO A TODOS QUE PUDEREM ME AJUDAR..ESTOU PRECISANDO MUITO DE TUDO ISSO... FICAREI ETERNAMENTE GRATO!
-
bom achei esse scripts de rank frags mais ele é de mods <?xml version="1.0" encoding="UTF-8"?> <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) setPlayerStorageValue(cid, storage, getPlayerFrags(cid)) doPlayerSave(cid) end function getRankStorage(cid, value, max, RankName) -- by vodka local str ="" str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\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 if k > max then break end str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end return doPlayerPopupFYI(cid, str) end ]]></config> <talkaction words="/rankfrags;!rankfrags" event="buffer"><![CDATA[ domodlib('rankf_func') return getRankStorage(cid, storage, 20, "Rank Frag") ]]></talkaction> <event type="login" name="RankfLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "RankfKill") registerCreatureEvent(cid, "RankfLogin") 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, 100, cid) end return true end]]></event> </mod> meu ot não tem essa pasta mods ele versão 840 se alguém pode me ajuda REP+++
-
Eu tava querendo um sistema de prisão por frags quanto mais frags, mais tempo ele pega tempo de prisão esse sistema seria a parti de por exemplo redskull 6 frags a parti do 15 frags.... ele pega prisão ai pra ele ir direto pra prisão automatico apos pegar um teleporte qual quer ou morrer, ai começar a contagem do tempo que ficar na prisão até zerar os frags dependendo dos frags podendo chegar até semana na prisão quem puder ajudar agradeço desde já.
-
No meu server, mesmo eu mudando a frags para red e black skull, nao altera no server. uso asim useFragHandler = true redSkullLength = 3 * 24 * 60 * 60 blackSkullLength = 5 * 24 * 60 * 60 dailyFragsToRedSkull = 8 weeklyFragsToRedSkull = 15 monthlyFragsToRedSkull = 25 dailyFragsToBlackSkull = 10 weeklyFragsToBlackSkull = 20 monthlyFragsToBlackSkull = 30 dailyFragsToBanishment = 40 weeklyFragsToBanishment = 50 monthlyFragsToBanishment = 60 blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true advancedFragList = false mais se o player matar 3, ele ja pega red. oque esta errado? como resolver isso? obrigado.
-
Aí galera, eu utilizo esse sistema do vodkart. É o guildfrags system, ele consiste basicamente em uma disputa entre as guilds a alcançar certa quantidade de frags. A guild vencedora ganhará acesso a um local e pontos para trocar por itens. Mas minha dúvida é como faço para demorar mais para o sistema limpar os frags? Depois de 1 ou 2 dias os frags que estavam sendo contabilizados são limpos e volta tudo do zero, sem dar tempo para as guilds completarem a quantidade de frags desejada. Aí vai o link do sistema: http://www.xtibia.com/forum/topic/184311-gfs-guild-frag-system/ Obs: O sistema funciona perfeitamente, só gostaria de saber como fazer os frags resetarem em um período maior de tempo. Vlw aí, desde já. Quem souber, REP +
-
Andei procurando pelo xtibia e outros fórums que muita, mas muita gente procura por um script de frags funcionando, então creio que se alguém tiver/fizer um, irá ajudar muita gente (os que achei no xtibia, ou não funcionavam ou era esse que estou colocando). Primeiramente, eu tenho o seguinte script: local config = { useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')), advancedFragList = getBooleanFromString(getConfigValue('advancedFragList')) } function onSay(cid, words, param, channel) if(not config.useFragHandler) then return false end 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 = { name = result:getDataString("name"), level = result:getDataInt("level"), 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) } if(config.advancedFragList) then local result = "Frags gained today: " .. size.day .. "." if(size.day > 0) then for _, content in ipairs(contents.day) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "." if(size.week > 0) then for _, content in ipairs(contents.week) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "." if(size.month > 0) then for _, content in ipairs(contents.month) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd) end doPlayerPopupFYI(cid, result) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.") if(size.day > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").") end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)) end end return true end Esse script funciona quase que perfeitamente (funciona para os players que tem um pequeno ou nenhum frags e não estão white/red/black skull), ele tem os seguintes problemas: -Depois de uma determinada quantidade de frags que o player alcança, o comando !frags para de funcionar. - Assim que um player pega red/black skull e depois esse skull sai, é só o player matar mais alguém que volta a ser red/black skull, ou seja, os frags não ZERAM. Então, se possível, gostaria de um script que não apresentasse esses erros ou caso o erro não esteja no script, que digam qual é/são. Desde já, agradeço!