Ir para conteúdo

35383

Campones
  • Total de itens

    35
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    35383 recebeu reputação de igorcano em [Mapa] Baiak Nxt 8.60 V 2.11   
    Baiak NXT V 2.11

     
     
     
     
     

    Baiak NXT V 2.11 Oque Mudou?


     

    Criei nova Cidade a mão

    Editei a Area de Tps Free

     

    Baiak NXT V 2.11 Oque Mudou?

     

    Criei City Vip

    Criei area de tps Vip e muito mas

    Baixe para ver




     





    Screen Shots


    Templo:




    Teleports:



     






     

    Acc: god


    Pass:god

     
     
     


    Scan e Download

     

     




  2. Upvote
    35383 recebeu reputação de pmwrec em [Mapa] Baiak Nxt 8.60 V 2.11   
    poxa vlw
  3. Upvote
    35383 recebeu reputação de PrisonDoom13 em Criando Novos Items   
    Pessoal vamos começar sei que não sou um bom scripter
    mas vou tentar não chorar pelas criticas
     
    Com esse script você nao precisara editar nada somente adicionar os scripts.
     
    Vá na pasta do seu OT data/lib e criei um arquivo.lua e renomeie para
    Item.lua apague tudo dentro e cole isso:
     

    function doPlayerAddEditedItem(cid, itemid) local newxml = io.open("data/items/newitems.xml", "r") local configs = {} for i in newxml:read("*a"):gmatch("<item (.-)</item>") do local itemid = tonumber(i:match('id="(.-)"')) local itemconfig = { ["spriteid"] = tonumber(i:match('spriteid.-=.-"(.-)"')), ["article"] = i:match('article.-=.-"(.-)"'), ["name"] = i:match('name.-=.-"(.-)"'), ["description"] = i:match('key.-=.-"description".-value.-=.-"(.-)"'), ["defense"] = tonumber(i:match('key.-=.-"defense".-value.-=.-"(.-)"')), ["attack"] = tonumber(i:match('key.-=.-"attack".-value.-=.-"(.-)"')), ["extradefense"] = tonumber(i:match('key.-=.-"extradef".-value.-=.-"(.-)"')), ["armor"] = tonumber(i:match('key.-=.-"armor".-value.-=.-"(.-)"')), ["extraattack"] = tonumber(i:match('key.-=.-"extraatk".-value.-=.-"(.-)"')), } configs[itemid] = itemconfig end if configs[itemid] then local item = doPlayerAddItem(cid, configs[itemid].spriteid) for i,x in pairs(configs[itemid]) do doItemSetAttribute(item, i, x) end end end
     
    Pronto agora vá na pasta do ot/data/items e crie um arquivo xml
    e renomeie para novositems.xml apague tudo dentro e coloque isso:
     

    <?xml version="1.0" encoding="UTF-8"?> <items> <item id="100" spriteid="2400" article="a" name="magic edited sword"> <attribute key="description" value="Arma editada." /> <attribute key="defense" value="45" /> <attribute key="attack" value="100" /> <attribute key="extradef" value="10" /> <attribute key="extraatk" value="10" /> </item> <item id="101" spriteid="2472" article="a" name="master plate armor"> <attribute key="description" value="Armor editada." /> <attribute key="armor" value="19" /> </item> </items>
    Bom como vocês podem ver os arquivos XML ele guarda os items adicionais a ele
    ele funciona como o items.xml que tambem está na pasta
     
    os atributos são:
     

    ♦ "description" ♦ "defense" ♦ "attack" ♦ "extradefense" ♦ "armor" ♦ "extraattack"
     
     
     
    Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...
     
    :aaskull: Até mais.... :aaskull:
  4. Upvote
    35383 recebeu reputação de dudupires45 em Criando Uma Fan Bar   
    1°Primeiro Baixe o Programa o Download pode ser encontrado aqui
    Download User Bar
     
    2°Depois que baixar Instale o Programa UseBar Generator
     
    3°Agr que voce baixou e instalou Abra o Programa

    4°Escreva alguma coisa na Fanbar

    5°Se quiser por imagem va em Overlay Image la em cima e Clique em choose escolha
     
    6°Para Salvar Va Na Aba Save&Open Click Hem Save O Ultimo Que Estara Azul Dica:Salve Como Gif.
     
    Pronto sua FanBar está criada
  5. Upvote
    35383 recebeu reputação de levynogueiiraa em Script Castle War 1.0   
    Boa Tarde,
     
    Pessoal eu notei que não tinha muitos script de Castle War por aqui no forum de Sistemas e Mods
    e então eu disse pra min mesmo por que eu não crio um script assim então eu comecei a trabalhar
     
     
    Instalando
    Na Actions
     
     
    Va na pasta data/actions/actions.xml e adicione
    isso:
     

    <action actionid="9999" event="script" value="castelowar1.lua"/> <action actionid="9998" event="script" value="castelodoor1.lua"/> <action actionid="8888" event="script" value="castelowar2.lua"/> <action actionid="8887" event="script" value="castelodoor2.lua"/>
     
    Agora que está instalado vá em data/actions/scripts
    e crie esses 4 arquivos:
     
    castelowar1.lua:

    {script by Sheamus88} function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_one_name = "Ratim Bum" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 2472 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end {script by Sheamus88} function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end {script by Sheamus88} function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end
     
    castelowar2.lua:

    {Script by Sheamus88} function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_two_name = "do Dracula" -- Nome do castelo 2 local storages = {154154,54321,321321} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 2472 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 0 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) ----------------------------------------------------- if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end ----------------------------------------------------- sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_two_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end ------------------------- Por PC98. function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end
     
    castelodoor1.lua:

    {script by Sheamus88} function onUse(cid, item, frompos, item2, topos) -------------------------Config----------------------------------------------------------------- door_opened = 1228 -- ID da porta aberta storage_guild = getGlobalStorageValue(123123) -- A 3ª storage configurada em Castle.lua guarda_ativ = 1 -- Caso um invasor tente abrir a porta, sumonar o Monstro "Guarda"?? | (1) = SIM (0) = NAO guarda_cont = 2 -- Caso ativo: a quantidade de guardas a sumonar guarda_pos = {x=123,y=123,y=7} -- Posiçao a ser sumonada os guardas! -------------------------Fim de Config----------------------------------------------------------- if getPlayerGuildId(cid) == storage_guild then doTeleportThing(cid,getThingPos(item.uid)) doTransformItem(item.uid, door_opened) doPlayerSendTextMessage(cid, 22, "Seja bem vindo a vosso castelo!") return TRUE else if guarda_ativ == 1 then doPlayerSendTextMessage(cid, 22, "Guaaaardas, tirem esses invasores daqui!!") for i=1, guarda_cont do doSummonCreature("Guarda", guarda_pos) end return FALSE else doPlayerSendTextMessage(cid, 22, "Este castelo nao pertence a sua guild") return FALSE end end end
     
    castelodoor2.lua:

    --------------- -----BY PC98------- --------------- function onUse(cid, item, frompos, item2, topos) -------------------------Config----------------------------------------------------------------- door_opened = 1228 -- ID da porta aberta storage_guild = getGlobalStorageValue(321321) -- A 3ª storage configurada ( ja esta configurada o PADRAO ) guarda_ativ = 1 -- Caso um invasor tente abrir a porta, sumonar o Monstro "Guarda"?? | (1) = SIM (0) = NAO guarda_cont = 4 -- Caso ativo: a quantidade de guardas a sumonar guarda_pos = {x=321,y=321,y=7} -- Posiçao a ser sumonada os guardas! -------------------------Fim de Config----------------------------------------------------------- if getPlayerGuildId(cid) == storage_guild then doTeleportThing(cid,getThingPos(item.uid)) doTransformItem(item.uid, door_opened) doPlayerSendTextMessage(cid, 22, "Seja bem vindo a vosso castelo!") return TRUE else if guarda_ativ == 1 then doPlayerSendTextMessage(cid, 22, "Guaaaardas, tirem esses invasores daqui!!") for i=1, guarda_cont do doSummonCreature("Guarda", guarda_pos) end return FALSE else doPlayerSendTextMessage(cid, 22, "Este castelo nao pertence a sua guild") return FALSE end end end
     
    Talcktions
     
    Vá em data/talcktions/talcktions.xml clique com o botao direito e depois aperte em "Editar"
    e adicione essa linha:
     

    <talkaction words="/war" event="script" value="castelosystem.lua"/>
     
    Agora vá em scripts da pasta talcktions e crie um arquivo lua
    e renomeie para castelosystem.lua e adicione isso:
     
    castelosystem.lua:

    function onSay(cid, words, param) access = 4 -- Coloque aqui o access requirido para Ativar/Desativar o sistema if param == "start" then if getPlayerAccess(cid) == access then setGlobalStorageValue(54321,1) doPlayerSendTextMessage(cid, 20, "Voce ativou o Castle Wars com suscesso!") return TRUE end elseif param == "stop" then if getPlayerAccess(cid) == access then setGlobalStorageValue(54321,2) doPlayerSendTextMessage(cid, 20, "Voce desativou o Castle Wars com suscesso!") return TRUE end end end
     
    Monster
     
    O monster GUARDA aquele que mensionei ele ficará dentro do castelo
     
    Instalando:
     
    vá na pasta data/monster/monster.xml,e adicione essa linha aqui:

    <monster name="Guarda" file="guarda.xml"/>
     
    depois crie um arquivo na pasta scripts com o nome guarda.xml
    guarda.xml
     

    <?xml version="1.0"?> <monster name="Guarda" nameDescription="the guard" experience="6000" speed="268" race="Blood"> <health now="20000" max="20000"/> <look type="73" corpse="6080"/> <strategy attack="200" defense="300"/> <targetchange speed="420" chance="1"/> <flags> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag attackable="1"/> <flag pushable="0"/> <flag staticattack="90"/> <flag targetdistance="1"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" min="-400" max="-800" range="1"/> <attack name="physical" interval="4000" chance="25" min="-600" max="-700" range="7" radius="8" target="1"> <attribute key="shootEffect" value="arrow"/> </attack> </attacks> <defenses defense="45" armor="40"/> <immunities> <immunity name="paralyze"/> <immunity name="invisible"/> </immunities> <voices speed="2200" chance="75"> <voice sentence="Aii Delicia Assim você me mata (8)" yell="1"/> <voice sentence="Saia daqui intrusos!" yell="1"/> <voice sentence="Sua resistencia e inutil!" yell="1"/> <voice sentence="Voce vai ser preso!" yell="1"/> <voice sentence="Quem manda é o Sheamus88!" yell="1"/> </voices> <script> <event name="guard"/> </script> <elements/> <loot/> </monster>
     
    Creatures Scripts
     
    Bom, agora a gente tem de configurar pra esse bixo nao atacar os donos do castelo neh, se nao ele vai sair porai matando GERAL :fuu:. Vamo nessa.
     
    Va na pasta data/creaturescripts e edite o arquivo creaturescripts.xml adicionando esta linha:
     

    <event type="combat" name="guard" script="guarda.lua"/>
     
    agora abra a pasta scripts, que esta na mesma pasta e crie um arquivo chamado guarda.lua.
     
    guarda.lua
     

    function onCombat(cid, target) if(not isPlayer(target)) then return TRUE else targets = getMonsterTargetList(cid) if getPlayerGuildId(target) == getGlobalStorageValue(123123) then addEvent(check,1000,cid,targets) return FALSE else return TRUE end end end function check(cid,targets) for i=1, #targets do if getPlayerGuildId(targets[i]) == getGlobalStorageValue(123123) then addEvent(check,1000,cid,targets) return FALSE else stopEvent(check) return TRUE end end end
     
    O seu Guarda está configurado vamos para ultima etapa:
     
    Instalação no RME
     
    Va ate no primeiro castelo, e adicione uma lavanca ( id recomendado: 1945 ) e coloque aonde voce quiser. Depois de colocado a lavanca, clique nela com o botao direito do mouse e va em property.
     
    No campo "ActionID:" coloque 5656.
     
     
    Faça a mesma coisa com o segundo castelo, crie la a lavanca, e coloque actionID 5657.
     
    Se voce quiser voce pode criar uma porta especial, por onde so os 'donos' do castelo pode entrar, afinal, ja ta instalado! :fail:
     
    Coloque ActionID 5659 na porta no primeiro castelo, e actionID 5660 na porta do segundo castelo.
     
     
    Comandos
     
    /war star(para ativar o system)
    /war stop(para desativar o system)
     
    Creditos
    Sheamus88 - Pelos scripts tbm
    PC98 - Por partes do script
    MonsterEditor - Pelo mosntro Guarda. ( blackdemon)
  6. Upvote
    35383 recebeu reputação de Pabloxsz em Criando Novos Items   
    Pessoal vamos começar sei que não sou um bom scripter
    mas vou tentar não chorar pelas criticas
     
    Com esse script você nao precisara editar nada somente adicionar os scripts.
     
    Vá na pasta do seu OT data/lib e criei um arquivo.lua e renomeie para
    Item.lua apague tudo dentro e cole isso:
     

    function doPlayerAddEditedItem(cid, itemid) local newxml = io.open("data/items/newitems.xml", "r") local configs = {} for i in newxml:read("*a"):gmatch("<item (.-)</item>") do local itemid = tonumber(i:match('id="(.-)"')) local itemconfig = { ["spriteid"] = tonumber(i:match('spriteid.-=.-"(.-)"')), ["article"] = i:match('article.-=.-"(.-)"'), ["name"] = i:match('name.-=.-"(.-)"'), ["description"] = i:match('key.-=.-"description".-value.-=.-"(.-)"'), ["defense"] = tonumber(i:match('key.-=.-"defense".-value.-=.-"(.-)"')), ["attack"] = tonumber(i:match('key.-=.-"attack".-value.-=.-"(.-)"')), ["extradefense"] = tonumber(i:match('key.-=.-"extradef".-value.-=.-"(.-)"')), ["armor"] = tonumber(i:match('key.-=.-"armor".-value.-=.-"(.-)"')), ["extraattack"] = tonumber(i:match('key.-=.-"extraatk".-value.-=.-"(.-)"')), } configs[itemid] = itemconfig end if configs[itemid] then local item = doPlayerAddItem(cid, configs[itemid].spriteid) for i,x in pairs(configs[itemid]) do doItemSetAttribute(item, i, x) end end end
     
    Pronto agora vá na pasta do ot/data/items e crie um arquivo xml
    e renomeie para novositems.xml apague tudo dentro e coloque isso:
     

    <?xml version="1.0" encoding="UTF-8"?> <items> <item id="100" spriteid="2400" article="a" name="magic edited sword"> <attribute key="description" value="Arma editada." /> <attribute key="defense" value="45" /> <attribute key="attack" value="100" /> <attribute key="extradef" value="10" /> <attribute key="extraatk" value="10" /> </item> <item id="101" spriteid="2472" article="a" name="master plate armor"> <attribute key="description" value="Armor editada." /> <attribute key="armor" value="19" /> </item> </items>
    Bom como vocês podem ver os arquivos XML ele guarda os items adicionais a ele
    ele funciona como o items.xml que tambem está na pasta
     
    os atributos são:
     

    ♦ "description" ♦ "defense" ♦ "attack" ♦ "extradefense" ♦ "armor" ♦ "extraattack"
     
     
     
    Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...
     
    :aaskull: Até mais.... :aaskull:
  7. Upvote
    35383 recebeu reputação de japar1 em [Mapa] Baiak Nxt 8.60 V 2.11   
    Baiak NXT V 2.11

     
     
     
     
     

    Baiak NXT V 2.11 Oque Mudou?


     

    Criei nova Cidade a mão

    Editei a Area de Tps Free

     

    Baiak NXT V 2.11 Oque Mudou?

     

    Criei City Vip

    Criei area de tps Vip e muito mas

    Baixe para ver




     





    Screen Shots


    Templo:




    Teleports:



     






     

    Acc: god


    Pass:god

     
     
     


    Scan e Download

     

     




  8. Upvote
    35383 recebeu reputação de grovick em [Mapa] Baiak Nxt 8.60 V 2.11   
    Baiak NXT V 2.11

     
     
     
     
     

    Baiak NXT V 2.11 Oque Mudou?


     

    Criei nova Cidade a mão

    Editei a Area de Tps Free

     

    Baiak NXT V 2.11 Oque Mudou?

     

    Criei City Vip

    Criei area de tps Vip e muito mas

    Baixe para ver




     





    Screen Shots


    Templo:




    Teleports:



     






     

    Acc: god


    Pass:god

     
     
     


    Scan e Download

     

     




  9. Upvote
    35383 recebeu reputação de Kanazakki em [Mapa] Baiak Nxt 8.60 V 2.11   
    Baiak NXT V 2.11

     
     
     
     
     

    Baiak NXT V 2.11 Oque Mudou?


     

    Criei nova Cidade a mão

    Editei a Area de Tps Free

     

    Baiak NXT V 2.11 Oque Mudou?

     

    Criei City Vip

    Criei area de tps Vip e muito mas

    Baixe para ver




     





    Screen Shots


    Templo:




    Teleports:



     






     

    Acc: god


    Pass:god

     
     
     


    Scan e Download

     

     




  10. Upvote
    35383 recebeu reputação de admdestroyer em Scripting De Fly System E De Broadvip   
    Antes de começar não esqueça de abrir todos os Spoiler
    se não os scripts não vao funcionar se não fizer tudo direitinho
     
    :forward: Fly System :back:
     
    1°Vá na pasta do ot data/talcktions/scripts crie um arquivo lua
    renomeie para flysystem.lua apague tudo dentro e coloque:
     

    function onSay(cid, words, param) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "no", -- players deve estar sem battle ("yes" or "no") custo = "no", -- se os teleport irão custa ("yes" or "no") vip = "yes", -- somente vip players poderam usar o comando? ("yes" or "no") storage = 13540 -- Storage Id da sua vip account caso for usar somente vips } -------------Config Lugares---------------- local lugar = { [color="#FF0000"]["depot"] = {{x=129, y=53, z=6}, 1, 0}, ["temple"] = {{x=160, y=54, z=7}, 1, 0}, ["arena"] = {{x=554, y=147, z=7}, 1, 0}, ["trainer"] = {{x=454, y=51, z=13}, 1, 0}, ["viparea"] = {{x=1028, y=1034, z=7}, 1, 0} }[/color] -------------/Config Checkar não mecha---------------- local lugar = lugar[param] if (param == "check") then for name, pos in pairs(lugar) do text = "Destino: "..name..", Level necessario: "..pos[2].."," if(config.battle == "yes") then text = text.." Voce pode usar estando battler: SIM" else text = text.." Voce pode usar estando battler: Não" end if(config.pz == "yes") then text = text.." Voce DeVe Usar estando PZ: SIM" else text = text.." Voce DeVe Usar estando PZ: Não" end if (pos[3] == TRUE) then text = text..", Cost: "..pos[4]..";" end doPlayerSendTextMessage(cid, 22, ""..text.."") end return TRUE end if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if (config.vip == "yes") and getPlayerStorageValue(cid, tonumber(config.storage)) - os.time() <= 0 then doPlayerSendCancel(cid,MESSAGE_EVENT_DEFAULT,"Comando so para player vip's.") return TRUE end if not(lugar) then doPlayerSendTextMessage(cid, 25, "desculpe,este lugar não existe,duvida fale !flyinfo vai ver todos os comandos de fly") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end if (getPlayerLevel(cid) <= lugar[2]) then doPlayerSendTextMessage(cid, 25, "Desculpe,Voce não tem level. voce precisa "..lugar[2].." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end if(config.custo == "yes") and (doPlayerRemoveMoney(cid, lugar[3]) == FALSE) then doPlayerSendTextMessage(cid, 25, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..lugar[3].." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, lugar[1]) doSendMagicEffect(lugar[1], CONST_ME_TELEPORT) doBroadcastMessage("" .. getPlayerName(cid) .. " has flown to " .. param .. " using !fly ", MESSAGE_INFO_DESCR) end
     
    2°Agr vá em data/talcktions/talcktions.xml
    e cole isso:
     

    <talkaction words="!fly" event="script" value="flysystem.lua"/>
    :forward: Broadcast Vip :back:
     
    1°Vá em data/talcktions/scripts crie um arquivo lua renomeie
    para broadvip.lua apague tudo e cole isso
     

    local config = { priceForEachMessage = 1, -- preço de cada mensagem } local storage = 13540 function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite alguma coisa.") return TRUE end if getPlayerStorageValue(cid,13540) <= -1 then doPlayerSendCancel(cid, "Só players Vips podem falar em verde.") return TRUE end if(doPlayerRemoveMoney(cid, config.priceForEachMessage) == TRUE) then doBroadcastMessage("[V.I.P] " .. getPlayerName(cid) .. " : " .. param .. "", MESSAGE_INFO_DESCR) else doPlayerSendCancel(cid, "Você precisa de " .. config.priceForEachMessage .. " gps para enviar a messagem.") end return TRUE end
     
    2°Agr vá em data/talcktions/talcktions.xml e cole isso

    <talkaction words="/bvip" event="script" value="broadvip.lua"/>
     
    O comando para falar será /bvip Eai
    [V.I.P]Nameplayer:Eai
     
    Se funcionou Comentem ai e não esqueçam REP+
  11. Upvote
    35383 recebeu reputação de Pardalziin em Baiak Nxt 3.11 [8.60]   
    Baiak NXT 3.11

     

     

     

    Baiak NXT 3.11 Oque Mudou?

     

    *Novo Templo

    *Criei novos monstros

    *Editei area de teleports Antigos

     

    Baiak NXT 3.11 Oque Mudou?

     

    *Criei um NPC na VIP II que da Vocação

    *Fiz uma nova sala para quest como(POI,DH,INQUI e TUMBA) as mais usadas

    *Eu usei os novos monstros que criei no teleport Vip 2

     

     

    Comandos Vip II

     

     

    /addgolden->Adiciona dias de Vip ao player exemplo:(/addgolden,sheamus, 5)Adicionei 5 dias(GOD)

     

    /delgolden->Tira dias de Vip do player exemplo:(/delgolden,sheamus,5)Retirei 5 dias(GOD)

     

    /checkgolden->Checka quantos dias o player(GOD)

     

    /goldendays->Vê quantos dias tem de golden vip(Player VIP II)

     

     

     

     

    Castle War:By Sheamus

     

     

     

    *Criei um Script de Castle War

     

    *Como Funciona:Você entra no tp(você tem de ter uma guild)

     

    quando você tentar abrir a porta irá aparecer um bicho chamado

     

    Guarda do Castelo 20000 life ele tem você pode alterar em

     

    na pasta Monster ele foi programado para atacar so quem

     

    não conquistou o castelo é tipo uma bricadeira.

     

    *Como Brincar:Você vai e entra no castelo da guild inimiga

     

    e vai até o ultimo andar sem deixar que os guardas

     

    te matem e aperta a alacavanca ai a guild que está dentro do castelo

     

    vaza pra fora.

     

    *Comandos:

    /war start ->Incia a war

    /war stop->Para a war e todos não podem mas se atacar

    só se alguem falar /war star

     

     

     

    Broadcast para VIP's

     

     

    *Como Utilizar:você compra VIP ai fala

     

    /bvip Eai (exemplo ai irar sair assim)

     

     

    [V.I.P] Sheamus88: Melhor Topico do Fórum rsrsrsrs...

     

     

     

     

    A parte que vocês estavam mas esperando

     

     

     

     

    Screen Shots

     

    Templo:



     

    Teleports:



     

    Templo VIP II:



     

    Teleports VIP II:



     

     

     

     

     

    Scan do Server

     



     

     

     

     

     

    Downloads

     



     

    Pessoal sei que não é o melhor do mundo mas comentem ai plx

     

    quero saber oque achar

     

    Galera comentem ai por favor é o meu terceiro mapa e disseram que os meus 2 ultimos

    ficaram

     

     

    Creditos

     

    Sheamus 100%(por scripts e por editar)

  12. Upvote
    35383 recebeu reputação de pepee11 em Criando Uma Fan Bar   
    1°Primeiro Baixe o Programa o Download pode ser encontrado aqui
    Download User Bar
     
    2°Depois que baixar Instale o Programa UseBar Generator
     
    3°Agr que voce baixou e instalou Abra o Programa

    4°Escreva alguma coisa na Fanbar

    5°Se quiser por imagem va em Overlay Image la em cima e Clique em choose escolha
     
    6°Para Salvar Va Na Aba Save&Open Click Hem Save O Ultimo Que Estara Azul Dica:Salve Como Gif.
     
    Pronto sua FanBar está criada
  13. Upvote
    35383 recebeu reputação de zikadobaileee em [Mapa] Baiak Nxt 8.60 V 2.11   
    poxa vlw
  14. Upvote
    35383 recebeu reputação de PedroBNC em Sistema De Reflectboots   
    Bem é se alguem conseguir o item e algum mané atacar ele ele vai refletir o attack em dobro
    e você pode escolher se é em holy,physical,death,fire ou energy (eu recomendo holy,mais bonito)
     
    Instalando
     
    Vá em data/lib e crie um arquivo chamado reflectboots.lua apague tudo
    e adicione isso:
     

    function isHandedWeapon(itemuid) local typee = getItemWeaponType(itemuid) or 0 if typee >= 1 and typee <= 6 then return CONST_SLOT_RIGHT end return -1 end function getItemType(itemid) local slottypes = {"head", "body", "legs", "feet", "ring", "necklace"} local consts = { ["head"] = CONST_SLOT_HEAD, ["armor"] = CONST_SLOT_ARMOR, ["legs"] = CONST_SLOT_LEGS, ["feet"] = CONST_SLOT_FEET, ["ring"] = CONST_SLOT_RING, ["necklace"] = CONST_SLOT_NECKLACE } local arq = io.open("data/items/items.xml", "r"):read("*all") local attributes = arq:match('<item id="' .. itemid .. '".+name="' .. getItemNameById(itemid) ..'">(.-)</item>') local slot = "" for i,x in pairs(slottypes) do if attributes:find(x) then slot = x break end end if slot == "body" then slot = "armor" end return consts[slot] end function addReflectCharges(item, charges, reflectpercent) if charges ~= "inf" then charges = charges+1 doItemSetAttribute(item, "mcharges", charges) doItemSetAttribute(item, "charges", charges) doItemSetAttribute(item, "name", getItemNameById(getThing(item).itemid) .. " that is brand-new") else doItemSetAttribute(item, "charges", -1) doItemSetAttribute(item, "mcharges", "inf") end doItemSetAttribute(item, "reflect", reflectpercent) doItemSetAttribute(item, "description", "That item reflects " .. reflectpercent .. " percent of physical damage.") end function renewCharges(item) if getItemAttribute(item, "charges") and getItemAttribute(item, "mcharges") ~= "inf" then doItemSetAttribute(item, "charges", getItemAttribute(item, "mcharges")) doItemSetAttribute(item, "name", getItemNameById(getThing(item).itemid) .. " that is brand-new") end end
     
     
    Agora vá em data/creaturescripts/scripts e adicione o script reflect.lua com esse script:
     

    function onStatsChange(cid, attacker, type, combat, value) local slots = {CONST_SLOT_HEAD, CONST_SLOT_NECKLACE, CONST_SLOT_ARMOR, CONST_SLOT_RIGHT, CONST_SLOT_LEFT, CONST_SLOT_LEGS, CONST_SLOT_FEET, CONST_SLOT_RING} local reflectpercent = 0 local itens = {} for i = 1, #slots do if getPlayerSlotItem(cid, slots[i]).uid > 1 and (getItemType(getPlayerSlotItem(cid, slots[i]).itemid) == slots[i] or isInArray({CONST_SLOT_RIGHT, CONST_SLOT_LEFT}, isHandedWeapon(getPlayerSlotItem(cid, slots[i]).uid))) and getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "mcharges") and (getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "charges") > 1 or getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "mcharges") == "inf") then reflectpercent = reflectpercent+getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "reflect") table.insert(itens, getPlayerSlotItem(cid, slots[i])) end end if combat == 1 and reflectpercent > 0 then if math.ceil(-value*((100-reflectpercent)/100)) < 0 then doCreatureAddHealth(cid, math.ceil(-value*((100-reflectpercent)/100))) doSendAnimatedText(getCreaturePosition(cid), math.ceil(value*((100-reflectpercent)/100)), COLOR_RED) local a = doCreateItem(2019, 2, getCreaturePosition(cid)) doSendMagicEffect(getCreaturePosition(cid), 0) doDecayItem(a) else doSendMagicEffect(getCreaturePosition(cid), 3) end if math.ceil(-value*(reflectpercent/100)) < 0 then doCreatureAddHealth(attacker, math.ceil(-value*(reflectpercent/100))) doSendAnimatedText(getCreaturePosition(attacker), math.ceil(value*(reflectpercent/100)), COLOR_GREY) local a = doCreateItem(2019, 2, getCreaturePosition(attacker)) doSendMagicEffect(getCreaturePosition(attacker), 9) doDecayItem(a) end for i,x in pairs(itens) do if getItemAttribute(x.uid, "mcharges") ~= "inf" then doItemSetAttribute(x.uid, "charges", getItemAttribute(x.uid, "charges")-1) doItemSetAttribute(x.uid, "name", getItemNameById(x.itemid) .. " that has " .. getItemAttribute(x.uid, "charges")-1 .. " charge" .. (getItemAttribute(x.uid, "charges")-1 > 1 and "s" or "") .. " left") end end else return TRUE end end
     
    Agora na mesma pasta, procure por login.lua, e antes do ultimo return true, adicione essa isso:
     

    registerCreatureEvent(cid, "ReflectDamage")
     
    Agora vá em creaturescripts.xml e adicione esta tag:
     

    <event type="statschange" name="ReflectDamage" event="script" value="reflect.lua"/>
     
    Simples não?O script está pronto para se usado
     
    O script segue com tais funçoes para voce usar em outros scripts:
     
    addReflectCharges(item, charges, reflectpercent)
    ♦Função: Ela é o coraçao do script, sem ela voce nao faz nada, voce usa ela pra adicionar cargas a um item qualquer, des de que seja equipavel.
     
    ♦item - O uid do item que vai ser adicionado as cargas.
    ♦charges - Numero de cargas, caso voce use "inf", assim mesmo com as aspas, o item tera infinitas cargas.
    ♦reflectpercent - Porcentagem de reflexão que o item vai ter.
     
    renewCharges(item)
    ♦ Função: Recarregar as cargas de um item.
     
    ♦ item - O uid do item que vai ser recarregado.
     
    O script usado para adicionar o colar foi uma talkaction assim:
     

    function onSay(cid, words, param) local item = doPlayerAddItem(cid, 2125) addReflectCharges(item, 40, 75) return TRUE end
     
    Creditos:
    Sheamus88(pelo script)
  15. Upvote
    35383 deu reputação a Demonbholder em Tibia Som V. 1.0 (Lua)   
    Opa galera, tudo bem? Nesses últimos dias eu vim trabalhando em um projeto que eu já tenho em mente faz um tempo: um tibia som usando apenas a linguagem lua e suas bibliotecas auxiliares.

    Primeiramente gostaria de dizer que lua é um linguagem limitada, mesmo contando com suas bibliotecas auxiliares em C não se compara a própria linguagem C, entre outras. Leia tudo!

    Como funciona: Tanto o hoster quanto o jogador devem baixar arquivos para que o sistema funcione, porém, cada um irá baixar arquivos diferentes. O jogador irá abrir o programa e depois deve ativar a talkaction no jogo que irá dar inicio a conexão entre as duas redes. Depois, o jogador deve digitar sua conta e senha para confirmar a conexão. A partir deste momento, o programa estará em funcionamento.

    Informações: O programa ainda está em fase de testes, não tive a oportunidade de testar com Tibia MC ou até mesmo com duas conexões simultâneas, ou seja, duas pessoas usando o sistema. Peço que reportem qualquer bug para que eu o corrija imediatamente. Por enquanto, o máximo são 10 sons.

    Bibliotecas auxiliares: Foram utilizadas as bibliotecas ProteaAudio para reproduzir os sons e a biblioteca Socket para conectar as duas redes e possibilitar o envio de dados (TCP).

    Instalação: A instalação é a parte mais difícil do processo, fique muito atento pois qualquer nome de pasta que não esteja igual ao indicado irá debilitar o funcionamento do programa.


    Instalação para o Jogador


    Se você estiver jogando um OtServer que possua este sistema, siga os seguintes passos:

    Baixe o seguinte aquivo: http://www.4shared.c...ibia_Som_P.html

    Feito isso, para ativar o sistema, abra o arquivo Tibia Som.bat e, no jogo, use as palavras que irão ativar a talkaction para inciar a conexão. Após o inicio da conexão, digite a sua conta e senha e assim o sistema irá funcionar.


    Instalação para o Hoster


    Se você estiver hosteando um OtServer e deseja implementar o sistema, siga os seguintes passos:

    Baixe o seguinte arquivo: http://www.4shared.com/rar/AuijQwyB/Tibia_Som_H.html

    Agora, selecione as seguintes pastas: lua, mime, socket e os seguintes arquivos: lua.exe, lua5.1.exe, lua5.1.dll, lua51.dll e coloque-os na mesma pasta onde se encontra o interpretador (executável) e as dlls do seu OtServer.

    Feito isso, vá em data/globalevents/scripts e cole o arquivo gbevt.lua, depois vá em data/globalevents, abra o arquivo globalevents.xml e, entre duas tags, cole esta: <globalevent name="tibiasom" interval="3" event="script" value="gbevt.lua"/>

    Depois, vá em data/lib e cole o arquivo changer.txt, não se assuste porque ele está vazio, server apenas para trocar informações entre o OtServer e o interpretador avulso.

    Vá em data/talkactions/scripts e cole os arquivos talk.lua e sender.lua, depois vá em data/talkactions, abra o arquivo talkactions.xml e, entre duas tags, cole esta: <talkaction words="talk" script="talk.lua" />





    Edição Jogador


    Se você seguiu os passos de instalação do jogador, agora poderá editar algumas configurações.

    Você tem a opção de editar os sons, porém, não a quantidade. Para fazer isto, abra a pasta songs.

    Para editar cada um dos sons, você deve substitui-los por um arquivo de mesmo nome e formato.


    Edição Hoster


    Se você seguiu os passos de instalação do hoster, agora pode e deve editar as configurações.

    Para editar as posições onde os sons vão ser reproduzidos, você deve editar dois arquivos: vá em data/globalevents/scripts, e abra o arquivo gbevt.lua. Você irá ver isto:

     
    tabmatch = { [{{x=130, y=40, z=5}, {x=160, y=60, z=7}}] = "{x=150, y=50, z=7}", [{{x=161, y=40, z=5}, {x=165, y=80, z=7}}] = "{x=170, y=70, z=7}" }
    Perceba estas duas tabelas: {x=130, y=40, z=5}, {x=160, y=60, z=7}

    O primeiro x é o número mínimo de posição x que o jogador deve estar para tocar o som referente a posição {x=150, y=50, z=7}. O seguindo x é o número máximo de posição x que ele deve estar para tocar o som. Isso se aplica ao y e o z também.

    Para adicionar novas posições (até 10), apenas continue seguindo o padrão da tabela, inserindo uma virgula no final de todos index, com exceção do último index. Por exemplo:

    tabmatch = { [{{x=130, y=40, z=5}, {x=160, y=60, z=7}}] = "{x=150, y=50, z=7}", [{{x=161, y=40, z=5}, {x=165, y=80, z=7}}] = "{x=170, y=70, z=7}", [{{x=166, y=100, z=5}, {x=190, y=190, z=9}}] = "{x=180, y=120, z=7}" }
    Tenha muito cuidado para que duas posições nunca se encontrem, caso aconteça, o sistema irá ser debilitado.

    Sempre que você editar o gbevt.lua, você deve, também, editar o sender.lua, que se encontra em data/talkactions/scripts.

    Nele, você também encontrará uma tabela:

    tab = { ['{x=150, y=50, z=7}'] = 'songs/song1.ogg', ['{x=170, y=70, z=7}'] = 'songs/song2.ogg' }
    Perceba esta tabela: {x=150, y=50, z=7}

    Esta tabela deverá ser igual a tabela que se encontra depois do sinal de "=" na tabela do arquivo gbevt.lua.

    Para edita-la, deve continuar o padrão da tabela, inserindo uma virgula no final de todos index, com exceção do último index. Vamos inserir um novo index considerando aquele exemplo usado na explicação do gbevt.lua:

    tab = { ['{x=150, y=50, z=7}'] = 'songs/song1.ogg', ['{x=170, y=70, z=7}'] = 'songs/song2.ogg', ['{x=180, y=120, z=7}'] = 'songs/song3.ogg' }
    Perceba que o song deve ser seguir a ordem crescente. Não esqueça que o máximo são 10 sons, a menos que o jogador também adicione mais sons na pasta songs.

    Não esqueça, também, de editar a tag em talkactions.xml:

    <talkaction words="talk" script="talk.lua" />

    Caso deseje, edite onde está escrito talk, por qualquer palavra para que o jogador possa iniciar a conexão.



    Isso é tudo pessoal, espero que tenham gostado. Não esqueçam de reportar os bugs. Até.



    Sistema em fase de testes
  16. Upvote
    35383 recebeu reputação de knightmage em Criando Novos Items   
    Pessoal vamos começar sei que não sou um bom scripter
    mas vou tentar não chorar pelas criticas
     
    Com esse script você nao precisara editar nada somente adicionar os scripts.
     
    Vá na pasta do seu OT data/lib e criei um arquivo.lua e renomeie para
    Item.lua apague tudo dentro e cole isso:
     

    function doPlayerAddEditedItem(cid, itemid) local newxml = io.open("data/items/newitems.xml", "r") local configs = {} for i in newxml:read("*a"):gmatch("<item (.-)</item>") do local itemid = tonumber(i:match('id="(.-)"')) local itemconfig = { ["spriteid"] = tonumber(i:match('spriteid.-=.-"(.-)"')), ["article"] = i:match('article.-=.-"(.-)"'), ["name"] = i:match('name.-=.-"(.-)"'), ["description"] = i:match('key.-=.-"description".-value.-=.-"(.-)"'), ["defense"] = tonumber(i:match('key.-=.-"defense".-value.-=.-"(.-)"')), ["attack"] = tonumber(i:match('key.-=.-"attack".-value.-=.-"(.-)"')), ["extradefense"] = tonumber(i:match('key.-=.-"extradef".-value.-=.-"(.-)"')), ["armor"] = tonumber(i:match('key.-=.-"armor".-value.-=.-"(.-)"')), ["extraattack"] = tonumber(i:match('key.-=.-"extraatk".-value.-=.-"(.-)"')), } configs[itemid] = itemconfig end if configs[itemid] then local item = doPlayerAddItem(cid, configs[itemid].spriteid) for i,x in pairs(configs[itemid]) do doItemSetAttribute(item, i, x) end end end
     
    Pronto agora vá na pasta do ot/data/items e crie um arquivo xml
    e renomeie para novositems.xml apague tudo dentro e coloque isso:
     

    <?xml version="1.0" encoding="UTF-8"?> <items> <item id="100" spriteid="2400" article="a" name="magic edited sword"> <attribute key="description" value="Arma editada." /> <attribute key="defense" value="45" /> <attribute key="attack" value="100" /> <attribute key="extradef" value="10" /> <attribute key="extraatk" value="10" /> </item> <item id="101" spriteid="2472" article="a" name="master plate armor"> <attribute key="description" value="Armor editada." /> <attribute key="armor" value="19" /> </item> </items>
    Bom como vocês podem ver os arquivos XML ele guarda os items adicionais a ele
    ele funciona como o items.xml que tambem está na pasta
     
    os atributos são:
     

    ♦ "description" ♦ "defense" ♦ "attack" ♦ "extradefense" ♦ "armor" ♦ "extraattack"
     
     
     
    Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...
     
    :aaskull: Até mais.... :aaskull:
  17. Upvote
    35383 deu reputação a Kaa em Baiak Nxt 3.11 [8.60]   
    Gostei do templo, bem diferente dos que se vê por aí. Só achei que poderia ter colocado uns nomes mais criativos para os monstros editados, mas isso não é problema, parabéns.
  18. Upvote
    35383 recebeu reputação de Henrique Moura em Scripting De Fly System E De Broadvip   
    Antes de começar não esqueça de abrir todos os Spoiler
    se não os scripts não vao funcionar se não fizer tudo direitinho
     
    :forward: Fly System :back:
     
    1°Vá na pasta do ot data/talcktions/scripts crie um arquivo lua
    renomeie para flysystem.lua apague tudo dentro e coloque:
     

    function onSay(cid, words, param) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "no", -- players deve estar sem battle ("yes" or "no") custo = "no", -- se os teleport irão custa ("yes" or "no") vip = "yes", -- somente vip players poderam usar o comando? ("yes" or "no") storage = 13540 -- Storage Id da sua vip account caso for usar somente vips } -------------Config Lugares---------------- local lugar = { [color="#FF0000"]["depot"] = {{x=129, y=53, z=6}, 1, 0}, ["temple"] = {{x=160, y=54, z=7}, 1, 0}, ["arena"] = {{x=554, y=147, z=7}, 1, 0}, ["trainer"] = {{x=454, y=51, z=13}, 1, 0}, ["viparea"] = {{x=1028, y=1034, z=7}, 1, 0} }[/color] -------------/Config Checkar não mecha---------------- local lugar = lugar[param] if (param == "check") then for name, pos in pairs(lugar) do text = "Destino: "..name..", Level necessario: "..pos[2].."," if(config.battle == "yes") then text = text.." Voce pode usar estando battler: SIM" else text = text.." Voce pode usar estando battler: Não" end if(config.pz == "yes") then text = text.." Voce DeVe Usar estando PZ: SIM" else text = text.." Voce DeVe Usar estando PZ: Não" end if (pos[3] == TRUE) then text = text..", Cost: "..pos[4]..";" end doPlayerSendTextMessage(cid, 22, ""..text.."") end return TRUE end if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if (config.vip == "yes") and getPlayerStorageValue(cid, tonumber(config.storage)) - os.time() <= 0 then doPlayerSendCancel(cid,MESSAGE_EVENT_DEFAULT,"Comando so para player vip's.") return TRUE end if not(lugar) then doPlayerSendTextMessage(cid, 25, "desculpe,este lugar não existe,duvida fale !flyinfo vai ver todos os comandos de fly") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end if (getPlayerLevel(cid) <= lugar[2]) then doPlayerSendTextMessage(cid, 25, "Desculpe,Voce não tem level. voce precisa "..lugar[2].." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end if(config.custo == "yes") and (doPlayerRemoveMoney(cid, lugar[3]) == FALSE) then doPlayerSendTextMessage(cid, 25, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..lugar[3].." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, lugar[1]) doSendMagicEffect(lugar[1], CONST_ME_TELEPORT) doBroadcastMessage("" .. getPlayerName(cid) .. " has flown to " .. param .. " using !fly ", MESSAGE_INFO_DESCR) end
     
    2°Agr vá em data/talcktions/talcktions.xml
    e cole isso:
     

    <talkaction words="!fly" event="script" value="flysystem.lua"/>
    :forward: Broadcast Vip :back:
     
    1°Vá em data/talcktions/scripts crie um arquivo lua renomeie
    para broadvip.lua apague tudo e cole isso
     

    local config = { priceForEachMessage = 1, -- preço de cada mensagem } local storage = 13540 function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite alguma coisa.") return TRUE end if getPlayerStorageValue(cid,13540) <= -1 then doPlayerSendCancel(cid, "Só players Vips podem falar em verde.") return TRUE end if(doPlayerRemoveMoney(cid, config.priceForEachMessage) == TRUE) then doBroadcastMessage("[V.I.P] " .. getPlayerName(cid) .. " : " .. param .. "", MESSAGE_INFO_DESCR) else doPlayerSendCancel(cid, "Você precisa de " .. config.priceForEachMessage .. " gps para enviar a messagem.") end return TRUE end
     
    2°Agr vá em data/talcktions/talcktions.xml e cole isso

    <talkaction words="/bvip" event="script" value="broadvip.lua"/>
     
    O comando para falar será /bvip Eai
    [V.I.P]Nameplayer:Eai
     
    Se funcionou Comentem ai e não esqueçam REP+
  19. Upvote
    35383 deu reputação a MatheusGlad em Sistema De Novos Items   
    Bem, como todos sabem, não da pra criar 2 items com o mesmo sprite, somente editando a source e o dat etc...
     
    Usando esse sistema que eu fiz voce nao precisara editar nada somente adicionar os scripts.
     
    Primeiramente vá na pasta lib e crie um arquivo ItemsEditedLib.lua e adicione isso dentro:

    function doPlayerAddEditedItem(cid, itemid) local newxml = io.open("data/items/newitems.xml", "r") local configs = {} for i in newxml:read("*a"):gmatch("<item (.-)</item>") do local itemid = tonumber(i:match('id="(.-)"')) local itemconfig = { ["spriteid"] = tonumber(i:match('spriteid.-=.-"(.-)"')), ["article"] = i:match('article.-=.-"(.-)"'), ["name"] = i:match('name.-=.-"(.-)"'), ["description"] = i:match('key.-=.-"description".-value.-=.-"(.-)"'), ["defense"] = tonumber(i:match('key.-=.-"defense".-value.-=.-"(.-)"')), ["attack"] = tonumber(i:match('key.-=.-"attack".-value.-=.-"(.-)"')), ["extradefense"] = tonumber(i:match('key.-=.-"extradef".-value.-=.-"(.-)"')), ["armor"] = tonumber(i:match('key.-=.-"armor".-value.-=.-"(.-)"')), ["extraattack"] = tonumber(i:match('key.-=.-"extraatk".-value.-=.-"(.-)"')), } configs[itemid] = itemconfig end if configs[itemid] then local item = doPlayerAddItem(cid, configs[itemid].spriteid) for i,x in pairs(configs[itemid]) do doItemSetAttribute(item, i, x) end end end
     
    Depois vá na pasta items e adicione um arquivo newitems.XML (XML NAO LUA!!!) e adicione isso dentro:

    <?xml version="1.0" encoding="UTF-8"?> <items> <item id="100" spriteid="2400" article="a" name="magic edited sword"> <attribute key="description" value="Arma editada." /> <attribute key="defense" value="45" /> <attribute key="attack" value="100" /> <attribute key="extradef" value="10" /> <attribute key="extraatk" value="10" /> </item> <item id="101" spriteid="2472" article="a" name="master plate armor"> <attribute key="description" value="Armor editada." /> <attribute key="armor" value="19" /> </item> </items>
     
    Bem como voces podem ver, o xml guarda os novos items, o xml funciona praticamente como o items.xml so que tem um novo campo o "spriteid", nele fica o itemid original.
     
    Eu sei que ainda faltam atributos, com o tempo e com os pedidos eu vou adicionando. (É importante que voces peçam por novos atributos, porque os outros são mais complicados e eu nao vou faze-los para ninguem usar)
     
    Atributos:

    "description"
    "defense"
    "attack"
    "extradefense"
    "armor"
    "extraattack"

     
    Para adicionar os novos itemids aos players use doPlayerAddEditedItem(cid, ITEMID) em vez de doPlayerAddItem...
  20. Upvote
    35383 recebeu reputação de Gutierri em [Mapa] Baiak Nxt 8.60 V 2.11   
    se gostou da um REP+ ae pq meus trabalhos estão indo bem e todos fala
    que está otimo e diz rep+ ai quando eu olho la minha ta mesmo lixo
     
     
    :forward: love ser mapper :back:
  21. Upvote
    35383 deu reputação a miter em [8.5 - 8.62] Otitemeditor 0.5.1   
    OTitemEditor para Clientes (8.5 a 8.62)
     
    OTitemEditor 0.5.1
    * Atualizado para o cliente 8.60
     

    otitemeditor 0.5.1
    http://sourceforge.net/projects/opentibia/files/opentibia%20tools/otitemeditor-0.5.1/otitemeditor-0.5.1.rar/download
     
    Instalação:
    1) Descompacte o arquivo zip (por exemplo C: \ Program Files \ otitemeditor)
    2) Localize a pasta Tibia geralmente é C: \ Arquivos de Programas \ Tibia \
    3) Copie o tibia.dat e tibia.spr para C: \ Program Files \ otitemeditor \ data
    4) Renomeie o tibia.dat e tibia.spr para que ele tenha a versão do cliente nele.
    Por exemplo, se você tiver cliente 8,62, renomeie o tibia.dat - tibia862.dat> e
    tibia.spr - tibia862.spr>.
     
    Se você abrir um OTB e você obterá um erro que não conseguia encontrar onde tibiaXXX.dat
    XXX são alguns números, isso significa que OTB foi criado com uma versão de cliente diferente.
    Assim, para abrir o OTB você precisa baixar (http://tibiaclient.com/) e copie o
    tibia.dat e tibia.spr (e siga o passo 4).
     
    items.otb
    http://opentibia.svn.sourceforge.net/viewvc/opentibia/data/trunk/items/items.otb?view=markup
     
    Créditos do OTitemEditor e Features: SimOne
  22. Upvote
    35383 deu reputação a gdragon5 em [Rme] Walls E Doodads Perdidos! V1.0 No Bugs   
    Aprovado?
  23. Upvote
    35383 recebeu reputação de gabrielmotta1 em Criando Uma Fan Bar   
    ta ai as imagens
    se gostar manda um REP+
    ai :mdr:
  24. Upvote
    35383 deu reputação a alldakie em Dwarf Mine   
    Olá Xtibianos,
    Hoje vou trazer um mapa pequeno, ele e apenas uma pequena caverna que da acesso a uma mina, etc.
     
    Dwarf Mine v1 (Antiga)
     
     
  25. Upvote
    35383 deu reputação a Vodkart em Perfect Vip System 3.0   
    Perfect Vip system 3.0
     
    Última atualização: 14/08/12
     
     
    Versão Testada:TFS 0.3.6 - 8.54 - 8.6 - 9.6
    Créditos pelas modificações: Kydrai,Vodkart e Marcryzius
     
     
    Oque Contém no Sistema vip 3.0?
     
     
     
    Comandos:
     
     
     
     
     
    Query
     
    Primeiro passado execute essa query na sua DB:
     

    ALTER TABLE `players` ADD `vipacess` INT(15) NOT NULL DEFAULT 0;
     
     
    Agora vá em Data/lib/050-function e adicione essas funções:
     

    function getCharacterAcess(cid) local query = db.getResult("SELECT `vipacess` FROM `players` WHERE `id` = "..getPlayerGUID(cid)) if query:getID() ~= -1 then return query:getDataInt("vipacess") end end function getCharacterDays(cid) local acess = math.ceil((getCharacterAcess(cid) - os.time())/(86400)) return acess <= 0 and 0 or acess end function HaveCharaterAcess(cid) return getCharacterDays(cid) > 0 and true or false end function setAcessTime(cid, time) return db.executeQuery("UPDATE `players` SET `vipacess` = "..time.." WHERE `id` = "..getPlayerGUID(cid)) end function addCharacterAcess(cid, days) local add = (days <= 0 and 1 or days)*86400 local time = getCharacterDays(cid) == 0 and (os.time() + add) or (getCharacterAcess(cid) + add) return setAcessTime(cid, time) end function doRemoveCharacterAcess(cid, days) local remove = days*86400 local time = getCharacterAcess(cid) - remove return setAcessTime(cid, (time <= 0 and 1 or time)) end function getVipAcessDate(cid) if HaveCharaterAcess(cid) then return os.date("%d/%m/%y %X", getCharacterAcess(cid)) end return false end
     
     
     
     
    Talkactions
     
    agora em talkactions/scripts
     
     
    vipsystemplayer.lua

    function onSay(cid, words, param) if(words == "!buyvip") then local days = 10 local price = 50000 if not doPlayerRemoveMoney(cid, price) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") addCharacterAcess(cid, days) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) elseif(words == "!vipdays") then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP. "..(getCharacterDays(cid) > 0 and "ela acaba em "..getVipAcessDate(cid).."." or "")) end return true end
     
    vipsystemgod.lua

    function onSay(cid, words, param) if(words == "/checkvip") then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") return true end return doPlayerPopupFYI(cid, "O jogador tem "..getCharacterDays(player).." dias de VIP no character.") elseif(words == "/addvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end addCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou "..tonumber(t[2]).." dias de VIP no player "..getCreatureName(player)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..tonumber(t[2]).." dias de VIP no seu character.") elseif(words == "/delvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end doRemoveCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você removeu "..tonumber(t[2]).." dias de VIP do jogador "..getCreatureName(player)..".") end return true end
     
     
    em talkactions.xml adicione as tags:
     

    <talkaction words="!buyvip;!vipdays" event="script" value="vipsystemplayer.lua"/> <talkaction words="/addvip;/delvip;/checkvip" access="4" event="script" value="vipsystemgod.lua"/>
     
     
    Item Vip
     
    item que adiciona vip no character
     
    actions/script
     
    addvipdays.lua

    function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 addCharacterAcess(cid, (days <= 0 and 1 or days)) doRemoveItem(item.uid,1) return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) end
     
    Actions.xml

    <action itemid="ID DO SEU ITEM" script="addvipdays.lua"/>
     
     
    Vip Door
     
    actions/script
     
    perfectvipdoor.lua

    function onUse(cid, item, frompos, item2, topos) if not HaveCharaterAcess(cid) then return doPlayerSendTextMessage(cid,22,"Você precisa ser vip para passar aqui.") end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, topos, true) return true end
     
    actions.xml

    <action actionid="7779" script="perfectvipdoor.lua"/>
     
     
     
    Tile VIP
     
     
    em movements/scripts crie um arquivo.lua e renomeie para
     
     
    vipe.lua

    function onStepIn(cid, item, position, fromPosition) if item.actionid == 13700 and not HaveCharaterAcess(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você não é vip.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"bem vindo.") return true end
     
     
    Em movements.xml adicione a tag:
     

    <movevent type="StepIn" actionid="13700" event="script" value="vipe.lua"/>
     
     
     
    no seu piso coloque ACTIONID 13700
     
     
     
    Fim Vip
     
    em creaturescript/script
     
     
    endvip.lua

    function onLogin(cid) if getCharacterDays(cid) > 0 then setPlayerStorageValue(cid, 9898, 1) elseif getPlayerStorageValue(cid, 9898) == 1 and getCharacterDays(cid) <= 0 then doPlayerSetTown(cid, 1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) end return true end
     
    em creaturescript.xml adicione a tag:
     

    <event type="login" name="CheckVip" script="endvip.lua"/>
  • Quem Está Navegando   0 membros estão online

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