Ir para conteúdo

rockstar96

Barão
  • Total de itens

    216
  • Registro em

  • Última visita

Tudo que rockstar96 postou

  1. Por favor, poste o script dessa spell para que possamos analizá-la melhor.
  2. rockstar96

    [scripts]

    <rune name="Holy Missile" id="2295" allowfaruse="1" charges="5" lvl="27" maglv="4" exhaustion="2000" needtarget="1" blocktype="solid" script="attack/holy missile.lua"> Mude o valor de exhaustion para o que você quer(é o exhaust) Coloque em milisegundos, ou seja, 1 segundo = 1000. Localizado em data/spells/spells.xml
  3. Você colocou as tags no final da tag principal, coloque no meio do movevents.xml que não há como errar rçrçrç
  4. Me obrigue a terminar ' Me dê umas idéias que eu meto aí dentro rçrç ou não
  5. Eis o script: -->Config --->Número de monstros local Amount = 3 --->Nome do monstro local Name = "Morgaroth" function onUse(cid) for i = 1, Amount do doCreateMonster(Name, getCreaturePosition(cid)) end return true end Sempre que for fazer um pedido, por favor poste a versão e o nome do seu servidor base para podermos saber quais funções usar. Obrigado.
  6. rockstar96

    !buypremium

    Desculpe por falar isso, mas deixe de ser besta, estamos falando de OT servers, aquilo são variáveis globais, então pare com essa asneira. Vamos parar com essa discussão no tópico, senão irá fugir do assunto ._. Edit 1: Não me acuse sem ter certeza, não sabe de onde eu vim, então calado, se aprendi LUA mexendo em arquivos de otservers ou com apostilas/scripters/tutoriais o problema é meu. E se eu aprendesse LUA abrindo arquivos("fuçando") eu creio que aprendi a LUA orientada para OTS melhor que você. Edit 2: #AleisterCrowley: Se orientada a open tibia servers, as duas estão corretas. A pasta library só está em servidores The Forgotten Server para servidores de tibia na versão 8.40+ Edit 3: Marcryzius, você comeu um parênteses na sua condição. Para o melhor entendimento de scripts, e para deixar mais bonito, o bom seria indentar o script.
  7. Globalevent em forma de spell, esse é foda. A magia tá healando, só de olhar na fórmula deu pra ver...coloca isso negativo tio
  8. Achar um script? Porquê não aprende LUA e faz suas mágicas? ('-') -->Config --->Lugar que o player será teleportado local NewPos = {x=1, y=1, z=1} --->Efeito local Effect = CONST_ME_TELEPORT function onStepIn(cid, frompos) if isPremium(cid) == true then doTeleportThing(cid, NewPos) doSendMagicEffect(NewPos, Effect) else doTeleportThing(cid, frompos) doPlayerSendCancel(cid, "Only premium accounts can pass.") end return true end Aí está para quem quiser usar.
  9. rockstar96

    !buypremium

    #kkk11111: Ele quer por item filho. #Marcryzius: data/lib/compat.lua Quem é que deve reaprender lua agora?
  10. Parabéns, você reviveu um tópico! 14:06 - 18/04/2009 Há 39 minutos ._. Se tiver erro fala pra gente ;P
  11. rockstar96

    !buypremium

    Reveja seus conceitos, se a condição for falsa(ou seja, ele não tiver o item) ele irá receber a promotion e a premium ._. E o TRUE e FALSE são iguais a true e false, veja as variáveis nos arquivos data.lua/global.lua, os dois dão no mesmo.
  12. Simplesmente adicione essa condição: if getPlayerLevel(cid) >= LEVEL then
  13. rockstar96

    !buypremium

    Eis o script: -->Config --->ID do item Item = {id = 4545, amount = 1} --->Level da promotion(1 para promotion normal) PromoLevel = 1 --->Dias de premium PremDays = 30 function onSay(cid) if doPlayerTakeItem(cid, Item.id, Item.amount) == true then doPlayerSetPromotionLevel(cid, PromoLevel) doPlayerAddPremiumDays(cid, PremDays) doPlayerRemoveItem(cid, Item.id, Item.amount) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought ".. PremDays .." days of premium account.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) else doPlayerSendCancel(cid, "You need a ".. getItemNameById(Item.id) .." to buy premium.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end return true end Adeus
  14. local combat1 = createCombatObject() local combat2 = createCombatObject() local combat3 = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_YALAHARIGHOST) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.5, -1, -0.4, -1) local condition1 = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition1, CONDITION_PARAM_TICKS, 20000) --setConditionParam(condition1, CONDITION_PARAM_SPEED, -500) setConditionFormula(condition1, -0.8, 0, -0.8, 0) setCombatCondition(combat1, condition1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_YALAHARIGHOST) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.5, -1, -0.4, -1) local condition2 = createConditionObject(CONDITION_CURSED) setConditionParam(condition2, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition2, 10, 2000, -250) setCombatCondition(combat2, condition2) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_YALAHARIGHOST) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.5, -1, -0.4, -1) local condition3 = createConditionObject(CONDITION_DAZZLED) setConditionParam(condition3, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition3, 10, 2000, -250) setCombatCondition(combat3, condition3) arr1 = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } arr2 = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } arr3 = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3 } addEvent(onCastSpell1, 1, parameters) addEvent(onCastSpell2, 2, parameters) addEvent(onCastSpell3, 3, parameters) return true end O erro eram 3 miseráveis vírgulas que estavam no lugar incorreto.
  15. Marcryzius, das duas maneiras funciona, a diferença é que o in pairs deixa o script mais limpo e bonito... in pairs retorna os valores das variáveis dentro de tabelas... in ipairs só retorna as variáveis dentro das tabelas... Os dois scripts estão certos, use qualquer um que irá funcionar. Até!
  16. Eis o script: -->Config --->{pos = {posição},id = ID} Pos = { [1] = {pos = {x=1, y=1, z=1}, id = 259}, [2] = {pos = {x=1, y=1, z=1}, id = 259}, [3] = {pos = {x=1, y=1, z=1}, id = 259} } function onUse() for _, i in pairs(Pos) do doCreateItem(i.id, 1, i.pos) end return true end Você pode adicionar mais posições e IDS.
  17. rockstar96

    2 Efects

    #PhantonWarrior: Reportado(flood, provável ripping)
  18. rockstar96

    Propaganda.

    Pega esse que é melhor(ele randomiza mensagens): function onThink(interval, lastExecution) local MESSAGES = { "Jogue no Phenom OT Server e convide seus amigos!", "Não utilize MC, é proibido!", "Não utilize MB, é proibido!", "Se estiver em dúvida, fale no help channel(ctrl+O)", "Mana runes estão a venda no NPC Dark Rodo, localizado no depot.", "Para visualizar os comandos do server, diga /commands." } local MSG = MESSAGES[math.random(1, #MESSAGES)] doBroadcastMessage(MSG) return TRUE end
  19. rockstar96

    2 Efects

    function onStepIn(cid) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) return true end
  20. Aqui está o script: function onUse(cid, item2) --[[ Script feito para Hirani, por iRockStar ]]-- local Position = { x = 130, y = 140, z = 70, stackpos = 253 } if isPlayer(item2.uid) == true then doTeleportThing(item2.uid, Position) else doPlayerSendCancel(cid, "Você precisa usar em um player.") end return true end E a tag XML: <action itemid="IDDARUNA" access="IDDOACCESS" event="script" value="NOMEDOSCRIPT.lua"/> Espero ter ajudado
  21. XaPiNhAl, por favor, desligue o caps lock, dá a sensação que está gritando... kkk11111, o seu script não faz diferença o nome do item, ele não checa parâmetros... Aqui há um script do Mazen, da ot****: local items = { {1, 6500, 10000}, -- {item type, item id, price} there are two item types, single items(1) and containers(2). {2, 1998, "backpack of demonic essences;bpde", 20, 6500, 1, 10000} -- {item type, container id, item names, items, items id, charges, price per item} } function onSay(cid, words, param) par = string.explode(param, " ") if param == "" then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Please write what item you wish to buy.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end if param == "info" then if items == {} then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "There are no buyable items.") return true end local text = "List of Items:\n" for i, lineItem in ipairs(items) do local first_word = string.gsub(getItemNameById(lineItem[2]), "%a", string.upper, 1) if lineItem[1] == 1 then text = text .. first_word .. " - " .. lineItem[3] .. " gp\n" elseif lineItem[1] == 2 then text = text .. first_word .. " of " .. lineItem[6] * lineItem[4] .. " " .. getItemNameById(lineItem[5]) .. "s - " .. lineItem[6] * lineItem[4] * lineItem[7] .. "gp\n" end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text) return true end for i, item in ipairs(items) do par = getFullParam(par) if item[1] == 1 then titem = par[1] if isNumber(par[1]) == true then titem = par[2] if tonumber(par[1]) > 100 or tonumber(par[1]) == 0 then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end end count = 1 if titem == par[2] then count = tonumber(par[1]) end if count > 1 then _, _, string_enter = string.find(titem, '(.*)s') if getItemIdByName(string_enter, false) ~= false then titem = string_enter elseif getItemIdByName(titem, false) ~= false then titem = titem else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end end if titem == getItemNameById(item[2]) then if doPlayerRemoveMoney(cid, item[3]) == true then sItem = doPlayerAddItem(cid, item[2], count) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) if tonumber(count) == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have succefully bought ".. getItemDescriptions(sItem).article .." ".. getItemDescriptions(sItem).name ..". ".. getItemDescriptions(sItem).special) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have succefully bought ".. count .." ".. getItemDescriptions(sItem).name .."s. ".. getItemDescriptions(sItem).special) end return true else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t have enough money to buy that.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end end elseif item[1] == 2 then ItemName = string.explode(item[3], ";") for i = 1, #ItemName do if par[1] == ItemName[i] then if doPlayerRemoveMoney(cid, item[7]*item[4]) == true then itemSelect = doPlayerAddItem(cid, item[2], 1) for s = 1, item[4] do doAddContainerItem(itemSelect, item[5], item[6]) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have succefully bought ".. getItemDescriptions(itemSelect).article .." ".. getItemDescriptions(itemSelect).name .." with ".. item[4]*item[6] .." ".. getItemNameById(item[5]) .."s.") return true else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t have enough money to buy that.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end end end end if i == #items then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can\'t buy that.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end end return true end function getFullParam(param) local s = "" if isNumber(param[1]) == FALSE then for i = 1, #param do if i ~= #param then s = s .. param[i] .. " " else s = s .. param[i] end end return {s} else for i = 2, #param do if i ~= #param then s = s .. param[i] .. " " else s = s .. param[i] end end return {param[1], s} end end Para comprar coisas, diga algo do tipo: !buy 3 magic swords -- To buy 3 magic swords. !buy magic sword -- Comprar uma única magic sword !buy bpsd -- Comprar uma BP de SDs !buy info -- Vai exibir uma lista de tudo o que pode ser comprado. Não esqueça de fazer a tag no talkactions.xml O script é auto explicável, adeus.
  22. Bom...você precisa saber como usar essas pedras, nada em excesso, por favor A área de dragons precisa ter fogo, pois como diz um ditado, que eu nunca vi: "Onde há fogo, há dragões." Coloque umas árvores mortas, como se fossem folhas queimadas...também coloque grama, e a grama amarela, "dried grass" Não esqueça dos tufos e dos fire fields, ok? Azura está quase perfeita, só mudar uma coisinha aqui e ali(os grounds) Rookgaard, você pode tirar essas pedras do templo, deixe que os players sujem o templo! Porquê há grama queimada dentro do cercado? Há fogo ali? E, áreas geladas POSSUEM muito mais coisas para enfeitar, icebergs, pedras congeladas, árvores com neve, ice stalagmites...detalhe mais! Em plains of heitor, tente não encher todo o telhado de coisas, isso seria uma espécie de templo? Precisa limpar isso... A vegetação geral está precária, precisa treinar mesmo Tufos de grama, randomize-os mais, e não encha a grama de tufos, lembre-se que há gente que pisa e amassa a grama.
  23. Script: function onSay(cid) --Config local t = string.explode(param, ",") local Days = t[2] local TName = t[1] if Days and TName ~= nil then doPlayerAddPremiumDays(getPlayerByNameWildcard(TName), tonumber(Days)) else doPlayerSendCancel(cid, "This command requires param") end return true end Tag XML: <talkaction words="/premmy" access="ACCESSREQUERIDO" event="script" value="NOMEDOARQUIVO.lua"/> Exemplo de uso para adicionar dias de premium: /premmy João,1 Para remover: /premmy João,-1 Adeus
  24. O script se fosse pelo mapeditor, iria entrar em colapso se houvesse outra action ID igual sendo usada. Eis o script, se quiser fazer todas as quests com um script para cada uma: function onUse(cid) --Config local Reward = { ID = 6767, Msg = "You have found a ".. getItemNameById(Reward.ID) ..".", Storage = 56454 } if getPlayerStorageValue(cid, Reward.Storage) >= 1 then doPlayerAddItem(cid, Reward.ID, 1) doPlayerSetStorageValue(cid, Reward.Storage, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Reward.Msg) else doPlayerSendCancel(cid, "You already done this quest.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end return true end #KaKilo: Meu caro, esta área é para pedidos de scripts, se não vai pedir e nem dar o script à ele, não poste.
  • Quem Está Navegando   0 membros estão online

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