Ir para conteúdo
  • Cadastre-se

Rusherzin

Membro
  • Total de itens

    1067
  • Registro em

  • Última visita

  • Dias Ganhos

    14

Tudo que Rusherzin postou

  1. @Mirkaan, eu consigo pensar em uma alternativa: criar um creaturescript com o callback onCombat. Vou deixar aqui abaixo o que acredito ser a forma correta, porém não cheguei a testar se está realmente funcional. function onCombat(cid, target) if isMonster(target) and isMonster(cid) then return false end return true end <event type="combat" name="MonsterAttackEachOther" event="script" value="monsterAttackeEachOther.lua"/> E dentro do arquivo XML de cada monstro que tem ataque em área tu queria que colocar isso: <script> <event name="MonsterAttackEac
  2. Esqueci de retornar falso quando não der certo, pera. function onCastSpell(cid, var) local itemsToCombine = {{itemid=2160, qtd=1}, {itemid=2152, qtd=1}} local itemResult = {itemid=2155, qtd=1} for i=1, #itemsToCombine do if (getPlayerItemCount(cid, itemsToCombine[i].itemid) < itemsToCombine[i].qtd) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, 27, "Você precisa de "..itemsToCombine[i].qtd.." "..getItemNameById(itemsToCombine[i].itemid)..".") return false end if (i == #itemsToCombine) then for i=1, #itemsToComb
  3. @kinomoto, a única maneira que consigo pensar é tu fazer uma magia normal e checar se o cara tem os itens quando ele usa ela. Exemplo: function onCastSpell(cid, var) local itemsToCombine = {{itemid=2160, qtd=1}, {itemid=2152, qtd=1}} local itemResult = {itemid=2155, qtd=1} for i=1, #itemsToCombine do if (getPlayerItemCount(cid, itemsToCombine[i].itemid) < itemsToCombine[i].qtd) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return doPlayerSendTextMessage(cid, 27, "Você precisa de "..itemsToCombine[i].qtd.." "..getItemNameById(itemsToCombine[i].item
  4. local bonus = {{0, 1, 2}, {1, 2, 1.75}, {2, 3, 1.5}, {3, 4, 1.25} } function onUse(cid, item, frompos, item2, topos) for k, v in pairs(bonus) do if getPlayerSkillLevel(cid,3) >= v[1] and getPlayerSkillLevel(cid,3) <= v[2] then return doCreatureAddMana(cid, mana / v[3]) end end end
  5. Não tenho certeza se entendi exatamente o que tu queria fazer, mas testa com esse código. local function setBagAttribute(cid, item, set) if (not item.uid) then return false end if (not doRemoveItem(item.uid, 1)) then return false end local item = doPlayerAddItem(cid, item.itemid) doItemSetAttribute(item, "description", (set==1 and "[Set Bag Vazia]" or "[Set Bag Cheia]")) return doItemSetAttribute(item, "used", set) end function onUse(cid, item, frompos, item2, topos) local itemids = { [1] = 2498, -- cabeça [4] = 2492, --- armor [5] = 2520, --- direita [6] = 7404, -- esquer
  6. Posta o que tu fez que supostamente dá para "clonar" que eu te ajudo.
  7. Nome: Anderson Skype: anderson.altstaff Idade: 19 Opinião: O servidor parece okay, mapa diferente do que geralmente é usado na maioria dos NTOs (o que já é muito bom) e pelo visto também tem sistemas diferentes. O que eu faria para melhorá-lo é tentar acrescentar ideias e opinar nas configurações de futuros sistemas, tendo certeza de que está balanceado, não só entre as vocações como em questão de hunts, quests e etc. Motivo/Carga: De forma primordial, tenho uma certa disponibilidade de tempo no momento e gosto de reservar uma parte dela para desenvolver/programar, porém não tenho muitas ide
  8. Nos últimos dias tive problemas para ler os dados de funções que retornam tabelas (não tinha acesso a source da função no momento para ir checar quais eram os dados presentes) então resolvi fazer essa função bem simples para printar os dados das tabelas no console. Ela faz basicamente a mesma coisa que a função print_r do PHP só que é um pouquinho menos organizada. Enfim, se souber a estrutura de uma tabela, vai entender o output dessa função e vai ser bem útil. function print_r(tabela) if type(tabela) ~= "table" then return tabela end local result = "{" for ind, x in pair
  9. Consegui arrumar um tempo para tentar fazer agora pela manhã, tenta assim: <globalevent name="TopFragger" interval="5" script="monthlyfragger.lua" /> function addItemToDepot(cid, item, count) local items = {item} local count = (count>1) and {count} or {1} for a,b in ipairs(items) do local pid = db.getResult("SELECT `sid` FROM `player_depotitems` WHERE `player_id` = "..cid.." AND `itemtype` = 2589 ORDER BY `sid` DESC LIMIT 1"):getDataInt("sid") local sid = db.getResult("SELECT `sid` FROM `player_depotitems` WHERE `player_id` = "..cid.." AND `itemt
  10. Configurou a tabela de forma errada. E sim, botei efeito, só mudar na variável: local posToBe = {x=1001, y=904, z=7} local effect = 45 local posToGo = { ["konoha"] = {x=894, y=831, z=7}, ["south florest"] = {x=911, y=1179, z=7}, ["suna"] = {x=563, y=1144, z=7}, ["south island"] = {x=1086, y=1397, z=7}, ["ilhazinha"] = {x=1100, y=1531, z=7}, ["mist"] = {x=1145, y=1218, z=7}, ["south desert"] = {x=1495, y=1052, z=7} } function onSay(cid, words, param) local playerpos = getCreaturePosition(cid) if(playerpos.x ~= posToBe.x or playerpos.y ~= posToBe.y or playerpos.z ~=
  11. <?xml version="1.0" encoding="UTF-8"?> <npc name="Walker" script="walkernpc.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="140" head="77" body="81" legs="79" feet="95" addons="0" /> </npc> local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCrea
  12. Tem alguma ideia de onde que fica salvo os frags dos players? Eu realmente não lembro onde é, se eu entender como funciona, posso até fazer.
  13. Bom, não sei quantas coordenadas x e/ou y. Se me disser para qual lado ela fica torta, posso te explicar como tu pode ir arrumando até achar a posição certa. Fora isso, as outras coisas que tu pediu, tenta com esse script: local outfit = {lookType = 370} -- outfit local tempo = 60 -- tempo em segundos. local effect = {41} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 50 -- quantos ira aumentar o skill de ML local skillfist = 50 -- quantos ira aumentar o skill de Fist local skillsword = 50 -- quantos ira aumentar o skill de Sword local ski
  14. Só criar um XML com algo mais ou menos assim: <?xml version="1.0" encoding="UTF-8"?> <npc name="Rusherzin" script="default.lua" walkinterval="3000" floorchange="0" access="5" level="100" maglevel="1"> <health now="15" max="15"/> <look type="495" head="114" body="119" legs="114" feet="114" corpse="3058"/> <parameters> <parameter key="message_greet" value=""/> </parameters> </npc>
  15. Não, é uma talkaction, bota em talkactions/scripts/.
  16. Tem algum problema com o código que está validando esse email. Esse site não parece gesior, então não sei exatamente onde fica o arquivo que trata disso. Teria que descobrir qual é esse arquivo para ver qual é o problema com o código. Se não souber como procurar, aconselho que use algum programa que procure dentro de arquivos e procurar por The Email field must contain a valid email address.
  17. Okay, fiz um script aqui, só lembra de colocar ali na tabela posToGo o nome da ilha com todas letras minúsculas, os jogadores podem falar com letras maiusculas ou minúsculas, mas ali no código tem que estar com letras minúsculas. local posToBe = {x=893, y=830, z=7} local posToGo = {["konoha"] = {x=894, y=831, z=7}, ["ilha"] = {x=895, y=895, z=7}} function onSay(cid, words, param) local playerpos = getCreaturePosition(cid) if(playerpos.x ~= posToBe.x or playerpos.y ~= posToBe.y or playerpos.z ~= posToBe.z) then return end if(posToGo[string.lower(words)]) then doTeleportThi
  18. Não tenho certeza se entendi exatamente o que tu querias que eu fizesse, mas... tenta dessa forma: local config = { mana = 0, seconds = 0, storage = 111313, semMana = "Você não tem mana suficiente.", msg = "Você precisa aguardar %d segundos para usar essa magia novamente.", } local area = createCombatArea(AREA_CIRCLE2X2) function onCastSpell(cid, var) local target = getCreatureTarget(cid) if(isCreature(target) == 0) then return true end if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-confi
  19. Okay, o npc não vai interagir com o player, né? Ele só vai estar ali, correto?
  20. Não entendi o que tu quer fazer, pode explicar melhor?
  21. local pos = {x = 32581, y = 31487, z = 9} local stor = 23901 function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, stor) <=0 then doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "You need access to pass on this teleport.") else doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return true end
  22. local config = { mana = 0, seconds = 10, storage = 10, semMana = "Você não tem mana suficiente.", msg = "Você precisa aguardar %d segundos para usar essa magia novamente.", } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 6) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -3000, 0, -6000) function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-ge
  23. Pelo que entendi, tu clicaria no item 4646 e se tivesse o item 4863 equipado no slot da flecha, iria transformá-lo em 4864. Se for isso, acho que seria assim: <action itemid="4646" event="script" value="deletechest.lua"/> function onUse(cid, item) if getPlayerSlotItem(cid, CONST_SLOT_ARROW).itemid == 4863 then doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_ARROW).uid, 4864) end end
  24. There you go local config = { itemid = 2180, -- id da bomba duration = 10, -- duration antes de ser removida actionid = 13245, -- actionid que sera setado na bomba (pro movements) effect = 3, -- efeito que sai ao colocar a bomba msg = "The bomb has been planted" -- mensagem que sai ao ser colocado a bomba } function onCastSpell(cid, var) local position = getCreaturePosition(cid) local posx = {-3, -2, -1, 0, 1, 2, 3} local posy = {{-1, 0, 1}, {-2, -1, 0, 1, 2}, {-3, -2, -1, 0, 1, 2, 3}, {-3, -2, -1, 0, 1, 2, 3}, {-3, -2, -1, 0, 1, 2, 3}, {-2, -1, 0, 1, 2}, {-1, 0, 1}}
  25. Não tem o arquivo quests.xml? Acho que lá posso encontrar a storage e o valor certo para terminar cada missão..
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo