Ir para conteúdo

macalo

Campones
  • Total de itens

    53
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    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
  2. Upvote
    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.
  3. Upvote
    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
  4. Upvote
    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.
  5. Upvote
    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
  6. Upvote
    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!
  7. Upvote
    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
  8. Upvote
    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.
  9. Upvote
    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"/>
  10. Upvote
    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.
  11. Upvote
    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;');
  12. Upvote
    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.
×
×
  • Criar Novo...