Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    113

Tudo que Vodkart postou

  1. <p>nome do seu script.lua</p> <p> function onDeath(cid, corpse, killer)</p> <div>local monstName = &quot;Demon&quot; -- nome do monstro</div> <div>local DoorPos = {x=253, y=69, z=7, stackpos = 1} -- pos da porta</div> <div>local CloseDoor,OpenDoor = 1249,1251 -- id da porta fechada e aberta</div> <div>if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then</div> <div>if getTileItemById(DoorPos, CloseDoor).uid &gt; 0 then</div> <div>doCreatureSay(cid, &quot;A porta foi aberta.&quot;, TALKTYPE_ORANGE_1)</div> <div>doTransformItem(getThingfromPos(DoorPos).uid, OpenDoor)&nbsp;</div> <div>end&nbsp;</div> <div>end</div> <div>return TRUE</div> <div>end </div> <div>&nbsp;</div> <div>creaturescript.xml</div> <div> &lt;event type=&quot;death&quot; name=&quot;OpenDoor&quot; event=&quot;script&quot; value=&quot;nome do seu script.lua&quot;/&gt; </div> <div>&nbsp;</div> <div> <div>No arquivo Xml do seu monstro adicione</div> <div> &lt;script&gt;</div> <div>&lt;event name=&quot;OpenDoor&quot;/&gt;</div> <div>&lt;/script&gt; </div> </div> <div>&nbsp;</div> --------------- nome do seu script.lua function onDeath(cid, corpse, killer) local monstName = "Demon" -- nome do monstro local DoorPos = {x=253, y=69, z=7, stackpos = 1} -- pos da porta local CloseDoor,OpenDoor = 1249,1251 -- id da porta fechada e aberta if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then if getTileItemById(DoorPos, CloseDoor).uid > 0 then doCreatureSay(cid, "A porta foi aberta.", TALKTYPE_ORANGE_1) doTransformItem(getThingfromPos(DoorPos).uid, OpenDoor) end end return TRUE end creaturescript.xml <event type="death" name="OpenDoor" event="script" value="nome do seu script.lua"/> No arquivo Xml do seu monstro adicione <script> <event name="OpenDoor"/> </script>
  2. olha você de novo ai!! rsrsrs, mais um monstro da hora, uma coisa que eu percebi que esse monstro é para servidor high exp né? porque a experience que ele da está monstruosa lol
  3. sim amg eu vi ali estou falando para colocar chances em porcentagem local items = { {id = 2149, count = 1, chance = 10}, {id = 2145, count = 2, chance = 20}, {id = 2147, count = 10, chance = 40} }
  4. eu curti bastante o sistema, ta bacana, se eu fosse você colocaria chance para minerar os itens "bom"... outra coisa, oq é essa parte no script: &amp;amp;amp;amp;amp;gt;
  5. rapaz eu até daria, mas já atingi meu limite de hoje... amanha eu reputo, quero ver mais trabalhos seus por aqui futuramente! abraços
  6. Bem bacana seus monstros cara! achei legal, coloca em [.code] [/code] seu scripts para melhor leitura. abraços
  7. remove essa parte for i = 1, #config[a].outfit do doPlayerAddOutfit(cid, config[a].outfit[i], 3) end
  8. cala boca fdp eu q mando nessa porra agr
  9. a espera de um milagre blz cara, mais alguma dúvida?
  10. ta parecendo um mendigo cara osb: vc n tem cabelo no peito véi? vc é td cabeludo e no peito n tem nd '-' fuck
  11. dei uma olhada e acho que é parecido sim.
  12. é só falar que a caixa de mensagem ta lotada haha/troll
  13. function onThink(interval, lastExecution, thinkInterval) local total,minutes = 151200000,1800000 local query = db.getResult("SELECT `id`, `stamina` FROM `players` WHERE `id` > 6 AND `group_id` < 3;") if (query:getID() ~= -1) then while true do local id, stamina_now = query:getDataInt("id"), query:getDataInt("stamina") if stamina_now < (total-minutes) then db.executeQuery("UPDATE `players` SET `stamina` = "..stamina_now+minutes.." WHERE `id` = "..id) end if not(query:next()) then break end end query:free() end return true end
  14. fiz uma talk pra vc function onSay(cid, words, param) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você tem "..getAccountPoints(cid).." premium points.") end
  15. OBS: Quando morto no evento o player não perde level, skill, loot, não perde nada. Nesse caso não é só colocar na área com mapper editor pvp zone?
  16. ae galera, tinha um bug mais ja removi, editei o tópico, usem o novo! é um MODS cara, são todos os scripts em um arquivo só. da uma olhada nesse tópico: http://www.xtibia.com/forum/topic/183310-premium-points-in-game/
  17. local config = { seconds = 30, HpPercent = 3, -- 3% storage = 98762, exausted = 30 } function doRefilSecond(cid, Hp, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, Hp) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) if delay ~= 1 then addEvent(doRefilSecond, 1000, cid, Hp, delay -1) end return nil end function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) >= os.time() then doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, config.storage) - os.time() .. " seconds to use this spell again.") return false end doRefilSecond(cid, math.ceil(((config.HpPercent*getCreatureMaxHealth(cid))/100)), config.seconds) return setPlayerStorageValue(cid, config.storage, os.time()+config.exausted) end
  18. adc em Data/lib/function.lua function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end actions/script nome do seu script.lua function onUse(cid, item, frompos, item2, topos) local points = 1 doAccountAddPoints(cid, points) doRemoveItem(item.uid, 1) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você recebeu "..points.." premium points.") end actions.xml <action itemid="2157" event="script" value="nome do seu script.lua"/>
  19. eu sei eu sei, faz o seguinte, adiciona essas funções na sua lib: function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end Mods? Premium_Time.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Premium Time" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="ptime_func"><![CDATA[ info = { storage = 520853, hours = 10, points = 1, IpLimit = 2 } function CheckPremiumTime(cid) local count,on,ip,check = 0,getPlayersOnline(),{},true if #on > 0 then for i = 1, #on do if getPlayerIp(on[i]) == getPlayerIp(cid) then count = count + 1 if on[i] ~= cid then table.insert(ip, on[i]) end end end if count > info.IpLimit then for x = 1, #ip do if getPlayerStorageValue(ip[x], info.storage) ~= -1 then check = false end end end end return setPlayerStorageValue(cid, info.storage, check == true and os.time()+info.hours*3600 or -1) end ]]></config> <event type="login" name="PointRegister" event="script"><![CDATA[ domodlib('ptime_func') function onLogin(cid) CheckPremiumTime(cid) return true end]]></event> <globalevent name="RewardPoint" interval="60" event="script"><![CDATA[ domodlib('ptime_func') function onThink(interval, lastExecution) local on = getPlayersOnline() if #on > 0 then for i = 1, #on do if getPlayerStorageValue(on[i], info.storage) ~= -1 and getPlayerStorageValue(on[i], info.storage) <= os.time() then doAccountAddPoints(on[i], info.points) doPlayerSendTextMessage(on[i], 19, "Congratulations, you reward "..info.points.." premium points. Your timer was reseted.") setPlayerStorageValue(on[i], info.storage, os.time()+info.hours*3600) end end end return true end]]></globalevent> </mod>
  20. mas não é a mesma query pra adc points no player? "UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).." ?
  21. esse seu sistema de premium points é esse: http://www.xtibia.com/forum/topic/183310-premium-points-in-game/ ?
  22. Vodkart

    Dúvidas Com Scripts

    Cara dá para fazer sim, mas eu não vou fazer um exemplo do NADA sem saber ao menos o que vc quer, é usar um item no monstro "Rat" e transformar ele num "Cave Rat" por exemplo? Ai fica difícil né amg
  23. Explicação: É o sistema de casamento conhecido, porém foi reformulado para funcionar em versões mais recentes. Descrição: O sistema conta com: Item: Os jogadores que se casar receberão um Wedding ring com seus nomes e data do casamento. Outfit: jogadores que se casam recebem outfit, caso se divorciem, perder as outfits. Look: o look mostra com quem é casado Combate: Os jogador não pode atacar seu patner Comandos: /marriage info -- mostra em uma janela o preço do casamento/divórcio e o level minimo para casar. /marriage status -- mostra com quem é casado e a data do casamento Outra coisa bem importante é que os dois jogadores NÃO precisam estar online para se divorciarem, exemplo: JOÃO e casado com MARIA, JOÃO vai até o npc e paga um preço para de divorciar, só quem pede o divorcio que paga a taxa, logo MARIA não precisa pagar nada pois seu Ex-Patner JOÃO já pagou. O que ela precisa fazer é "assinar" com o npc o seu divorcio também. Como casar? Player1: Player2: Na sua db execute: CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Caso você ter a outfit Husband e Wife(de casamento) no seu servidor abra o spoiler: Mods: Npc: Configuração:
  24. procura o id do gold ingot no items.xml e adiciona a tag: <attribute key="worth" value="1000000" /> aí eles vão aceitar hmmm não sabia disso, valeu pela dica foi bastante útil xD
  25. oq vc quis dizer com "no maximo 2 player por IP" ?
  • Quem Está Navegando   0 membros estão online

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