-
Total de itens
631 -
Registro em
-
Última visita
-
Dias Ganhos
13
Tudo que jhon992 postou
-
Vai em, data/actions/scripts, duplica um arquivo e nomeia para "baufirst" sem as aspas e nele cole: function onUse(cid, item) local itemkina = {1234, 4567, 6789, 1011} -- troca pelos id's dos itens de kina local itemsorcer = {1234, 4567, 6789, 1011} -- troca pelos id's dos itens de sorcerer local itempaly = {1234, 4567, 6789, 1011}-- troca pelos id's dos itens de paladin local itemdruid = {1234, 4567, 6789, 1011} -- troca pelos id's dos itens de druid if (getPlayerStorageValue(cid, 103029) <= 0) then if (getPlayerVocation(cid) == 4) then for i=1, #itemkina do doPlayerAddItem(cid, itemkina[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end if (getPlayerVocation(cid) == 1) then for i=1, #itemsorcer do doPlayerAddItem(cid, itemsorcer[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end if (getPlayerVocation(cid) == 3) then for i=1, #itempaly do doPlayerAddItem(cid, itempaly[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end if (getPlayerVocation(cid) == 2) then for i=1, #itemdruid do doPlayerAddItem(cid, itemdruid[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ja fez esta quest.") end return TRUE end Agora abra data/actions/actions.xml e cole a tag: <action actionid="4568" script="baufirst.lua"/> Pronto, não esquece de configurar os itens das vocações e de adicionar a actionid 4568 no seu baú!
-
Vai em data/globalevents/scripts, duplica um arquivo e renomeia para "effectPilar" sem as aspas e nele cole: function onThink(interval, lastExecution) pos1 = {x=2495, y=2468, z=7} -- posição do pilar1 pos2 = {x=2501, y=2468, z=7} -- posição do pilar2 addEvent(efeito1, 1000, pos1, pos2) addEvent(efeito2, 1500, pos2) return TRUE end function efeito1(pos1, pos2) doSendAnimatedText(pos1, 'Exori Mort', 140) -- 140 é a cor, voce pode escolher uma cor mais adequada logando seu ot e usando /y doSendDistanceShoot(pos1, pos2, 31) end function efeito2(pos2) doSendAnimatedText(pos2, 'Arggg!', 140) -- pode mudar o texto a vontada, maximo 9 caracteres doSendMagicEffect(pos2, 17) -- 17 é o magic effect que ira soltar na posição do pilar2, para escolher outro use /z no seu ot e escolha um diferente end Agora em data/glovalevents/globalevents.xml, abra-o e cole a tag: <globalevent name="effectPilar" interval="10" event="script" value="effectPilar.lua"/> O interval acima é em segundos, ou seja, esse script vai funcionar a cada 10 segundos, mais dae tu configura como quiser o tempo. Não esquece tambem de mudar as posições dos pilar no script!
-
Era só te perguntado pra min la no primeiro topico function onUse(cid, item) local pos1 = {x=90, y=111, z=8} -- posição da pedra local pos2 = {x=91, y=111, z=8} -- posição da pedra local pos3 = {x=95, y=111, z=8} -- posição da pedra local pos4 = {x=96, y=111, z=8} -- posição da pedra local id1 = 8300 -- id da pedra local id2 = 8298 -- id da pedra local id3 = 8306 -- id da pedra local id4 = 8304 -- id da pedra if (getGlobalStorageValue(102089) <= 0) then if getItemStack(pos1, id1) and getItemStack(pos2, id2) and getItemStack(pos3, id3) and getItemStack(pos4, id4) then doRemoveItem(getItemStack(pos1, id1).uid, 1) doRemoveItem(getItemStack(pos2, id2).uid, 1) doRemoveItem(getItemStack(pos3, id3).uid, 1) doRemoveItem(getItemStack(pos4, id4).uid, 1) else doPlayerSendCancel(cid, "Reporte ao GM, alguma preda esta fora do lugar.") end setGlobalStorageValue(102089, 1) return TRUE else doCreateItem(id1,1,pos1) doCreateItem(id2,1,pos2) doCreateItem(id3,1,pos3) doCreateItem(id4,1,pos4) setGlobalStorageValue(102089, 0) end return TRUE end function getItemStack(pos, iid) for i = 1, 255 do posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i}) if posa.itemid == iid then return posa end end return nil end
-
function onLogin(cid) local cidadefree = {x=32360, y=31782, z=7} -- configura a posição onde o player vai teleportar quando acabar a vip if (getPlayerStorageValue(cid,13540) > 0) then setPlayerStorageValue(cid,13545,1) end if (getPlayerStorageValue(cid,13500) > 0 and getPlayerStorageValue(cid,13545) == 1) then doTeleportThing(cid, cidadefree) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your VIP's over!") setPlayerStorageValue(cid,13545,0) end return TRUE end
-
Vai em data/actions/script, duplica um arquivo e renomeia para "alavancaped" sem os aspas e nele cole: function onUse(cid, item) local pos1 = {x=90, y=111, z=8} -- posição da pedra local pos2 = {x=91, y=111, z=8} -- posição da pedra local pos3 = {x=95, y=111, z=8} -- posição da pedra local pos4 = {x=96, y=111, z=8} -- posição da pedra local id1 = 8300 -- id da pedra local id2 = 8298 -- id da pedra local id3 = 8306 -- id da pedra local id4 = 8304 -- id da pedra if getItemStack(pos1, id1) and getItemStack(pos2, id2) and getItemStack(pos3, id3) and getItemStack(pos4, id4) then doRemoveItem(getItemStack(pos1, id1).uid, 1) doRemoveItem(getItemStack(pos2, id2).uid, 1) doRemoveItem(getItemStack(pos3, id3).uid, 1) doRemoveItem(getItemStack(pos4, id4).uid, 1) else doPlayerSendCancel(cid, "Reporte ao GM, alguma preda esta fora do lugar.") end return TRUE end function getItemStack(pos, iid) for i = 1, 255 do posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i}) if posa.itemid == iid then return posa end end return nil end Agora em data/actions/actions.xml, abra-o e cole a tag: <action actionid="4567" script="alavancaped.lua"/> Não esquece de configurar as posições das pedras e seus ids, e tambem n esquece de por o actionid 4567 na alavanca.
-
[Pedido]Script Que Conforme Vc Mata O Bixo Sua Exp Vai Subindo
tópico respondeu ao exorcist de jhon992 em Lixeira Pública
Ta aew: http://www.xtibia.com/forum/topic/161056-exp-por-hit/ -
Vai em data/actions/scripts/liquids e abre o arquivo potions.lua, nele procure pela linha: local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) E substitua por: local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (500)) Obs: O normal é 900, diminua até tu achar que esta bom!
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 31) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 66000) setConditionFormula(condition, 1.7, -36, 1.7, -36) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doPlayerSendCancel(cid, "Desculpe,Só jogadores vips usam está magia.") doSendMagicEffect(cid,13) else return doCombat(cid, combat, var) end return TRUE end Deu, nas proximas magias tu jah vai saber onde mudar o effect!
- 2 respostas
-
- ajuda fast
- otserv
-
(e 1 mais)
Tags:
-
Quando Clicar No Baú, Receber Item Com Nome Diferente.
tópico respondeu ao history de jhon992 em Lixeira Pública
Erra pra ter me falado isso antes de eu fazer o script, mais vamos arrumar. Não esquece que ali no <action itemid="5810" script="dado.lua"/> é o id do Card Rat no itemid, então troca! Agora troca esse script de sorteio que eu fiz por esse: function onUse(cid, item, fromPosition, itemEx, toPosition) local value = math.random(1, 10) local effect = 25 -- muda o effect if (getItemName(item.uid) == "Card Rat") then doSendMagicEffect(getCreaturePosition(cid), effect) doCreatureSay(cid, getCreatureName(cid) .. ' sorteou o número ' .. value .. '.', TALKTYPE_ORANGE_1) end return TRUE end -
data/actions/scripts, duplica um arquivo e renomeia para "sorteio" sem aspas e cole: function onUse(cid, item, fromPosition, itemEx, toPosition) local value = math.random(1, 10) local effect = 25 -- muda o effect doSendMagicEffect(getCreaturePosition(cid), effect) doCreatureSay(cid, getCreatureName(cid) .. ' sorteou o número ' .. value .. '.', TALKTYPE_ORANGE_1) return TRUE end Agora em data/actions/actions.xml cole a tag: <action itemid="5810" script="dado.lua"/> Não esqueça de mudar o effect e o id do item!
-
Era pra funcionar para o lider tbm, n sei pq nao esta funcionando mais tenta isso, troca essa parte do código: if getPlayerGuildName(cid) == getPlayerGuildName(target) then por essa: if getPlayerGuildId(cid) == getPlayerGuildId(target) then
-
vai em data/actions/actions.xml e poem a tag: <action actionid="2010" event="script" value="dooreset.lua"/> Agora em data/actions/scripts, duplica um arquivo e nomeia pra "dooreset" sem as aspas e cole: function onUse(cid, item, fromPosition, itemEx, toPosition) local resets = getPlayerStorageValue(cid,2310) local resetsForOpen = 5 if resets >= resetsForOpen then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ter "..resetsForOpen.." resets para passar.") end return true end Por último poem o actionid na porta do seu ot pelo mapa editor! Créditos pro @Kydrai.
-
pode ser junto com esses aqui: registerCreatureEvent(cid, "repKill") registerCreatureEvent(cid, "Frags") registerCreatureEvent(cid, "Look") registerCreatureEvent(cid, "LevelBroadcast") registerCreatureEvent(cid, "BountyHunter") registerCreatureEvent(cid, "pvparena") registerCreatureEvent(cid, "castelo1") registerCreatureEvent(cid, "castelo2") registerCreatureEvent(cid, "castelo3") registerCreatureEvent(cid, "castelo4") registerCreatureEvent(cid, "pxparena") registerCreatureEvent(cid, "repLook") registerCreatureEvent(cid, "repDeath") registerCreatureEvent(cid, "Reward")
-
Vai em data/creaturescripts/scripts, duplica um arquivo e renomeia para "hitguild" sem as aspas, nele cole: function onCombat(cid, target) if getPlayerGuildName(cid) == getPlayerGuildName(target) then doPlayerSendTextMessage(cid, 27, "Voce nao pode atacar player da mesma guild.") return FALSE end return TRUE end Agora, data/creaturescripts/creaturescripts.xml, abra-o e cole a tag: <event type="combat" name="HitGuild" event="script" value="hitguild.lua"/> Por último vai em data/creaturescripts/scripts e abra o arquivo login.lua, e cole a tag: registerCreatureEvent(cid, "HitGuild")
-
Vlw pela dica, @JeDiAN + esses quotes são contra min, ficava dando que não era possivel pq a quantidade de quotes abertos era diferente das de fechado dae dechei assim msm. sahdua Vlw aew.
-
vai em data/talkactions/talkaction.xml e procura por /b, quando achar é só mudar o access para ="1"
- 2 respostas
-
- ajuda precisano mto
- tibia
-
(e 1 mais)
Tags:
-
Vai em data/npc/scripts, duplica um arquivo nomeio para "teleport" sem as aspas e cole: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local pos = {x=966, y=1029, z=7} local efectTel = 28 -- efeito do teleport function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if (msgcontains(msg, 'yes') and getPlayerLevel(cid) == 20) then doTeleportThing(cid, pos) doSendMagicEffect(pos, efectTel) return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora, data/npc, duplica um arquivo desses e nomei-a para "nome do npc", abra-o e cole: <?xml version="1.0" encoding="UTF-8"?> <npc name="nome do npc" script="teleport.lua" walkinterval="2000" floorchange="0"> <health now="999999" max="999999"/> <look type="300" corpse="2212"/> <parameters> <parameter key="message_greet" value="Você quer ser teleportado?."/> </parameters> </npc> Em vermelho ta as partes que vc deve mudar!
-
O do @xotserv ta correto. só vai em data/talkaction/script, suplica um arquivo e nomeia para "broadcast" sem as aspas e nele cole: local config= { id = 2421, -- id do item que precisa count = 1, -- qntos items precisa Remove = false -- true para remover o item depois de usar e false para não remover } function onSay(cid, words, param) if getPlayerItemCount(cid, config.id) < config.count then return doPlayerSendTextMessage(cid, 27, "Você precisa de "..config.count.." "..getItemNameById(config.id).." para usar este comando.") end if not param or param == "" then return doPlayerSendTextMessage(cid, 27, "Invalid param.") end doBroadcastMessage(getCreatureName(cid).." says: "..param) if config.Remove then doPlayerRemoveItem(cid, config.id, config.count) end return true end Agora abre, data/talkactions/talkactions.xml e cole a tag: <talkaction words="!broadcast" event="script" value="broadcast.lua"/> Deu, só n esquece de mudar o id do item que precisa pra usar no broadcast.lua! Obs: Créditos pro @xotservx.
-
data/creaturescripts/scripts, duplica um arquivo, nomeia para "brilhovip", abre e cole: function onLogin(cid) effectVip(cid) return TRUE end function effectVip(cid) local storage = 1234 -- storage vip local efeito = 3 -- numero do efeito local delay = 5 -- tempo em segundos if isCreature(cid) == TRUE then if (getPlayerStorageValue(cid, storage) > 0) then doSendMagicEffect(getCreaturePosition(cid), efeito) addEvent(effectVip, delay*1000, cid) end end return TRUE end Agora em data/creaturescripts/creaturescripts.xml abra-o e cole a tag: <event type="login" name="BrilhoVip" event="script" value="brilhovip.lua"/> Pronto, não esquece de configurar o storage vip, no brilhovip.lua!
-
na magia, tenta isso: local scom1 = createCombatObject() local scom2 = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 3.1, -360, 4.6, -600) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 0) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 3.2, -360, 4.9, -600) arr1 = { {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0} } arr2 = { {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(scom1, area1) setCombatArea(scom2, area2) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end function onTargetTile2(cid, pos) doCombat(cid,combat2,positionToVariant(pos)) end setCombatCallback(scom1, CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatCallback(scom2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2") local function onCastSpell1(parameters) if (isCreature(cid) == TRUE) then doCombat(parameters.cid, scom1, parameters.var) end end local function onCastSpell2(parameters) if (isCreature(cid) == TRUE) then doCombat(parameters.cid, scom2, parameters.var) end end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) return TRUE end
-
Pra fazer com efeito de sd, onde tem o numero 55 no script é sóh mudar por 17. Ta aew uma lista dos efeitos que quiser alterar novamente: http://www.xtibia.com/forum/topic/129140-lista-de-efeitos-854-e-como-usa-los/ E o erro não sei oque é, tenta almentar um pouco o interval e vê se continua.
-
http://www.xtibia.com/forum/topic/174645-for-intable/
-
Quando Clicar No Baú, Receber Item Com Nome Diferente.
tópico respondeu ao history de jhon992 em Lixeira Pública
Sim!, se tiver dúvida testa pra conferir. -
Quando Clicar No Baú, Receber Item Com Nome Diferente.
tópico respondeu ao history de jhon992 em Lixeira Pública
Vai em data/actions/scripts, duplica um arquivo, renomeia para "cardrat" sem as aspas e nele cole: function onUse(cid, item, fromPosition, itemEx, toPosition) if (item.uid == 2226) then if (getPlayerStorageValue(cid, 2226) <= 0) then doPlayerSendTextMessage(cid,22,"Você achou um Card Rat") item_uid = doPlayerAddItem(cid, 4854, 1) setItemName(item_uid, "Card Rat") doSetItemText(item_uid, "Essa é uma card rat.") setPlayerStorageValue(cid, 2226, 1) else doPlayerSendTextMessage(cid, 22, "O baú está vazio.") end else return 0 end return 1 end Agora vai em data/actions/actions.xml, abra-o e cole a tag: <action uniqueid="2226" script="cardrat.lua" /> Pronto, agora sóh colocar o uniqueid no seu baú! -
t é um array, array é uma variavel que guarda varios valores, nomes e etc. Guarda várias informações. val é uma variavel qualquer, por exemplo um nome. isInTable(t, val) = É uma função que verifica se o "val" esta dentro do array, se estiver retorna true se não estiver retorna false. Este "for" é uma repetição, que é utilizada para pegar posição por posição do array. Acho que é isso!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.