Ir para conteúdo

notle2012

Conde
  • Total de itens

    884
  • Registro em

  • Última visita

  • Dias Ganhos

    8

Tudo que notle2012 postou

  1. aqui o npc 1 data\npc\scripts\nomedoarquivo.lua tem que editar ja deixei pra vc configurar ------------------- By Notle ------------------- local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local troca = { 2163,100, 2160,50 -- aqui vc edita os ID do item que tem que ter e quantos } local id = 2160 --- id do item que vai ganhar dps da troca local quant = 1 -- item que ganhar Contém quantos? local sto = 1585 -- Storage function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if msgcontains(msg, 'trocaitem') then status = getPlayerStorageValue(cid,sto) if status == -1 then if doPlayerRemoveItem(cid,troca[1],troca[2]) and doPlayerRemoveItem(cid,troca[3],troca[4])then doPlayerAddItem(cid,id,quant) setPlayerStorageValue(cid,sto,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "coloca um texto aqui") -- edita aqui else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você Não Contém Uns Dos Itens Não Posso Troca.") -- edita aqui end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não Pode Troca De novo") end return TRUE end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) data\npc\nomedoarquivo.xml <npc name="NOMEDONPC" script="data/npc/scripts/nomedoarquivo.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> <parameters> <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {trocaitem}." /> <parameter key="message_farewell" value="Tchau." /> <parameter key="message_walkaway" value="Tchau." /> </parameters> </npc> edita os em red local troca = { 2163,100, 2160,50 -- aqui vc edita os ID do item que tem que ter e quantos } local id = 2160 --- id do item que vai ganhar dps da troca local quant = 1 -- item que ganhar Contém quantos? NPC 2
  2. data\actions\scripts\other aqui vc cria um arquivo teleport.lua coloca isso local upFloorIds = {1386, 3678, 5543} function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray(upFloorIds, item.itemid) == TRUE then fromPosition.y = fromPosition.y + 1 fromPosition.z = fromPosition.z - 1 else fromPosition.z = fromPosition.z + 1 end doTeleportThing(cid, fromPosition, FALSE) return TRUE end actions.xml <action itemid="430" script="other/teleport.lua"/> <action itemid="1369" script="other/teleport.lua"/> <action itemid="1386" script="other/teleport.lua"/> <action itemid="3678" script="other/teleport.lua"/> <action itemid="5543" script="other/teleport.lua"/>
  3. data\talkactions\scripts\nomedoarquivo.lua function onSay(cid, words, param, channel) --configuration by notle local i = {qnt = 3, --Quantia de summons permitida level = 10, -- level pra usa summons mana = 250, -- quanto de mana que vai perde assim que usa voc = {1,2,3,4,5,6,7,8,9,10,11,12}, -- ID das vocations ignore = {"demon","apocalypse","treiner"}} -- summon que não pode ser criandos --configuration by notle local pid = cid local t = string.explode(param, ",") if getPlayerMana(cid) > i.mana then if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.") then return true end elseif #getCreatureSummons(cid) == i.qnt and doPlayerSendCancel(cid, "Máximo de summons atingido.") then return true elseif getPlayerLevel(cid) <= i.level and doPlayerSendCancel(cid, "sorry insufficient level [up ate " ..i.level.. "].") then return true elseif not isInArray(i.voc, getPlayerVocation(cid)) and doPlayerSendCancel(cid, " Your vocation can not create summons.") then return true elseif isInArray(i.ignore, string.lower(t[1])) and doPlayerSendCancel(cid, "you can not summon this creature.") then return true end for o = 1,i.qnt and doSummonMonster(pid, t[1]) do doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you invoked a "..t[1].."") return doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) and doPlayerAddMana(cid, -i.mana) and true end else return doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) and doPlayerSendCancel(cid, "sorry insufficient mana.") end end talkactions.xml <talkaction words="!cmd" event="script" value="nomedoarquivo.lua"/> pra usa comando !cmd dragon só editar a o gosto --configuration by notle local i = {qnt = 3, --Quantia de summons permitida level = 10, -- level pra usa summons mana = 250, -- quanto de mana que vai perde assim que usa voc = {1,2,3,4,5,6,7,8,9,10,11,12}, -- ID das vocations ignore = {"demon","apocalypse","treiner"}} -- summon que não pode ser criandos --configuration by notle
  4. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local crystalid = {2349,2222,4444} -- item que o player deverá ter para fazer a missao local gnt,gnt2,gnt3 = 1,1,1 -- quantos item que vc quer que remove em Order dos id de cima local recom = {2160,2160,2160,2160,2160} -- id das recompensas local gntre = {1,1,1,1,1} -- quantos que vai ganhar das recompensas em Order dos id de cima local level = 50 -- edita aqui level local storage = 2358 local getstorage = getPlayerStorageValue(cid, storage) local sorrymessage = "Desculpe, voce nao tem o item que eu preciso..." local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'aceitar') then if getPlayerLevel(cid) >= level then else npcHandler:say("Somente level " .. level .. " podem fazer essa missoes.", cid) return true end if getstorage == 1 then npcHandler:say("Voce jah completou a mission.", cid) elseif getstorage < 1 then npcHandler:say("Eu quero muito um item escondido nas colinas de Egeu para eu curar a doença de minha filha,mais não sou um guerreiro,voce poderia me {ajudar}?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'ajudar') then if getstorage < 1 then npcHandler:say("Você trouxe o item das colinas de Egeu em troca de 250k? Se sim, fale {yes}.", cid) end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 1 then if getstorage < 0 then if doPlayerRemoveItem(cid, crystalid[1], gnt) and doPlayerRemoveItem(cid, crystalid[2], gnt2) and doPlayerRemoveItem(cid, crystalid[3], gnt3) == TRUE then npcHandler:say("Obrigado por trazer o item.", cid) setPlayerStorageValue(cid, storage, 1) doPlayerAddItem(cid, recom[1], gntre[1]) doPlayerAddItem(cid, recom[2], gntre[2]) doPlayerAddItem(cid, recom[3], gntre[3]) doPlayerAddItem(cid, recom[4], gntre[4]) doPlayerAddItem(cid, recom[5], gntre[5]) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 1) == FALSE then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end end end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then npcHandler:say("OK, Volte quando estiver pronto.", cid) talkState[talkUser] = 0 end return TRUE end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  5. você tem que usa programa dat editor procura tutorias sobre esse programa
  6. notle2012

    Script Templo

    ata não tinha lindo tópico ate fim*rsrs repostando aqui pedido atendido mesmo assim deixa meu aqui function onStepIn(cid, item, position, fromPosition) return isPlayer(cid) and doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) and doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) and TRUE end
  7. notle2012

    Função

    tenta assim function onUse(cid, item, frompos, item2, topos) pos = {x=573, y=500, z=7} if item.itemid == 2349 then if getTilePzInfo(getPlayerPosition(cid)) == false and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa estar em Protection Zone para usar o Teleport Magico.") then elseif math.random(1, 100) >= 1 and math.random(1, 100) <= 40 then doPlayerSay(cid, "-*- Magic Teleport! -*- Teleportado Para Wisland!", TALKTYPE_ORANGE_1) doRemoveItem(item.uid,1) doTeleportThing(cid,pos) doSendMagicEffect(pos,10) doSendMagicEffect(topos,10) else doPlayerSay(cid, "*Tentativa de uso de Magic Teleport * -*- Falhou! -*-", TALKTYPE_ORANGE_1) doRemoveItem(item.uid,1) end return TRUE end end
  8. notle2012

    Script Templo

    data/movements/scripts\nomedoarquivo.lua function onStepIn(cid, item, position, fromPosition) local pos = {x = 160, y = 54, z = 7} -- coordenadas do destino if isPlayer(cid) and doTeleportThing(cid, pos) and doSendMagicEffect(pos, CONST_ME_TELEPORT) then end return TRUE end movements/movements.xml e coloque essa tag la.. <movevent type="StepIn" actionid="id" event="script" value="nomedoarquivo.lua"/> em id tu coloca o actionid do piso q vc tem q por pelo mapa editor... e em nomedoarquivo.lua tu coloca o nome q tu pos no arquivo .lua ali decima...
  9. se quiser salva alguns players que tiver level elevados usa esse function onStepIn(cid, item, position, fromPosition) local level = 800 -- se for menos de 800 ao passa morre if getPlayerLevel(cid) < level and doCreatureAddHealth(cid, -getCreatureMaxHealth(cid)) then elseif getPlayerLevel(cid) >= level and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns Você Muito Forte Nem efeito Essa Amadinha Fez Em Você") then end return TRUE end só editar local level = 800 -- se for menos de 800 ao passa morre
  10. bom não tenho essa vip não posso testa tenta assim function onSay(cid, words, param) local waittime = 20 -- Tempo de exhaustion local storage = 5560 local pos = getCreaturePosition(cid) local from = {x=pos.x, y=pos.y, z=pos.z} local to = {x = 1136, y = 242, z = 7} -- Onde sera teleportado outra dimensao local area1 = {x = 1134, y = 240, z = 7} -- Ponta de cima na esquerda local area2 = {x = 1138, y = 244, z = 7} -- Ponta de baixo na direita local ppos = getCreaturePosition(cid) local level = 100 -- Level necessário if getPlayerLevel(cid) < level then doPlayerSendCancel(cid, "Você precisa de level "..level.." para usar essa magia.") return true end if isVipAccount(cid) and doPlayerSendCancel(cid, "sorry you do not have vip.") then return true end function back(cid) if isInArea(getCreaturePosition(cid), area1, area2) then doTeleportThing(cid, from) end end function go(cid) if isInArea(getCreaturePosition(cid), from, from) then doTeleportThing(cid, to) end end if exhaustion.check(cid, storage) == false then for _, pid in ipairs(getPlayersOnline()) do addEvent(back, 5000, pid) -- Tempo para retornar (1000 = 1 seg) addEvent(go, 1, pid) doSendMagicEffect(getCreaturePosition(pid), 63) doCreatureSay(pid, "Change Dimension!", TALKTYPE_MONSTER) --- Mensagem addEvent(setPlayerStorageValue, 10000, pid, 1634, -1) end exhaustion.set(cid, storage, waittime) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") end return true end
  11. qual versão do seu ot tem uns ot que tem erro nos npc 8,40 mesmo tem
  12. vlw o muito que eu conhecesse dessas Condition era umas 3 pedido atendido pode move
  13. bom eu queria saber mais sobre getCreatureCondition, das Condition que são mais usadas ate agora não achei tutor falando sobre essa function se alguem, pode me da um exemplo rep+ vlw
  14. http://www.mediafire...2a6012x9oz8i5ga tem um outro cliente que galera ta modificando ainda só volta umas paginas q vc acha mais usa esse ai mesmo do link
  15. tenta assim data\actions\scripts\nomedoarquivo.lua function onUse(cid, item, frompos, item2, topos) local i = {msg = "coloque uma frase aquiiii", -- Mensagem dizendo que não tem stourage msg2 = "coloca uma frase aqui se tiver item e storage oq ira falar", -- coloca uma frase aqui se tiver item e storage oq ira falar sto = 15075, -- storage id = 2160, qnt = 100, -- id do item gnt e quantos itens pos = {x = 160, y = 54, z = 7} -- Coordenadas do destino } if getPlayerStorageValue(cid, i.sto) == 1 then elseif doPlayerRemoveItem(cid,i.id,i.qnt) then doTeleportThing (cid,i.pos) doSendMagicEffect(getPlayerPosition(cid),10) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, i.msg2) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, i.msg) end return true end tem que coloca action id com map editor <action actionid="9999" script="nomedoarquivo.lua"/>
  16. depende se for coloca skills vai sim precisa ir nos moviments sequer o tutor http://www.xtibia.com/forum/topic/82922-editando-sua-arma/ ou http://www.xtibia.com/forum/topic/126912-editando-itens/ http://www.xtibia.co...-de-2-maneiras/
  17. bom se sua vocations são novas só vc adiciona na sua script de potions as novas IDS vou deixa red aqui pra vc da uma olhada
  18. posta scripts das suas potions ou tenta usa essa local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 500}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8,11,12}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8,12}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {1570, 1620}, level = 130, vocations = {4, 8,12}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {350, 400}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7,5,6,9,11}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {1280, 1310}, level = 80, vocations = {1, 2, 5, 6,9,10}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {1450, 1550}, mana = {500, 600}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return TRUE end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid, 1) return TRUE end doRemoveItem(item.uid, 0) doPlayerAddItem(cid, potion.empty, 0) doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) doPlayerAddItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) return TRUE end normalmente fica em data\actions\scripts\liquids\potions.lua
  19. notle2012

    First Itens

    só edita os IDS essa parte e de Sorcerer Druid Pally Knight
  20. não sei te dizer mais pega id de uma imagem que venho pronta e ver se tem ela nos Items.xml pq não tenho pokemon flash aqui
  21. notle2012

    Script Teleporte

    data\globalevents\scripts\tp.lua local teleportPosition = {x=160, y=51, z=7} -- aqui coloca tp que vai aparecer local pos = {x = 160, y = 50, z = 7} -- Coordenadas do destino function onThink(interval, lastExecution, thinkInterval) local time = 5 doCreateTeleport(1387, pos, teleportPosition) doBroadcastMessage("O portal para o evento foi aberto e se fexará em 5 minutos.") addEvent(deleteTp, time*60*1000) addEvent(doBroadcastMessage, time*1000*60, "O portal do evento foi fexado. Próximo evento em 2 horas.") return true end function deleteTp() local delete = getTileItemById(teleportPosition, 1387) if delete.uid > 0 then doRemoveItem(delete.uid, 1) doSendMagicEffect(teleportPosition, CONST_ME_TELEPORT) end return true end globalevents.xml <globalevent name="evento" interval="3600" event="script" value="tp.lua"/> ou <globalevent name="evento" time="1:30" event="script" value="tp.lua"/>
  22. notle2012

    Rank

    ja viu esse? http://www.xtibia.com/forum/topic/131491-ranking-com-reset-e-sem/
  23. e mesmo e tbm podia ter mais detalhes sobre functions que são usadas com String exemplo frase = [[seja Bem Vindo A Xtibia]] x3 = "n" print (string.lower(frase)) print (frase) print (string.upper(frase)) print (string.reverse(frase)) print (string.rep(x3, 3)) resultado
  24. data\creaturescripts\scripts\nomedoarquivo.lua function onTarget(cid, target) local sto = 12345 -- storage if isMonster(cid) and isPlayer(target) and getPlayerStorageValue(target, sto) < 1 then return false end return true end creaturescripts.xml <event type="target" name="sto" event="script" value="nomedoarquivo.lua"/> login.lua registerCreatureEvent(cid, "sto") monster <script> <event name="nomedoarquivo"/> </script>
  • Quem Está Navegando   0 membros estão online

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