Ir para conteúdo

jhon992

Conde
  • Total de itens

    631
  • Registro em

  • Última visita

  • Dias Ganhos

    12

Tudo que jhon992 postou

  1. Ja que tu manja um pouco vou te dar uma visão geral. Usa a função "addEvent(nomedoevento, tempo, cid)" e a função "doSetCreatureOutifit(cid, outfit, tempo)" nos dois tempos 1000 = 1 segundo Usando addEvent: cria uma função qualquer exemplo; function zeraStorage(cid) setPlayerStorageValue(cid, storageX, 0) end E pra chamar essa função após 1 minuto no meio do teu action poem: addEvent(zeraStorage, 60000, cid) E pro outfit duar 1 minuto: doSetCreatureOutifit(cid, outfit, 60000) Acho que assim ja te da uma clareada.
  2. Primeiro tu cria as sprites com algum programa de edição de imagen, após baixa algum Dat Editor e nele vais abrir os arquivo .dat e .spr do seu cliente, após sóh importar a sprite nova para seu Dat Editor e criar um novo item usando ela ou substituir por um ja existente! Tambem é possivel extrair todas as imagens do seu cliente usando o Dat Editor e assim podendo modificar as sprites ja existentes.
  3. usa esses dois links que respondi: http://www.xtibia.com/forum/topic/174773-ajuda-com-action-de-alavanca/page__fromsearch__1 http://www.xtibia.com/forum/topic/174886-duvida-com-action-de-alavanca/page__fromsearch__1
  4. jhon992

    Traduzir Look

    Fiz assim, vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "look" sem as aspas e nele cole: function onLook(cid, thing, position, lookDistance) if(isPlayer(thing.uid) == false) then doPlayerSendTextMessage(cid, 20, "Você esta vendo uma "..getItemName(thing.uid)..".") doPlayerSendTextMessage(cid, 20, "Peso: "..getItemWeight(thing.uid)..".") end return true end Agora em data/creaturescripts/creaturescripts.xml e cole a tag: <event type="look" name="Look" event="script" value="look.lua"/> Por último abre o arquivo login.lua que esta em data/creaturescripts/scripts e nele cole: registerCreatureEvent(cid, "Look")
  5. Vai em data/creaturescripts/scripts, duplica um arquivo nomeia para "tplogin" sem as aspas e nele cole: function onLogin(cid) local tp = {x=966, y=1029, z=7} -- a posição do templo local effect = 30 -- efeito do teleport doTeleportThing(cid, tp) doSendMagicEffect(tp, effect) return TRUE end Agora em data/creaturescripts/creaturescripts.xml e cola a tag: <event type="login" name="TpLogin" event="script" value="tplogin.lua"/>
  6. Se precisar que eu mude, sóh pedir que ageito pra você.
  7. Sóh adicionar mais conditions antes da função onAttack Fire: local condition = createConditionObject(CONDITION_FIRE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) -- aqui vai o tempo de fire, 1000 = 1 segundo setConditionFormula(condition, 0, 0, 0, 0) setCombatCondition(combat, condition) Ice: local condition = createConditionObject(CONDITION_FREEZING) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) -- aqui vai o tempo de fire, 1000 = 1 segundo setConditionFormula(condition, 0, 0, 0, 0) setCombatCondition(combat, condition) Lista de Conditions: CONDITION_NONE = 0 CONDITION_POISON = 1 CONDITION_FIRE = 2 CONDITION_ENERGY = 4 CONDITION_PHYSICAL = 8 CONDITION_HASTE = 16 CONDITION_PARALYZE = 32 CONDITION_OUTFIT = 64 CONDITION_INVISIBLE = 128 CONDITION_LIGHT = 256 CONDITION_MANASHIELD = 512 CONDITION_INFIGHT = 1024 CONDITION_DRUNK = 2048 CONDITION_EXHAUST = 4096 CONDITION_FOOD = 8192 CONDITION_REGENERATION = 8192 CONDITION_SOUL = 16384 CONDITION_DROWN = 32768 CONDITION_MUTED = 65536 CONDITION_ATTRIBUTES = 131072 CONDITION_FREEZING = 262144 CONDITION_DAZZLED = 524288 CONDITION_CURSED = 1048576 CONDITION_PACIFIED = 2097152 CONDITION_GAMEMASTER = 4194304 CONDITION_HUNTING = 8388608
  8. jhon992

    [Ajuda] Item

    Vai em data/creaturescripts/scripts, duplica um arquivo e renomeia para aoldeath e nele cole: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local aolID = 2130 -- id do aol local lossExp = false -- perde xp 'false' para falso ou 'true' para verdadeiro local lossItems = false -- perde items if isPlayer(cid) then if ((getPlayerSlotItem(cid, 2).itemid == aolID) and (getCreatureSkullType(cid) ~= SKULL_RED)) then if (lossExp == false) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end doCreatureSetDropLoot(cid, lossItems) return true end end return true end Agora vai em data/creaturescripts/creaturescripts.xml e cola a tag: <event type="preparedeath" name="AolDeath" event="script" value="aoldeath.lua"/> E por último, vai em data/creaturescripts/scripts e abra o arquivo login.lua e nele cole: registerCreatureEvent(cid, "AolDeath")
  9. Vai em data/talkactions/script e duplica um arquivo dae, nomei para service e cole: function onSay(cid, words, param, channel) local money = 100000 -- quantidade de grana if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Parametro invalido!") return TRUE end if (doPlayerRemoveMoney(cid, money)) then doBroadcastMessage(getCreatureName(cid).." ["..getPlayerLevel(cid).."]: "..param) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce nao possui grana suficiente!") end return TRUE end Agora em data/talkactions/talkacitons.xml cole a tag: <talkaction words="!service" event="script" value="service.lua"/> É isso aew, ja testei aqui
  10. Tentei arrumar, mais nem consegui. Não faço idéia pq n ta removendo, ja tentei de tudo mais nem deu. Desculpa aew! =/
  11. Ele não some nunca? Aparece alguma mensagem de erro no executavel? Olha aew pra min!
  12. Vai em "data/creaturescripts/scripts" duplica um arquivo e renomeia para "vipgain" sem as aspas e nele cole: function onLogin(cid) if (getPlayerStorageValue(cid, 203021) <= 0) then vip.setVip(cid,3) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou 3 dias vips!") setPlayerStorageValue(cid, 203021, 1) end return TRUE end Agora em "data/creaturescripts/creaturescripts.xml" cola a tag: <event type="login" name="VipGain" event="script" value="vipgain.lua"/> É isso aew!
  13. Vi que no fórum de dúvidas varias pessoas perguntam como fazer para Weapons darem Paralyze, então resolvi criar o Weapon Paralyze! O script é de fácil entendimento e qualquer um pode editar facilmente, vai ser possível adicionar mais weapons, regular a chance de ocorrer o paralyze entre outras configurações. ------------------------------------------------------------------------------------------------------------------------------- Vamos ao que interessa, abra a pasta "data/creaturescripts/scripts" duplique um arquivo qualquer e renomeie para "weaponpar" sem as aspas e nele cole: -- <Script by jhon992> -- local weaponpar = {2377, 2378, 2379, 2380} -- id dos items que darão paralize local chancepar = 5 -- chance de ocorrer o paralize (10 = 10%, 20 = 20%, 30 = 30%, 1 = 1%, 5 = 5%) e assim por diante local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) -- aqui edita os valores pro dano de paralize, vai mudando ae e testando até achar o desejado local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) -- aqui vai o tempo de paralyze, 1000 = 1 segundo setConditionParam(condition, CONDITION_PARAM_SPEED, -400) -- velocidade que o monstro irá perder setConditionFormula(condition, 0, 0, 0, 0) setCombatCondition(combat, condition) function onAttack(cid, target) if ((getCreaturePosition(target).x == getCreaturePosition(cid).x or getCreaturePosition(target).x == getCreaturePosition(cid).x+1 or getCreaturePosition(target).x == getCreaturePosition(cid).x-1) and (getCreaturePosition(target).y == getCreaturePosition(cid).y or getCreaturePosition(target).y == getCreaturePosition(cid).y+1 or getCreaturePosition(target).y == getCreaturePosition(cid).y-1)) then for i=0, #weaponpar do if (getPlayerSlotItem(cid, 5).itemid == weaponpar[i] or getPlayerSlotItem(cid, 6).itemid == weaponpar[i]) then if (math.random(1,100) > (100 - chancepar)) then doPlayerSendTextMessage(cid, 23, getCreatureName(target).." has paralized.") doAddCondition(target, condition) return true else return true end end end end return true end Agora no arquivo, "data/creaturescripts/creaturescripts.xml" cole a tag: <event type="attack" name="WeaponPar" event="script" value="weaponpar.lua"/> E por último, abra o arquivo login.lua que esta localizado em "data/creaturescripts/scripts" e cole a tag: registerCreatureEvent(cid, "WeaponPar") Pronto, terminamos o Weapon Paralyze! Se tiverem alguma dúvida ou aparecer algum erro inesperado só me falar.
  14. Troca teu script por esse: function onAdvance(cid, skill, oldLevel, newLevel) local lvlPremio = 100 -- lvl que ganha recompensa local itemKina = 2160 -- id do item que o kina vai ganhar local itemPaly = 2160 -- id do item que o paly vai ganhar local itemDruid = 2160 -- id do item que o druid vai ganhar local itemSorcer = 2160 -- id do item que o sorcer vai ganhar if (getPlayerStorageValue(cid, 30700) ~= 1) then if (getPlayerLevel(cid) == lvlPremio) then if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then doPlayerAddItem(cid, itemKina, 1) setPlayerStorageValue(cid, 30700, 1) elseif (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then doPlayerAddItem(cid, itemPaly, 1) setPlayerStorageValue(cid, 30700, 1) elseif (getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6) then doPlayerAddItem(cid, itemDruid, 1) setPlayerStorageValue(cid, 30700, 1) else (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5) then doPlayerAddItem(cid, itemSorcer, 1) setPlayerStorageValue(cid, 30700, 1) end end end return TRUE end
  15. Simples, vai em data/npc/scripts, duplica um arquivo renomeia para "history" sem as aspas e cole todo esse script que tu postou dentro dele. Agora vai em data/npc, duplica um arquivo xml desses e nomeia para "History" sem as aspas e cole: <?xml version="1.0" encoding="UTF-8"?> <npc name="History" script="history.lua" walkinterval="2000" floorchange="0"> <health now="999999" max="999999"/> <look type="300" corpse="2212"/> <parameters> <parameter key="message_greet" value="Posso lhe {contar} uma historia?"/> </parameters> </npc> Pronto, agora sóh adiciona o npc no seu mapa editor ou da "/n History" ao logar no seu server.
  16. Vai em data/actions/scripts, duplica um arquivo, renomeia para "book" sem as aspas e nele cole: function onUse(cid, item, fromPosition, itemEx, toPosition) local bookId = 4854 -- id do book local bookText = "Esse é um book" if (item.uid == 2226) then if (getPlayerStorageValue(cid, 2226) <= 0) then doPlayerSendTextMessage(cid,22,"Você achou um Book") item_uid = doPlayerAddItem(cid, bookId, 1) doSetItemText(item_uid, bookText) setPlayerStorageValue(cid, 2226, 1) else doPlayerSendTextMessage(cid, 22, "O baú está vazio.") end else return 0 end return 1 end Agora vai em data/actions/actions.xml, abra-o e cole a tag: <action uniqueid="2226" script="book.lua" /> Pronto, agora sóh colocar o uniqueid no seu baú!
  17. Usa assim: function onStepIn(cid, item, frompos, topos) local name = "Rafael" -- nome do player if (getCreatureName(cid) ~= name) then doCreatureSay(cid, "Desculpe "..name..", nao sento mais na sua cadeira.", TALKTYPE_SAY) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end return TRUE end
  18. Cara tenho certesa que funciona, fais assim: primeiro vai em data/actions/scripts e exclui o arquivo "baufirst", agora em actions.xml e verifica se a tag esta exatamente igual a essa: <action actionid="4568" script="baufirst.lua"/> Se estiver não mude, senão troque por esta acima! Agora em data/actions/script duplica um arquivo e renomeia para "baufirst" sem as aspas novamente e cola o último script que postei! Segui a risca isso que tenho certesa absoluta que vai funcionar.
  19. Sóh com essa info n posso ajudar, que erro ocorreu? Algum erro no executável? Qual o problema? Descubri o erro, usa esse: function onUse(cid, item) local itemkina = {1234, 4567, 6789, 1011} -- troca pelos id's dos itens de kina local itemsorcer = {1234, 4567, 6789, 1011} -- troca pelos id's dos itens de sorcerer local itempaly = {1234, 4567, 6789, 1011}-- troca pelos id's dos itens de paladin local itemdruid = {1234, 4567, 6789, 1011} -- troca pelos id's dos itens de druid if (getPlayerStorageValue(cid, 103029) <= 0) then if (getPlayerVocation(cid) == 4) then for i=1, #itemkina do doPlayerAddItem(cid, itemkina[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end if (getPlayerVocation(cid) == 1) then for i=1, #itemsorcer do doPlayerAddItem(cid, itemsorcer[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end if (getPlayerVocation(cid) == 3) then for i=1, #itempaly do doPlayerAddItem(cid, itempaly[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end if (getPlayerVocation(cid) == 2) then for i=1, #itemdruid do doPlayerAddItem(cid, itemdruid[i], 1) end setPlayerStorageValue(cid, 103029, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Pababens, voce concluiu a quest!") end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ja fez esta quest.") end return TRUE end
  20. Vai em data/globalevents/scripts, duplica um arquivo e nomeia para "raid" sem as aspas, abra e cole isso: function onThink(interval, lastExecution, thinkInterval) pos = {x=2456, y=2462, z=7} -- Posição que monstro vai nascer posTp = {x=2450, y=2462, z=7} -- Posição teleporte vai aparecer posTp2 = {x=2450, y=2462, z=7} -- Posição teleporte vai levar o player tempo = 1 -- tempo em minutos para sumir o teleporte apos executar o script monster = "Morgaroth" -- Monstro que é pra criar doBroadcastMessage("Ocorreu invação de Morgaroth na cidade!") doCreateMonster(monster, pos) pid = doCreateTeleport(1387, posTp2, posTp) addEvent(sumirTp, tempo*60000, pid) return true end function sumirTp(pid) doRemoveItem(pid) end Agora em data/globalevents/globalevents.xml cole a tag: <globalevent name="raid" interval="10" event="script" value="raid.lua"/> O interval acima é em segundos, ou seja, esse script vai funcionar a cada 10 segundos, mais dae tu configura como quiser o tempo. Não esquece tambem de mudar as posições e o tempo no script!
  21. Os arquivos war.lua e balance.lua estão configurados corretamente e no lugar certo? Se a resposta for sim, não faço idéia onde seja o erro.
  22. passa teu talkactions.xml dinovo!
  23. Fiz errado de noob, agora ta arrumado! Troca o script inteiro e a tag novamente.
  24. Claro, é só no script da invasão poem essa função: doCreateTeleport(iddoteleporte, posiçãoquevailevaroteleporte, posiçãoquevaisercriadooteleporte)
  • Quem Está Navegando   0 membros estão online

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