Ir para conteúdo
  • Cadastre-se

[Resolvido] Script não funciona


Posts Recomendados

Eu queria que esse script fizesse o NPC vender itens no shop e tb dar quests pros players, só que quando ligo o servidor da um erro no console, < unknown script file > e o NPC não responde. Alguém sabe resolver?



local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]-- OTServ event handling functions start

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

-- OTServ event handling functions end

local shopModule = ShopModule:new()

npcHandler:addModule(shopModule)

shopModule:addBuyableItem({'lemonade', 'lemondrink', 'limonada'}, 2006, 2, 5, 'lemonade')

shopModule:addBuyableItem({'beer', 'cerveja'}, 2006, 3, 3, 'beer')

shopModule:addBuyableItem({'milk', 'leite'}, 2006, 2, 6, 'milk')

shopModule:addBuyableItem({'rum'}, 2006, 3, 27, 'rum')

shopModule:addBuyableItem({'bread'}, 2689, 3)

shopModule:addBuyableItem({'ham'}, 2671, 5)

shopModule:addBuyableItem({'meat'}, 2666, 5)

shopModule:addBuyableItem({'grapes'}, 2681, 3)

shopModule:addBuyableItem({'red apple'}, 2674, 3)

npcHandler:addModule(FocusModule:new()) [/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]local boromir = 6000

local boromir2 = 6001

local boromir3 = 61254

text = "5 Meat    5 Bread    10 Blueberries" -- Texto do papel

lid = 1954 -- ID do Papel[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]if msgcontains(msg, 'ajudar') and (getPlayerStorageValue(cid, 61254) == 1) then

   npcHandler:say("Você pode conseguir um pouco de comida para mim? Estou muito ocupado e não tenho tempo para ir procurar.", cid)

talkState[talkUser] = 0

elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then

setPlayerStorageValue(cid, boromir, 1)

setPlayerStorageValue(cid, boromir3, 2)

setPlayerStorageValue(cid, boromir2, 1)

letter = doPlayerAddItem(cid, lid)

doSetItemText(letter, text)

doPlayerPopupFYI(cid, "Nova quest iniciada! Quest Log atualizado: Ajudando Zio")

   npcHandler:say("Tudo que preciso está escrito neste papel.", cid)

talkState[talkUser] = 0

elseif msgcontains(msg, 'ajudar') and (getPlayerStorageValue(cid, 61254) == 2) then

   npcHandler:say("Você conseguiu todos os itens da lista?", cid)

talkState[talkUser] = 0

elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and (getPlayerStorageValue(cid, 61254) == 2)  then

   npcHandler:say("Muito obrigado, aqui está sua recompensa.", cid)

talkState[talkUser] = 0

setPlayerStorageValue(cid, boromir2, 2)

setPlayerStorageValue(cid, boromir3, 3)

elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and (getPlayerStorageValue(cid, 61254) == 3)  then

   npcHandler:say("Você já me ajudou, por enquanto não preciso da sua ajuda.", cid)

talkState[talkUser] = 0

elseif msgcontains(msg, 'ajudar') and (getPlayerStorageValue(cid, 61254) == 3)  then

   npcHandler:say("Você já me ajudou, por enquanto não preciso da sua ajuda.", cid)

talkState[talkUser] = 0

end

return TRUE

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]

Link para o post
Compartilhar em outros sites

O servidor não conseguiu encontrar o arquivo especificado por você no xml.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Zio" script="zio.lua" walkinterval="2000" floorchange="0">

<health now="150" max="150"/>

<look type="128" head="114" body="68" legs="39" feet="114" corpse="2212" addons="0"/>

<parameters>

  <parameter key="message_greet" value="Bem vindo a minha taverna |PLAYERNAME|! Eu vendo comidas e bebidas, e talvez voce possa me {ajudar}"/>

  <parameter key="message_decline" value="|TOTALCOST| gold coins eh muito para voce?"/>

</parameters>

</npc>

