-
Total de itens
101 -
Registro em
-
Última visita
Tudo que lucasjockey postou
-
Veja se adicionando isso ao movements.xml resolve: <movevent type="Equip" itemid="2496" slot="head" level="130" function="onEquipItem"> <vocation name="Knight"/> <vocation name="Elite Knight" showInDescription="0"/> <vocation name="Paladin"/> </movevent> <movevent type="DeEquip" itemid="2496" slot="head" function="onDeEquipItem"/> ~~ Exemplo é do horned helmet.
-
Primeiro retire essa linha do spells.xml: <instant name="Healing" words="healing" direction="1" enabled="0" script="healing.lua"></instant> Agora veja se o monk normal está se regenerando (healing). Se ele estiver é só pega do script dele: <defense name="healing" interval="1000" chance="17" min="30" max="50"> <attribute key="areaEffect" value="blueshimmer"/> </defense> Caso não de certo, coloque essa linha no spells.xm: <instant name="Healingation" words="healing" direction="1" enabled="0" script="healingation.lua"></instant> Agora muda o nome do script de "healing.lua" para "healingation.lua". No monstro coloque isso: <defense name="healingation" interval="1000" chance="100" min="240000" max="240000"/></defense> Agora se da o reserved eu vo sai da área de programação e vo pra área de marketing ^^ (brincando)...
-
[Encerrado] Ajuda No Meu Ot Urgente
tópico respondeu ao israel101094 de lucasjockey em Tópicos Sem Resposta
Ve se isso ajuda: http://www.xtibia.com/forum/Download-Anti-...qui-t84287.html -
Só adicionar "or (getPlayerVocation(cid) == ID)" dentro do parênteses.
-
Tenta com ~= então, se não der não sei como te ajudar. function vipTime(cid) if (db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") ~= 0) then local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip_time = Query:getDataInt("vip_time") return vip_time else return -1 end end
-
Típico de um iniciante em programação, isSorcerer e isDruid são funções definidas para a ID da vocação. As ID's são determinadas no arquivo Data\xml\vocations.xml. Pegue o ID (número) da sua nova vocação e reescreva a linha assim: Veja se da certo, ainda não testei.
-
Duvida Sanada Por Lucasjockey And Frerety
tópico respondeu ao Khost de lucasjockey em Lixeira Pública
Troca isso: doTransformItem(item.uid, EMPTY_POTION) Por isso: doRemoveItem(item.uid) Como o Frerety disse, só a função que esta com outro nome. -
Tenta isso (modifique a função vipTime): function vipTime(cid) if (db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") <> 0) then local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip_time = Query:getDataInt("vip_time") return vip_time else return -1 end end
-
Então vamos criar a instance "healing", vá em Data\spells\spells.xml e coloque essa linha: <instant name="Healing" words="healing" direction="1" enabled="0" script="healing.lua"></instant> Agora crie o script "healing.lua" (sem aspas) na pasta Scripts com o seguinte: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) function onCastSpell(cid, var) doCombat(cid, combat, var) end Agora no Training Monk, deixe o script que estava antes: <?xml version="1.0" encoding="UTF-8"?> <monster name="Trainer" nameDescription="a trainer" race="blood" experience="0" speed="210" manacost="0"> <health now="240000" max="240000"/> <look type="57" head="20" body="30" legs="40" feet="50" corpse="3128"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag staticattack="50"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="0" max="-1"/> </attacks> <defenses armor="0" defense="0"> <defense name="healing" interval="1000" chance="100" min="240000" max="240000"/> </defenses> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="0"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="1"/> </immunities> <loot> <item id="2148" countmax="20" chance1="100000" chancemax="0"/> <item id="1949" chance="10000"/> <item id="2467" chance="10000"/> <item id="2642" chance="6666"/> <item id="1987" chance="100000"> <inside> <item id="2044" chance="6666"/> <item id="2689" countmax="3" chance1="20000" chancemax="0"/> <item id="2401" chance="3333"/> <item id="2166" chance="1428"/> </inside> </item> </loot> </monster>
-
Substitua o "Healing" por "Ultimate Healing":
-
-- aztec lever function onUse(cid, item, frompos, item2, topos) if item.uid == 6000 and item.itemid == 1945 then player1pos = {x=385, y=373, z=5, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=385, y=374, z=5, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=385, y=375, z=5, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=385, y=376, z=5, stackpos=253} player4 = getThingfromPos(player4pos) player5pos = {x=385, y=377, z=5, stackpos=253} player5 = getThingfromPos(player5pos) player6pos = {x=387, y=373, z=5, stackpos=253} player6 = getThingfromPos(player6pos) player7pos = {x=387, y=374, z=5, stackpos=253} player7 = getThingfromPos(player7pos) player8pos = {x=387, y=375, z=5, stackpos=253} player8 = getThingfromPos(player8pos) player9pos = {x=387, y=376, z=5, stackpos=253} player9 = getThingfromPos(player9pos) player10pos = {x=387, y=377, z=5, stackpos=253} player10 = getThingfromPos(player10pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 and player5.itemid > 0 and player6.itemid > 0 and player7.itemid > 0 and player8.itemid > 0 and player9.itemid > 0 and player10.itemid > 0 then nplayer1pos = {x=397, y=374, z=5} nplayer2pos = {x=397, y=375, z=5} nplayer3pos = {x=397, y=376, z=5} nplayer4pos = {x=397, y=377, z=5} nplayer5pos = {x=397, y=378, z=5} nplayer6pos = {x=401, y=374, z=5} nplayer6pos = {x=401, y=375, z=5} nplayer6pos = {x=401, y=376, z=5} nplayer6pos = {x=401, y=378, z=5} nplayer6pos = {x=401, y=379, z=5} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doSendMagicEffect(player5pos,2) doSendMagicEffect(player6pos,2) doSendMagicEffect(player7pos,2) doSendMagicEffect(player8pos,2) doSendMagicEffect(player9pos,2) doSendMagicEffect(player10pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doTeleportThing(player5.uid,nplayer5pos) doTeleportThing(player6.uid,nplayer6pos) doTeleportThing(player7.uid,nplayer7pos) doTeleportThing(player8.uid,nplayer8pos) doTeleportThing(player9.uid,nplayer9pos) doTeleportThing(player10.uid,nplayer10pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doSendMagicEffect(nplayer5pos,10) doSendMagicEffect(nplayer6pos,10) doSendMagicEffect(nplayer7pos,10) doSendMagicEffect(nplayer8pos,10) doSendMagicEffect(nplayer9pos,10) doSendMagicEffect(nplayer10pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Somebody in your team has already done this quest.") end elseif item.uid == 6000 and item.itemid == 1946 then if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) doPlayerSendCancel(cid,"Sorry, not possible.") else doPlayerSendCancel(cid,"Precisa de 10 lutadores.") end end
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local combata = createCombatObject() setCombatParam(combata, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combata, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combata, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combata, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combata, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW) setCombatFormula(combata COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local area = createCombatArea( { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0} } ) setCombatArea(combata, area) function onUseWeapon(cid, var) local chance = math.random(0, 10) if (chance <= 2) then return doCombat(cid, combata, var) else return doCombat(cid, combat, var) end end ~~Edit Foi arrumado um pequeno erro. ~~Edit 2 Veja se da certo agora...
-
Desculpe pelo equívoco... Exemplo com 1: if (getPlayerVocation(cid) == 0) then Exemplo com 2: if (getPlayerVocation(cid) == 1) or (getPlayerVocation(cid) == 2) then Exemplo com 3: if (getPlayerVocation(cid) == 0) or (getPlayerVocation(cid) == 2) or (getPlayerVocation(cid) == 6) then Se quiser excluir apenas uma vocação: if (getPlayerVocation(cid) <> 2) then ... O tipo de linguagem é LUA, parece uma mistura de Basic com C. // 2ª Dúvida: Os valores em grifado são as posições XYZ. Posts: 540 To ganhando =O
-
1ª dúvida: Abra o script da determinada runa e onde esta escrita esta função: Substitue por: Troque o 0 na parte grifada pela ID desejada. Veja as ID's das vocações em Data\XML\Vocations.xml. // 2ª Dúvida Mesma coisa, só que em scripts de magia:
-
Ajuda Com Algumas Magias Aque Pf :)
tópico respondeu ao amarula182 de lucasjockey em Lixeira Pública
Se não aparece a fala nas magias do seu OT tente colocar a função doCreatureSay nos scripts de magia. -
[npc]addon Por Item, Com Todos Os Outfits.
tópico respondeu ao alissonlinneker de lucasjockey em NPCs, monsters e raids
lol esses novos ots... premium = true quer dizer que não é premium? ~~ Mas o npc é muito bom, obrigado. -
[Arquivado]Aprenda A Programar Em 10 Anos
tópico respondeu ao Gofaia de lucasjockey em Noticias - Arquivo
10 anos? Em 5 anos da pra faze engenharia da computação ou em apenas 3 fazer ciência da computação, pelo menos se você passar no vestibular e tiver o ensino médio completo ^^ -
E Como Eu Faço Para Editar O Exe De Algum Ot?
tópico respondeu ao CoLoRaDo de lucasjockey em Lixeira Pública
Engenharia Reversa -
Você vai ter que dividir o script que o Fluffy te passou entre vários NPC's. Segue ai um exemplo: NPC RUFUS (vendedor de warrior addon): Crie um script na pasta data/npcs/scripts com o nome warradd.lua, dentro do arquivo coloque isso: local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 then selfSay('Ola ' .. creatureGetName(cid) .. '! Eu tenho os addons de warrior, eh soh falar o nome da roupa e primeiro pro addon 1 e segundo pro addon 2, exemplo: warrior primeiro...') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe-me, ' .. creatureGetName(cid) .. '! Falo com voce em um minuto.') elseif msgcontains(msg, 'warrior primeiro') then selfSay('Você tem as 50 Turtle Shells necessarias para conseguir o addon?') talk_state = 11 talk_start = os.clock() elseif talk_state == 11 and msgcontains(msg, 'yes') then if getPlayerItemCount(cid,5899) == 50 then doPlayerRemoveItem(cid,5899,50) doPlayerAddAddon(cid, 134, 1) doPlayerAddAddon(cid, 142, 1) selfSay('Parabens !!! Voce Adiquiriu um novo addon.') talk_state = 0 talk_start = os.clock() else selfSay('Desculpe Você nao tem o necessario para esse addon.') talk_state = 0 talk_start = os.clock() end elseif msgcontains(msg, 'warrior segundo') then selfSay('Você tem os 50 Ape Fur necessarios para conseguir o addon?') talk_state = 12 talk_start = os.clock() elseif talk_state == 12 and msgcontains(msg, 'yes') then if getPlayerItemCount(cid,5877) == 50 then doPlayerRemoveItem(cid,5877,50) doPlayerAddAddon(cid, 134, 2) doPlayerAddAddon(cid, 142, 2) selfSay('Parabens !!! Voce Adiquiriu um novo addon.') talk_state = 0 talk_start = os.clock() else selfSay('Desculpe Você nao tem o necessario para esse addon.') talk_state = 0 talk_start = os.clock() end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 5 then selfSay('Ate mais, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 elseif msgcontains(msg, 'nao') and getDistanceToCreature(cid) < 5 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Volte aqui quando tiver os itens nescessarios.') talk_start = os.clock() talk_state = 0 end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Proximo...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Ate mais.') focus = 0 end end end Agora crie um arquivo na pasta data/npcs, chamado rufus.xml, com o seguinte: <?xml version="1.0"?> <npc name="Rufus" script="data/npc/scripts/warradd.lua" access="5" lookdir="2"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="133" head="114" body="114" legs="114" feet="123" addons="3"/> </npc> Agora é só colocar ele no mapa ou sumonar ele com o GM.
-
[Ticker] 100 Leveis Em 15 Dias
tópico respondeu ao BillyBola de lucasjockey em Notícias e Discussões - Tibia Global
Botter + Sharer + Sem escola + Não toma banho + HL's + Grana + Sem vida + Vicio tOTAL 100% = 100lvls/15dias = 6.66lvls/dia. -
[Arquivado]Scripter & Programmer
tópico respondeu ao Tprocheira de lucasjockey em Noticias - Arquivo
Tudo é binário e vai ser interpretado como binário, não importa se foi feito com ou sem compilador, notepad... Então quer dizer que quando eu escrever um programa em hexadecimal eu sou um scripter? Como VaL falo não existe nenhuma diferença. A diferença está entre hardware e software. -
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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, 'soft boots')) then selfSay('Do you want to repair your worn soft boots for 10000 gold coins?', cid) talkState[talkUser] = 1 if(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 6530) >= 1) then if(doPlayerRemoveMoney(cid, 10000) == TRUE) then local item = getPlayerItemById(cid, TRUE, 6530) doTransformItem(item.uid, 2640) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough gold.', cid) end else selfSay('Sorry, you don\'t have the item.', cid) end elseif(msgcontains(msg, 'no') and and talkState[talkUser] == 1) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end talkState[talkUser] = 0 if(msgcontains(msg, 'infernal bolt')) then selfSay('Want to change a Soul Orb and 5000 gold coins by 10 Infernal Bolts?', cid) talkState[talkUser] = 1 if(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 5944) >= 1) then if(doPlayerRemoveMoney(cid, 5000) == TRUE) then local item = getPlayerItemById(cid, TRUE, 5944) doTransformItem(item.uid, 6529, 10) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough gold.', cid) end else selfSay('Sorry, you don\'t have the item.', cid) end elseif(msgcontains(msg, 'no') and and talkState[talkUser] == 1) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end talkState[talkUser] = 0 return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Tenta esse acima. Ele estava com uns erros de IF. ;D
-
http://www.sqlite.org/ Baixe o programa e edite o arquivo com a extenção .S3DB colocando a posição Temple do ACC Manager e o Spawn corretos. Agora abra o Config.lua e veja essas linhas: Edite com a posição correta do lugar onde o player irá nascer. Bem vindo ao XTibia ;D
-
[onlogin Action]anti Multi-client(mc) [8.4] (consertei)
tópico respondeu ao ravockz de lucasjockey em Lixeira Pública
E se estivessem usando um roteador ou jogando em lan house?? Use o comando /check se o seu distro tiver. ;D -
Se fosse o real, você daria /getonline e veria Chuck Norris (lvl 99999999999999999999999999999999999999999999999999999999999999999999999999999999 999999999999999999999999999999999999999999999999999999999999999999999999999999999 999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999 x 10 ³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³) Vou contar a origem do Chuck Norris: Uma antiga lenda chinesa dizia que em uma noite de eclipse lunar uma criança nasceria de um ovo de dragão, se alimentaria das chamas sagradas e derrotaria todo o mal do mundo. Chuck Norris não é este homem, pois ele matou este homem, e de quebra matou o dragão. =)
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.