-
Total de itens
631 -
Registro em
-
Última visita
-
Dias Ganhos
13
Tudo que jhon992 postou
-
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)
-
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
-
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
-
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>
-
falei errado, o arquivo certo seria weapons.xml na pasta data/weapons.
-
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
-
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"/>
-
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.
-
[Ajuda] Avisar Quando Cooldown Da Magia Estiver Pronto.
pergunta respondeu ao digomaciel de jhon992 em Scripts
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. -
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.
-
Sóh configurar como tu quiser. http://www.xtibia.com/forum/topic/183233-npc-mount-seller-por-items-87/ Créditos @VodKart;
-
Dei uma olhada novamente e ao meu ver era pra estar funcionando perfeitamente. Qual erro aparece no executavel do ot?
-
[Creaturescripts] Mensagem Ao Receber Parcel
pergunta respondeu ao kelvinvictor de jhon992 em Scripts
Quais erros ocorreram, vc testou certinho? Apareceu algum erro no executavel? Explique melhor. -
Mais ta pra player que ta sóh em pz. Não ta funcionando?
-
local monsters = {"Wolf","Orc","Troll"} function onCastSpell(cid, var) x = doSummonCreature(monsters[math.random(1,#monsters)], getCreaturePosition(cid)) doConvinceCreature(cid, x) end
-
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")
-
#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")
-
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.
-
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"/>
-
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"/>
-
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
-
[Resolvido] Players Começar Com Tal Mana Life
pergunta respondeu ao othereality de jhon992 em Scripts
#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. -
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;
-
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.
-
[Resolvido] Players Começar Com Tal Mana Life
pergunta respondeu ao othereality de jhon992 em Scripts
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.