Vinc
Conde-
Total de itens
625 -
Registro em
-
Última visita
-
Dias Ganhos
4
Tudo que Vinc postou
-
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
-
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
-
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/
-
pedido Script Para Quest Valendo 5 Rep+ Por Favor Ajudem
pergunta respondeu ao matheusfera de Vinc em Scripts
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. -
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
-
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
-
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 : )
-
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
-
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
- 6 respostas
-
- creaturescript
- boss
-
(e 1 mais)
Tags:
-
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.
-
pedido [Help] Como Criar Um Npc Que Da Vocations
pergunta respondeu ao albertinho77 de Vinc em Scripts
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- 2 respostas
-
- como criar um npc
- vocations
- (e 2 mais)
-
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...
- 3 respostas
-
- npc duel
- duel de npc
-
(e 2 mais)
Tags:
-
@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)
-
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)
-
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)
-
duvida n sanada, olhe o ultimo post do cara, e veja tbm que ele aproveitou para fazer outro pedido
-
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
-
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
-
pedras ou bixos em forma de pedra?(eu tinha visto um video disso eram bixos, se tem sangue é um bixo só pra avisa)
-
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
-
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
-
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.