Ir para conteúdo

Vinc

Conde
  • Total de itens

    625
  • Registro em

  • Última visita

  • Dias Ganhos

    4

Tudo que Vinc postou

  1. n ta registado na xml da creatura é parecido com esse script que fiz http://www.xtibia.com/forum/topic/187607-boss-ressuretion/ e esse problema tamben assombra um outro sistema que vai ser muito ultil para scripter,que estou fasendo,e que embreve estara na area de biblioteca e o problema e o index e n statschage ou registra
  2. o caso é que isso ta retornado um erro de index nil value o que eu usei foi +- isso tab = { ["hydra"] = {"demoniac hydra",true, 30}, ["demoniac hydra"] = {"infernal hydra", false,550 } } function onStatsChange(cid,type,combat,value) monster = string.lower(getCreatureName(cid)) if tab[monster][2] then resto do code obs: as creaturas no script foram criadas especialmente para o mesmo e seus nomes estão corretos tanto pela monster.xml quanto pelo xml da propria criatura
  3. mas tem gente que n sabe nem colocar tag. obs:nem serve eu tenho(so um que uso pra testa script) então so falo isso pelos outros tem como da um olhada em um problema com index(index em string com index dentro retornão nil) que tenho?se tive o topicó é http://www.xtibia.com/forum/topic/187655-problema-com-index-de-tabelas-dentro-de-tabelas/
  4. va em quest.xml adione essa tag <action uniqueid="89774" event="script" value="repquest.lua" /> va em actions/script crie um arquivo lua com nome repquest e coloque isto dentro function getPoints(cid) local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") local rep = Info:getDataInt("rep") Info:free() return rep end function remove(cid, amount) db.executeQuery("UPDATE `players` SET `rep` = `rep` - " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";") doPlayerSendCancel(cid,'You lost '.. amount ..' reputation points.') end quantidade = 1000 --quantidade nessesaria para faser a quest(quantidade que sera retirada) premios = { {2160,100} , {2161,1} } --premios que o player ganhara --edite da seguite forma {id do item,quandidade} function onUse(cid, item, fromPosition, itemEx, toPosition) if getPoints(cid) >= quantidade then for i = 1, #premios do doPlayerAddItem(cid, premios[i][1],premios[i][2]) end remove(cid, quantidade) else doPlayerSendCancel(cid,'You need '.. amount ..' reputation points to do this quest.') end end agora so abrir o remre e adicionar o unique id 89774 na quest e pronto.
  5. vodkart so esqueceu uma coisa, e se o player ja tive extra exp de outra coisa(item,potion,event...) atualise para ele pegar a exp rate atual e somar com a extra que seu script da
  6. o monster tem string.lower, eu n cometeria um erro tão bobo ate poque no segundo exemplo ele adiciona o valor e o index,logo n é essse o problema
  7. bom o tilo já explica bastante o problema é que quando chamo por um index de string e um segundo index ele retorna nil nesses dois caso o index ta retornado nil tab = { ["demon"] = { "bla bla" ,12, true,24}, ["hydra"] = {"bla bla", 35,flase,35}} se eu chamao por tab[monster] sendo monster o nome do mostro e i um valor numerico entre 1 e 4 ele retorna index (is a nil value) e no sengudo caso tab = { event = {}, plaayer = {}} se eu seto tab.event[local] = x , sendo local e x um string ou numero ele retorna index (is a nil value) isso é problema no exe? outra coisa pra modifica um arquivo.txt eu posso simpleamenste faser isso abaixo ou devo usar " :write "? file = io.open(file):read() file = " bla bla " file:flush file:close obs: so voltarei para ver as resposta mais tarde por volta das 7 então n fiquem esperamdo eu responder antes disso : )
  8. so esqueceram de uma coisa 10005000 esse tipo de coisa ficaria cunfuso no do oneshot = 10.005kk no do dalvo = 1k5k bom to com preguisa de pensa em tão vai da primeira forma que pensa(mais tosco),usando como base o do oneshot function putkks(value) local e = 0 k = tostring(value) for i = 1, string.len(k),3 do if k:reverse():sub(i,i+2) == "000" then e = e+1 else break end end local n = value / 1000^e for i = 1, e do n = n .."k" end return n end
  9. boss ressereition é um sistema simples,de facil edição,pratico e leve. mas para que ele serve? ele fas como na queles jogos que quando você mata um boss ele volta numa senguda forma mais forte,o boss poden ter mais de duas formas (ele vai cria outro boss selecionado no script, no mesmo lugar que vc mato esse boss) va em data/creaturescript e abra o arquivo creaturescript.xml e adicione essa tag <event type="death" name="br" event="script" value="bossressuretion.lua"/> va em creaturescript/script e crie uma um arquivo lua com nome bossressuretion colocque isto dentro function onDeath(cid, corpose, lastHitKiller, mostDamageKiller) boss = {["bossname"] = "sencond form name" } --configure aki ef = 42 --efeito que solta no locau onde ele morrer monster = string.lower(getCreatureName(cid)) pos = getCreaturePos(cid) doRemoveCreature(cid) doCreateMonster(boss[monster], pos) doSendMagicEffect(pos, 22) return FALSE end agora va em data/monster procure pelo arquivo xml do mostro que que adionar ao evento abra-o e adicione essa tag <script> <event name="br"/> </script> caso ja exista a tag <script> </script> apenas adione isso dentro <event name="br"/> configurando simplesmente configure a tabela boss da seguinte forma boss = {["nome do boss"] = "nome da segunda forma do boss",["outro boss"] = "segunda forma do outro boss" } deve ser igual ao que consta no arquivo xml da creatura e deve estar em letras minusculas(o nome que aparce para o player) deve ser igual ao que consta no arquivo monsters.xml(é o mesmo nome que usa para summonar, em algums caso esse nome é diferente do que aparece aos player) exemplo: boss = {["demon"] = "apocalypse", ["orshabaal"] = "morgaroth", ["ghazbaran"] = "orshabaal" } no exemplo se você matase um demon ele viraria um apocalypse,se matase um Ghazbaran ele viraria um orshabaal e se matase o orshabaal ele viraria um morgaroth obs: os nomes sempre devem estar entre aspas
  10. sim esta,seria na seção de duvidas e pedidos reportado para que movam espere que movam
  11. mais dai so quem tem acesso 5 ou mais pode usa... porque se usa "or" se uma for verdadeira ele executa,logo o que ta no else n executa,a n ser que as duas sejam false ou seja só god usam.
  12. area errada,está seção é para postar script prontos,da proxima ves use a seção de pedidos e duvidas repotado para que movam n crie outro topico igual, espere um moderador mover este
  13. Vinc

    Npc Fight

    cara e se o player n mata o demon vai te o npc e um demon,e o "powerdemonster" n ta servindo pra nada(ta pra sumona um demon de qualquer jeito) local monster = doCreateMonster("Demon", playerpos) coloca local monster = doCreateMonster(powerdemonster, playerpos) arruma esse treco esse script n condis com o que vc falo O sistema de npc fight e um npc de batalha ele mesmo batalha com o player. Primeiramente voce precisa configurar que creature o poder dele vai ser exemplo um "Demon" então a vida,hit e spells seram do demon ja o newtype sera o do npc. E literamente um batalha com o npc. ele sumona um demon e troca a ropa por a do npc,nem o nome muda...
  14. @oneshot 2 coisas aki m deveria ser "and" if #newText > deathnote.max or getPlayerGroupId(cid) < 5 then e coloca a damage baseada no hp + mana(sorcer e druid com utamo poderiam sobreviver,ja que a relção é 5 hp por 30 mana por lv logo a mana é maior que 4 veses o hp)
  15. agente ta no xtibia arruma esse treco,pare de usa ctrl+c,ctrl+v obs:n disse que ripo so disse pra,n fica com preguisa de edita o negocio(eu vi que era vc lá tbm)
  16. teria que kika o player toda ves,ou modfica as sourcer porque n tem função que modifique a cap do player(tem db.executequerry mas teria que kika o player toda ves que executasse)
  17. Vinc

    Sistema De Sentar Novo

    duvida n sanada, olhe o ultimo post do cara, e veja tbm que ele aproveitou para fazer outro pedido
  18. agora que eu vi o um outro erro quye tinha local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) local condition = createConditionObject(CONDITION_CURSED) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 10, 3000, -25) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition2, CONDITION_PARAM_SUBID, 1) setConditionParam(condition2, CONDITION_PARAM_BUFF, true) setConditionParam(condition2, CONDITION_PARAM_TICKS, 1 * 30 * 1000) setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 25) setConditionParam(condition2, CONDITION_PARAM_HEALTHTICKS, 3000) function onCastSpell(cid, var) doTargetCombatCondition(cid, cid, condition2, 12) doCombat(cid, combat, var) return 1 end
  19. deu algum erro? se n funciona agora é bug no seu serve local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) local condition = createConditionObject(CONDITION_CURSED) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 10, 3000, -25) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 30 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, 25) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 3000) function onCastSpell(cid, var) doTargetCombatCondition(cid, cid, condition2, 12) doCombat(cid, combat, var) return 1 end
  20. Vinc

    Sistemas

    se vai quere o que eu já fiz até agora?(n sei o que deu mas parte do script n foi)
  21. pedras ou bixos em forma de pedra?(eu tinha visto um video disso eram bixos, se tem sangue é um bixo só pra avisa)
  22. Vinc

    Sistemas

    @oneshot se ja viu minha ideia(sua caxa de mensagems ta cheia então se n deve ter recebido a notficação que eu ja respondi)? tive o trabalho descreve a ideia pelos menos responda o que achou(responda por lá mesmo).
  23. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) local condition = createConditionObject(CONDITION_CURSED) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 10, 3000, -25) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 30 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, 25) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 3000) function onCastSpell(cid, var) local player = getCreaturePosition(cid) doAddCondition(cid, condition2) doSendMagicEffect(player, 12) doCombat(cid, combat, var) return 1 end
  24. Vinc

    Fixar Bless.

    apenas corrijindo, ele disse até o lv 100, n apartir function onLogin(cid) if getPlayerLevel(cid) <= 100 then doPlayerSetLossSkill(cid, 0) doCreatureSetDropLoot(cid, false) return true end resto é igual
  25. eu disse que é um teoria e que supostamente um cientista la conseguiu realizar(por algums fato acho dificil de comprovar). é um teoria meio absurda( ate porque tem um outro tentado receber um sinal antes de envialo com essa teoria) mas se for real seria muito foda e pf, da pra n enche o saco porcausa do português. até porque se fossemos nos comuinicar et n seria em português a comunicação( provavelmente ingles que a lingua "internacional" )
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...