Ir para conteúdo
Banner com Efeitos

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. local name = getCreatureName(cid) if (isPremium(cid)) then if not (string.find(tostring(name):lower(),"[[vip]]")) then db.executeQuery("UPDATE `players` SET `name` = '[VIP] ".. getCreatureName(cid).. "' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else if string.find(tostring(name):lower(),"[[vip]]") then local newname = string.sub(tostring(name), 7) db.executeQuery("UPDATE `players` SET `name` = '".. newname .."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end acabei de testar e tá funcionando perfeitamente, o unico problema é o saco de relogar. Muda o isPremium por isVip e seja feliz
  2. vai em data\weapons\scripts\burst_arrow e procura algo parecido com isso: setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) muda COMBAT_FORMULA_SKILL PRA COMBAT_FORMULA_LEVELMAGIC. Se tiver pouco dano muda os dois 1's pra dois ou o quanto você julgar necessário
  3. não faz sentido ser só pro primeiro char da conta que loga '-', o script é executado assim que loga e ele não tem impedimento nenhum. Outra coisa, ele só remove caso ache o if string.find(tostring(getCreatureName(cid)),"[(Vip)]") no nome do char..
  4. vc tem que achar o itemid, aquilo que vc viu provavelmente era o id da sprite e não o id do item haha. Procura pelo items.xml e muda ali no script e no actions.xml
  5. sim, e pra fazer isso vc tem que fazer a checagem de um storage... se o valor for menor que 1 ele sumona o monstro e seta o storage pra 1
  6. que função vc tá usando?
  7. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    se não funciona significa que seu TFS não tem essas funções.. ou vc troca de server ou faz edição nas sources pra colocar isso. Não tem como ninguém te ajudar além disso :/
  8. não precisava ter criado dois tópicos com a mesma dúvida http://www.tibiaking.com/forum/topic/38145-gesior-criando-account-errada/ isso só lota o fórum de dúvidas/pedidos e diminui a vontade dos outros de te ajudarem.. leia as regras!
  9. cada server muda.. vai no data\lib\constant.lua e procura por isso.. TEXTCOLOR_BLUE = 5 TEXTCOLOR_GREEN = 18 TEXTCOLOR_TEAL = 35 TEXTCOLOR_LIGHTGREEN = 66 TEXTCOLOR_DARKBROWN = 78 TEXTCOLOR_LIGHTBLUE = 89 TEXTCOLOR_DARKPURPLE = 112 TEXTCOLOR_BROWN = 120 TEXTCOLOR_GREY = 129 TEXTCOLOR_DARKRED = 144 TEXTCOLOR_DARKPINK = 152 TEXTCOLOR_PURPLE = 154 TEXTCOLOR_DARKORANGE = 156 TEXTCOLOR_RED = 180 TEXTCOLOR_PINK = 190 TEXTCOLOR_ORANGE = 192 TEXTCOLOR_DARKYELLOW = 205 TEXTCOLOR_YELLOW = 210 TEXTCOLOR_WHITE = 215 TEXTCOLOR_NONE = 255 no meu server é a 66 a verde claro
  10. if not (getVipTime(cid)) then local name = getCreatureName(cid) if string.find(tostring(name):lower(),"[[vip]]") then local newname = string.sub(tostring(name), 7) -- conta o nome a partir do sétimo caractere. "[VIP] God Wolf" vai virar "God Wolf" end db.executeQuery("UPDATE `players` SET `name` = '".. newname .."' WHERE `id` = "..getPlayerGUID(cid)..";") else local name = getCreatureName(cid) if not (string.find(tostring(name):lower(),"[[vip]]")) then db.executeQuery("UPDATE `players` SET `name` = '[[VIP]] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") end end coloca [[vip]] em todos, se mesmo assim não der certo tenta assim: if not (getVipTime(cid)) then local name = getCreatureName(cid) if string.find(tostring(name),"[[VIP]]") then local newname = string.sub(tostring(name), 7) -- conta o nome a partir do sétimo caractere. "[VIP] God Wolf" vai virar "God Wolf" end db.executeQuery("UPDATE `players` SET `name` = '".. newname .."' WHERE `id` = "..getPlayerGUID(cid)..";") else local name = getCreatureName(cid) if not (string.find(tostring(name),"[[VIP]]")) then db.executeQuery("UPDATE `players` SET `name` = '[[VIP]] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") end end
  11. entao cara, vc vai precisar de 5 coisas: Aprender Lua (linguagem em que é programado o tibia) Treinar muito Andar sempre com uma tabela de funções do seu servidor Fuçar as sources para ver oque as funções precisam e oque elas fazem Fuçar a lib pra ver as funções feitas em LUA e as constantes (conditions, efeitos, etc.) cid é abreviação pra creatureid e significa a criatura que está executando o script.. uid é abreviação pra uniqueid e significa o numero único de uma determinada coisa.
  12. precisa replicar pra todos.. coloca numero 2 <event type="kill" name="pilarquest2" script="nomequalquer2.lua"/> registerCreatureEvent(cid, "pilarquest2") e vai repetindo pros 11 (o script tb). A action é bem facinho de fazer então fica aí como sua lição de casa tentar haha dica: use as funções de storage e essa daqui pra criar o monstro:
  13. pronto cara.. agora é só adicionar isso no login.lua antes do ultimo return true e acabou: if not (getVipTime(cid)) then local name = getCreatureName(cid) if string.find(tostring(name):lower(),"[vip]") then local newname = string.sub(tostring(name), 7) -- conta o nome a partir do sétimo caractere. "[VIP] God Wolf" vai virar "God Wolf" end db.executeQuery("UPDATE `players` SET `name` = '".. newname .."' WHERE `id` = "..getPlayerGUID(cid)..";") else local name = getCreatureName(cid) if not (string.find(tostring(name):lower(),"[vip]")) then db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") end end Toda vez que vc logar ele vai checar se é Vip e se tem [VIP] no nome, se não tiver e for vip ele adicionar e se ele tiver e não for vip ele remove '-'
  14. era só procurar no fórum cara '-' http://www.tibiaking.com/forum/topic/33043-spell-kamui/page-2 aqui tem as duas, a de teleportar os outros e a de se teleportar.. no próprio script vc configura o cooldown dela, quantos segundos demora pra voltar dps de usar a magia e etc.
  15. coloca no mesmo scrit que dá a vip ué
  16. creaturescripts onKill: function onKill(cid, target, lastHit) local killed = getPlayerStorageValue(cid, 12000) if isMonster(target) and getCreatureName(target):lower() == 'nome do boss 1 em minusculo' then if killed < 1 then doSendMagicEffect(getThingPos(cid), 66) setPlayerStorageValue(cid, 12000, 1) end end return true end só repetir isso pra todos os bosses mudando só o 'nome do boss 1 em minusculo'. Se for Demon vai ficar 'demon'; Agora é só adicionar essa linha no creaturescripts.xml <event type="kill" name="pilarquest" script="nomequalquer.lua"/> e em creaturescripts\scripts\login.lua adicione antes do ultimo return true: registerCreatureEvent(cid, "pilarquest") Feito isso só replicar isso seguindo todos os passos pra cada um dos 11 boss que vc quer. E fazer os pilares no actions
  17. uma função pra adicionar a [VIP] no nome: db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") e uma pra remover: vai em data\creaturescripts\scripts\login.lua e adiciona isso antes do ultimo return true if not (getVipTime(cid)) then local name = getCreatureName(cid) if string.find(tostring(name):lower(),"[vip]") then local newname = string.sub(tostring(name), 7) -- conta o nome a partir do sétimo caractere. "[VIP] God Wolf" vai virar "God Wolf" end db.executeQuery("UPDATE `players` SET `name` = '".. newname .."' WHERE `id` = "..getPlayerGUID(cid)..";") end
  18. function onUse(cid, item, frompos, item2, topos) local config = { [3222] = 500, [3223] = 600, [3224] = 700, [3225] = 800 } if config[item.itemid] ~= getPlayerVocation(cid) then doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, config[item.itemid]) doSendMagicEffect(config.pos,math.random(28,30)) --aqui é a parte do efeito, coloquei um random entre o efeito 28~30 que são os fogos de artificio doPlayerSendTextMessage(cid, 22, "You are now a "..getPlayerVocationName(cid).."!") else doPlayerSendTextMessage(cid, 22, "You can't be promoted since you're already a "..getPlayerVocationName(cid).."!") end return true end actions.xml <action itemid="3222" script="pedravoc.lua"/> <action itemid="3223" script="pedravoc.lua"/> <action itemid="3224" script="pedravoc.lua"/> <action itemid="3225" script="pedravoc.lua"/>
  19. isso não tem nada a ver com o pedido original '-' eu ja fiz algo parecido aqui pelo fórum baseado no Aegis System.. dá uma procurada que vc acha
  20. Já que vc tá utilizando pelo creaturescripts vc tem que remover as propriedades do Aol no items.xml e só deixar: <item id="2173" article="an" name="amulet of loss"> <attribute key="weight" value="420" /> <attribute key="slotType" value="necklace" /> </item> Se não aparece nenhum erro no creaturescripts então tenta trocar o "false" pra 0
  21. Você teria que adicionar duas funções, a primeira executaria o query e adicionar o [VIP] no nome e a segunda seria uma onLogin que se os dias de vip tivessem acabado e conseguisse achar a string "[VIP]" no nome iria remover essa string e setar o novo nome sem a [VIP]
  22. Então, a função com problema é a doCreateTeleport(itemid, topos, createpos).. perceba que os parametros que ela usa são: iddoteleport, posição que vai ser levado e posição que será criado. Você precisa substituir por alguma função que crie um item em determinada posição e que seja capaz de setar uma posição que será teleportado ao subir naquilo. Não sei oque dá pra ser utilizado porque sempre usei doCreateTeleport já que ela foi feita justamente pra isso haha.
  23. Linha 42: if getItemName(item.uid).attack > 0 or getItemName(item.uid).defense > 0 or getItemName(item.uid).armor > 0 then Essas funções retornam o nome e não tem sentido colocar.attack no final porque isso não vai retornar o ataque que tem '-'. Esse script tá malfeito e não tem como eu te ajudar com ele porque provavelmente ele foi feito pra uma versão específica de tibia.

Informação Importante

Confirmação de Termo