-
Total de itens
35 -
Registro em
-
Última visita
Tudo que 35383 postou
-
poxa ficou mt legal parabens
-
poxa cara eu to besta,jumento,otario,doido tudo de uma vez soh ficou mt massaaaaaa e funcionou diretinho te amo te amo te amo te amo te amo vlw por posstar ele /att Sheamus88
-
[ Reprovado ][Tutorial] Criando Hotel,shop Ou Depot Use Como Quiser
um tópico no fórum postou 35383 Lixeira Pública
[Tutorial] Bem Pessoal estou aqui Hoje(não magina amanhã) para ensinar vocês a criar Hoteis,Depot ou Shop usem como quiser Vamos la: 1° Passo [Criando formato] Primeiro escolham o formato da entrada do seu Hotel,Shop ou sei lá oque ja escolheram beleza coloquem o piso as paredes e pronto irei mostrar como ficou o formato que eu escolhi Vejam: Meu Formato: Viram mas poxa ficou feio sem decoração por dentro e por fora vocês vão aprender a decorar no segundo passo: 2° Passo [Decorando]: Bom vocês sabem que vou postar mais umas screen então vou dizer minha decoração.Tipo no meu eu fiz um SHOP e um Depot no 1° Andar eu decorei usando espelho,cadeiras em frente o espelho (serve pra fingir que ta olhando) ,aquelas tabuas que separa o NPC do Player e tambem usei muito das bordas de Ferro: Meu Formato Decorado: Viram denovo eu achei que ficou bom(minha opiniao claro que na proxima screen eu deletei algo) 3° Passo [Detalhando]: Como detalhes eu coloquei la fora barracas,por dentro coloquei algums items dentro das tabuas dos NPC (esse passo não tem muito a falar) Vejam a screen Breguenight já detalhado:] Quaze acabando não tenho nada pra falar sobre o Depot pois so vou colocar a screen para verem como ficou mas eu coloquei tabuas tambem para NPC de Food (Leitor) NPC de Vender Items (Mad) NPC de Potions (Dark Rodo) Depot: Bom Pessoal até mais sei que não sou bom mas é oque eu consegui fazer Meu Até Mais: -
cara ve se pensa antes de falar isso é pra por em items tipo vc põe em um item usa ele e o dano vai refletir dãããa Aow santa ignorancia _)_ Já tirei minha duvida , muito obrigado. E me diz uma coisa ,que que tem a ver o dano refletir com o systema de Fly? wtf? vegetei .-. U.u foi mal é pq eu tava com um topico meu aberto aqui ai um animal pergunto uma besteira ai eu parti pra ignorancia mas tem nada a ver refletir dano e o trosso do fly é so para vips memo
-
Uiuiuiuiu Policia Mano topico copiado o topico original pode ser encontra neste link: http://www.xtibia.com/forum/topic/156889-baiak-86-by-god-pedriinho/ Crie Topico com os seus devidos creditos Meu sonho: um dia serei MOD
-
Nem Peguei mas a idea do nome Golden Vip veio do noite.servegame.com tambem gosto muito do noite eu sou Falling lvl 160k
-
Poxa que bom que gostou Dbrug pois quando eu era visistante quaze todo mapa que voce comentava voce dizia que era horrivel mas que legal voce ter gostado da minha bagaça la em cima
-
Olha nao da por que sempre que e coloco a explicaçao das cores nao vale den nada pq nn aparece
-
Criando o Monster 1° Vá em data/monster entre em qualquer pasta e crie um arquivo XML e dentro coloque isso: <?xml version="1.0" encoding="UTF-8"?> <monster name= "Demon NXT" nameDescription=" a Demon NXT[/color]" race="blood" experience="35000" speed="240" manacost="0"> <health now="2250" max="2250"/> <look type="35" head="20" body="30" legs="40" feet="50" corpse="6048"/> <targetchange interval="5000" chance="8"/> <strategy attack="300" defense="500"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="100" attack="110"/> <attack name="manadrain" interval="2000" chance="13" range="7" min="0" max="-120"/> <attack name="fire" interval="2000" chance="30" range="7" radius="7" target="1" min="-150" max="-250"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="firefield" interval="2000" chance="12" range="7" radius="1" target="1"> <attribute key="shootEffect" value="fire"/> </attack> <attack name="lifedrain" interval="1000" chance="12" length="8" spread="0" min="-300" max="-467"> <attribute key="areaEffect" value="purpleenergy"/> </attack> <attack name="speed" interval="2000" chance="15" target="1" speedchange="-750" duration="30000"> <attribute key="shootEffect" value="suddendeath"/> </attack> <attack name="energy" interval="3000" chance="10" range="1" target="1" min="-210" max="-300"> <attribute key="areaEffect" value="purpleenergy"/> </attack> </attacks> <defenses armor="55" defense="55"> <defense name="healing" interval="2000" chance="15" min="130" max="240"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="8" speedchange="290" duration="5000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <elements> <element physicalPercent="30"/> <element energyPercent="50"/> <element earthPercent="20"/> <element icePercent="-15"/> <element holyPercent="-15"/> <element deathPercent="20"/> </elements> <immunities> <immunity fire="1"/> <immunity drown="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <summons maxSummons="1"> <summon name="fire elemental" interval="1000" chance="12"/> </summons> <voices interval="5000" chance="10"> <voice sentence="Sharingan"/> <voice sentence="Rinnegan"/> <voice sentence="Raikiri"/> <voice sentence="Katon:Gokayoou no jutsu"/> <voice sentence="C-4:Arte é uma explosão"/> </voices> <loot> <item id="2148" countmax="100" chance1="100000" chancemax="0"/> -- Gold Coin <item id="2148" countmax="25" chance1="100000" chancemax="0"/> <item id="2498" chance="1700"/> -- Royal Helmet <item id="2195" chance="1800"/> -- Boots of Haste <item id="2475" chance="1000"/> -- Warrior Helmet <item id="3976" countmax="10" chance1="50000" chancemax="0"/> -- Worms <item id="1987" chance="100000"> <inside> <item id="2214" chance="1200"/> -- Ring of Healing <item id="2671" countmax="3" chance="65000"/> -- Ham <item id="2666" countmax="4" chance="90000"/> -- Meat <item id="2146" countmax="2" chance="5000"/> -- small sapphire <item id="2177" chance="1800"/> -- Life Crystal <item id="2476" chance="1000"/> -- Knight Armor <item id="4850" chance="1200"/> -- Hydra Egg <item id="2149" countmax="3" chance1="4000" chancemax="0"/> -- Small Emerald <item id="2536" chance="555"/> -- Medusa Shield <item id="2168" chance="2500"/> -- Life Ring <item id="2197" chance="800"/> -- StoneSkin Amulet <item id="12609" chance="120"/> -- Wand dos Deuses </inside> </item> </loot> </monster> Configurando o XML 1°Vá em data>monster>monster.xml e faça isso: vai ter o nome de todas as pasta la ai voce procura a pasta que você pois o monstro tipo o meu eu coloquei em Amazon então você vai la e procura por (<!-- Amazons -->) e cola assim: <monster name=[color=#000000]"Demon NXT[/color] file="amazons/[color=#000000]demon nxt.xml[/color]"/> Instalação no RME 1º Vá em "File>Import e procure por Import Monster/NPCs" 2°Depois procure a pasta do monstro criado clique nele duas vezes abra seu mapa e seja feliz Creditos Sheamus 100%
-
olha me desculpe pelo double post mas irei ensinar aqui neste comentario a mudar o nome do monster: Primeiro vá em data/monster e procure por Amazons tipo demon nxt.xml abra como bloco de notas e procure por esa linha: Spoiler <monster name"=Demon NXT" nameDescription="a Demon NXT" Explicação: Vermelho:nome do monstro que vai aparecer na tela Verde:nome que ira aparecer quando der look no monstro Depois você renomeia o arquivo xml pelo nome que você colocou na cor vermelha(para conhecer o bicho) Pronto mudou o nome mas para deixar ele oficial e agora? va na pasta data/monster/monster.xml e procure por essa tag: ai você adiciona essa outra tag
-
Muito bem como prometido eu coloquei as screen melhor e ageitei o topico
-
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)
-
cara ve se pensa antes de falar isso é pra por em items tipo vc põe em um item usa ele e o dano vai refletir dãããa
-
lol cara sei que sou scripter mas eu não consigo criar um desses pede a uma scripter mais experiente tipo Vodkart,Demonbholder ou SkyDangerous Desculpe mas não sei mecher com esse troço de pór pra 8.0 ou 8.54 essas coisas só sei que é 8.60
-
cara me ajuda plx tipo no meu pc eu procuro mas não acho o c:/ program files cara me ajuda plx tipo no meu pc eu procuro mas não acho o c:/ program files
-
Como assim tipo uma proteção? me explica melhor que talvez eu fasa um pra vc afé porque o xtibia ta estranho aqui em casa
-
Bom pessoal eu estava olhando os topico do XTbia e percebi que não tem muitos topicos com NPC's de vocations e então eu pensei por que eu não crio um para facilitar a vida dos HOSTER de OT Server!!Então Aii Está Nome do script:NPC Vendedor de Vocation Versão Testada:TFS 4.0 (deve funcionar nas versões anteriores) Descrição:NPC Vendedor de Vocação ele vende uma nova vocação que ensinarei a criar aqui mesmo Como Funciona:Você chega ao NPC diz Hi/yes e pronto.Muito simples não?ai vc da look em si mesmo e vc está outra vocação Instalação Vá na pasta data/npc e crie um arquivo XML apague tudo dentro e coloque isso: Sheamus.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Sheamus" script="data/npc/scripts/sheamus.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="302" head="114" body="114" legs="200" feet="114" addons="3"/> <parameters> <parameter key="message_greet" value="Para mudar de profissao custa 1kk, Deseja virar Addicted Zealot"/> </parameters> </npc> Pronto Instalado!! Agora na mesma pasta vá em scripts e crie um arquivo LUA apague tudo dentro e cole isso: Sheamus.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'sorcerer') or msgcontains(msg, 'sorc')) then selfSay('Deseja virar {Addicted Zealot} por 1kk?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2160) >= 100) then doPlayerRemoveItem(cid, 2160, 100) doPlayerSetVocation(cid,13) selfSay('Você desonrou a sua vocação não merece ser desse clan , Agora você é um Addicted Zealot.', cid) else selfSay('Você não tem {Dinheiro} Suficiente.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pronto galera NPC tá criado vamos criar a vocation Estão prontos para Criar essa biba loka vá em data/XML e Vocations.xml e la no final cole isso: Explicação das Cores: VERMELHO:id da sua vocation VERDE:Nome da Vocation ROZA:Chances de Skill Seu NPC e sua nova Vocation estão prontas
-
Tipow não é de Reflect Boots mas você pode por para ser
-
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)
-
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)
-
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:
-
poxa vlw
-
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:
-
Pronto Amigo, Coloquei a porra do scan me desculpe pelo linguajar so para dar uma graça na resposta
-
Olha amigo não poster outros sites em topicos de tutoriais Evite isso
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.