-
-
-
Pegando Endereços na memória do Client
Olá galera, gostaria de saber como faço para pegar os address dos clientes tibia, e como sei que aquele address é da mana ou HP essas coisas assim, se alguém puder me ajudar agradecerei muito.
-
Spell Clone Copia Do Player Até O Nome
tente usar este script depois e vê se funciona, se não funcionar ae talvez teria que mudar a Source mesmo!! function onCastSpell(cid, var) local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapa local from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapa local playerpos = getPlayerPosition(cid) local cloth = getCreatureOutfit(cid) local health = getCreatureHealth(cid) local maxhealth = getCreatureMaxHealth(cid) local MaximoSummon = 1 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 5 Clones local summons = getCreatureSummons(cid) if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) then doPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return true end if(table.maxn(summons) < MaximoSummon) then -- no summons local clone = doCreateMonster(getPlayerName(cid), playerpos) doConvinceCreature(cid, clone) setCreatureMaxHealth(clone, maxhealth) doCreatureAddHealth(clone, health) doSetCreatureOutfit(clone, cloth, -1) doSendMagicEffect(playerpos, 2) return TRUE end end
-
{Pedido} NPC PARA PROMOTION !
Tente desta forma! no script do promotion.lua PS: se der certo vai repetindo o procedimento para cada promotion. local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) local node2 = keywordHandler:addKeyword({'epic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can epicize you for 200000 gold coins. Do you want me to epicize you?'}) node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 120, promotion = 2, text = 'Congratulations! You are now epicized.'}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new())
-
Spell Clone Copia Do Player Até O Nome
Você ja tem um script feito né?? que apenas criar o personagem porém com outro nome, poste esse script aqui que eu faço a alteração para vc, ou me passe o nome do OT para eu ver as funções que tem nele de fazer bushin! PS: pedi pq não trabalho com OT Naruto, porém tenho um amigo que tem um OT desses e direto ajudo ele com os scripts, ae posso dar uma ajuda ae!
- {Pedido} NPC PARA PROMOTION !
-
Procuro Equipe
Olá, tenho 21 anos, faço ciência da computação achei legal seu projeto! Conhecimentos em: Java; C++(básico porém disposto a aprender mais "linguagem chatinha :P"); Delphi; .LUA(OTServ); LsL(Second Life); algumas alterações em hexadecimal em cliente para server; e não me lembro mais Gosto de: Criar histórias para quests; Quests; Criar magias; Scripts; Funções legais e diferentes; Mapper apenas o básico, não sou muito paciente para detalhar e tudo mais só faço o básico quando necessário em algumas quests que gosto de criar; mecho com o cliente de server modificações simples e agora vou começar a estudar o cliente Otserv também, o mesmo usado pela PxG. tempo disponível: Aos finais de semana e durante as férias de noite. se vc se interessar entre em contato ae! Oque me interessa: Criar algo diferente, pode até ser um tibia Global, porém modificando magias, quests, criaturas, funções e oque for possível para inovar! Contato: Skype: [email protected] E-mail: [email protected]
-
Criar Criatura e Teleportar o Player.
Ai... to com um tempinho livre aqui no trampo... mais nao tem como eu testar... testa ae !! --[[ tabela dos itens a serem "sacrificados" adicione novas linhas para checar por mais que 4 itens configure a posição onde ele deve estar e o id ]] local items = { {pos = {x = 9975, y = 9993, z = 7}, itemid = 5903}, } --[[ Posição que o player ser teleportado]] local pos = {x = 9990, y = 9990, z = 7} --[[ tabela dos monstros a serem criados após remover os itens adicione novas linhas para criar mais monstros configure a posição onde ele vai nascer o nome do monstro criado ]] local monsters = { {pos = {x = 9981, y = 9998, z = 7}, name = "Ferumbras Enfraquecido"}, } local config = { onSpawnMonster = CONST_ME_TELEPORT, -- efeito lançado quando monstro é criado onRemoveItem = CONST_ME_FIREAREA, -- efeito lançado quando item é removido missingItem = CONST_ME_POFF, -- efeito lançado quando não encontrou o item para remover } -- 255 faz com que não lance efeito algum function onUse(cid, item, frompos, item2, topos) local missing_items, remove_items = false, {} for _, itemcheck in pairs (items) do local i = getTileItemById(itemcheck.pos, itemcheck.itemid).uid if i < 1 then missing_items = true if tonumber(config.missingItem) and config.missingItem ~= 255 then doSendMagicEffect(itemcheck.pos, config.missingItem) end else table.insert(remove_items, i) end end if missing_items then return doPlayerSendCancel(cid, "Está faltando algum item.") else for _, iuid in pairs (remove_items) do if tonumber(config.onRemoveItem) and config.onRemoveItem ~= 255 then doSendMagicEffect(getThingPos(iuid), config.onRemoveItem) end doRemoveItem(iuid) end for _, monsterinfo in pairs (monsters) do local m = doCreateMonster(monsterinfo.name, monsterinfo.pos, false) if isCreature(m) and tonumber(config.onSpawnMonster) and config.onSpawnMonster ~= 255 then doSendMagicEffect(getThingPos(m), config.onSpawnMonster) end end doTeleportThing(cid,pos) end return true end
-
NPC Perguntar se Sim
Faz assim... me manda private o xml e o LUA do seu NPC
-
NPC Perguntar se Sim
Cara eu reescrevi o script de outra forma, nao tenho como testar ele porque estou fazendo td no meu serviço... testa ae e ve se funciona, se funcionar bom, se nao funcionar avisa que arrumo os erros... pelo teste de mesa rapido que fiz antes do chefe chegar o script irá rodar tranquilo!! 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, 'trade') or msgcontains(msg, 'changer')) then selfSay('Voce pode trocar seus tokens por: boots of haste, Demon Helmet, Frozen Starlight, Spellbook of Dark Mysteries, Royal Crossbow!', cid) talkState[talkUser] = 1 elseif(talkState[talkUser] == 1) then if(msgcontains(msg, 'boots of haste')) then selfSay('Boots of Haste custa 10 tokens, aceita trocar??', cid) if(msgcontains(msg, 'yes')) then if(doPlayerRemoveItem(cid, 5468, 10)) then doPlayerAddItem(cid, 2195, 1) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough tokens.', cid) end elseif(msgcontains(msg, 'no')) selfSay('Okay then.', cid) end elseif(msgcontains(msg, 'demon helmet')) then selfSay('Demon Helmet custa 10 tokens, aceita trocar??', cid) if(msgcontains(msg, 'yes')) then if(doPlayerRemoveItem(cid, 5468, 10)) then doPlayerAddItem(cid, 2493, 1) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough tokens.', cid) end elseif(msgcontains(msg, 'no')) selfSay('Okay then.', cid) end elseif(msgcontains(msg, 'frozen starlight')) then selfSay('Frozen Starlight custa 10 tokens, aceita trocar??', cid) if(msgcontains(msg, 'yes')) then if(doPlayerRemoveItem(cid, 5468, 10)) then doPlayerAddItem(cid, 2361, 1) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough tokens.', cid) end elseif(msgcontains(msg, 'no')) selfSay('Okay then.', cid) end elseif(msgcontains('spellbook of dark mysteries', cid)) then selfSay('Spellbook of Dark Mysteries custa 10 tokens, aceita trocar??', cid) if(msgcontains(msg, 'yes') then if(doPlayerRemoveItem(cid, 5468, 10)) then doPlayerAddItem(cid, 8918, 1) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough tokens.', cid) end elseif(msgcontains(msg, 'no')) selfSay('Okay then.', cid) end elseif(msgcontains(msg, 'royal crossbow')) then selfSay('Royal Rrossbow custa 10 tokens, aceita trocar??', cid) if(msgcontains(msg, 'yes')) then if(doPlayerRemoveItem(cid, 5468, 10)) then doPlayerAddItem(cid, 8918, 1) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have enough tokens.', cid) end elseif(msgcontains(msg, 'no')) selfSay('Okay then.', cid) end else selfSay('Sorry, you don\'t have the tokens.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
NPC Perguntar se Sim
- [Resolvido] [Ajuda] um erro na Banshee Quest.
não sei esta certo.. porem na linha 5 onde se encontra o "if getCreaturePosition(cid).y toPosition.y then" é uma condição, ele esta perguntando... Se a posição do Player é tal, então execute o comando abaixo... faz o teste... nesta linha vc apaga o "toPosition.y" deixando assim: "if getCreaturePosition(cid).y then" OU faz assim: "if getCreaturePosition(cid).y == toPosition.y then" não sei muito bem... tenta ae!!- NPC Perguntar se Sim
Fiz correndo aqui no trampo, q jah ta quase na hora de eu pegar minhas mercedes para ir para casa... testa ae!! além do mais estou meio enferrunado na linguagem e o cara q fez este script fez com algumas coisas diferentes q costumo usar!! porém eu tentei ... mais qqr coisa apenas retorne ae que eu arrumo!! ajudei? REP +... local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local t = { tokens = 5468, -- id of tokens items = { [1] = {"boots of haste", 10, 2195}, [2] = {"demon helmet", 10, 2493}, [3] = {"frozen starlight", 10, 2361}, [4] = {"spellbook of dark mysteries", 10, 8918}, [5] = {"royal crossbow", 10, 8851} } } function creatureSayCallback(cid, type, msg) imsexyandiknowit,s = 0, "" for i = 1, #t.items do imsexyandiknowit = imsexyandiknowit + 1 s = s .. "{" ..t.items[i][1].. "}" b = i == #t.items and "." or i == (#t.items-1) and " and " or ", " s = s .. b end if msgcontains(msg, 'trade') then npcHandler:say("You can change your tokens for: " .. s .."", cid) end for i = 1, #t.items do if msgcontains(msg, t.items[i][1]) then npcHandler:say("Este item custa " .. t.items[i][2] .."tokens, deseja trocar?", cid) if msgcontains(mag, 'yes') then if doPlayerRemoveItem(cid, t.tokens, t.items[i][2]) then doPlayerAddItem(cid, t.items[i][3], 1) npcHandler:say("Aqui tienes tu " .. t.items[i][1] .. "!", cid) else npcHandler:say("You don't have enough tokens!", cid) end else npcHandler:say("Nao?, Okay muito obrigado", cid) end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())Guilhermee Wallaueer reagiu a uma resposta no tópico: [DÚVIDA] Como fazer um spell dar múltiplos hits
- [DÚVIDA] Como fazer um spell dar múltiplos hits
Aproveitando td q o outro postou vou tentar lhe explicar... este código do post q ele te indicou agora documentarei o código dele e tentarei te ajudar! bem em cima foi, um script de magia de apenas um elemento, no caso o physical, agora multi hist com elementos diferentes! bem cara não sei se esta bem explicado; sou péssimo nisto, porém acho q dára para entender um pouco!! qqr coisa retorne uma resposta q tento te explicar melhor!! se ajudei, REP++- [Pedido] Npc de promoçao.
... precisar só mandar ae, se estiver ao meu alcance ajudarei sim- [Pedido] Npc de promoçao.
Bem cara, Ae já é outro problema... Vamos láá... Em data/weapons/weapons.xml abra ele e todas as armas que está lá dentro vc acrescenta a tag com a epig vocation Ex: <!-- Swords --> <!-- Broadsword --> <melee id="2413" unproperly="1" event="function" value="default"> <vocation id="4"/> <vocation id="8" showInDescription="0"/> <vocation id="12" showInDescription="0"/> //aqui vc acrescenta a epic vocation </melee> Agora vamos tentar resolver os potions se o seu for igual ao meu será assim: Vá em data/actions/scripts/potions.lua e na linha q tem: ... fazendo isto em todas as potions... se não for assim vc me retorna que ajudo vc!! - [Resolvido] [Ajuda] um erro na Banshee Quest.
Informação Importante
Confirmação de Termo