Ir para conteúdo

Tchubaka

Visconde
  • Total de itens

    395
  • Registro em

  • Última visita

  • Dias Ganhos

    4

Tudo que Tchubaka postou

  1. Tchubaka

    Peça Seu Mapa

    O DemonBholder mandou eu postar aki. ele ira tirar o "PEDIDO" eu ja conversei com uns coordenadores, equip e etc. pra fazer isso.
  2. @editei la. diminui um pouco haha
  3. O download nao e premium preste mais atenção. check antes de falar as coisas. Mais Atenção Da próxima vez.
  4. Tchubaka

    Peça Seu Mapa

    Estou me aprimorando na area de mapper entao. Se você está pensando em renovar seu OT com uma nova área, uma nova loja de itens, um novo banco, dp, etc. Você está no tópico certo. Mandem seus pedidos que irei fazer o melhor possivel do desejado.
  5. local function onCastSpellDelayed(cid, combat, var, combat_id) if(isCreature(variantToNumber(var)) and isCreature(cid) and not getTileInfo(getThingPosition(variantToNumber(var))).protection) then doCombat(cid, combat[combat_id], var) local playerpos = getPlayerPosition(cid) local cloth = getCreatureOutfit(cid) local health = getCreatureHealth(cid) local maxhealth = getCreatureMaxHealth(cid) local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 2 Clones local summons = getCreatureSummons(cid) if(table.maxn(summons) < MaximoSummon) then -- no summons local clone = doCreateMonster("clone", playerpos) doConvinceCreature(cid, clone) setCreatureMaxHealth(clone, maxhealth) doCreatureAddHealth(clone, health) doSetCreatureOutfit(clone, cloth, -1) doSendMagicEffect(playerpos, 2) return TRUE end end
  6. Tchubaka

    Refine System

    config = { max = 13, -- NíVEL MáXIMO DE REFINO interface = 2, -- 1 PARA INGLêS, 2 PARA PORTUGUêS message = { type = MESSAGE_EVENT_DEFAULT, delay = 0.5, success = {"You have succeeded in upgrade of %s to level +%s", "Você refinou %s para o nível +%s com sucesso."}, fail = {"You have failed in upgrade of %s to level +%s", "Você falhou em refinar %s para o nível +%s."}, recede = {"You have failed in upgrade of %s to level +%s. The refine level has downgraded to +%s.", "Você falhou em refinar %s para o nível +%s e o nível regrediu para +%s."}, critical = {"You have critical failed in upgrade of %s to level +%s. The refine level has vanished.", "Você falhou criticamente em refinar %s para o nível +%s. O nível resetou."}, maxlevel = {"This %s is already on max upgrade level.", "Este(a) %s já está no nível máximo de refino."}, broadcast = {"%s has succeeded in the upgrade of a %s to level +%s.\nCongratulations.", "%s teve sucesso em refinar %s para o nível +%s."}, tool_error = {"This isn't a valid refine item.", "Esse não é um item de refino válido"}, tool_maxlevel = {"This %s can only upgrade items to level +%s", "Este(a) %s só pode refinar itens abaixo de +%s."}, notupgradeable = {"This item isn't upgradeable.", "Este item não é refinável"}, prompt = {"Trying to refine %s to level +%s with %s%% success rate.", "Tentando refinar %s ao level +%s com %s%% de chance de sucesso."}, notenoughitems = {"You don't have %s %s to refine this item.", "Você não tem %s %s para refinar este item."} }, attributes = {{"attack", true}, {"defense", true}, {"armor", false}}, -- MEXA APENAS SE ENTENDER O CóDIGO downgrade = 5, -- NíVEL QUE EQUIPAMENTOS COMEçAM A REGREDIR critical = 7, -- NíVEL QUE EQUIPAMENTOS COMEçAM A RESETAR broadcast = {level = 7, key = true}, -- CONFIGURAçãO DO BROADCAST: 'level' define quais níveis podem mandar broadcast e 'key' liga e desliga broadcasts. }, tools = { --[[ Configure aqui as diferentes ferramentas de refino. [itemid] = {max = x, chancemax = y, removeable = z} 'itemid' será o itemid da ferramenta 'x' é até qual nível a ferramenta pode refinar 'chancemax' é um bônus que a ferramenta adiciona a chance de refino 'z' define se a ferramenta some depois de refinar [true ou false] ]]-- [8302] = {max = 6, chancemax = 0, removeable = true, reagent = 0, amountbylevel = false}, [8299] = {max = 10, chancemax = 0, removeable = true, reagent = 0, amountbylevel = false}, [4846] = {max = 12, chancemax = 0, removeable = false, reagent = 5880, amountbylevel = true}, [8300] = {max = 12, chancemax = 3, removeable = false, reagent = 8306, amountbylevel = true} }, isEquipment = function(self) local weapontype = self:getItemWeaponType() if (weapontype > 0 and weapontype < 7) or self.item.info.armor ~= 0 then return true end return false end, setItemName = function(self, name) return doItemSetAttribute(self.item.uid, "name", name) end, chance = function(self) local formula = math.ceil((100/math.sqrt((((self.config.max/4)+(self.item.level*2.3))/self.config.max)*self.item.level))) local ret = {base = (formula > 100 and 100 or formula), downgrade = 7 * self.item.level, critical = 2.5 * self.item.level} return ret end, amount = function(self) return math.ceil(self.item.level * 0.33) end } function Refine:load(item) local obj = setmetatable({item = {uid = item.uid, info = getItemInfo(item.itemid)}}, {__index = function(self, index) if(_G[index]) then return setmetatable({callback = _G[index]}, {__call = function(self, ...) return self.callback(item.uid, ...) end}) else return Refine[index] end end}) if not obj:isEquipment() then return false end obj:updateLevel() return obj end function Refine:updateLevel() local info = self:getItemName():match("%+(%d+)") self.item.level = (tonumber(info) or 0) end function Refine:getLevel() local info = self:getItemName():match("%+(%d+)") return tonumber(info) or 0 end function Refine:upgrade(cid, item) if self.config.message.delay > 0 then doPlayerSendTextMessage(cid, self.config.message.type, self.config.message.prompt[self.config.interface]:format(self.item.info.name, self.item.level + 1, (self:chance().base > 100 and 100 or self:chance().base))) end local tool = self.tools[item.itemid] if not tool then return doPlayerSendTextMessage(cid, self.config.message.type, self.config.message.tool_error[self.config.interface]) end if self.item.level == self.config.max then return doPlayerSendTextMessage(cid, self.config.message.type, self.config.message.maxlevel[self.config.interface]:format(self.item.info.name)) end if self.item.level >= tool.max then return doPlayerSendTextMessage(cid, self.config.message.type, self.config.message.tool_maxlevel[self.config.interface]:format(getItemNameById(item.itemid), tool.max)) end if tool.reagent ~= 0 then local count = (tool.amountbylevel == true and self:amount() or 1) if not doPlayerRemoveItem(cid, tool.reagent, count) then return addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.notenoughitems[self.config.interface]:format(count, (count > 1 and getItemInfo(tool.reagent).plural or getItemNameById(tool.reagent)))) end end if tool.removeable == true then doRemoveItem(item.uid, 1) end if (self:chance().base + tool.chancemax) * 100 >= math.random(1, 10000) then addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.success[self.config.interface]:format(self.item.info.name, (self.item.level + 1))) if self.config.broadcast.key == true and (self.item.level + 1) >= self.config.broadcast.level then doBroadcastMessage(self.config.message.broadcast[self.config.interface]:format(getCreatureName(cid), self.item.info.name, (self.item.level + 1))) end local r = self.config.attributes if self.item.level > 0 then self:setItemName(self:getItemName():gsub("%+(%d+)", "+".. (self.item.level + 1))) for i = 1, #r do if getItemAttribute(self.item.uid, r[i][1]) ~= nil then doItemSetAttribute(self.item.uid, r[i][1], getItemAttribute(self.item.uid, r[i][1]) + (r[i][2] == true and (self.item.level + 1) or 1)) end end else self:setItemName(self:getItemName() .." +1") for i = 1, #r do if self.item.info[r[i][1]] ~= 0 or self:getItemWeaponType() ~= 5 then doItemSetAttribute(self.item.uid, r[i][1], self.item.info[r[i][1]] + 1) end end end else local r = self.config.attributes if self.item.level >= self.config.critical then if self:chance().critical * 100 >= math.random(1, 10000) then addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.critical[self.config.interface]:format(self.item.info.name, (self.item.level + 1))) self:setItemName(self.item.info.name) for i = 1, #r do if self.item.info[r[i][1]] ~= 0 then doItemSetAttribute(self.item.uid, r[i][1], self.item.info[r[i][1]]) end end elseif self:chance().downgrade * 100 >= math.random(1, 10000) then addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.recede[self.config.interface]:format(self.item.info.name, (self.item.level + 1), (self.item.level - 1))) if self.item.level > 0 then self:setItemName(self:getItemName():gsub("%+(%d+)", "+".. (self.item.level - 1))) for i = 1, #r do if getItemAttribute(self.item.uid, r[i][1]) ~= nil then doItemSetAttribute(self.item.uid, r[i][1], getItemAttribute(self.item.uid, r[i][1]) - (r[i][2] == true and self.item.level or 1)) end end else self:setItemName(self.item.info.name) for i = 1, #r do if self.item.info[r[i][1]] ~= 0 then doItemSetAttribute(self.item.uid, r[i][1], self.item.info[r[i][1]]) end end end else addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.fail[self.config.interface]:format(self.item.info.name, (self.item.level + 1))) end elseif self.item.level >= self.config.downgrade then if self:chance().downgrade * 100 >= math.random(1, 10000) then addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.recede[self.config.interface]:format(self.item.info.name, (self.item.level + 1), (self.item.level - 1))) if self.item.level > 0 then self:setItemName(self:getItemName():gsub("%+(%d+)", "+".. (self.item.level - 1))) for i = 1, #r do if getItemAttribute(self.item.uid, r[i][1]) ~= nil then doItemSetAttribute(self.item.uid, r[i][1], getItemAttribute(self.item.uid, r[i][1]) - (r[i][2] == true and self.item.level or 1)) end end else self:setItemName(self.item.info.name) for i = 1, #r do if self.item.info[r[i][1]] ~= 0 then doItemSetAttribute(self.item.uid, r[i][1], self.item.info[r[i][1]]) end end end else addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.fail[self.config.interface]:format(self.item.info.name, (self.item.level + 1))) end else addEvent(doPlayerSendTextMessage, self.config.message.delay * 1000, cid, self.config.message.type, self.config.message.fail[self.config.interface]:format(self.item.info.name, (self.item.level + 1))) end end return true end
  7. gosto mt desse daki. http://www.xtibia.com/forum/topic/187375-baiak-extreme-otprojects-021-o-melhor-baiak-com-woedota-coliseumwar-system/ mt bom.
  8. @edit em cima.
  9. e porque nao tem aonde o monster aparecer. e nao era pra magia ser usada tbm ;s. ele nao apareceu do outro lado da parede nao? cara 1tentativa. function onCastSpell(cid, var) local playerpos = getPlayerPosition(cid) local cloth = getCreatureOutfit(cid) local health = getCreatureHealth(cid) local maxhealth = getCreatureMaxHealth(cid) local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 2 Clones local function onCastSpellDelayed(cid, combat, var, combat_id) local summons = getCreatureSummons(cid) if(table.maxn(summons) < MaximoSummon) then -- no summons local clone = doCreateMonster("clone", playerpos) doConvinceCreature(cid, clone) setCreatureMaxHealth(clone, maxhealth) doCreatureAddHealth(clone, health) doSetCreatureOutfit(clone, cloth, -1) doSendMagicEffect(playerpos, 2) return TRUE end end
  10. nao da pra sumonar ai porque creio eu que atras de vc seja pz. e o summon nao tem aonde ele aparecer. sumonando ai do lado de fora ele sumona normal:?
  11. Tchubaka

    Escudo De War

    cara o oneshot 1 vez me falou que da . eu nao testei nao posso falar que da certo. mais faz o tutorial que te mandei. menos a parte do site. espero ter ajudado rep+?
  12. e cara nao sei mais uq tentar . li de td procurei tutoriais e nada . =/ ai jaja chega o vodkart fala 1 tag e concerta haha. rep+?
  13. Tchubaka

    Pvp Arena

    atah agora entendi. irei pesquisar aqui.
  14. tentai. <channels> <!-- README: 0 - dynamic, reserved for guilds 1 - always acts as Party channel, only "name" tag available 3 - always acts as Rule Violations channel 9 - acts as Help channel- clientsided message 65535 - DO NOT CHANGE THE ID- only "name", "enabled", "active" and "logged" tags available --> <channel id="1" name="Party"/> <channel id="2" name="Staff" access="3"/> <channel id="3" name="Rule Violations" logged="yes"/> <channel id="4" name="Counselor" access="1"/> <channel id="5" name="Game-Chat" level="2"/> <channel id="6" name="Trade" level="8" muted="120" conditionId="2" conditionMessage="You may only place one offer in two minutes."> <vocation id="1-15"/> </channel> <channel id="7" name="Trade-Rookgaard" level="2" muted="120" conditionId="3" conditionMessage="You may only place one offer in two minutes."> <vocation id="0"/> </channel> <channel id="8" name="RL-Chat" level="2"/> <channel id="9" name="Help" logged="yes"/> <!-- <channel id="10" name="My Custom Channel"/> --> <channel id="65535" name="Private Chat Channel"/> </channels>
  15. o trainer tem lugar vazio para aparecer o bixo sumonado? nao to entendendo mt bem nao. desculpe'
  16. Tchubaka

    Config.lua

    irei pedir ajuda a 1amigo. tentarei resolver pra vocÊ'
  17. Tchubaka

    Pvp Arena

    se e pra perder isso td. cria 1 arena e pronto. nao bote nada :S
  18. vou continuar tentando =/. vai em data/xml/chanels. abra ele . e me manda aki.
  19. unica esperança que tenho agora. suei . tenta isso. vai em data/lib/ abra o 000-constant .e procure por isso. CHANNEL_GUILD = 0 se nao tiver coloque. igual acima.
  20. explicando eu axo : você entrega exemplo 6666 demonic o npc ti daria no caso 1storage que ele poderia usar esse npc sem precisar pagar dnv. certo? vermelho : ID do iten. Verde : Quantidade.
  21. tudo bem. qualquer duvida ou erro. poste ai. que tentarei concertar
  22. Tchubaka

    Pvp Arena

    nao seria passar o pvp tool pelo rme?
  23. Lumbriga2 voce tem que baixar esse tibia aki. do site oficial do rme. http://remeresmapeditor.com/marklar.php?clients tentai.
  24. essas protas sao do 8.7 ela vem na extensions do rme. uso em 8.6 entao essas portas nao existem em itens.xml ela nao abre nao faz nada. com esse tutorial que fiz. ela ira ser 1 porta de lvl igual as outras. ^^ voce tem que adc isso td que expliquei la em cima. ela nao vem como funçoes.
  25. eu tenho mapa. talkactions . actions. td suahsuahusa. e mapa 100%melhorado. varias talkactions extras para mais rpg. monsters iguais. reset vocation .. etc... nao e dificil e so se esforçar cara'
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...