Ir para conteúdo

manoelouro

Campones
  • Total de itens

    28
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    manoelouro recebeu reputação de roocapaneli em Show off Roo   
    Bom o meu disser e que o mapa ficou em partes bom,porem existem varios detalhes que precisam levar em consideraçao,e importante ressaltar o estudo de grandes mapas,Eternal kings e um otimo meio de aprendizagem,mas algo aqui tem que ser concordado,o seu mapa esta original.
  2. Upvote
    manoelouro deu reputação a ~~GM Waleker~~ em Entendo Um Pouco Mais As Armas!   
    Dessa vez é pra tentar explicar um pouco as armas do Tibia,desta vez o que elas foram na idade média
    irei começar com as espadas
     

     
    A palavra espada é comumente usada para se referir a uma série de armas brancas longas, formadas por uma lâmina e uma empunhadura; abrangendo, por extensão, objetos como o sabre, o florete, o gládio, o espadim e a katana, dentre outros. A espada, na verdade, é formada por uma lâmina comprida, normalmente reta e pontiaguda, de metal, com gume em ambos os lados.
    Durante muito tempo, a espada foi a principal arma para combate corpo-a-corpo, sendo usada tanto pela Infantaria quanto pela Cavalaria. Mesmo com o advento das armas de fogo, continuou a ser usada como instrumento bélico.
    Apesar de algumas unidades hipomóveis de polícia ainda adotarem a espada (inclusive para praças), atualmente ela é principalmente um elemento simbólico. Em celebrações militares, representa a justiça e autoridade do oficial nas Forças Armadas. Em artes marciais, a prática do manejo da espada é um veículo para o desenvolvimento espiritual.
     
    A espada era o instrumento bélico favorito na Idade Média (seguido pelo arco e pela lança). É uma arma de curto alcance e, pelos conceitos da época, bem perigosa. A espada era utilizada em larga escala nessa época, nas Guerras Santas, as batalhas contra os mouros.

     
    Normalmente usava-se uma espada curta e direita. Porém, havia muitos outros tipos de espada com diferentes características. Por exemplo, uma espada larga teria maior poder de ataque, mas já seria mais lenta que uma espada mais fina. Uma katana seria bastante boa e teria uma vasta combinação de ataques, devido à sua lâmina de um gume, mas não é boa para estocar. Um florete só serve para estocadas, pelo que só dá para atacar horizontalmente. Uma espada comprida seria boa para atacar ao de longe, mas é pouco ágil e um bocado lenta, além de difícil manuseio. Uma espada curva com a ponta pesada (cimitarra) é boa para atacar um oponente de cima para baixo, mas é muito lenta. Um punhal, embora não seja muito grande é bastante ágil.
     
    podemos citar algumas
     
    Sabre
     

     
    Arma de Cavalaria, lâmina larga, ligeiramente curva e de um fio só. Seu comprimento era suficiente para atacar tanto soldados desmontados quanto montados. Tradicionalmente, o sabre antigo é afiado para o comprimento total do gume de um lado e ainda um terço do lado oposto (o chamado "falso gume").
     
    Katana
     

     
    Arma-padrão dos samurais para a prática do Kenjutsu, tem gume apenas de um lado e sua lâmina é ligeiramente curva. A espada katana (pronuncia-se kataná) era muito mais que uma arma para um samurai, era a extensão de seu corpo e de sua mente.
     
    Existem katanas que possuem a lâmina reta para facilitar a sua ocultação, utilizadas por ninjas. Essas katanas tinham a guarda (tsuba) quadrada e podiam ser utilizadas como apoios para ajudar a pular muros.
     
    Dependendo do tamanho, as katanas eram classificadas como daito, katana ou wakisashi. O conjunto de espadas utilizado por um samurai chamava-se daisho e consistia em uma katana e um wakisashi.
     
    Há ainda um tipo de Katana chamado Masamune, cujo comprimento varia de 120 a 175 centimetros, sendo assim uma espécie de equivalente oriental da Montante
     
    A espada é formada por uma lâmina de metal reta, com gumes dos dois lados e uma ponta. Essa lâmina era fixada no cabo da espada, feito de metal ou madeira; normalmente o cabo era grande o suficiente para que pudesse ser segurado com as duas mãos, diferentemente do que é visto nos filmes e videogames.
     
    A espada tem seus caminhos, forças e usuários. Sua dimensão é variável, comportando a origem do metal, forja, força efetiva e maneabilidade.
     
    Outrora, mestres forjadores europeus, árabes e orientais estabeleceram as regras principais da lâmina: concisa, formato variável, tenaz, durável ao combate.
     
    Diversos materiais e feitos deram forma ao objeto marcial, do bambu ao titânio.
     
    Seu significado permanece forte na História Antiga e Moderna.
     
    Clavas
     
    Clava e é um tipo de taco ou bastão, mais grosso numa das extremidades e geralmente feito de algum material sólido - podendo ser de madeira, pedra, ou metal - normalmente utilizado para fins de necessária força física ou em batalhas de estilo corpo-a-corpo, em especial pelas forças policiais.
     
    Variam de tamanho, peso, material e manuseio, podendo causar danos leves ou pesados para quem leva um golpe de um instrumento como este.
     
    Entre os indígenas brasileiros é chamado de tacape ou borduna e utilizado como arma de combate.
     
    mace
     
    A maça/mace é uma forma mais aprimorada do porrete, uma arma de mão forte e pesada. Consiste em um cabo de madeira, às vezes reforçado com metal ou placas de metal, com uma cabeça de pedra, cobre, bronze, ferro ou aço. Esta cabeça é geralmente bem saliente e as vezes contém tachões e pontas para ajudar a penetração da armadura e infligir maior dano. Caso a cabeça seja presa por tiras de couro ou uma corrente, a arma é denominada mangual e não maça. O tamanho das maças é bem variado.
    A maça foi inventada por volta de 12,000 AC e rapidamente tornou-se uma arma importante. Estas primeiras maças de madeira, com pedra sílex ou obsidiana encravadas, tornaram-se menos populares devido ao aprimoramento das armaduras de couro curtido que podiam absorver grande parte do impacto. Algumas maças tinham a cabeça inteira de pedra, mas eram muito mais pesadas e de difícil manejo.
     
    A descoberta do cobre e do bronze tornou possivel as primeiras maças de metal.
     

     
    Axe

    O machado de guerra é considerada a arma do período antigo como a mais potente e destruidora arma de porte pessoal de curta distância. Somente uma arma fazia frente ao machado, a flecha.
     
    O machado possui técnicas diferenciadas da luta com espadas. Primeiro era necessário ser um homem forte, pois o uso do machado requeria muita energia. O segredo era que, no momento em que começava a se girar o machado, não parasse até acertar um alvo, pois é necessária mais energia para parar o machado do que mantê-lo em movimento. Portanto, no momento em que o machado entrava em movimento, criava-se uma área ao redor do soldado inaproximável, inutilizando, assim, qualquer arma cortante. Nem mesmo um escudo de metal fazia frente a ele, pois a sua pancada era suficiente para quebrar o braço de quem o utilizava.
    Machados de Guerra.
    Machados de Guerra.
     
    Quem lutava contra o soldado de machado tinha poucas opções, pois no momento em que um machado começa a se mover ele não pára até acertar um alvo, portanto nada podia fazer um soldado de espada. O soldado deveria se mover rapidamente para que os golpes do machado não o acertassem, cansando o usuário do machado, facilitando o contra-golpe.
     
    Uma outra variante do machado de guerra, era o machado de pequeno porte, onde o soldado poderia usar um escudo para a defesa. Essa combinação de um machado pequeno com escudo era boa para a luta contra arqueiros, podendo se aproximar do inimigo com o escudo oferecendo proteção. Esta variante não era muito eficaz contra cavaleiros ou infantaria com espadas longas.
     
    Muitas tribos nórdicas e bárbaros do início da Idade Média, como os francos, usavam o arremesso do machado como arma de ataque. Outros usavam o melhor arremessador, de modo a dividir as terras conquistadas, ou seja, o homem que lançava o machado mais longe, ficava com mais terras.
     
    Mas a tecnologia substituiu a força. Com o surgimento de infantarias totalmente cobertas por armaduras e arcos de longo alcance, o machado de guerra se tornou obsoleto.

     
    Distância
     
    Arco:
    O arco é uma arma impulsora que se usa para disparar flechas sobre qualquer alvo distante. O arco pode ser formado por uma única peça de madeira, que pode ser tão alta quanto a estatura do usuário, como o longbow (arco longo), ou várias peças recurvadas que aumentam a potência do arco, como o arco composto moderno, ou arcos tradicionais de osso ou madeira, como o turco e o japonês. O arco funciona alongando uma corda nos membros, que pode ser de fibra vegetal ou animal nos arcos tradicionais, ou sintéticas no moderno. A potência do tiro de um arco se pode ser regulada dentro de certos limites, ajustando a tensão da corda. A arquearia é um esporte olímpico, embora também se pratiquem modalidades esportivas não olímpicas que utilizam réplicas dos arcos tradicionais. Os arcos podem ter um alcance mortal de 40 a 100 metros. No caso do arco longo, até 400 metros de alcance. Uma variante do arco é a besta, que foi muito usada por mercenários genoveses na idade média e parte da idade moderna.
     
    Spear
     
    A lança é uma arma branca, constituída por uma longa vara com uma ponta afiada. A lança pode ser manejada ou atirada em direção ao oponente. É uma das armas mais antigas da humanidade, datando de períodos pré-históricos.
     
    Mesmo depois da descoberta dos metais, a lança não deixou de ser usada, ate o século XVII, quando a pólvora foi inventada. Normalmente as lanças se dividiam em três tipos: lança curta, pique (lança longa) e alabarda (lança provida com machado perto da ponta).
     

     
    Runas
     
    Contam as lendas vikings que os deuses moravam no Asgard, um lugar localizado no centro do mundo. Nele crescia o Yggdrasil, a Árvore do Mundo, cujas raízes ninguém conhecia, e que servia de comunicação entre a terra e o paraíso. Nesta árvore, o deus Odin conheceu a sua maior provação e descobriu o mistério da sabedoria: as Runas. Alguns versos do Edda Maior, um livro de poemas compostos entre os séculos IX e XIII, cantam esta aventura de Odin em algumas de suas estrofes:
     
     
    "Sei que fiquei pendurado naquela árvore fustigada pelo vento,
     
    Lá balancei por nove longas noites,
     
    Ferido por minha própria lâmina,Sacrificado a Odin,
     
    Eu em oferenda a mim mesmo:
     
    Amarrado à árvore
     
    De raízes desconhecidas.
     
     
    Ninguém me deu pão,
     
    Ninguém me deu de beber.
     
    Meus olhos se voltaram para as mais entranháveis profundezas,
     
    Até que vi as Runas.
     
     
    Com um grito ensurdecedor peguei-as,
     
    E,então,tão fraco estava que caí.
     
    Ganhei bem-estar
     
    E sabedoria também.
     
    Uma palavra,e depois a seguinte,
     
    acaonduziram-me à terceira,
     
    De um feito para outro feito."
     
     
    Esta é a criação mítica das Runas, na qual o sacrifício de Odin trouxe para a humanidade essa escrita alfabética antiga, cujas letras possuiam nomes significativos e sons também significativos, e que eram utilizadas na poesia, nas inscrições e nas adivinhações, mas que nunca chegaram a ser uma língua falada.
     
     

     
    Ufa,é com prestigio que termino mais um!
    Espero que curtam
  3. Upvote
    manoelouro deu reputação a comedinhasss em Player Check System   
    Versão: 3.2
    Versão de tibia: 9.4+ (Funciona em anteriores)
    Descrição: Existem muitos scripts que ajudam o administrador do servidor a cuidar dele, um deles é saber coisas sobre quem está jogando e se está sendo honesta. Eu peguei alguns scripts e estou juntando em um para diminuir o tamanho e ter uma fácil verificação.

    TAG:
    <talkaction log="yes" words="!p;/p" access="5" event="script" value="playercheck.lua"/> Script:
    Talkactions/scripts/playercheck.lua

    local config = { check = {"check", "viwer", "verificar", "ver"}, delete = {"del", "delete", "deletar"}, search = {"search", "procurar"} } function getItemsInContainer(cont, sep) local text = "" local tsep = "" local count = "" for i=1, sep do tsep = tsep.."-" end tsep = tsep..">" for i=0, getContainerSize(cont.uid)-1 do local item = getContainerItem(cont.uid, i) if isContainer(item.uid) == FALSE then if item.type > 0 then count = "("..item.type.."x)" end text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count.." ("..item.itemid..")" else if getContainerSize(item.uid) > 0 then text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")" text = text..getItemsInContainer(item, sep+2).." ("..item.itemid..")" else text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")" end end end return text end function onSay(cid, words, param, channel) local slotName = {"Cabeça", "Amuleto", "Backpack", "Armor", "Mao Direita", "Mao Esquerda", "Legs", "Pés", "Ring", "Ammo Slot"} local t = string.explode(param, ",") if(table.isStrIn(param, config.check)) then if getPlayerGroupId (cid) >= 5 then local player = getPlayerByNameWildcard(t[2]) if isPlayer(player) == TRUE then local text = getPlayerName(player).."'s Equipment: " for i=1, 10 do text = text.."\n\n" local item = getPlayerSlotItem(player, i) if item.itemid > 0 then if isContainer(item.uid) == TRUE then text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..") "..getItemsInContainer(item, 1) else text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..")" end else text = text..slotName[i]..": Empty" end end doShowTextDialog(cid, 6579, text) else doPlayerSendCancel(cid, "This player is not online.") end end elseif(table.isStrIn(param, config.delete)) then if getPlayerGroupId(cid) >= 5 then local player = getPlayerByNameWildcard(t[3]) if isPlayer(player) == TRUE then count = t[4] if(not t[4]) then count = 1 end if getPlayerItemCount(player, t[2]) > 0 then if doPlayerRemoveItem(player, t[2], count) then doPlayerSendCancel(cid, "Item Deletado.") else doPlayerSendCancel(cid, "Este player não esta quantidade.") end else doPlayerSendCancel(cid, "Este player não tem o item.") end end end elseif(table.isStrIn(param, config.search)) then if getPlayerGroupId (cid) >= 5 then local player = getPlayerByNameWildcard(t[3]) local result = db.getResult("SELECT name, online FROM players WHERE id IN (SELECT player_id FROM player_items WHERE itemtype = ".. t[2] ..");") local msg = "Resultados da busca pelo item ".. t[2] .." em seu banco de dados:\n\n" if result:getID() ~= -1 then while true do local name = result:getDataString("name") local online = result:getDataInt("online") msg = msg .. name .." [".. (online == 1 and "Online" or "Offline") .."]\n" if not result:next() then break end end else msg = msg .. "O item não foi encontrado em nenhum jogador." end doShowTextDialog(cid, t[2], msg) end end return true end Explicação:
    Quando o god digita:
    /p check, (PNAME) - Ele verifica os items que o player tem.
    /p del, (ID), (PNAME), (COUNT) - Ele deleta o item de determinado player (Se não colocar o count ele irá remover somente 1).
    /p search, (ID) - Ele verifica quantos players tem tal item e se está online.

    Créditos:
    Oneshot
    CaioODemais
    Comedinha (Bruno Carvalho)
     
  4. Upvote
    manoelouro deu reputação a jhon992 em [Creaturescript] Simple Reputation System !   
    Estou aqui hoje para trazer um sistema simples que eu criei, porém pode ser até muito útil, o Sistema de Reputação !
    Esse sistema vai funcionar da seguinte forma, você adiciona os monstros que darão Rep+ ao morrer, e a cada monstro desse, o player que o matou conquista +1 ponto de Reputação. Exemplo de monstro que seria legal adicionar: Bosses.
    Outro meio de ganhar Reputação com esse sistema será matando outros players que estejam pk.
    E o único meio de perder Pontos de Reputação é matando players que não estejam pk.
    O Sistema também vem com um rank de Reputação que sera adicionado nas talkactions e listara os tops Reputação e um comando para verificar seus pontos de reputação.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    Para que Esse Sistema pode ser Útil:
    Vamos pensar da seguinte maneira, pontos ao matar. Diminuirá o número de pk's in-game pois mais players vão querer mata-los. (REP +)
    Pontos negativos ao matar players comuns, também contribuirá para diminuição de pk's. (REP -)
    Pontos por matar bosses e outros monstros fortes, vai estimular os player's a matarem monstros mais perigosos. (REP +)

     
    Esse Sistema pode ser útil também para que só players com certa quantidade de Rep+ possam:
     
    -Entrar em lugares;
    -Fazer quests;
    -Usar magias;
    -Usar outras talkactions;
    -E várias outras coisas.
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    Agora vamos ao que interessa os scripts:
     
    Primeiro vai em "data/creaturescripts/scripts/" duplica um arquivo dessa pasta e renomeia para "repsystem" sem as aspas, nele cole:

    --<Script by jhon992>-- function onKill(cid, target, lastHit) vetMonster = { "Demon", "Morgaroth", "Hydra", "Dragon" } -- adicionar monstros que darão rep+ -- Ao matar monstros do vetMonster, ganhara rep+. for i=0, #vetMonster do if (getCreatureName(target) == vetMonster[i]) then setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)+1) doSendAnimatedText(getThingPos(cid), 'Rep+', 30) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou 1 ponto de reputação por matar um "..vetMonster[i]..".") return TRUE end end -- Ao matar um pk, ganhara rep+. if (isPlayer(target) == true) then if (getCreatureSkullType(target) > 2) then setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)+1) doSendAnimatedText(getThingPos(cid), 'Rep+', 30) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou 1 ponto de reputação por matar "..getCreatureName(target)..".") return TRUE end -- Ao matar um player normal, ganhara rep-. setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)-1) doSendAnimatedText(getThingPos(cid), 'Rep-', 144) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você perdeu 1 ponto de reputação por matar "..getCreatureName(target)..".") return TRUE end return TRUE end
     
    Agora em "data/creaturescripts/creaturescripts.xml" cole a tag:
     

    <event type="kill" name="RepSystem" event="script" value="repsystem.lua"/>
     
    Entre na pasta "data/creaturescripts/scripts" novamente, e abra o arquivo "login.lua" sem as aspas. Nele cole a tag:
     

    -- Verificar se é primeira vez que loga, pois ao usar storage ele ja começa com -1, -- Então vamos zera-lo para que sua Reputação comece do 0. if (getPlayerStorageValue(cid, 102087) ~= 1) then setPlayerStorageValue(cid, 102087, 1) setPlayerStorageValue(cid, 102086, 0) end registerCreatureEvent(cid, "RepSystem")
     
    Terminamos a parte do Sistema e agora vamos para o talkaction de rank.
     
    Vai na pasta "data/talkaction/scripts", duplique um arquivo e remomeie para "rankrep" sem as aspas. Abra-o e cole:
     

    function getPlayerNameByGUID2(n) local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";") if c:getID() == -1 then return "SQL_ERROR["..n.."]" end return c:getDataString("name") end function onSay(cid, words, param) if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você possui "..getPlayerStorageValue(cid, 102086).." pontos de Reputação.") return TRUE end if (param == "rank") then local max = 50 local letters_to_next = 50 local name_now local name = "Highscore for Reputação\n" local rkn = 0 local no_break = 0 name = name.."\n" name = name.."Rank. Pontos | Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 102086 ORDER BY cast(value as INTEGER) DESC;") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." | "..name_now..space.." \n" until v:next() == false if name ~= "Highscore\n" then doPlayerPopupFYI(cid, name) end return TRUE else doPlayerSendCancel(cid, "Command valid: !rep, !rep rank.") return TRUE end end
     
    E por último mais não menos importante, abra "data/talkactions/talkacitons.xml" e cole a tag:
     

    <talkaction words="!rep" event="script" value="rankrep.lua"/>
    Pronto, terminamos o nosso Simple Reputation System!
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    ----- Reputation Door-----
     
    Vai em data/actions/script, duplica um arquivo e nomeia para "repDoor" sem as aspas e nele cole:
     

    function onUse(cid, item, frompos, item2, topos) local quantRep = 30 -- quantidade de reset para entrar na porta newnPosition = {x=784, y=805, z=7} -- onde será teleportado ao clicar na porta if item.actionid == 2085 and getPlayerStorageValue(cid, 102086) >= quantRep then doTeleportThing(cid, newnPosition) doSendMagicEffect(newnPosition, 10) else doCreatureSay(cid, "Voce nao tem reputação suficiente para entrar!", TALKTYPE_ORANGE_1) end return TRUE end
     
    Agora em data/actions/actions.xml cole a tag:
     

    <action actionid="2085" script="repDoor.lua"/>
     
    E por último com seu mapa editor, vai na porta desejada do seu server e coloque o actionid 2085.
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    Agora para fazer alavancas, baús e etc, basta seguir o exemplo do script acima da repDoor.
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    ----- Quantidade de Reputação para usar determinado item -----
     
    Vai em data/movements/script e duplica um arquivo dessa pasta e nomeie para "itemRep" sem aspas, abra-o e cole:
     

    local quantRep = 30 -- quantidade de reset para usar determinado item function onEquip(cid, item, slot) if getPlayerStorageValue(cid, 102086) < quantRep then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com "..quantRep.." pontos de reputação ou mais, podem usar essa arma!") return FALSE end return TRUE end
     
     
    Agora vai em data/movements/movements.xml abre e adicione a tag:
     

    <movevent type="Equip" itemid="id do seu item" slot="hand" event="script" value="itemRep.lua"/>
     
    Troque os slots na tag acima como desejar, tipos de slots:
     

    head armor legs hand shield ring necklace feet pickupable
     
    Para itens que você for usar com a mesma quantidade de reps que o item anterior, apenas crie uma nova tag no movementes.xml com o itemid diferente. Senão você devera criar um novo script com o nome diferente e mudar a quantRep.
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    ----- Comprar determinado item com Pontos de Reputação -----
     
    Vai em data/talkactions/scripts, duplique um arquivo e nomeiei para "buyrep" sem as aspas e nele cole:
     

    local itemNames = { {name = "Dragon Shield", pontos = 2}, -- nome do item e pontos que gastara. {name = "Crown Armor", pontos = 8}, {name = "Arbalest", pontos = 25}, {name = "Heroic Axe", pontos = 20}, {name = "Magic Sword", pontos = 30}, {name = "Demon Armor", pontos = 50} } function onSay(cid, words, param, channel) if param == "" then for i=1, #itemNames do if i == 1 then text = "-- Lista de Items --\n" else text = text .. (itemNames[i].name) .." = ".. itemNames[i].pontos .." pontos\n" end end doShowTextDialog(cid,8977,text) return true end param = string.upper(param) for j=1, #itemNames do if (param == string.upper(itemNames[j].name)) then if getPlayerStorageValue(cid, 102086) < tonumber(itemNames[j].pontos) then doPlayerSendCancel(cid,"Você não possui pontos suficientes.") return true else doPlayerAddItem(cid, getItemIdByName(param)) doPlayerSendTextMessage(cid, 22, "Você comprou 1 ".. itemNames[j].name ..".") setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086) - itemNames[j].pontos) return true end end end doPlayerSendCancel(cid,"Este item não existe.") return true end
     
    Agora em data/talkactions/talkactions.xml cole a tag:
     

    <talkaction words="!buy" event="script" value="buyrep.lua"/>
     
    Em jogo, ao falar "!buy" aparecera a lista de itens que pode ser comprado e seus determinados custos, conforme foram configurados no arquivo "buyrep.lua".
    Para comprar um item basta ter a quantidade de reputação necessaria e usar o comando "!buy NomeDoItem".
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    ----- Mostrar Reputação no Look (by Vodkart)-----
     
    Vai em data/creaturescripts/scripts, duplique um arquivo e nomeiei para "showrep" sem as aspas e nele cole:

    function getReps(cid) return getPlayerStorageValue(cid,102086) < 0 and 0 or getPlayerStorageValue(cid,102086) end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "\n[Reps: " .. getReps(thing.uid) .."]") end return true end
     
    No creaturescripts.xml cole a tag:

    <event type="look" name="showRep" event="script" value="showrep.lua"/>
     
    E no arquivo login.lua, antes do último return true:

    registerCreatureEvent(cid, "showRep")
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    ----- Versão 2.0 repsystem.lua -----
    Caso você queira que cada monstro que você matar de pontos diferentes de reputação, voce deve substituir oque tem dentro do seu arquivo inicialmente criado e nomeado como repsystem.lua por isso:
     
     
     
    É isso aew galera, qualquer coisa que precise ser modificado ou dica para melhorar os scripts e o sistema serão bem vindas!
  5. Upvote
    manoelouro deu reputação a GuuhTorres em Guuh Torres Vs 4.0   
    Guuh Torres Vs 4.0
     
    *Pessoal,me desculpem pela demora da atualização,pois tinha muitos bugs nesta base,e em pedidos de vários xtibianos,arrumei o "Pokemon Squadium" do brun123...Este server era um bom server,mais tinha muitos bugs,irei listar os que eu arrumei,ou acrescentei:
     
    -Catch
    -Goback
    -Portrait
    -Pokedex
    -Order
    -Talkactions
    -!lg para mudar a linguagem (English-Português)
    -Status sistema
    -Novos pokemons (Johto-Shinys)
    -Coloquei mais moves (Johto)
    -Npc Name (Que coloca um apelido ao pokemon) no ultimo andar do CP
    -Novo Mapa do Betinhowz666
    -Novas quests
    -Novas Spawns (Eu não sei fazer muito bem,mais dá para usar)
    -PVP ZONE
    -Efeito ao upar level
    -Client na pasta (IP : 127.0.0.1)
    -Senha do GOD : guuh/torres
     
    DOWNLOAD do server:
     
    -Guuh Torres vs 4.0
     
    Créditos :
     
    -GuuhTorres 25%
    -Brun123 40% (Caso você ler este tópico,peço que adicione ght-2-@hotmail.com)
    -Betinhowz666 15%
    -Xtibia 5%
    -Victorkta 5%
    -Ciffer 5%
    -Italo 5%
     
     
     
     
    QUE VENHAM OS REPS :button_ok:
    -------------------------------------------------------------
    PRÓXIMA ATUALIZAÇÃO!!!
     
    Na próxima atualização irei fazer sem os BUGS,que vocês falarem...
  • Quem Está Navegando   0 membros estão online

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