Ir para conteúdo

Storm

Héroi
  • Registro em

  • Última visita

Tudo que Storm postou

  1. @Jobs Eles fazem pela database ; vou tentar fazer aqui , se eu conseguir edito o tópico , valeu pela ideia
  2. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    Item que adiciona vip function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 30 -- dias que irá receber de premium doPlayerAddPremiumDays(cid, days) doPlayerRemoveItem(cid, item.uid, 1) doPlayerSendTextMessage(cid, 13, " you received [".. days .."] premium days") return true end Talkaction para checar os dias vips. function onSay(cid, words, param, channel) if not isPremium(cid) then doPlayerPopupFYI(cid, "You are not a VIP member.") return true end doPlayerPopupFYI(cid, "You have [".. getPlayerPremiumDays(cid) .."] days premium") return true end
  3. @gabriel28 Remova os " \n " @Jobs Eu adapto sim , não conheço muito 1.x , poderia me informar como fica a function a seguir em 1.x ? doPlayerSetSpecialDescription
  4. Fala pessoal , vi muita galera com problema no look (principalmente em narutibias). Então resolvi refazer o sistema de look Crie um novo arquivo em Creaturescripts e cole isso ( Tem que registrar na XML e no login.lua, ambas tags estão na script) -- <event type="look" name="showVoc" event="script" value="showvoc.lua"/> -- registerCreatureEvent(cid, showVoc) local t = { [-1] = "Estudante", [0] = "Estudante", [1] = "Genin", [2] = "Chunnin", [3] = "Jounin", [4] = "Anbu", [5] = "Sennin" } function onLook(cid, thing, position, lookDistance) local storage = 35461 local get_description = t[getPlayerStorageValue(thing.uid, storage)] local get_sex = (getPlayerSex(thing.uid) == 0 and "She" or "He") local get_town = getTownName(getPlayerTown(thing.uid)) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid, "\n ".. get_sex .." are ".. get_description ..". \n ".. get_sex .." is the resident of ".. get_town ..".") end return true end Como o sistema funciona ? como eu configuro ? Primeiramente , a script pega o valor que o player tem de uma storage e a identifica na tabela , onde o que está entre "[]" é o valor da storage Exemplo : O player tem a storage 35461 e 3 como o value dela , então no look retornará Jounin Para configurar , mecha aqui local t = { [-1] = "Estudante", [0] = "Estudante", [1] = "Genin", [2] = "Chunnin", [3] = "Jounin", [4] = "Anbu", [5] = "Sennin" } Lembrando que a ultima parte não deverá conter virgula , ficando assim local t = { [-1] = "Estudante", [0] = "Estudante", [1] = "Genin" } A script não funciona se você der look em si mesmo. Chars com group maior que 2 retornarão erro ao dar look.
  5. Não sei quem fez essa script , mas que merda é essa ??? parecia a mim quando comecei. Script corrigida
  6. function onLogin(cid) local skill_rate = 3.0 -- rate das skill local rate = 3.0-- 0% local config = { welvip = "Voce Tem 30% a Mais de Experiencia Por Ser Vip Donate.", not_vip = "Torne-se Vip Donate e Tenha 30% a Mais de Experiencia.", s = 23565, -- storage vip } if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then doPlayerSetExperienceRate(cid, rate) doPlayerSetSkillRate(cid, 0, skill_rate) doPlayerSetSkillRate(cid, 1, skill_rate) doPlayerSetSkillRate(cid, 2, skill_rate) doPlayerSetSkillRate(cid, 3, skill_rate) doPlayerSetSkillRate(cid, 4, skill_rate) doPlayerSetSkillRate(cid, 5, skill_rate) doPlayerSetSkillRate(cid, 6, skill_rate) doPlayerSetSkillRate(cid, 7, skill_rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, config.welvip) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, config.not_vip) end return TRUE end
  7. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    @gabriel28 Os créditos geralmente são dados na própria script ou com o link do tópico , desculpe pelo meu erro.
  8. Não é assim que funciona , as storages são adicionadas pelas scripts ... se tiver alguma quest por baú ou etc é na pasta Actions.
  9. Não sei porque eu não uso esse sistema para adicionar outfits no meu servidor , mas é provável.
  10. È um valor que fica guardado em sua database , usado principalmente para quests .
  11. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    @gabriel28 Claramente da pra perceber que a script não foi você que fez e nem deu os devidos créditos . Pra quem quer a script consertada function onDeath(cid, corpse, deathList) local Storage,monstName = 11543, "Gonka" if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then doBroadcastMessage("O player "..getPlayerName(deathList[1]).." matou o Gonka.") for _, check in pairs(deathList) do if isPlayer(check) then setPlayerStorageValue(check, Storage, 1) end end end return true end Cid se refere a creature que morreu ... corpse se refere ao corpo da creature que morreu deathList retorna uma lista de quem deu maior dano e de quem deu o ultimo hit.
  12. Provavelmente uma storage
  13. -- <event type="login" name="Outfit" event="script" value="outfit.lua"/> -- registerCreatureEvent(cid, "Outfit") -- by OnePiece = http://www.tibiaking.com/forum/forums/topic/48945-looktype-por-vocation-narutibia-854/ function onLogin(cid) local config = { -- naruto -- [1] = {839}, -- dentro do [ ] coloque o numero da vocaçao e { } coloque o numero da looktype -- sasuke -- [17] = {688} } local voc = config[getPlayerVocation(cid)] if voc then if getPlayerStorageValue(cid, 13000) < 0 then local newtype = {lookType = voc[1]} doCreatureChangeOutfit(cid, newtype) setPlayerStorageValue(cid, 13000, 1) end end return TRUE end
  14. function onKill(cid, target, lastHit) if not isPlayer(target) then return true end if getPlayerLevel(cid) + 20 <= getPlayerLevel(target) then doPlayerSendTextMessage(cid, 17, "funfo") return true end end
  15. @douglera21 Não seria mais fácil utilizar as próprias functions da TFS ? function onLogin(cid) if getPlayerTown(cid) == 1 then doPlayerSetTown(cid, 2) return true end return true end
  16. Pelo o que eu entendi não irá funcionar mesmo , se o player tiver com a town = 1 ele não vai conseguir logar no jogo ... a script só é executada quando ele loga.
  17. -- Certifique-se de que na XML : needtarget="1" local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_PURPLE) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -50.0, 0, -50.5, 0) function onCastSpell(cid, var) local effect1,time1 = 259,0 -- Efeito número 1, tempo para ser executado(em segundos) local effect2,time2 = 261,3 -- Efeito número 2, tempo para ser executado(em segundos) local effect3,time3 = 260,6 -- Efeito número 3, tempo para ser executado(em segundos) local pid = getCreaturePosition(cid) --Aqui em baixo você configura as posições em que os dois ultimos effects sairão [ em ordem ] local position1 = {x = getThingPosition(getCreatureTarget(cid)).x, y = getThingPosition(getCreatureTarget(cid)).y, z = getThingPosition(getCreatureTarget(cid)).z} local position2 = {x = getThingPosition(getCreatureTarget(cid)).x, y = getThingPosition(getCreatureTarget(cid)).y, z = getThingPosition(getCreatureTarget(cid)).z} addEvent(doSendMagicEffect, time1 * 1000, pid, effect1) addEvent(doSendMagicEffect, time2 * 1000, position1, effect2) addEvent(doSendMagicEffect, time3 * 1000, position2, effect3) return doCombat(cid, combat, var) end @felippepsa As próprias explicações ja estão na script.
  18. @Yamborghini Não se esqueça que tem que ter o sinal de menos antes dos números de damage
  19. To falando tipo assim , exclui tudo menos os arquivos da source , cria um novo projeto e tenta dnv
  20. @Yamborghini Você pode configurar os danos nessas partes È só da um CTRL F e mudar setCombatFormula(combat3, COMBAT_FORMULA_SKILL, 0, -13000, 0, -15000) -- min damage , max damage setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 0, -10000, 0, -13000) -- min damage , max damage setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 2, 1.2, 2) -- min damage , max damage
  21. Pra mim também ocorreu , quando isso ocorreu eu criei um Project novo e compilei novamente.
  22. Tente esse tutorial aqui.
  23. No próprio fórum em Otserver > tutoriais você encontrará diversos tipos de tutoriais , desde mapping até a parte das scripts.
  24. Normalmente quando se coloca em uint_16 é até 65k , não sei oque está ocorrendo entao

Informação Importante

Confirmação de Termo