Ir para conteúdo

jhon992

Conde
  • Total de itens

    631
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que jhon992 postou

  1. essa do @VodKart, funciona perfeitamente, basta configurar corretamente: http://www.xtibia.co...pells-por-item/ e se você quiser para remover money ao invez do item, basta trocar essa linha no script: doPlayerRemoveItem(cid,moeda,t[msg].price) por essa: doPlayerRemoveMoney(cid, t[msg].price)
  2. 15% é igual a 15/100, que é igual a 0,15. então pro player ganhar 15% da sua experiencia total, troca essa parte do script do @vilden: getPlayerExperience(cid)*0.5 por isso: getPlayerExperience(cid)*0.15
  3. tenta assim: local config = { --[vocation id] = { level, nova voc, looktype, efeito, life, mana} [398] = { 50, 399, 448, 32, 2000, 1000}, [399] = { 100, 400, 449, 32, 2000, 1000}, [400] = { 150, 401, 450, 32, 2000, 1000} } function onSay(cid, words, param, channel) doPlayerSay(cid, "transformar") local voc = config[getPlayerVocation(cid)] if voc then if getPlayerLevel(cid) >= voc[1] then doPlayerSetVocation(cid, voc[2]) doPlayerSay(cid, "Aaaaah",16) local outfit = {lookType = voc[3]} doSetCreatureOutfit(cid, outfit, -1) setCreatureMaxHealth(cid, voc[5]) setCreatureMaxMana(cid, voc[6]) doCreatureAddMana(cid, (getCreatureMaxMana(cid)-getCreatureMana(cid))) doCreatureAddHealth(cid, (getCreatureMaxHealth(cid)-getCreatureHealth(cid))) doSendMagicEffect(getCreaturePosition(cid), voc[4]) else doPlayerSendCancel(cid, "Você precisa estar no level " .. voc[1] .. " para transformar.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Você não pode mais transformar!") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end
  4. tenta adicionar o teu item aew e vê se ele funfa, exemplo: <melee id="8601" unproperly="1" event="function" value="default"> <vocation name="Knight"/> <vocation id="8" showInDescription="0"/> </melee>
  5. falei errado, o arquivo certo seria weapons.xml na pasta data/weapons.
  6. Tem esse aqui no meu tfs. <?xml version="1.0" encoding="UTF-8"?> <npc name="Dimral" script="default.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Hello |PLAYERNAME|. If you don't know where to flow, say {travel}."/> <parameter key="travel_destinations" value="varak,331,509,10,50;jorvik,420,256,6,50;"/> </parameters> </npc> Para configurar mude essa linha: <parameter key="travel_destinations" value="varak,331,509,10,50;jorvik,420,256,6,50;"/> Que são > nomedacidade,posição x,posição y,posição z,custo em gps
  7. jhon992

    Clean Nas Houses

    Se não conseguir arrumar, põe o global server salve como false. E usa o save do globalevents para salvar o server a cada 2hras ou mais. data/globalevents/scripts/save.lua local config = { broadcast = {120, 30}, shallow = "no", delay = 120, events = 30 } config.shallow = getBooleanFromString(config.shallow) local function executeSave(seconds) if(isInArray(config.broadcast, seconds)) then local text = "" if(not config.shallow) then text = "Full s" else text = "S" end text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!" doBroadcastMessage(text) end if(seconds > 0) then addEvent(executeSave, config.events * 1000, seconds - config.events) else doSaveServer(config.shallow) end end function onThink(interval, lastExecution, thinkInterval) if(table.maxn(config.broadcast) == 0) then doSaveServer(config.shallow) else executeSave(config.delay) end return true end data/globalevents/globalevents.xml <globalevent name="save" interval="3600" event="script" value="save.lua"/>
  8. baixei o items.xml e parece estar funcional. Acho que o problema n esta nele n. Tenta da uma olhada no seu movements.xml, procura pelo id da arma. O erro pode estar la, algo como o novo player n ter lvl suficiente para usar, seila. tentei postar o código aqui, mais não é possivel pq é muito grande. mais podem baixar que o arquivo esta limpo.
  9. A sua tava quase cof corretamente, só mudei umas coisinhas: local outfit = {lookType = 330} local tempo = 15 * 1000 local cooldown = 30 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 40) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) function cooldownready(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Cooldown of Magic Disturb is ready.") end local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function onCastSpell(cid, var) if exhaustion.check(cid, 50001) == false then exhaustion.set(cid, 50001, cooldown) addEvent(cooldownready, cooldown*1000, cid) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 50001).."]") end end obs: nem testei, qualquer erro me fala aqui.
  10. Se acontece na hora que você se transforma, o script teve tar na magia/talkaction de transformação do seu otserv. Basta procurar e alterar, provavelmente ta na pasta data/spells/scripts ou na pasta data/talkactions/scripts.
  11. Sóh configurar como tu quiser. http://www.xtibia.com/forum/topic/183233-npc-mount-seller-por-items-87/ Créditos @VodKart;
  12. Dei uma olhada novamente e ao meu ver era pra estar funcionando perfeitamente. Qual erro aparece no executavel do ot?
  13. Quais erros ocorreram, vc testou certinho? Apareceu algum erro no executavel? Explique melhor.
  14. Mais ta pra player que ta sóh em pz. Não ta funcionando?
  15. local monsters = {"Wolf","Orc","Troll"} function onCastSpell(cid, var) x = doSummonCreature(monsters[math.random(1,#monsters)], getCreaturePosition(cid)) doConvinceCreature(cid, x) end
  16. Primeiro em data/talkactions/script, duplica um arquivo e nomeia para "eventokill" sem as aspas e nele cole: --<Script by jhon992>-- function onSay(cid, words, param, channel) local online = getPlayersOnline() local player = 0 local playerStorage = 0 local posEvent = {x=1234, y=345, z=7} -- posição para que os players serão teleportados ao iniciar o evento. local itemGain = {1234,4564} -- itens que ganha ao acabar o evento. local posUp = {x=1234, y=345, z=7} -- posição superior esquerdo do mapa do evento. local posDown = {x=1234, y=345, z=7} -- posição inferior direito do mapa do evento. local posBackEvent = {x=1234, y=345, z=7} -- posição para que os players serão teleportados ao acabar o evento. if (param == "") then doPlayerSendTextMessage(cid, 24,"Comando errado.") return true end if (param == "open") then for i=1, #online do if (getTilePzInfo(getCreaturePosition(online[i])) == TRUE) then setPlayerStorageValue(online[i], 403451, -1) doTeleportThing(online[i], posEvent) end end doBroadcastMessage("O Evento esta aberto!") return true end if (param == "close") then online = getPlayersOnline() doBroadcastMessage("O Evento esta feichado!") for i=1, #online do if (isInArea(getPlayerPosition(online[i]), posUp, posDown)) then doTeleportThing(online[i], posBackEvent) if (getPlayerStorageValue(online[i], 403451) > playerStorage) then player = online[i] playerStorage = getPlayerStorageValue(online[i], 403451) end end end for i=1, #itemGain do doPlayerAddItem(player, itemGain[i]) end doBroadcastMessage("O player ".. getCreatureName(player) .." matou ".. getPlayerStorageValue(cid, 403451) +1 .." players e ganhou o evento!") end return TRUE end Em talkactions.xml cole a tag: <talkaction log="yes" words="!evento" access="4" event="script" value="eventokill.lua"/> Agora em data/creaturescripts/scripts, duplica um arquivo e nomeia para "killevent" sem as aspas e nele cole: --<Script by jhon992>-- function onKill(cid, target, lastHit) local posUp = {x=1234, y=345, z=7} -- posição superior esquerdo do mapa do evento. (MESMA POSIÇÂO QUE NO OUTRO ARQUIVO) local posDown = {x=1234, y=345, z=7} -- posição inferior direito do mapa do evento. (MESMA POSIÇÂO QUE NO OUTRO ARQUIVO) if (isInArea(getPlayerPosition(cid), posUp, posDown)) then setPlayerStorageValue(cid, 403451, getPlayerStorageValue(cid, 403451) +1) doPlayerSendTextMessage(cid, 24,"Você ja matou".. getPlayerStorageValue(cid, 403451) +1 .." players no evento.") end return TRUE end Agora em creaturescripts.xml cole a tag: <event type="kill" name="KillEvent" event="script" value="killevent.lua"/> E por último, no arquivo login.lua na pasta /scripts, cole antes do último return true essa tag: registerCreatureEvent(cid, "KillEvent")
  17. #Subwat reportado por flood. @xIceHeartx, vai na pasta data/creaturescripts/scripts, duplica um arquivo e nomeia para "attackvocation" e cola o código dentro. Depois em creaturescripts.xml cole a tag: <event type="target" name="AttackVocation" event="script" value="attackvocation.lua"/> Por fim no seu arquivo login.lua na pasta script, antes do último return true cole: registerCreatureEvent(cid, "AttackVocation")
  18. O primeiro erro é no actions.xml, o action 2051 ta duplicado. Os outros é em movements.xml, varias linhas com aqueles ids estão duplicados. Basta ir na linha duplicada e apagar.
  19. Crendo que vc possua o sistema Vip do Mock. Basta você duplicar um arquivo na pasta data/talkactions/scripts, nomear para "vipteste" sem as aspas e nele colar o código. Depois no arquivo talkactions.xml cole a tag: <talkaction words="!viptest" event="script" value="vipteste.lua"/>
  20. vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "vocationtown" sem as aspas e nele cole: local vocationCity{ [1] = idDaCity, -- coloque o id da city para sorcerer no lugar de "idDaCity". [2] = idDaCity, -- coloque o id da city para druid no lugar de "idDaCity". [3] = idDaCity, -- coloque o id da city para paladin no lugar de "idDaCity". [4] = idDaCity -- coloque o id da city para knight no lugar de "idDaCity". } function onLogin(cid) if getPlayerStorageValue(cid, 403241) <= 0 then doPlayerSetTown(cid, getPlayerVocation(cid)) doTeleportThing(cid, getTownTemplePosition(getPlayerVocation(cid))) setPlayerStorageValue(cid, 403241, 1) end return true end agora em creaturescripts.xml cole a tag: <event type="login" name="VocationTown" script="vocationtown.lua"/>
  21. function onThink(interval, lastExecution) local pos = {x = 155, y = 50, z = 7} --posição que surge o tp local topos = {x=160, y=51, z=7} -- o player é teletransportado pra essa posição local timer = 3 -- tempo em minutos pro tp sumir pid = doCreateTeleport(1387, topos, pos) doBroadcastMessage("O teleport para evento esta aberto e fechara em ".. timer .." minutos.") addEvent(deleteTp, timer*60*1000, pid) return true end function deleteTp(pid) doRemoveItem(pid) end
  22. #Repotado para mover. De nada, @OtheRealty. Tbm percebi que sóh atualizava se toma-se dano ou cura-se por isso usei essas duas funções "doCreatureAddHealth(cid, -100) e doCreatureAddMana(cid, 50) ", só que n testei depois disso.
  23. jhon992

    Acc Manager Rep+

    O novo player comasa sem nenhum item? Se começar com algum entao o arquivo firstitens jah existe e esta localizado na pasta data/creaturescripts/scripts/firstitens.lua ou mods/firsitems.xml Caso n comece com item algum, vai na pasta data/creaturescripts/scripts/ duplica um arquivo e nomeia para "firstitens" sem as aspas e nele cole: local firstItems = {} firstItems[0] = { 2173, 2525, 3965, 2124, 2457, 2647, 2643 } firstItems[1] = { 2173, 2525, 2190, 2124, 2457, 2647, 2643 } firstItems[2] = { 2173, 2525, 2182, 2124, 2457, 2647, 2643 } firstItems[3] = { 2173, 2525, 2399, 2124, 2457, 2647, 2643 } firstItems[4] = { 2173, 2525, 2428, 2124, 2457, 2647, 2643 } function onLogin(cid) if getPlayerStorageValue(cid, 30001) == -1 then for i = 1, table.maxn(firstItems[getPlayerVocation(cid)]) do doPlayerAddItem(cid, firstItems[getPlayerVocation(cid)][i], 1) end if getPlayerSex(cid) == 0 then doPlayerAddItem(cid, 2463, 1) else doPlayerAddItem(cid, 2463, 1) end local bag = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bag, 2160, 2) doAddContainerItem(bag, 2554, 1) doAddContainerItem(bag, 2120, 1) doAddContainerItem(bag, 7618, 1) setPlayerStorageValue(cid, 30001, 1) doCreatureChangeOutfit(cid, {lookType = 128}) end return TRUE end Em creaturescripts.xml cole a tag: <event type="login" name="First" script="firstitens.lua"/> Pronto, esse script tbm resolvera o outfit;
  24. Ou faiz assim, no nome da cidade poem ["NEVOR"], E antes disso: local a = lugar[param] Poem isso: param = string.upper(param) Essa função string.upper é de manipulação de string, ela faz com que o parametro que o player passou fique tudo maiusculo. Exemplo: Player say: /i NeVoR Quando chegar na parte do "string.upper", o param = NEVOR. É isso aew.
  25. Olhando parece funcional, mais faltou o return true antes do último end. Mais para no precisar fazer mais script onLogin, apaga esse script, e no seu arquivo login.lua antes do último return true, cole esse código: if (getPlayerStorageValue(cid, 23111) == -1) then setCreatureMaxHealth(cid, 50) setCreatureMaxMana(cid, 50) doCreatureAddHealth(cid, -100) doCreatureAddMana(cid, 50) setPlayerStorageValue(cid, 23111, 1) end Testei aqui e ta funcionando.
  • Quem Está Navegando   0 membros estão online

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