Jump to content

kwovan

Campones
  • Content Count

    27
  • Joined

  • Last visited

  • xPoints

    0 [ Donate ]

About kwovan

  • Rank
    Developer

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    XTibiano

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. kwovan

    Distro

    Cara eu até podia colocar meu distro aqui mais to sem tempo. Baixa o We Do, tem a versão GUI(á que salva quando fecha) e o deathlist arrumado: http://www.xtibia.com/forum/topic/139670-we-do-ots-010-beta-version/
  2. Cara no meu servidor o problema era no global save, algo assim, quando iniciava ele depois de alguns minutos aparecia no GUI umas msg la de save dai não dava para usar nenhum MOD.
  3. Se for mais de uma moeda mude: doPlayerRemoveItem(cid, 9971) para doPlayerRemoveItem(cid, 9971,quantidade) function onSay(cid, words, param) if(words == "!buyvip") then local moeda = nome da moeda if doPlayerRemoveItem(cid, 9971) == TRUE then local days = 15 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de uma "..moeda.." para colocar vip.") end
  4. @RenatoRibeiro Ficou muito bom. Aquela placa < ta voando? -----------------------------------------------------
  5. kwovan

    Buypreium

    Tem esse script aqui, não testei. function onSay(cid, words, param) config = { dias=30, itemname=vipcoin, moeda=1000 } if doRemoveItem(uid, config.moeda) then doPlayerAddPremiumDays(cid, config.dias) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) else doPlayerSendCancel(cid, "You not have ".. config.itemname ..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true end end Tem esse aqui também, vai em mods/buypremium_command.xml e bota isso: <?xml version="1.0" encoding="UTF-8"?> <mod name="Buy premium command" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes"> <config name="buypremium_config"><![CDATA[ config = { days = 30, itemid = 1000, itemname = vipcoin, maxDays = 360 } ]]></config> <talkaction words="!buypremium; !pacc" event="buffer"><![CDATA[ domodlib('buypremium_config') if(getPlayerPremiumDays(cid) > config.maxDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return end if(not doRemoveItem(uid, config.itemid)) then doPlayerSendCancel(cid, "You don't have " .. config.itemname .. ".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return end doPlayerAddPremiumDays(cid, config.days) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.") ]]></talkaction> </mod>
  6. Nessa linha fica se vai aparecer as charges ou não. <item id="2197" article="a" name="stone skin amulet"> <attribute key="weight" value="760" /> <attribute key="slotType" value="necklace" /> <attribute key="charges" value="5" /> <attribute key="showcharges" value="1" /> <attribute key="absorbPercentPhysical" value="80" /> <attribute key="absorbPercentDeath" value="80" /> <attribute key="showattributes" value="1" /> </item>
  7. Cara se for 8.60 pra baxo se pode pegar qualque executer (desde que seja da mesma versão). Oque você quis dizer fazer um OT próprio? Cria TUDO do 0 ou so ter o server TFS como base?
  8. Não existe este bug em versões abaixo de 8.6.0. Precisa saber compilar um otserv para fazer isso.
  9. Raids creio que não seja. Qual versão você utiliza? 8.54, 8.60... Acho que é o sistema de reputação.
  10. Alguns servidores não possui o sistema de quest, aquele que você só coloca o ID do item no baú e ja ta pronta a quest. Em data/actions/actions.xml adicione essa tag: <action itemid="1740;1747;1748;1749;1770" script="quest_system.lua"/> Em data/actions/scripts crie um arquivo com o nome quest_system.lua: function onUse(cid, item, frompos, item2, topos) prize = item.uid count = item.actionid if prize > 0 and prize < 9000 then queststatus = getPlayerStorageValue(cid,prize) if queststatus == -1 then if count > 1 then doPlayerSendTextMessage(cid,22,'You have found '.. count ..' of ' .. getItemName(prize) .. '.') doPlayerAddItem(cid,prize,count) setPlayerStorageValue(cid,prize,1) else doPlayerSendTextMessage(cid,22,'You have found a ' .. getItemName(prize) .. '.') doPlayerAddItem(cid,prize,1) setPlayerStorageValue(cid,prize,1) end else doPlayerSendTextMessage(cid,22,"It is empty.") end return 1 else return 0 end end
  11. Vá em items.xml, se as runas tiver charges, remove a linha. Caso não tem as charges você tem que trocar seu executer, o do alissow funciona bem.
  12. Sim, ele junta todos os items que é possível juntar ex: potions, golds, orbs, etc...
  13. Em data/npc crie um arquivo chamado A Sweaty Cyclops.xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="A Sweaty Cyclops" script="data/npc/scripts/A Sweaty Cyclops.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="22" head="0" body="0" legs="0" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Hum Humm! Welcume lil' Player.."/> <parameter key="message_farewell" value="Good bye lil' one."/> </parameters> </npc> Em data/npc/scripts crie um arquivo chamado A Sweaty Cyclops.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 --returns how many msgs he have said already function cancelNPCTalk(events) local ret=1 for aux=1,table.getn(events) do if events[aux].done==FALSE then stopEvent(events[aux].event) else ret=ret+1 end end events=nil return(ret) end function doCreatureSayWithDelay(cid,text,type,delay,e) if delay<=0 then doCreatureSay(cid,text,type) else local func=function(pars) doCreatureSay(pars.cid,pars.text,pars.type) pars.e.done=TRUE end e.done=FALSE e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e}) end end function doNPCTalkALot(msgs,interval) local e={} local ret={} if interval==nil then interval=3000 end --3 seconds is default time between messages for aux=1,table.getn(msgs) do e[aux]={} doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux]) table.insert(ret,e[aux]) end return(ret) end --end shit function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -- zmienne lokalne local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local namee = getPlayerName(cid) local tabelka = { [1] = {wypowiedz = 'job', odpowiedz = 'I am smith.'}, [2] = {wypowiedz = 'smith', odpowiedz = 'Working steel is my profession.'}, [3] = {wypowiedz = 'steel', odpowiedz = 'Manny kinds of. Like {Mesh Kaha Rogh}, {Za\'Kalortith}, {Uth\'Byth}, {Uth\'Morc}, {Uth\'Amon}, {Uth\'Maer}, {Uth\'Doon}, and {Zatragil}.'}, [4] = {wypowiedz = 'zatragil', odpowiedz = 'Most ancients use dream silver for different stuff. Now ancients most gone. Most not know about.'}, [5] = {wypowiedz = 'uth\'doon', odpowiedz = 'It\'s high steel called. Only lil\' lil\' ones know how make.'}, [6] = {wypowiedz = 'za\'kalortith', odpowiedz = 'It\'s evil. Demon iron is. No good cyclops goes where you can find and need evil flame to melt.'}, [7] = {wypowiedz = 'mesh kaha rogh', odpowiedz = 'Steel that is singing when forged. No one knows where find today.'}, [8] = {wypowiedz = 'ab\'dendriel', odpowiedz = 'Me parents live here before town was. Me not care about lil\' ones.'}, [9] = {wypowiedz = 'lil\i lil\'', odpowiedz = 'Lil\' lil\' ones are so fun. We often chat. '}, [10] = {wypowiedz = 'tibia', odpowiedz = 'One day I\'ll go and look. '}, [11] = {wypowiedz = 'teshial', odpowiedz = 'Is one of elven family or such thing. Me not understand lil\' ones and their busisness.'}, [12] = {wypowiedz = 'cenath', odpowiedz = 'Is one of elven family or such thing. Me not understand lil\' ones and their busisness.'}, [13] = {wypowiedz = 'name', odpowiedz = 'I called Bencthyclthrtrprr by me people. Lil\' ones me call Big Ben.'}, [14] = {wypowiedz = 'god', odpowiedz = 'You shut up. Me not want to hear.'}, -- Wymiana items 1 -- [15] = {wypowiedz = 'uth\'lokr', odpowiedz = 'Firy steel it is. Need green ones\' breath to melt. Or red even better. Me can make from shield. Lil\' one want to trade?', storage_wym = no, talk_give = yes, talk_jaki = 1}, [16] = {wypowiedz = 'uth\'kean', odpowiedz = 'Very noble. Shiny. Me like. But breaks so fast. Me can make from shiny armour. Lil\' one want to trade?', talk_give = yes, talk_jaki = 2}, [17] = {wypowiedz = 'za\'ralator', odpowiedz = 'Hellsteel is. Cursed and evil. Dangerous to work with. Me can make from evil helmet. Lil\' one want to trade?', talk_give = yes, talk_jaki = 3}, [18] = {wypowiedz = 'uth\'prta', odpowiedz = 'Good iron is. Me friends use it much for fight. Me can make from weapon. Lil\' one want to trade?', talk_give = yes, talk_jaki = 4}, [18] = {wypowiedz = 'soul orb', odpowiedz = 'Uh. Me can make some nasty lil\' bolt from soul orbs. Lil\' one want to trade all?', talk_give = yes, talk_jaki = 5}, [19] = {wypowiedz = 'amulet', odpowiedz = 'Hum Humm! Welcume lil. Me can do unbroken but Big Ben want gold 5000 and Big Ben need a lil time to make it unbroken. Yes or no??', talk_give = yes, talk_jaki = 6}, [20] = {wypowiedz = 'gear wheel', odpowiedz ='Hmmm you want to change your iron ore to gear wheel?', odpowiedzZla = 'Only for persons whose start the quest of beregar city..', storage_wym = yes, storage_jaki = 72182, storage_nr = 2, talk_give = yes, talk_jaki = 7}, [21] = {wypowiedz = 'bast skirt', odpowiedz = 'Lil\' one bring three bast skirts?', talk_give = yes, talk_jaki = 9}, -- Forge -- [22] = {wypowiedz = 'forge', odpowiedz = 'Me can forge equipment back to steel. Like {Za\'Ralator}, {Uth\'Kean}, {Uth\'Lokr}, {Uth\'Prta}'}, -- Wymiana items 2 -- } local tabela2 = { [1] = {wypowiedz = 'yes', talk_wym = yes, talk_jaki = 1, item1 = 2516, item2 = 5889, item1_count = 1, item2_count = 1}, [2] = {wypowiedz = 'yes', talk_wym = yes, talk_jaki = 2, item1 = 2487, item2 = 5887, item1_count = 1, item2_count = 1}, [3] = {wypowiedz = 'yes', talk_wym = yes, talk_jaki = 3, item1 = 2462, item2 = 5888, item1_count = 1, item2_count = 1}, [4] = {wypowiedz = 'yes', talk_wym = yes, talk_jaki = 4, item1 = 2393, item2 = 5892, item1_count = 1, item2_count = 1}, [5] = {wypowiedz = 'yes', talk_wym = yes, talk_jaki = 5, item1 = 5944, item2 = 6529, item1_count = 1, item2_count = 2}, [6] = {wypowiedz = 'yes', talk_wym = yes, talk_jaki = 7, item1 = 5880, item2 = 9690, item1_count = 1, item2_count = 1, storage_wym = yes, storage_jaki = 72182, storage_nr = 2}, } local questStg = 8239 local questStg_nr = 2 local questLog = 98203 for i=1, #tabelka do if msgcontains(msg, tabelka[i].wypowiedz) then selfSay(tabelka[i].odpowiedz, cid) if tabelka[i].talk_give == yes then talkState[talkUser] = tabelka[i].talk_jaki end end end for i=1, #tabela2 do if msgcontains(msg, tabela2[i].wypowiedz) then if getPlayerStorageValue(cid, questStg) >= questStg_nr then if talkState[talkUser] == tabela2[i].talk_jaki and doPlayerTakeItem(cid, tabela2[i].item1, tabela2[i].item1_count) then doPlayerAddItem(cid, tabela2[i].item2, tabela2[i].item2_count) selfSay('Cling Clang', cid) elseif getPlayerStorageValue(cid, questStg) >= questStg_nr and talkState[talkUser] == tabela2[i].talk_jaki and doPlayerTakeItem(cid, tabela2[i].item1, tabela2[i].item1_count) == FALSE then selfSay('You haven\'t got enough items for trade.', cid) end end if talkState[talkUser] == 9 and getPlayerStorageValue(cid, questStg) == 1 and doPlayerTakeItem(cid, 3983, 3) == TRUE then selfSay('Good good! Woman happy will be. Now me happy too and help you.', cid) setPlayerStorageValue(cid, questStg, 2) elseif talkState[talkUser] == 9 and getPlayerStorageValue(cid, questStg) == 1 and doPlayerTakeItem(cid, 3983, 3) == FALSE then selfSay('You haven\'t got 3 bast skirts ', cid) elseif getPlayerStorageValue(cid, questStg) < 1 and talkState[talkUser] == tabela2[i].talk_jaki then selfSay('Wait. Me work no cheap is. Do favour for me first, yes?', cid) talkState[talkUser] = 8 elseif getPlayerStorageValue(cid, questStg) < 1 and talkState[talkUser] == 8 then selfSay('Me need gift for woman. We dance, so me want to give her bast skirt. But she big is. So I need many to make big one. Bring three okay? Me wait.', cid) setPlayerStorageValue(cid, questStg, 1) setPlayerStorageValue(cid, questLog, 1) end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em data/xml/quests.xml adicione isto: <quests> <quest name="Friends and Traders" startstorageid="98203" startstoragevalue="0"> <mission name="The Sweaty Cyclops" storageid="8239" startvalue="0" endvalue="2"> <missionstate id="1" description="Bring to Sweaty Cyclops 3 bast skirts, for his girlfriend."/> <missionstate id="2" description="Big Ben, the cyclops in Ab'Dendriel will help you to forge different steel now. Just ask him if you need something."/> </mission> </quest> </quests> Créditos: Seminari
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...