Editado por NewAge (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

O nome do arquivo do seu npc tem que ser

<npc name="Zio" script="zio.lua" walkinterval="2000" floorchange="0">

zio.lua

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

O nome do script do npc ja é zio.lua, o problema é que ele não responde na hora que falo hi. Eu queria fazer um npc que vendesse itens no shop e tb dava quest quando falava 'ajudar', como o Dark Rodo.

Link para o post
Compartilhar em outros sites

Cara, o erro que você postou diz que o arquivo indicado não foi encontrado, então o problema é no nome do arquivo que você tá colocando.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

@Movido.

Att,

Skyligh

Entrada Como Membro 14 / 08 / 2012

Entrada Como Suporte 05 / 12 / 2012

Saída Como Suporte 06 / 01 / 2013

sem_ta28.png

Contato : [email protected] / [email protected]

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por NewAge
      O script não distribui pontos em magic com o comando !points add, magic, 1, tentei adicionar magic no local skillids, só que não sei o número que aumenta o magic level. Se alguém puder ajudar, rep +
       
       
    • Por NewAge
      Sempre que o player entra em pvp com alguém magias e potes de healar param de funcionar, descobri que o arquivo 101-compat tava bugando, pq substitui os arquivos da pasta lib pelo de outro server, até chegar no arquivo que tava dando problema. Só que quando eu deleto esse arquivo da um monte de erro em vários scripts no console. Alguém consegue resolver ou pode me passar um 101-combat que não esteja bugado?
      101-compat.lua
      100-compat.lua
    • Por NewAge
      Preciso de um script que de ao player um storage x quando evoluir para o nivel 8
      REp +
    • Por NewAge
      Eu quero um script em que apareça tiles de swamp no local indicado na imagem e depois de 10 segundos os tiles de swamp sumam e apareçam tiles de terra id 354.





      Esse primeiro script criava apenas bordas do swamp e no meio aparecia terra (id 354), quando deveria aparecer tiles de swamp e apenas depois de 10 segundos serem removidos e substituídos por tiles de terra.


      function wall()[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local wallTab = { {4693, {x = 710, y = 544, z = 7}}, {4714, {x = 710, y = 543, z = 7}}, {4714, {x = 709, y = 544, z = 7}}, {4714, {x = 710, y = 542, z = 7}}, {4693, {x = 710, y = 543, z = 7}}, {4719, {x = 712, y = 542, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4693, {x = 710, y = 542, z = 7}}, {4693, {x = 711, y = 544, z = 7}}, {4693, {x = 711, y = 543, z = 7}}, {4693, {x = 711, y = 542, z = 7}}, {4693, {x = 711, y = 541, z = 7}}, {4693, {x = 710, y = 541, z = 7}}, {4693, {x = 709, y = 542, z = 7}}, {4713, {x = 709, y = 543, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4716, {x = 712, y = 542, z = 7}}, {4719, {x = 712, y = 540, z = 7}}, {4718, {x = 708, y = 543, z = 7}} }[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]for i = 1, #wallTab do if getTileItemById(wallTab[i][2], wallTab[i][1]).uid > 0 then doRemoveItem(getTileItemById(wallTab[i][2], wallTab[i][1]).uid) doCreateItem(354, 1, wallTab[i][2]) else doCreateItem(wallTab[i][1], 1, wallTab[i][2]) doCreateItem(354, 1, wallTab[i][2]) end end end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]function onUse(cid, item, fromPosition, itemEx, toPosition)[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getGlobalStorageValue(8273) > 0 then doPlayerSendTextMessage(cid, 27, "Já estão usando a armadilha.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getPlayerStorageValue(cid, 8274) > 0 then doPlayerSendCancel(cid, "Você já ativou uma vez.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if item.uid == 1509 and itemEx.uid == 1510 then wall() addEvent(wall, 10 * 1000) doPlayerSendTextMessage(cid, 27, "Armadilha ativa.") setPlayerStorageValue(cid, 8274, 1) doSendMagicEffect(toPosition, 14) setGlobalStorageValue(8273, 1) addEvent(setGlobalStorageValue, 10 * 1000, 8273, 0) end return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif] Ai depois tentei com esse script. Ele cria os tiles de swamp certinho, mas depois de 10 segundos apenas as bordas do swamp desaparecem e não é criado terra por cima dos tiles de swamp. function terra()[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local terraTab = { {354, {x = 710, y = 544, z = 7}}, {354, {x = 710, y = 543, z = 7}}, {354, {x = 709, y = 544, z = 7}}, {354, {x = 710, y = 542, z = 7}}, {354, {x = 710, y = 543, z = 7}}, {354, {x = 712, y = 542, z = 7}}, {354, {x = 712, y = 541, z = 7}}, {354, {x = 710, y = 542, z = 7}}, {354, {x = 711, y = 544, z = 7}}, {354, {x = 711, y = 543, z = 7}}, {354, {x = 711, y = 542, z = 7}}, {354, {x = 711, y = 541, z = 7}}, {354, {x = 710, y = 541, z = 7}}, {354, {x = 709, y = 542, z = 7}}, {354, {x = 709, y = 543, z = 7}}, {354, {x = 712, y = 541, z = 7}}, {354, {x = 712, y = 542, z = 7}}, {354, {x = 712, y = 540, z = 7}}, {354, {x = 708, y = 543, z = 7}} }[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]for w = 1, #terraTab do addEvent(doCreateItem, 10 * 1000, terraTab[w][1], 1, terraTab[w][2]) end end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]function wall()[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local wallTab = { {4693, {x = 710, y = 544, z = 7}}, {4714, {x = 710, y = 543, z = 7}}, {4714, {x = 709, y = 544, z = 7}}, {4714, {x = 710, y = 542, z = 7}}, {4693, {x = 710, y = 543, z = 7}}, {4719, {x = 712, y = 542, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4693, {x = 710, y = 542, z = 7}}, {4693, {x = 711, y = 544, z = 7}}, {4693, {x = 711, y = 543, z = 7}}, {4693, {x = 711, y = 542, z = 7}}, {4693, {x = 711, y = 541, z = 7}}, {4693, {x = 710, y = 541, z = 7}}, {4693, {x = 709, y = 542, z = 7}}, {4713, {x = 709, y = 543, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4716, {x = 712, y = 542, z = 7}}, {4719, {x = 712, y = 540, z = 7}}, {4718, {x = 708, y = 543, z = 7}} }[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]for i = 1, #wallTab do if getTileItemById(wallTab[i][2], wallTab[i][1]).uid > 0 then doRemoveItem(getTileItemById(wallTab[i][2], wallTab[i][1]).uid) else doCreateItem(wallTab[i][1], 1, wallTab[i][2]) end end end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]function onUse(cid, item, fromPosition, itemEx, toPosition)[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getGlobalStorageValue(8273) > 0 then doPlayerSendTextMessage(cid, 27, "Já estão usando a armadilha.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getPlayerStorageValue(cid, 8274) > 0 then doPlayerSendCancel(cid, "Você já ativou uma vez.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if item.uid == 1509 and itemEx.uid == 1510 then wall() terra() addEvent(wall, 10 * 1000) doPlayerSendTextMessage(cid, 27, "Armadilha ativa.") setPlayerStorageValue(cid, 8274, 1) doSendMagicEffect(toPosition, 14) setGlobalStorageValue(8273, 1) addEvent(setGlobalStorageValue, 10 * 1000, 8273, 0) end return true end

      Se alguém conseguir me ajudar a consertar esse script, dou REP.
    • Por NewAge
      To usando esse scripts pros players poderem nadar, o que acontece é que quando tem um monstro perto do jogador e ele corre pra agua, pra nadar, o monstro vem atras, só que ele fica andando sobre a agua. Queria saber se tem como arrumar isso

      Movements


      <movevent type="StepIn" itemid="4632-4643" event="script" value="swimm.lua"/> <movevent type="StepIn" itemid="7943-7954" event="script" value="swimm.lua"/> swimm.lua local outfit = {lookType = 267, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0} local BORDERS = { [4632] = {x = 0, y = -2, back = SOUTH}, [4633] = {x = -2, y = 0, back = EAST}, [4634] = {x = 0, y = 2, back = NORTH}, [4635] = {x = 2, y = 0, back = WEST}, [4636] = {x = 2, y = 1, back = WEST}, [4637] = {x = -2, y = 1, back = NORTH}, [4638] = {x = 2, y = -1, back = WEST}, [4639] = {x = -2, y = -1, back = EAST}, [4640] = {x = 2, y = 2, back = WEST}, [4641] = {x = -2, y = 2, back = NORTH}, [4642] = {x = 2, y = -2, back = WEST}, [4643] = {x = -2, y = -2, back = SOUTH}, [7943] = {x = 0, y = -2, back = SOUTH}, [7944] = {x = -2, y = 0, back = EAST}, [7945] = {x = 0, y = 2, back = NORTH}, [7946] = {x = 2, y = 0, back = WEST}, [7947] = {x = 2, y = 1, back = WEST}, [7948] = {x = -2, y = 1, back = NORTH}, [7949] = {x = 2, y = -1, back = WEST}, [7950] = {x = -2, y = -1, back = EAST}, [7951] = {x = 2, y = 2, back = WEST}, [7952] = {x = -2, y = 2, back = NORTH}, [7953] = {x = 2, y = -2, back = WEST}, [7954] = {x = -2, y = -2, back = SOUTH} } BORDERS[4828] = BORDERS[7943] BORDERS[4829] = BORDERS[7946] BORDERS[4830] = BORDERS[7945] BORDERS[4831] = BORDERS[7944] function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end local border = BORDERS[item.itemid] if(not border) then return false end local pos, newPos = getCreaturePosition(cid), {} newPos = pos newPos.x = pos.x + border.x newPos.y = pos.y + border.y if(hasCondition(cid, CONDITION_OUTFIT) and getCreatureOutfit(cid).lookType == outfit.lookType) then doMoveCreature(cid, border.back) doRemoveCondition(cid, CONDITION_OUTFIT) else if(doTileQueryAdd(cid, pos, 4) ~= RETURNVALUE_NOERROR) then return false end local tmp = getCreaturePosition(cid) doTeleportThing(cid, newPos) if(not isPlayerGhost(cid)) then doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(newPos, CONST_ME_WATERSPLASH) end doRemoveConditions(cid, true) doSetCreatureOutfit(cid, outfit, -1) end return true end
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo