-
Total de itens
343 -
Registro em
-
Última visita
Tudo que othereality postou
-
Então galera eu tentei adicionar isso: if (getPlayerItemCount(cid, 2151)) >= 1 then doPlayerRemoveItem(cid, 2151, 1) else doPlayerSendCancel(cid, 'voce precisa de um ticket') end No script mas por algum motivo não deu certo. obs tentei na Function "onuse" é claro. Se alguem souber como devo adicionar eu agradeço. --Script by mock the bear --Config local SPEED = 1 local PLAYERSPEED = 600 --End local RAILS = {7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130} --Thxy rails itemid by nord local CART = {[0] = 7132, [2] = 7132, [3] =7131, [1] =7131} local CONFIG = { [7121] = 0,[7122] = 0, [7123] = {EAST, SOUTH}, [7124] = {WEST, SOUTH}, [7125] = {EAST, NORTH}, [7126] = {WEST, NORTH}, [7127] = 0,[7128] = 0, [7129] = 0,[7130] = 0, [152] = {NORTH, SOUTH}, --modificado por Piporealino Xtibia [153] = {SOUTH, NORTH}, [154] = {EAST, WEST}, [155] = {WEST, EAST}, --Random } local reverse = {[0] = 2, 3, 0, 1} -- All that table was made by nord. local function moveTrain(cid, frompos, direc) local tab if not isPlayer(cid) then return end local pos = getCreaturePosition(cid) local rar = findRail(pos) if not rar then doPlayerSetNoMove(cid, false) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -PLAYERSPEED) doMoveCreature(cid, direc) else tab = CONFIG[rar] if tab and type(tab) == 'table' then direc = tab[tab[1] == reverse[direc] and 2 or 1] -- by nord here end doSetItemOutfit(cid, CART[direc], -1) doMoveCreature(cid, direc) addEvent(moveTrain, SPEED, cid, pos,direc) end end function findRail(p) local p_ = {x=p.x, y=p.y, z=p.z} for i=0,10 do p_.stackpos = i local t = getTileThingByPos(p_) if isInArray(RAILS, t.itemid) then return t.itemid,t.uid end end end function onUse(cid, item, frompos) --Script by mock the bear if hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) then return false end doTeleportThing(cid, frompos, false) doPlayerSetNoMove(cid, true) doChangeSpeed(cid, PLAYERSPEED) addEvent(moveTrain, SPEED, cid, frompos, item.actionid-500) return true end OBS: Script feito pelo Mock e Nord (Otland) e editado pelo Piporealino (Xtibia).
-
cara você poderia mudar um 8.6 pra 8.5- Mas um 8.5 pra 8.6 não tem como... Vai ficar dando milhões erros "Debugs" o jogo vai ficar fechando o tempo todo e você nem poderia usar os items de 8.6 O jeito é baixar outro. Pra atualizar um servidor até quem sabe leva tempo fazendo.
-
[Pedido] Consertar Script Urgente Agradeço
tópico respondeu ao lingulas de othereality em Lixeira Pública
desculpa a demora pra responder: Esse stackpos você nem mexe... E a alavanca, você vai no map editor entra nas propriedades, dela e poem no unique id dela "1900", que é o numera que fica na tag. <action uniqueid="1900" script="voc_quest.lua" /> Dai testa a quest pra ver se você arrumou tudo direitinho, se der algum erro só falar. -
Para o item dar xp extra eu achei isso: Todos os créditos para o VodKart isso é um "ctrl+c ctrl+v" de um post dele. amuletexp.lua azul: representa exp em porcentagem... no caso 4 = 40% se quiser 50% é só colocar local rate = 1.5 e por ai vai... (no caso 15% ficaria 1.15) vermelho: ID DO SEU AMULETO Movements.xml Para ele dar fraqueza eu não sei fazer =S E quanto as Mastermind Potion Vá em actions, liquids, mastermind potion e deve estar assim: local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000) -- 10 minutes setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 3) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -10) function onUse(cid, item, fromPosition, itemEx, toPosition) if(not isSorcerer(cid) and not isDruid(cid)) then doCreatureSay(cid, "Only sorcerers and druids may drink this fluid.", TALKTYPE_ORANGE_1, cid) return true end if(doAddCondition(cid, condition)) then doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) doRemoveItem(item.uid) doCreatureSay(cid, "You feel smarter.", TALKTYPE_ORANGE_1, cid) end return true end Essa linha determina as vocations que podem usar: if(not isSorcerer(cid) and not isDruid(cid)) then Eu não sei se vai funcionar mas tente assim: No lugar de SUAVOC ponha o nome da vocation que está na no vocations.xml
-
Não da pra quebrar o item mas ele pode não ter efeito ou voltar um nível. sem que tem dois items um tem a chance maior que outro de de aumentar o nível do item. ai vai: <action itemid="8306" event="script" value="upgrade.lua"/> <action itemid="8305" event="script" value="upgrade.lua"/> --- Perfect refine system by Mock the bear (MTB). --- Email: [email]mock_#####@hotmail.com[/email] -- &a = weapon attack -- &d = weapon defense -- &s = shield defense -- &p = armor defense -- # = nivel do item -- @ = max level local gain = { gainArmor='&p+(1)',loseArmor='&p-(1)', gainShield='&s+#',loseShield='&s-(#+1)', gainAttack='&a+(1*(#))',loseAttack='&a-(1*(#+1))', gainDefense='&d+(1*(#))',loseDefense='&d-(1*(#+1))', chance='(100/math.sqrt((((@/4)+(#*2))/@)*#))', maxlvl = 12, blocked_ids = {8881} } local it = { --[itemid] = [percent] [8306] = 0, -- 0% additional [8305] = 100, -- 50% } if not setItemName then function setItemName(uid,name) return doItemSetAttribute(uid,'name',name) end function setItemArmor(uid,name) return doItemSetAttribute(uid,'armor',name) end function setItemDefense(uid,name) return doItemSetAttribute(uid,'defense',name) end function setItemAttack(uid,name) return doItemSetAttribute(uid,'attack',name) end function getItemAttack(uid) return getItemAttribute(uid,'attack') end function getItemDefense(uid) return getItemAttribute(uid,'defense') end function getItemArmor(uid) if type(uid) == 'number' then return getItemAttribute(uid,'armor') else return getItemInfo(uid.itemid).armor end end end local function isArmor(uid) -- Function by Mock the bear. if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then return true end return false end local function isWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 then return true end return false end local function isShield(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 4 then return true end return false end local function isBow(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 5 then return true end return false end local function getWeaponLevel(uid) -- Function by Mock the bear. uid = uid or 0 local name = getItemName(uid.uid) or getItemInfo(uid.itemid).name or '' local lvl = string.match(name,'%s%+(%d+)%s*') return tonumber(lvl) or 0 end local function doTransform(s,i) -- Function by Mock the bear. local c = string.gsub(s,'@',gain.maxlvl) local c = string.gsub(c,'&a',(getItemAttack(i.uid) ~= 0 and getItemAttack(i.uid) or getItemInfo(i.itemid).attack)) local c = string.gsub(c,'&d',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense)) local c = string.gsub(c,'&s',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense)) local c = string.gsub(c,'&p',(getItemArmor(i.uid) ~= 0 and getItemArmor(i.uid) or getItemInfo(i.itemid).armor)) local c = string.gsub(c,'#',getWeaponLevel(i)) local q = assert(loadstring('return '..c)) return math.floor(assert(q())) end function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(gain.blocked_ids, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant refine this item.") return TRUE end if isCreature(itemEx.uid) == TRUE then return FALSE end local level = getWeaponLevel(itemEx) local chance = doTransform(gain.chance,itemEx) if level == gain.maxlvl then doSendMagicEffect(toPosition, 2) return doPlayerSendTextMessage(cid, 24,"Your item is on max level, you can't upgrade it.") end doPlayerSendTextMessage(cid, 24,"Trying refine with "..(chance+it[item.itemid] > 100 and 100 or chance+it[item.itemid]).."% of sucess!") if chance+it[item.itemid] >= math.random(0,100) then local nm = getItemName(itemEx.uid) local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^ slot = slot~='' and ' '..slot or slot setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)..slot) addEvent(doPlayerSendTextMessage,500,cid, 24,"Your item has been upgrated to +"..(level+1)..slot..".") doSendMagicEffect(toPosition, 12) if isArmor(itemEx) then local get = doTransform(gain.gainArmor,itemEx) setItemArmor(itemEx.uid,get) elseif isBow(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx)) elseif isWeapon(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx)) setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx)) elseif isShield(itemEx.uid) then setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx)) end else if level == 0 then addEvent(doPlayerSendTextMessage,500,cid, 24,"No effect.") doSendMagicEffect(toPosition, 2) elseif level > 0 then local nm = getItemName(itemEx.uid) local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^ slot = slot~='' and ' '..slot or slot if level == 1 then setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..slot) addEvent(doPlayerSendTextMessage,500,cid, 24,"Your item back to normal.") else setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1)..slot) addEvent(doPlayerSendTextMessage,500,cid, 24,"Your item back to +"..(level-1)..slot..".") end if isArmor(itemEx) then setItemArmor(itemEx.uid,doTransform(gain.loseArmor ,itemEx)) elseif isWeapon(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx)) setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx)) elseif isBow(itemEx.uid) then setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx)) elseif isShield(itemEx.uid) then setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx)) end end doSendMagicEffect(toPosition, 9) end doRemoveItem(item.uid,1) return true end Algumas coisas relevantes: da pra editar o level máximo que item pode chegar em: maxlvl = 12 da pra editar também a chance extra que cada item da de aumentar o nível do item em: --[itemid] = [percent] [8306] = 0, -- 0% additional [8305] = 100, -- 50% }
-
Cara eu nunca mexi com account manager antão não sei, mas acredito que seja meio chatinho de fazer isso... O modo mais fácil é fazer o player novo surgir em uma sala onde ele escolhe uma raça dai ele da "use" em um item que vai remover os outfits dele e adicionar os outfits da raça. Depois teleporta-lo para o templo. Eu até tinha um script assim mas como desisti de fazer raças não tenho mais para te passar =S
-
poketibia Duvida Sobre O Help Poketibia
tópico respondeu ao Cokaia de othereality em Lixeira Pública
Tenho certeza que já vi isso aqui no xtibia.. da uma pesquisada que não deve ser difícil de encontra.- 1 resposta
-
- duvida
- help poke tibia
- (e 8 mais)
-
Cara se quer trocar a versão do map é bem simples pelo próprio map editor... Agora se quer trocar a versão do OT inteiro e fodinha já.
-
E meio "impossível" fazer esse tipo de alteração... Aconselho que distancie os npcs do seu OT pelo map editor.
-
A xp realmente mudou para 50 porem tem o adicional de 50% do premium o faz ela ficar 75. Você pode tirar a exp extra dos premiums pelo confg.lua se quiser. E o attackspeed é em milesegundos cada 1000 representa 1 segundo de diferença entre dois ataques o padrão do tibia acho que é 2000. Só esclarecendo melhor se você botar 200 ele vai atacar 5x por segundo e como e muito rápido buga e da para usar bot de fast attack aconselho que não ponha menos do que 700. Boa sorte com seu servidor. =)
-
[Pedido] Consertar Script Urgente Agradeço
tópico respondeu ao lingulas de othereality em Lixeira Pública
Vocations: 1 e 5 > Sorcerer 2 e 6 > Druid 3 e 7 > Paladin 4 e 8 > Knight Ve se agora se consegue ae... Ah.. outra coisa isso devia ser postado em "Duvidas Sobre scripts". -
Estou Com Um Problema Doplayersetvocation
tópico respondeu ao XJhoow de othereality em Lixeira Pública
No Vocations.xml tem lá o ID da vocation e lá no final diz algo mais ou menos assim: "from voc=x" Esse "from voc" é a vocation que o player vai virar quando logar e entrar de novo nunca entendi pra que. Pra arrumar se tem que por o mesmo numero do ID da vocation é claro. \/ Da uma olhada no link na minha assinatura =) -
Daaaaaaaale Galera!!! olhem o tópico novo: http://www.xtibia.com/forum/topic/177767-neworld-server-low/
-
- ajudem a fazer crescer!!!
- otserv
- (e 1 mais)
-
[Encerrado] Somente Eu Não Consigo Entrar No Meu Servidor!
um tópico no fórum postou othereality Tópicos Sem Resposta
Eai Galera.. eu baixei hoje o crystal server 0.1.9 para versão 9.31 do tibia e baixei o ip changer do otland para 9.31 No config lua botei o IP do meu hamachi para meus amigos entrarem no server. O Problema é que eles conseguem entrar e jogar normalmente mas eu não.. quando tento entrar no 1/1 fala que a senha está incorreta ou invalida. Como eu não tivesse trocado o IP do client. já tentei com meu próprio IP do hamachi e já tentei também com 127.0.0.1 Mas simplesmente não consigo entrar. Será que alguém sabe me ajudar? -
Aqui tem um Tópico que mostra como fazer um npc de quest que conta monstros: http://www.xtibia.com/forum/topic/149400-creatureevent-quest-para-matar-x-quantidade-de-monstros-com-npc-incluido/ Eu tentei Fazer com que ele desse três quests diferentes... Mas as três de matar bixos nesse mesmo formato. Mas não consegui. Alguém me ajuda? Obrigado a todos que responderem =)
-
Cara talkuser não tem nada a ver com isso... Eu tentei tirar o talkuser e falar direto "ok1" "ok2" que são keywords das missões 1 e 2. mas não deu em nada só a quest que eu ponho por ultimo funciona. da uma olhada ai se você consegue me ajudar =S Brigadão! obs: eu tentei oque você mandou mas não deu em nada.
-
Então eu fiz um npc que te da uma quest de matar 8 rats, Depois outra de matar 5 Cave rats e por ultimo matar um trainer. Porem quando eu falo as keywords das quests 1 e 2 o NPC não faz nada, apenas a terceira funciona. Eu tentei tirar a terceira quest para ver oque acontecia e ai a quest 2 funcionou mas a 1 ainda não. Então eu coloquei a terceira de novo e a 2 voltou a não funcionar. Conclusão por algum motivo só a ultima quest que eu ponho funciona. A seguir o script do npc: obs: tem também um script que muda o valor da storage quanto você mata os monstros pedidos. AJUDEM-ME OBRIGADO!!!
-
resolvido. podem fechar.
-
veio.. lê meu tópico antes de postar por favor.
-
[Encerrado] Como Mudo Versao Do Mapa Dbo Pra 8.50
tópico respondeu ao exorcist de othereality em Tópicos Sem Resposta
No map editor: entra em MAP > PROPRIEDADES E troca em Client Version. Se não tiver ali nem sei =/ -
"Your server has to be online if you want to add it to our list!" Esse ai é o erro. Mas eu sei ler... E sei pesquisar no google. Meu server está rodando; Eu não tenho router; Eu estou com No-Ip e com o config.lua direitinho; E eu abri as portas 7171, 7172 e 7173 do Firewall. Então se alguem realmente souber oque pode ser.. Muitíssimo abrigado. =)
- 1 resposta
-
- otserv
- otservlist
-
(e 5 mais)
Tags:
-
Então galera.. eu fiz um npc de com janelinha de trade aqui e ta dando o seguinte erro. não importa quanto dinheiro eu tenha fica como se eu não tivesse nada dai não posso comprar. Espero que seja um erro comum. obs: o itens xml na parte do valor das moedas está correto. Se quizerem posso postar o npc mas acho que não é nele o erro vou testar fazendo outro se alguem souber ajudar abrigado =) PODEM FECHAR JÁ RESOLVI.
-
Eu consegui resolver mas é um gambiarra desgraçada: No xml bote o seguinte script: script="LookNorte.lua" E no script bote: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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() if #npcHandler.focuses == 0 then selfTurn(NORTH) end npcHandler:onThink() end -- OTServ event handling functions end npcHandler:addModule(FocusModule:new()) Depois crie mais tres scripts modificando essa linha: NORTH SOUTH WEST EAST (vai aparecer alguem simplicando tudo lolololool)
-
Como assim não entra? oque acontece? não cria o char? não loga no char? No meu OT tem mais de 4 voc mas eu ponho pra o player começar "no voc" e ai ele começa numa salinha onde tem placas com o nome de cada voc. Então player usa a placa da voc e se torna ela. Se voce gostar da ideia e uma otima solução e fica bem legal. posso ajudar a fazer.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.