-
Total de itens
53 -
Registro em
-
Última visita
Histórico de Reputação
-
macalo deu reputação a Yan Liima em Death System 2016 versão frag consecutivo!
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
-
macalo deu reputação a Danihcv em ALTERA SCRIPT
Deixa assim:
[LUA]--[[ day_of_week: 0 = Sunday, 1 = Monday ... 6 = Saturday hour: value between 0 and 23 minute: value between 0 and 59 storage: unique, not used global storage value --]] local autoStartsTable = { {["day_of_week"] = 6, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7867}, {["day_of_week"] = 5, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7869}, {["day_of_week"] = 4, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7870}, {["day_of_week"] = 3, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7871}, {["day_of_week"] = 2, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7872}, {["day_of_week"] = 1, ["hour"] = 19, ["minute"] = 30, ["storage"] = 7873}, {["day_of_week"] = 0, ["hour"] = 21, ["minute"] = 0, ["storage"] = 7868} } function shouldExecuteEvent(configTable) for _, config in pairs(configTable) do if(tonumber(os.date("%d")) ~= getStorage(config.storage) and tonumber(os.date("%w")) == config.day_of_week) then if(tonumber(os.date("%H")) == config.hour and tonumber(os.date("%M")) == config.minute) then doSetStorage(config.storage, tonumber(os.date("%d"))) return true end end end return false end function onThink(interval, lastExecution, thinkInterval) if(shouldExecuteEvent(autoStartsTable)) then if(getStorage(ZE_STATUS) ~= 1 and getStorage(ZE_STATUS) ~= 2) then removeZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 1) doBroadcastMessage("Zombie Arena Event teleport will be open for 2 minutes. We are waiting for " .. getZombiesEventPlayersLimit() - #getZombiesEventPlayers() .. " players to start.") addEvent(startArenaEvent, 120 * 1000) end end return true end function startArenaEvent() if(getStorage(ZE_STATUS) == 1) then addZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 2) doBroadcastMessage("Zombie Arena Event started.") end end
Não esquece que vc pode alterar a hora de inicioa pra cada dia.
Basta alterar a parte referente a hour e minute referente aql determinado dia.
-
macalo deu reputação a Sirarcken em ALTERA SCRIPT
<attack name="death" interval="2000" chance="100" target="3" range="10" min="-4950" max="-5000">
<attribute key="shootEffect" value="SUDDENDEATH"/>
</attack>
add isso
-
macalo deu reputação a Night Wolf em output.log erro
todos os erros são iguais:
"MYSQL ERROR: Cannot add or update a child row: a foreign key constraint fails"
Não é possivel adicionar ou atualizar uma linha filha> a regra de possuir uma chave estrangeira falhou.
Isso acontece quando você adiciona uma linha em uma tabela que possui a restrição de FG (Foreign Key) (Chave estrangeira), isso quer dizer que uma coluna dessa tabela é uma espécie de ID único capaz de identificar a linha inteira entre as outras linhas só por esse numero (chave da tabela) e ela é herdada de outra tabela (por isso estrangeira), vc tem que estudar banco de dados pra entender como resolver isso mas nenhum servidor decente vai dar esse tipo de erro... oque quer dizer q vc fez alguma merda muito grande. Se você lembrar quando isso começou e nos falar as coisas que vc fez sem saber talvez a gente possa tentar te ajudar mais.
-
macalo deu reputação a Danihcv em erro no script
Tenta assim:
local storage = 193879834 local tempo = 1*60 ----(1 minuto) local minutes = 5 function onAttack(cid, target) if isMonster(target) and getCreatureName(target):lower() == 'training monk' then strValue = getPlayerStorageValue(cid, storage) doPlayerSetStorageValue(cid, storage, strValue+1) if getPlayerStorageValue(cid, storage) >= tempo then doPlayerAddStamina(cid, minutes) doPlayerSetStorageValue(cid, storage, 0) end end return true end Caso não dê certo, tente assim:
local storage = 193879834 local tempo = 1*60 ----(1 minuto) local minutes = 5 function onAttack(cid, target) if isMonster(target) and string.lower(getCreatureName(target)) == "training monk" then strValue = getPlayerStorageValue(cid, storage) doPlayerSetStorageValue(cid, storage, strValue+1) if getPlayerStorageValue(cid, storage) >= tempo then doPlayerAddStamina(cid, minutes) doPlayerSetStorageValue(cid, storage, 0) end end return true end -
macalo deu reputação a rorix em ALTERA SCRIPT
só mudar essa parte:
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você ainda tem ".. quantity .." dia(s) restante(s) de VIP.") onde ta vermelho vc muda, tenta por o numero 19,20,21,22, algum desses eh o vermelho, coloque assim por exemplo:
doPlayerSendTextMessage(cid, 20, "Você ainda tem ".. quantity .." dia(s) restante(s) de VIP.") Não esqueca do rep+ para quem te ajudou!
-
macalo deu reputação a rorix em ALTERA SCRIPT
aqui fera
function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você não e vip ,para adqrir sua vip fale .!buyvip", msgWelcome = "Seja Bem Vindo a Area vip." } daysvip = getPlayerStorageValue(cid, 13500) - os.time() if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce tem no total: ".. daysvip .." dias vip!") return TRUE end -
macalo deu reputação a Bluester em ALTERA SCRIPT
altere o local tempo = 2 -- Quanta horas ele vai usar o comando novamente ? ali está 2 = 2 horas. para
local tempo = 168 -- Quanta horas ele vai usar o comando novamente ? ali está 168 = 1 semana.
-
macalo deu reputação a zipter98 em Script de criar parede
Se o callback apresentar problemas, troque onTime por onTimer.
local wall_config = { itemid = xxx, --ID da parede. positions = { {x = x, y = y, z = z}, --Posições das paredes. {x = x, y = y, z = z}, {x = x, y = y, z = z}, --etc } } function onTime() for i = 1, #wall_config.positions do local wall = getTileItemById(wall_config.positions[i], wall_config.itemid).uid if wall == 0 then doCreateItem(wall_config.itemid, 1, wall_config.positions[i]) end end return true end Tag:
<globalevent name="create_wall" time="hora:minuto" event="script" value="nome_do_arquivo.lua"/> -
macalo deu reputação a RigBy em CRITICAL SISTEMA DIFERENTE
Acho que ninguém não ta fazendo, então vou começar a fazer amanha.
-
macalo deu reputação a Bruno em (PEDIDO)TOP Frags
Da forma que você fez não vai funcionar mesmo, pois a query frags não pega todas os campos da coluna players.
Tente apenas trocar a query por essa e deixa o resto como está:
$frag = $SQL->query('SELECT `p`.`name` AS `name`, `p`.`looktype` AS `looktype`, `p`.`lookaddons` AS `lookaddons`, `p`.`lookhead` AS `lookhead`, `p`.`lookbody` AS `lookbody`, `p`.`looklegs` AS `looklegs`, `p`.`lookfeet` AS `lookfeet`, COUNT(`p`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1 GROUP BY `name` ORDER BY `frags` DESC, `name` ASC LIMIT 0,5;'); -
macalo deu reputação a Bruno em (PEDIDO)TOP LEVEL
Vá até seu layout, crie um arquivo chamado widget_rank.php com o seguinte conteúdo:
Agora abra o seu layout.php e
Procure por:
<div id="Themeboxes">E logo abaixo coloque isso:
<?php include($layout_name.'/widget_rank.php'); ?>
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.