Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''sistema''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. Olá bom dia, se alguém puder me ajudar ficaria muito grato! Porfavor alguém consegue disponibilizar um script de npc que altere PvP do player? Vou explicar, a pessoa cria o char e já chega sendo npvp, portanto na cidade terá um npc em que ele possa se alterar pra pvp, gostaria que o player que não tivesse PvP ficasse com a caveirinha verde do lado do char e o PvP fica normal (podendo pegar caveirinha branca, red, black. Também gostaria se for possível adicionar tempo para pode trocar novamente, tipo 24 horas. Se alguém puder uma luz porfavor, desde já agradeço. Server global 12.51 tfs 1.3
  2. Olá Homo-Sapiens. Resolvi trazer para vocês esse sistema de Quest que eu criei para resolver alguns inconvenientes em meu ot serv. Quais são as características dele? Ele é totalmente inserido através do mapper sem precisar criar scripts. Ele contém um sistema de parâmetros que podem ser usados para determinar a quem pode receber o prêmio. Ele não usa marcação por storage evitando assim conflitos com outros scripts que usam storage como marcação. Com esse sistema inserido vocês podem criar quest por vocação única, promovidos, mages ou kinas/palas. Como ela pode usar os items dentro do baú como items obtiveis de quest, ela aceita qualquer tipo de item inserido, mesmo keys e runas. Implementação Em actions.xml adicione: <!-- Quests baus --> <action fromid="1740" toid="1741" event="script" value="quests/quests.lua"/> <action fromid="1747" toid="1749" event="script" value="quests/quests.lua"/> <action fromid="1410" toid="1420" event="script" value="quests/quests.lua"/> <action actionid="2000" event="script" value="quests/quests.lua"/> Agora em scripts/quests crie ou modifique seu quests.lua para esse: --[[ autor = Marcryzius data = segunda-feira, 28 de Dezembro de 2015 >> Alguns parametros de uso. item.uid = itemid << id do item que será ganho - caso o item esteja 'inside' no baú, não se faz nescessario usar o id do item na uid - para habilitar o bau com os items como sendo uma quest se faz necessario acrescentar uma AID. actionid = validação << o baú só será usado na forma de quest se tiver alguma aid. pode usar marcação de vocação como na instrução abaixo ou setar aid 2000 para validar o baú como uma quest. actionid = quantidade << desde que ela seja maior que 100 e menor que 200 (150 = 50 items, 200 = 100 items) actionid = vocação << o primeiro numero diz que é uma quest de vocação; o segundo habilita que, as vocações promovidas também podem fazer a quest; os dois ultimos numero é da vocação em questão. exemplo 1 = 1201 << sorceres e master sorceres -- promovidos exemplo 2 = 1200 << kina e EK -- promovidos exemplo 3 = 1102 << apenas druids e não elder druids -- vocação especifica exemplo 4 = 1000 << apenas knights e paladins. exemplo 5 = 1100 << apenas sorcerers e druids. inside = varios items << todos os items que forem colocados dentro do bau será usado como referencia do premio da quest; pode-se tambem usar aid para determinar a vocação nescessaria dessa quest. -- ### -- Com o uso da nova função, não está mais sendo "setado" no player a store da "quest" usando setPlayerStorageValue(). ]] function onUse(cid,item,pos) if(item.actionid >= 1000 and item.actionid < 3000)then if(item.actionid == 1000 and not(isPaladin(cid) or isKnight(cid)))then -- somente kina ou pala recebem o item return true,doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") elseif(item.actionid-1000 == 100 and not(isSorcerer(cid) or isDruid(cid)))then -- somente mages recebem o item return true,doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") elseif(item.actionid-1000 > 0 and item.actionid-1000 < 100 and not(getPlayerVocation(cid) == item.actionid-1000))then -- vocação especifica - kina pala. return true,doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") elseif(item.actionid-1000 > 100 and item.actionid-1000 < 200 and not(getPlayerVocation(cid) == item.actionid-1100))then -- vocação especifica - mages. return true,doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") elseif(item.actionid-1000 >= 200 and item.actionid-1000 < 300 and not(getPlayerVocation(cid) % 4 == item.actionid-1200))then -- vocações promovidas. return true,doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") end elseif(item.uid > 12000 and item.actionid == 0)then -- um baú qualquer return false -- abre o baú para pegarem os items 'inside' sem marcar nada, como se fosse abrir um baú qualquer sem ser de quest. end local quests_quant = (item.actionid-100 < 1) and 1 or (item.actionid-100 > 100) and 100 or item.actionid-100--Defini a quantidade de items. local playerCap,cap = getPlayerFreeCap(cid),getItemWeightById(item.uid,quests_quant) or 0 if(item.uid > 1000 and cap > 0)then -- quest por uid if(getSaveQuestsInfor(item.uid,cid))then --Função não usa marcação (getPlayerStore...) if(playerCap >= cap)then if(item.uid == 2493)then setPlayerStorageValue(cid,2493,1) end -- compatibilidade, verificar uso > ???...D:::H...??? doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..((quests_quant == 1) and '' or quests_quant)..' '..getItemNameById(item.uid)..'.') saveQuestsInfor(item.uid,getItemNameById(item.uid),cid,"Quest system by uid.") doPlayerAddItemEx(cid,doCreateItemEx(item.uid, quests_quant),true) else return false,doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..(quests_quant == 1 and '' or quests_quant)..' '..getItemNameById(item.uid)..' weighing '..math.floor(cap)..' oz it\'s too heavy.') end else--caso o player já tenha feito a quest, abri-se o baú de forma convencional, podendo obter os items que estejam dentro dele. return false end return true end local size,texto,rewards,peso = isContainer(item.uid) and getContainerSize(item.uid) or 0,'You have found a ',{},0 if(size > 0)then for i = size,0,-1 do local tmp = getContainerItem(item.uid, i) if(tmp.itemid > 0) then if(isItemContainer(tmp.itemid))then -- só é possível adicionar mais um inside. ou seja, uma bolsa com algo dentro desde que não tenha outra bolsa com mais coisas dentro, dentro dessa bolsa primária. table.insert(rewards,1,{[tmp.itemid] = {}}) texto = texto..' a '..getItemNameById(tmp.itemid)..''..(i+1<size and ',' or '.') for insize = getContainerSize(tmp.uid),0,-1 do local newtmp = getContainerItem(tmp.uid, insize) table.insert(rewards[1][tmp.itemid],{id=newtmp.itemid, val=(newtmp.actionid > 0 and newtmp.actionid or newtmp.type)}) end else --Foi feito dessa forma para não haver conflito com items do mesmo tipo. table.insert(rewards,{[tmp.itemid]=(tmp.actionid > 0 and tmp.actionid or tmp.type)}) if(tmp.type > 0)then texto = texto..' '..(tmp.type > 0 and tmp.type..' charges of ' or 1)..' '..getItemNameById(tmp.itemid)..''..(i+1<size and ',' or '.') elseif(tmp.actionid > 0)then texto = texto..' '..(tmp.type > 0 and tmp.type..' charges of ' or 1)..' '..getItemNameById(tmp.itemid)..''..(i+1<size and ',' or '.') else texto = texto..' '..getItemNameById(tmp.itemid)..''..(i+1<size and ',' or '.') end end peso = peso + getItemWeight(tmp.uid) end end if(getSaveQuestsInfor(tonumber(pos.x..''..pos.y..''..pos.z),cid))then --Função não usa marcação (getStore...)) if(playerCap >= peso)then for _,reward in pairs(rewards) do for item,valor in pairs(reward) do if(type(valor) == "table")then local bag = doCreateItemEx(item) for _,value in pairs(valor) do if(value and value.id > 0)then doAddContainerItemEx(bag,doCreateItemEx(value.id,(value.val<=0 and 1 or value.val))) end end doPlayerAddItemEx(cid,bag,true) elseif(isInArray(KEYS_DOOR,item))then -- se o item for uma key local ch = doCreateItemEx(item,1) doItemSetAttribute(ch,'aid',valor) doPlayerAddItemEx(cid,ch) else doPlayerAddItemEx(cid,doCreateItemEx(item, valor),true) end end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, texto) saveQuestsInfor(tonumber((pos.x)..''..(pos.y)..''..(pos.z)),getItemNameById(table.maxn(rewards)),cid,"Quest system by Inside.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, texto..' weighing '..math.floor(peso)..' oz it\'s too heavy.' ) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") end else return false, doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") end return true end Em lib/050-functions.lua adicione: function getSaveQuestsInfor(uid,cid) --[[( Marcryzius )]]-- local str = false if not(db.executeQuery("SELECT * FROM `server_quests`;"))then -- caso a table não exista, será criada db.executeQuery("CREATE TABLE `server_quests` (`uid` INTEGER, `name` VARCHAR(255), `name_player` VARCHAR(255), `pos` VARCHAR(255), `other` TEXT);") return getSaveQuestsInfor(uid,cid) end if(tonumber(uid))then str = db.getResult("SELECT * FROM `server_quests` WHERE `uid` = '"..uid.."' AND `name_player` = ".. db.escapeString(getCreatureName(cid))..";") elseif(type(uid) == 'string')then str = db.getResult("SELECT * FROM `server_quests` WHERE `name_player` = " ..db.escapeString(getCreatureName(cid)).. " AND `name` = '"..uid.."';") else return false,print('getSaveQuestInfor: tipo de uid invalido > '..tostring(type(uid))) end return (str:getID() == -1) and true or false end function saveQuestsInfor(uid,name,cid,other) --[[( Marcryzius )]]-- --[[ uid = Item.uid usado no bau(entre outros) para receber o item da Quest name = nome do item dado ao player ou nome da quest cid = identificacao do player other = informacoes adicionais para serem salvas junto a quest ]]-- if not(db.executeQuery("SELECT * FROM `server_quests`;"))then -- caso a table não exista, será criada db.executeQuery("CREATE TABLE `server_quests` (`uid` INTEGER, `name` VARCHAR(255), `name_player` VARCHAR(255), `pos` VARCHAR(255), `other` TEXT);") end -- caso o parametro uid seja numero, pega-se a posição do item ou, caso não, pega-se a posição do player. local other,pos2 = other or '','' local pos = type(uid) == 'number' and getThingPos(uid) or getCreaturePosition(cid) pos2 = 'x='..pos.x..', y='..pos.y..', z='..pos.z -- verifica se tudo está correto. if not(type(name) == 'string') or not(tonumber(cid))then return false, print('Funcao requer parametros: name,cid') end -- salva as informações na database. db.executeQuery("INSERT INTO `server_quests` (`uid`, `name`, `name_player`,`pos`,`other`) VALUES ("..(uid or tonumber(pos.x..''..pos.y..''..pos.z))..",'"..name.."', '"..getCreatureName(cid).."','"..pos2.."','"..other.."');") return true end Exemplos de uso do sistema Quest na qual dá o prêmio de 100 gps: Quest na qual dá o prêmio apenas para knights (e não para EKs e outras promoções de knight): Quest na qual dá o prêmio apenas para paladins e suas promotions: Ressalva: Caso queira fazer para knights use o id 0 (zero) e não 4 (quatro). Quest na qual dá o prêmio apenas para todos: Nesse caso você pode usar AID 0 (zero) ou AID (2000). Caso usem o metodo 'inside' de items no baú pode-se também usar esses mesmos parâmetros para estabelecer a quem pode ganhar os items inseridos no baú. Lembre-se que em quests 'insides' não se usa UID, mantenha ela em 0 (zero): Utilizando o metodo 'inside' ela só se tornará uma quest caso tenha alguma AID para válidar como quest. Então para fazer uma validação na qual qualquer player possa obter os itens 'inside' como sendo uma quest, adicione a AID 2000 ao baú: Bem, é isso pessoal. Para finalizar, aqui vai uma crítica ao xtibia. MELHOREM ESSE SISTEMA DE EDIÇÃO DE TEXTO.
  3. bolludo

    Anti-Clone

    Olá, Gostaria de uma ajuda com programação c++, queria que a cada item movido tivesse um salve para nao ter o clone do item, ou um sistema de anti clone alguem poderia me ajudar ? meu servidor é um 7.92 - xml - source evolutions (editada)
  4. Recentemente adicionei um site ao meu servidor Baiak, mas dentro do OT o uniqueid que é fornecido ao player que tem acesso a área vip etc é diferente do uniqueid que o player ganha quando compra pelo site. Gostaria de saber se alguém sabe onde fica o arquivo para eu mudar o uniqueid que o player ganha quando compra pelo site?
  5. #Introdução Reparei que muitas pessoas estão atrás desse sistema que o DBOBR & NTOBR usa, e atualmente o VitorSubhi postou um, porém é necessário modificar as sources. Apesar de achar o dele bem melhor, estarei deixando este meu sistema(não é necessário mexer nas sources). #Funcionamente O jogador vai até um NPC e compra um papel, após ter comprado ele pode estar dando trade nesse papel e negociando com algum jogador, em troca de qualquer item. Ao finalizar a negociação, os points são transferidos/removidos(caso houver points na conta). Também é possivel comprar o papel por comando, estarei disponibilizando ambos para vocês. #Alguns prints: Estarei deixando o script para vocês em inglês, modifique como quiser ;D Então vamos lá... #Instalação Em data/lib crie um arquivo chamado tradepoints.lua cole isto dentro: Em data/creaturescript/tradepoints.lua: TAG: <event type="tradeaccept" name="Trade_Points" event="script" value="tradepoints.lua"/> <event type="traderequest" name="Trade_Points_Request" event="script" value="tradepoints.lua"/> login.lua: registerCreatureEvent(cid, "Trade_Points") registerCreatureEvent(cid, "Trade_Points_Request") NPC XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Frodo" script="data/npc/scripts/trade_points.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="275" head="114" body="113" legs="113" feet="113" corpse="2212"/> <parameters> <parameter key="module_shop" value="1" /> <parameter key="message_greet" value="Hello |PLAYERNAME|. I sell some utensils and Premium Points Transfer for you to transfer points to other players, remember to buy use '10' to 10 points." /> </parameters> </npc> Data/npc/scripts/trade_points.lua: Caso queira que a compra do papel seja feita por talkactions, aqui está: TAG: <talkaction words="!sellpoints;/sellpoints" event="script" value="trade_points.lua"/> Prontinho xD Agradecimentos ao Junior(lordzetros) por ajudar na função scanContainer e ao @VitorSubhi
  6. Olá pessoal, achei um servidor em um fórum gringo de Tibia que continha este mod embutido no Client Não sei as configurações exatas do sistema mas vou posta-lo aqui caso saibam configurar... Arquivo.lua= Créditos: OtLand Shawak Slicer
  7. Hail Xtibianos. Eu criei esse sistema para impedir que mages usem magias sem estarem usando o livro. Cada livro libera uma certa quantidade de magias, logo, os mages terão que ter o livro para usarem determinadas magias mesmo eles tendo o level requerido por ela. Tu irás a precisar usar essa livraria para poder usar esse sistema: Em movements.xml adicione: Em movements/scripts crie um arquivo lua chamado spellbooks e adicione: Aconselho substituir o código do spellbook em actions por esse: Em actions.xml verifique se existe todos essas tags, caso não, adicione: Em actions/scripts/other/spellbooks.lua apague o seu conteúdo e adicione este: Mais realidade para o verdadeiro tibia. Qualquer duvida, erro e etc, deixe nos comentários.
  8. Hail Xtibianos. Esse script eu criei a pedido de um membro do fórum e resolvi posta-lo para vocês. Ele serve para que ao matarem um determinado monstros, somente os players que tiverem uma certa quantidade de participação (em porcentagem) na morte do monstro é que receberam algo (configurável). Em creaturescripts.xml adicione: <event type="statschange" name="stats" script="statsMonster.lua"/> <event type="death" name="deathMonster" script="deathMonster.lua"/> Em creaturescripts/scripts crie um arquivo lua com o nome statsMonster e adicione: --[[ autor = Marcryzius data = sexta-feira, 05 de fevereiro de 2016 tipo = 1 (um) é ataque, 0 (zero) é healing. query para ser adicionada no monstro: <script> <event name = "stats"/> <event name = "deathMonster"/> </script> ]] M = {} function getDamageInMonster(monster,cid) local monster,cid,m_life,p_dano = tonumber(monster),tonumber(cid),0,0 if not(monster or cid)then return 0,error('function getDamageInMonster(): monster or cid, not number') end if not(isCreature(monster))then return 0,error('function getDamageInMonster(): variavel monster nao e monstro.') end for k,v in pairs(M[monster]) do if(k == cid)then p_dano = v end m_life = m_life + v end return math.floor(p_dano/(m_life/100)) end function onStatsChange(cid, attacker, tipo, combat, value) if not(M[cid])then M[cid] = {} end if not(tipo == 1)then return true end if(isPlayer(attacker))then if not(M[cid][attacker])then M[cid][attacker] = 0 end M[cid][attacker] = M[cid][attacker] + value elseif(isMonster(attacker))then -- caso seja um monstro o atacante local get = getCreatureMaster(attacker) -- averigua se não é um summon que está atacando if(tonumber(get) and isPlayer(get))then -- caso o summon seja de um player, adiciona o dano como se fosse o player if not(M[cid][get])then M[cid][get] = 0 end M[cid][get] = M[cid][get] + value end end return true end Agora crie outro arquivo lua na mesma pasta e nomeie para deathMonster e adicione: function onDeath(cid, corpse, deathList) --[[> Marcryzius <]] for _,player in pairs(deathList) do local player = isCreature(player) and getCreatureMaster(player) or player if(isPlayer(player) and isPlayerOn(player))then if(getDamageInMonster(cid,player) >= 50)then -- quantidade de danos em % --[[ aqui é a parte onde dar ao player seu premio por ter consegue tantos % de danos ao monstro ]]-- -- exemplos de ações doRemoveItem(getThingfromPos(Full_Items[getCreatureName(cid):lower()]).uid) doCreateItem(2283,1,getCreaturePosition(cid)) doCreateItem(4810,1,Full_Items[getCreatureName(cid):lower()]) setPlayerStorageValue(player,getStoreString('fullitems'),0) end if(M[player])then table.remove(M,player) end end end end No monstro que tu queira usar esse sistema, adicione no xml dele essas duas tags: <script> <event name = "stats"/> <event name = "deathMonster"/> </script> Pronto. Qualquer duvida, erro e etc, deixe nos comentários.
  9. Hail Xtibianos. Eu criei esse sistema, não lembro se foi a pedido de um membro ou não, para que seja interessante sempre matar o toplvl do otserver devido ao premio recebido por isso. Em config.lua adicione: huntedTopLevel = 100 -- "false" inibe o sistema; numero é o level minimo necessario para dar hunted ao toplvl.priceForEachLevelTohuntedTopLevel = 100 -- preço pago por cada lvl do toplvl ao mata-lo. Em creaturescripts.xml adicione: <event type="death" name="toplvl" script="toplvl.lua"/> Em creaturescripts/scripts/config.lua adicione: registerCreatureEvent(cid, "toplvl") Na mesma pasta, crie um arquivo lua com o nome toplvl e adicione: function onDeath(cid, corpse, deathList)local top,price = getConfigInfo("huntedTopLevel"),getConfigInfo("priceForEachLevelTohuntedTopLevel") if(isPlayer(cid))then -- hunted top level local _,level = getTopLevel() if(tonumber(level) and top and tonumber(level) >= top and tonumber(level) <= getPlayerLevel(cid))then for _,player in pairs(deathList) do if(isPlayer(player))then doPlayerAddMoney(player, getPlayerLevel(cid)*price) end end end end return trueend Agora abra o arquivo lib/050-functions.lua e adicione: function getTopLevel() --[[( Marcryzius )]]--local target,name,level = db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 ORDER BY 'level' DESC;"),"",0 if(target:getID() ~= -1) then repeat local glevel = target:getDataInt("level") if(level < glevel)then name,level = target:getDataString("name"), glevel end until not(target:next()) end target:free() return name,levelend No config.lua tu coloca o valor minimo requerido do toplvl para poder ser caçado. Duvidas, erros e qualquer outra coisa, deixe nos comentários.
  10. Esse sistema eu criei a muito tempo para quando um player compra pots e runas no npc, ele entregue uma bolsa mais adequada para cada tipo de pot e runa comprada nele. Abra o arquivo npc/libs/modulos.lua Procure pela função: Dentro dessa função, procure pela variável chamada backpack ou backpackid (não lembro como estava escrito exatamente, pois faz muito tempo que modifiquei) e apague ela. No lugar onde ela estava, adicione isso: Salve e pode fechar o arquivo. Agora abra o arquivo data/libs/050-functions.lua Adicione essa função nele: Salve e pode fechar o arquivo. Agora toda vez que alguém for comprar algum item listado na tabela bp, ele receberá (caso ele queira compra em bps) uma backpack correspondente ao item que ele comprou. Essa inserção desse sistema foi feito para a versão tfs 0.3.6 - 8.54; não sei se funciona em outras versões.
  11. Olá galerinha do xtibia venho postar algo (depois de uns 4 anos sem postar nada) que fiz meramente por alguém ter me desafiado e, como o resultado ficou legal, vou mostrar um pouco para vocês. A ideia do sistema era promover ferramentas necessárias para uma criação fácil de spells e fazer com que elas possam colidir entre si: Exemplo, configurei ela para fazer uma kamehameha(com umas sprs diferentes também), e é assim que ela ficou: Exemplo Magia Dependendo de quem ganha a disputa existem 2 opções: Exemplo chat1 Exemplo chat2 Achei que o resultado ficou interessante, caso vocês queiram alguma informação me adicionem no skype que eu posso tirar duvidas a respeito do sistema, embora eu adiante que não vou disponibilizar por hora o sistema.
  12. O Que é organização? R: São meio que umas profissões, diferente do Px*Censurado, e totalmente inovadora. É Como se fosse uma GUILD. Qual o objetivo da organização? R: Deixar o servidor mais RPG | Com Mais entretenimentos | Coisa inovadora | Todas são diferentes? R: Sim, cada organização, tem seu proposito, e seu modo de agir, e sua função no jogo... O Que são HEADQUARTES? R: São meio que uma base, um local próprio, de cada organização, onde apenas membros da organização pode entrar. Como encaixar no servidor? R: Primeiramente, deve criar uma aba no site tipo as guilds... Porém só os ADM'S podiam criar novas organizações... Qual as funções para o Líder na aba Organizações no site?: R: Convidar membro | Expulsar Membro | Promover Membro | Editar Regras | Noticias | Black List O Que é Black List? R: É Uma lista negra, de jogadores que abusaram do comando, ou de alguma regra... Somente lideres, pode botar jogadores na Black. Qual as funções para o Líder no jogo? Supervisionar membros | Pagar salários (OPCIONAL) | Recrutar Membros | Promover Membros Qual os cargos, existentes para as Organizações: Aconselho, deixar 5 cargos... Cada cargo, tem uma função diferente. Cargos: 1: Novato | 2: Membro Fiel | 3: Experiente | 4: Sub Lidere | 5: Líder Diferenças de Cargos : Quando um lider, promove alguem lá no site, ele já pode fazer tal coisa... Que no manual, de cada organização vai explicar... Como um membro entra em uma ORG? Fácil... Basta falar com um SUB-Líder | Ou Líder, e pedir teste... Como funciona o teste?: Primeiramente, o player deve tá dentro dos requisitos de level, estabelecido pelo Líder no manual, se caso estiver ele pode fazer o teste... O lider, vai pedir que ele, leia o manual, e diga 5 ou mais regras das organizações... e alguns comandos... caso, ele acerte, o Líder ou Sub pode convidar ele pra organização. ------------------------------------------ Exemplos de organizações aqui: https://otpokemon.com/forum/index.php?/topic/5649-organização-equipe-rocket/ https://otpokemon.com/forum/index.php?/topic/5648-organização-designer-de-interior/ https://otpokemon.com/forum/index.php?/topic/5651-organização-reportéres/ Claro, que não vai ter só isso, varia da criatividade de vocês, mas dei um exemplo... Isso pode adicionar em servidores : Derivados ou Tibia mesmo...
  13. Bom, creio que o script seja um pouco complexo (ou não) O player utiliza o firebug na fornalha Nisto ela acende, então ele da use na "sanfona" da fornalha e aparece o magic effect de vapor em cima da bigorna, então o item esta pronto para a forja Nos 100 iron ires necessários pra forjar o Huge of Crude iron (matéria prima para forja) Utiliza-se então a "sanfona" novamente para aquecer o item sob a bigorna e é utilizado o 'Foge Hammer' Conforme é utilizado o Forge Hammer aquece, então é necessário dar user nele e depois no barril para resfriá-lo e assim utilizar novamente (Quando os itens são recém forjados, eles ainda estão quentes, então pode-se reforjá-los dando user na "sanfona" para "derretê-los" e voltarem a ser matéria pria) O Foge Hammer tem a mesma Sprite que o War Hammer, porém seu id tanto 'frio' quanto 'quente' são diferentes do War Hammer e do War Hammer Enchanted E por final os itens que podem ser forjados aleatoriamente Desde já agradeço
  14. Gostaria de um sistema de mining, os que eu achei não eram como eu gostaria, tipo, preciso que seja assim: 1. Ao usar a pick, ele retorne numa skill normal ao invés de storages, skill_id 7 por exemplo, e retorne em tries igual skill de combate normal 2. Haverá diferença entre pick e dwarven pickaxe, se for com a pick tem suas porcentagens, mas se for com a pickaxe tem 10% a mais do que a pick 3. A cada número X de level aumenta a % de conseguir algo 4. Cada item que pode ser pego terá uma % diferente uma da outra, baseando-se nas skills (EX: small stone com skill 3 = 2%, com skill 20 = 6% e se for gold com skill 3 = 0.2%, com skill 20 = 1%) 4.1. Serão de 3 a 4 itens diferentes (ainda não decididos) 5. Tem que ter grounds e stone definidos para poder mineirar 6. Ao mineirar na pedra, cada batida na pedra tem uma % alta de a pedra se desfazer caso seja a pedra pequena, se for a grande ela decay pra outra e da outra ela vira a pequena, que então se desfaz, e demora de 2h~5h pra pedra voltar 7. Ao mineirar no chão, a chance de o chão 'secar' e ao secar ele decay para outro, e leva também de 2h~5h pra voltar ao normal 8. Qualquer um pode mineirar, mas se for premium tem mais 8% de chances de conseguir o item 9. E por último, se for vocation > 3 ganha mais 3% de chances, tem que ser vocation e não promotion
  15. Sem bla bla bla, mimimi, nhéco nhéco... to sem tempo para tirar print dos itens no OBJECT BUILD então segue print da pasta e façam bom aproveitos meus amigos... Held Itens.rar Ah... e o scan Held Itens.rar
  16. Primeiramente, Boa Noite, Bom dia ou Boa Tarde! não sei o horario que você esta lendo esse poste. Faz um bom tempo que eu venho procurando um sistema de montaria para servidor de tibia 8.6, mais eu vi que no servidor 8.6 não sistema de montaria, dai eu comecei a da uma pesquisada no youtube e vim um servidor com um sistema bem elaborado em montaria, gostaria de saber se alguém que tenha essa sistema ou que saiba fazer me passe? gostaria muito desse ter esse sistema em meu servidor, aqui esta o link do sistema. https://www.youtube.com/watch?v=hR0ZdWAAeQ4
  17. Boa noite xtibianos, tudo bem? Estou aqui para fazer 1 pedido diferenciado. Gostaria de 1 sistema de resete modificado, onde o jogador level 120, vai á tal npc fala hi resete , e volta para level 8 com mana e life e um char level 8 da sua classe, e com skill e magic level zerados, porém o jogador receberá em troca prêmios que vai direto para seu depot, 2 prêmios com id 2160 "1 quantia" e 1257. Observações: Para resetar deve ter level 120 e pagar 10k ao npc.
  18. Boa Noite Galera!! Coloquei um sistema de auro no meu servidor, dai quando o player desloga do server da esse erro alguém pode arrumar pra mim ?? aqui esta o erra que aparece no Distro, estou usando o fts 0.4 [25/02/2016 19:27:19] [Error - CreatureScript Interface] [25/02/2016 19:27:19] In a timer event called from: [25/02/2016 19:27:19] data/creaturescripts/scripts/login.lua:onLogin [25/02/2016 19:27:19] Description: [25/02/2016 19:27:19] (luaGetThingPosition) Thing not found [25/02/2016 19:27:19] [Error - CreatureScript Interface] [25/02/2016 19:27:19] In a timer event called from: [25/02/2016 19:27:19] data/creaturescripts/scripts/login.lua:onLogin [25/02/2016 19:27:19] Description: [25/02/2016 19:27:19] (internalGetPlayerInfo) Player not found when requesting player info #6 [25/02/2016 19:27:19] [Error - CreatureScript Interface] [25/02/2016 19:27:19] In a timer event called from: [25/02/2016 19:27:19] data/creaturescripts/scripts/login.lua:onLogin [25/02/2016 19:27:19] Description: [25/02/2016 19:27:19] (internalGetPlayerInfo) Player not found when requesting player info #6 [25/02/2016 19:27:19] [Error - CreatureScript Interface] [25/02/2016 19:27:19] In a timer event called from: [25/02/2016 19:27:19] data/creaturescripts/scripts/login.lua:onLogin [25/02/2016 19:27:20] Description: [25/02/2016 19:27:20] (luaGetCreatureStorage) Creature not found [25/02/2016 19:27:20] [Error - CreatureScript Interface] [25/02/2016 19:27:20] In a timer event called from: [25/02/2016 19:27:20] data/creaturescripts/scripts/login.lua:onLogin [25/02/2016 19:27:20] Description: [25/02/2016 19:27:20] data/lib/Pivi.lua:34: attempt to compare number with boolean [25/02/2016 19:27:20] stack traceback: [25/02/2016 19:27:20] data/lib/Pivi.lua:34: in function <data/lib/Pivi.lua:19> Aqui esta o arquivo .lua function doUseGem(cid, item) local voc = getPlayerVocation(cid) local interval = gems.interval[voc] if item.itemid ~= gems.id[voc] or getPlayerStorageValue(cid, gems.storage[voc]) > 0 then return FALSE end setPlayerStorageValue(cid, gems.storage[voc], 1) sendGemEffect(cid, gems.storage[voc], gems.interval[voc]) doRemoveItem(item.uid, 1) return TRUE end function sendGemEffect(cid, storage, interval) local pos = getThingPos(cid) local voc = getPlayerVocation(cid) local color = 1 if voc == 5 then color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)] elseif voc == 6 then color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)] elseif voc == 7 then color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)] elseif voc == 8 then color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)] end doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color) if getPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)]) >= 1 then addEvent(sendGemEffect, interval, cid, storage, interval) end end function doRemoveGemEffect(cid) if getPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)]) < 1 then return FALSE end setPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)], 0) return TRUE end function doRemoveAllGemEffect(cid) for i = 1, table.maxn(gms.storage) do setPlayerStorageValue(cid, gems.storage[i], 0) end return TRUE end function isGemActivated(cid) if getPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)]) > 0 then return TRUE end return FALSE end
  19. Bom oque eu venho pedir a voces não sei se ja existe aqui (procurei e nao achei). o que eu preciso e isso aqui: um teleporte abre e fica aberto 2 minutos ai os players entram e sao levados a um lugar o teleporte e fechado nasce um monstro e o ultimo a sobreviver a esse monstro ganha um premio. tipo dinheiro ou x item. quem puder me ajuda agradeço des de ja...
  20. Bom dia, preciso de uma ajuda em um sistema, o mesmo será assim, quando o jogador atingir os três primeiro ranking ele receberá uma Nova Outfit no caso existirá diferença entra as Outfit das três posições. Exemplo: 1° terá um Outfit 2° terá outra Outfit 3° terá outra outifit. Mas lembrando isso irá varia se o primeiro cair ele perderá a primeira e ganhará a segunda e se ele cair pra terceiro ele perderá a segunda e ganhará a terceira e se cair para 4 ele vai ter perdido todas as outfits. Isso valerá para todas as posições, essa variação ocorrerá imediatamente! com isso se alguém puder me ajudar, ficarei muito grato. Desde já agradeço, Att.: Adeilton Pessini Se por um acaso não entender me adicionem no Skype, adeilton.delpuppo Me desculpe sou novo aqui, se o mesmo estiver em uma área errada mova-o.
  21. Bom galera, se alguém puder me ajudar, agradeço ! É o seguinte, adicionei uma ball com o mesmo script do outro catch.lua, só que com uma nova tabela idêntica a tradicional em configuration.lua facilitando o catch de certos pokémons, porém, foi muito trabalhoso. Queria saber se tem como fazer com que uma ball capture pokémons de certas raças de outro método, sem ser esse que citei acima pois estou meio sem tempo. Caso ajude, REP+
  22. Boa Noite Galera Xtibiana, venho por esse tópico fazer 1 pedido. - Bom meu pedido é um sistema simples de profissão para servidor 8.60, onde por exemplo 1 jogador que é sorcerer se aperfeiçoa falando com 1 npc, esse npc vai perguntar se ele quer ser ferreiro, alquimista ou minerador. Após ele escolher a profissão ele passa a ter esse cargo e beneficios sendo assim continua sendo 1 sorcerer com suas devidas magias, mas em si 1 ferreiro por exemplo. Bom, oque cada uma dessas 3 classes vai fazer? Ferreiro: Vai poder forjar itens, somente ele vai poder usar o item de id 2557 "martelo" da use nesse item e usar emcima de algum rusty item "item sujo ou quebrado" de id 9811 9819 e 9808 , e virar um item eleátorio como armors, legs ou boots. Alquimista: Como o nome ja diz, esse cargo vai poder conjurar pots de vida ou mana. Então o jogador que tem profissão como alquimista vai fala exemplo: conjure health pot ou conjure mana potion, e vai fazer um pot eleátorio de mana ou life sendo ele ou small , strong, ultimate .. Minerador: Essa profissão é bem mais dificultosa pois para fazer sua função ele deve ter 1 item de id 2553 "pick" , usar esse item em rochas especiais e com isso podendo sair "diamantes" dessas rochas e trocar elas por golds ou itens no mercado. Essas rochas séria de id 8633 8634 8635 8636 , e os diamantes que podem sair delas apos usar a pick é 2153 e 2154. É um bom sistema para um servidor rpg, espero que alguem me ajude com isso. Abraço!
×
×
  • Criar Novo...