Ir para conteúdo

Skydangerous

Membro
  • Registro em

  • Última visita

Tudo que Skydangerous postou

  1. Edited: Falei besteira, minha resposta nao da certo.
  2. Skydangerous postou uma resposta no tópico em Suporte Tibia OTServer
    Curti a ideia do script. Irei fazer em breve. So nao intendo pq tanta storage assim..
  3. Desculpa demora, estava com dedo machucado.. violão é assassino. Primeiro NPC 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 local name = getCreatureName(cid) if msgcontains(msg, 'missao') or msgcontains (msg, 'hi') then if isInArray({2, 6}, getPlayerVocation(cid)) then selfSay('Olá '..name..' quer ser nosso aliado ?{aliar} salve nosso leader', cid) talkState[talkUser] = 1 else selfSay('Desculpe,mas sua vocacao nao pode fazer a missao', cid) end elseif msgcontains(msg, 'trombeta') or msgcontains (msg, 'entregar') then if getPlayerStorageValue(cid, 505052) < 1 then selfSay('Óla tocou o trompete!Parabêns agora como recompença por nós ajudar seremos seus aliados e você aprendera a magia para chamar 2 de nós.', cid) talkState[talkUser] = 2 else selfSay('Voce deve terminar todas as missoes antes de tudo.', cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, 'aliar') then selfSay('Vá na vila minotauro mate todos eles e fale como o leader para ele tedar o trompete pra chamar as tropas Orc.', cid) setPlayerStorageValue(cid,505051) talkState[talkUser] = 0 end elseif talkState[talkUser] == 2 then if msgcontains(msg, 'yes') then selfSay('teste', cid) setPlayerStorageValue(cid,505052) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 2 NPC: 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 local name = getCreatureName(cid) if msgcontains(msg, 'missao') or msgcontains (msg, 'hi') then if getPlayerStorageValue(cid, 505051) < 1 then selfSay('Óla soube que minha aprendiz te mandou aqui pois vou lhe dar um trompete por me salvar toque-o e chame minha tropa {trompete}', cid) talkState[talkUser] = 1 else selfSay('Voce deve falar com o outro npc', cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, 'trombeta') then selfSay('Tome-o!.', cid) doPlayerAddItem(cid,2160,1) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ITEM: function onUse(cid, item, frompos, item2, topos) setPlayerStorageValue(cid,505052) return TRUE end
  4. Skydangerous postou uma resposta no tópico em Playground (Off-topic)
    puts, nunca medi kkkk'
  5. Ta. Como eu tenho você no msn, me explica por lá. E depois eu posto aqui.
  6. Seria isso? 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 local item = o id do seu item aqui if msgcontains(msg, 'trombeta') or msgcontains (msg, 'missao') then selfSay('Prove que é nosso aliado!Vá salvar nosso lider e toque o trompete real', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') and getPlayerStorageValue(cid, 505052) < 1 then selfSay('Tome a Trombeta.', cid) setPlayerStorageValue(cid,505052) doPlayerAddItem(cid,item,1) talkState[talkUser] = 0 else selfSay('Desculpe,mas voce ja fez a missao', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) A primeira parte?
  7. function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { creature = 'Orc', -- Nome da criatura entre '' maxsummon = 2, -- Numero maximo de summons pos = getCreaturePosition(cid) } if #getCreatureSummons(cid) >= config.maxsummon then doPlayerSendCancel(cid, "Você ja atingiu o limite da sua tropa.") doSendMagicEffect(getThingPos(cid), 2) else local m = doSummonMonster(cid, config.creature) doSendMagicEffect(getCreaturePosition(m),23) doSendMagicEffect(getCreaturePosition(cid), 23) return true end end
  8. só você ir com o botão direito no depot lá, em propriedades e mudar a cidade. ai fica um depot pra cada cidade..
  9. Nome: Skydangerous Msn: [email protected] Cargo: Scripter ou Mapper Por que quer entrar na equipe: Ajudar e aumentar minha experiencia Tempo online: 16h por dia Tempo disponível: 8h por dia Ja entrou em outra equipe? Por que?: Já entrei em muitas equipes. Oque você ja fez ?: Já fiz sistemas inovadores em lua e faço mapas bonitos. Observação: Entrarei na equipe se for aprovado, só se apresentar o trabalho.
  10. se fala aqueles efeitos ? se for isso é /z numero.
  11. Opa. Belo Tutorial. Eu lembro que quando fui fazer meu servidor de pokemon, morri pra conseguir usar. Parabéns , Reputado + !
  12. Skydangerous postou uma resposta no tópico em Suporte Tibia OTServer
    li o script inteiro, e já achei o erro em 20 segundos O seu está certo também, porém tem bugs. Como, esqueceu de tirar o "," do ultima tabela, pois ultimas tabelas não tem "," e esqueceu de fechar a tabela também. Versão do japa sem bug local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, 4) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 8) setCombatParam(combat1, COMBAT_PARAM_DISTANCE_EFFECT, 29) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 50, -70, 200, -180) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, 4) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 50) setCombatParam(combat2, COMBAT_PARAM_DISTANCE_EFFECT, 29) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 50, -70, 200, -180) arr1 = { {1, 0, 0, 0, 1}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {1, 1, 1, 1, 0}, {1, 0, 0, 0, 1}} arr2 = { {1, 0, 0, 0, 1}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {1, 1, 1, 1, 0}} local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) return true end
  13. Por isso que não aparece. Olhe o que você fez. $vocation_name[0][0] = array(0 => 'None', 1 => 'Master Sorcerer', 2 => 'Elder Druid', 3 => 'Royal Paladin', 4 => 'Elite Knight', 5 => 'Vip Baiak Sorcerer', 6 => 'Vip Baiak Druid', 7 => 'Vip Baiak Paladin', 8 => 'Vip Baiak Knight'); // id => 'name' , $vocation_name[0] - promotion level 0, $vocation_name[0] - for world ID 0 $vocation_name[0][0] = array(0 => 'None', 1 => 'Master Sorcerer', 2 => 'Elder Druid', 3 => 'Royal Paladin', 4 => 'Elite Knight', 5 => 'Vip Baiak Sorcerer', 6 => 'Vip Baiak Druid', 7 => 'Vip Baiak Paladin', 8 => 'Vip Baiak Knight'); // id => 'name' , $vocation_name[0] - promotion level 0, $vocation_name[0] - for world ID 1 Percebeu que você duplicou o world , tenta usar desse jeito. // list of vocations on ots (world 0) $vocation_name[0][0] = array(0 => 'None', 1 => 'Master Sorcerer', 2 => 'Elder Druid', 3 => 'Royal Paladin', 4 => 'Elite Knight', 5 => 'Vip Baiak Sorcerer', 6 => 'Vip Baiak Druid', 7 => 'Vip Baiak Paladin', 8 => 'Vip Baiak Knight'); // id => 'name' , $vocation_name[0] - promotion level 0, $vocation_name[0] - for world ID 0 $vocation_name[0][1] = array(5 => 'Vip Baiak Sorcerer', 6 => 'Vip Baiak Druid', 7 => 'Vip Baiak Paladin', 8 => 'Vip Baiak Knight'); // id => 'name' , $vocation_name[1] - promotion level 1, $vocation_name[0] - for world ID 0 // list of vocations on ots (world 1) $vocation_name[1][0] = array(0 => 'None', 1 => 'Master Sorcerer', 2 => 'Elder Druid', 3 => 'Royal Paladin', 4 => 'Elite Knight', 5 => 'Vip Baiak Sorcerer', 6 => 'Vip Baiak Druid', 7 => 'Vip Baiak Paladin', 8 => 'Vip Baiak Knight'); // id => 'name' , $vocation_name[0] - promotion level 0, $vocation_name[0] - for world ID 1 $vocation_name[1][1] = array(5 => 'Vip Baiak Sorcerer', 6 => 'Vip Baiak Druid', 7 => 'Vip Baiak Paladin', 8 => 'Vip Baiak Knight'); // id => 'name' , $vocation_name[1] - promotion level 1, $vocation_name[0] - for world ID 1 Assim vai dar, não tenho certeza
  14. provavelmente sim amigo. O único jeito então é deixar pvp mesmo.
  15. Skydangerous postou uma resposta no tópico em Suporte Tibia OTServer
    O erro é o seguinte. Você pois funcion e o correto é function. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, 4) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 8) setCombatParam(combat1, COMBAT_PARAM_DISTANCE_EFFECT, 29) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 50, -70, 200, -180) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, 4) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 50) setCombatParam(combat2, COMBAT_PARAM_DISTANCE_EFFECT, 29) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 50, -70, 200, -180) arr1 = { {1, 0, 0, 0, 1}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {1, 1, 1, 1, 0}, {1, 0, 0, 0, 1}} arr2 = { {1, 0, 0, 0, 1}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {1, 1, 1, 1, 0}, {1, 0, 0, 0, 1}} setCombatArea(combat1, createCombatArea(area1)) setCombatArea(combat2, createCombatArea(area2)) function onCastSpell(cid, var) addEvent(doCombat, 1, cid, combat1, var) addEvent(doCombat, 2, cid, combat2, var) return true end
  16. function onUse(cid, item, frompos, item2, topos) if isPlayer(cid) == TRUE then doCreatureSetDropLoot(cid, false) return TRUE end return TRUE end Só funciona 1 vez, quando morrer ele perde o efeito.
  17. Skydangerous postou uma resposta no tópico em Suporte Tibia OTServer
    Aqui. http://tibiaking.com/forum/topic/7507-perfect-vip-system-20/
  18. Bela Iniciativa. Para os novatos que queiram trocar os efeitos, será muito bom seu tutorial. Aprovado e Reputado + ! Só lembrar: data/intens/intens.xml seria data/items/items.xml
  19. verifica o seu item.xml. se a magic wall está parecida com essa <item id="1497" article="a" name="magic wall"> <attribute key="type" value="magicfield" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="20" /> </item>
  20. Função: Após você upar o level, você aprende novas magias. Muito útil para servidor lowl level. Esse script eu achei na pasta do meu servidor, porém não sei quem é os créditos crie um arquivo no formato .lua na pasta creaturescript/scripts com o nome spellup.lua e cole o script local s = { --SETUP repeatAfterDeath = false, detailedInfo = true, Storage = 10000, messageType = 'channel', channelClass = MESSAGE_EVENT_ORANGE } function onAdvance(cid, skill, oldlevel, newlevel) if skill ~= SKILL__LEVEL or not s.repeatAfterDeath and getCreatureStorage(cid, s.Storage) >= newlevel then return true end local t = {} for i = 0, getPlayerInstantSpellCount(cid) - 1 do local spell = getPlayerInstantSpellInfo(cid, i) if(spell.level ~= 0) and spell.level == newlevel then if(spell.manapercent > 0) then spell.mana = spell.manapercent .. '%' end table.insert(t, spell) end end table.sort(t, function(a, b) return a.level < b.level end) local text, prevLevel = '', -1 for i, spell in ipairs(t) do local line = '' if(prevLevel ~= spell.level) then if(i ~= 1) then line = '\n' end line = line .. 'You have just advanced to level '..newlevel..' and learned new spells!\n' prevLevel = spell.level end text = text ..line..' ['..spell.name..'] "'..spell.words..'" '..(s.detailedInfo and 'Mana['..spell.mana..']'..(spell.mlevel > 0 and ' ML['..spell.mlevel..']' or '') or '')..'\n' end if text == '' then return true end doCreatureSetStorage(cid, s.Storage, newlevel) if s.messageType == 'popUp' then doShowTextDialog(cid, 2175, text) elseif s.messageType == 'channel' then doPlayerSendTextMessage(cid, s.channelClass, text) end return true end registerCreatureEvent(cid, "SpellUp") <event type="advance" name="SpellUp" event="script" value="spellup.lua"/> False: Receberá uma mensagem de level up True: Receberá a mensagem sempre quando upar de level detailedInfo = true, False: Jogador só receberá o nome da magia e o nome da spell True: Jogador receberá nome da magia, nome da spell e porcentagem de mana que gasta. messageType = 'channel', Channel: A mensagem aparecerá no default. PopUp: Abrirá uma caixa de mensagem. registre o evento no login.lua e cole a tag no creaturescripts.xml FOTO Instalando repeatAfterDeath = false
  21. Skydangerous postou uma resposta no tópico em Playground (Off-topic)
    ah sim. kkkkkk', rachei de rir ..
  22. -> JhonatanCWest Estarei movendo o seu tópico para "Tutorias de Scripting" qualquer coisa mande me uma pm. Movido.
  23. Skydangerous postou uma resposta no tópico em Playground (Off-topic)
    qual que é vocalista? poxa
  24. Opa, dei uma olhada no tutorial que você fez. Bem legal, vou ler melhor e qualquer coisa eu edito o post ou comento novamente. Parabéns, Reputado + ! -= PlayerLearnInstantSpell É doPlayerLearnInstantSpell tem do sim :>

Informação Importante

Confirmação de Termo