Ir para conteúdo

[Npc] Nurse Joy -Heala Tds Pokes


jcfcjulio

Posts Recomendados

eae pessoal do xtibia blza?, então eu andei vendo varios e varios tópicos aqui e vi que varios otservers estão com problemas na npc nurse joy (ela não heala todos os pokes) , então eu resolvi trazer a nurse que heala todos os pokes, basta dizer HI, chega de lenga lenga e vamos ao que interessa.

 

 

va na pasta do seu otserv>data>npc.

copie e cole qualquer npc que tenha ai , renomeie para Nurse abra apague td que tiver dentro e cole isto:

 

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

<npc name="Nurse Joy" script="heal.lua" walkinterval="350000" floorchange="0" speed="0">

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

<look type="181" head="91" body="102" legs="83" feet="0"/>

<parameters>

<parameter key="message_greet" value="Welcome to the pokemon center! We can {heal} your pokemons here!"/>

<parameter key="message_farewell" value="Always remember to treat well your pokemons!"/>

<parameter key="message_idletimeout" value="Have a nice day."/>

<parameter key="message_walkaway" value="Good bye young trainer!"/>

</parameters>

</npc>

 

agora va no seu otserv>data>npc>script

copie e cole qualquer npc que tenha ai, renomeie para heal e cole isto:

 

 

local focus = 0

 

local talk_start = 0

 

local target = 0

 

local following = false

 

local attacking = false

 

local talkState = {}

local states = {'1', '2', '3', '4', '5', '6'}

local store = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151}

local unlock = {}

local pokeballs = {'2222', '2224'}

local ultraballs = {'2220', '2227'}

local greatballs = {'2651', '2657'}

local superballs = {'2653', '2658'}

local saffariballs = {'2655', '2659'}

local loveballs = {'11621', '11623'}

local goldenballs = {'11624', '11626'}

local Frozenalls = {'11627', '11629'}

local darkballs = {'11618', '11620'}

 

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

 

 

end

 

 

 

 

 

function onCreatureAppear(creature)

 

 

 

end

 

 

 

 

 

function onCreatureDisappear(cid, pos)

if focus == cid then

 

selfSay('Good bye sir!')

 

focus = 0

 

talk_start = 0

 

end

 

end

 

 

 

 

 

function onCreatureTurn(creature)

 

 

 

end

 

 

 

 

 

function msgcontains(txt, str)

 

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

 

end

 

 

 

function onCreatureSay(cid, type, msg)

local msg = string.lower(msg)

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if((msgcontains(msg, 'hi') or msgcontains(msg, 'heal') or msgcontains(msg, 'help')) and (getDistanceToCreature(cid) <= 3)) then

if exhaustion.get(cid, 9211) then

selfSay('Please wait a few moment before asking me to heal your pokemons again!')

return true

end

exhaustion.set(cid, 9211, 5)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))

doSendMagicEffect(getThingPos(cid), 132)

if isInArray(pokeballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2222)

end

if isInArray(ultraballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2220)

end

if isInArray(greatballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2651)

end

if isInArray(superballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2653)

end

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2655)

end

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 11624)

end

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 11621)

end

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 11627)

end

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 11618)

end

local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)

if #getCreatureSummons(cid) >= 1 then

local jui = getCreatureSummons(cid)[1]

doCreatureAddHealth(jui, getCreatureMaxHealth(jui)-getCreatureHealth(jui))

doSendMagicEffect(getThingPos(jui), 12)

end

local items = getItemsInContainerById(bp.uid, 2224)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2222)

end

local items = getItemsInContainerById(bp.uid, 2227)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2220)

end

local items = getItemsInContainerById(bp.uid, 2657)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2651)

end

local items = getItemsInContainerById(bp.uid, 2658)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2653)

end

local items = getItemsInContainerById(bp.uid, 2659)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2655)

end

local items = getItemsInContainerById(bp.uid, 11623)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 11621)

end

local items = getItemsInContainerById(bp.uid, 11626)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 11624)

end

local items = getItemsInContainerById(bp.uid, 11629)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 11627)

end

local items = getItemsInContainerById(bp.uid, 11620)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 11618)

end

local items = getItemsInContainerById(bp.uid, 2222)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2220)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2651)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2653)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2655)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 11624)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 11621)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 11627)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 11618)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

selfSay('There you go! You and your pokemons are healthy again.')

end

end

 

function onThink()

 

if focus ~= 0 then

a, b, c = selfGetPosition()

if c ~= getThingPos(focus).z then

focus = 0

end

end

 

if focus ~= 0 then

if getDistanceToCreature(focus) > 3 then

focus = 0

end

end

 

return true

end

 

pronto salve e feche, agora abra seu server e teste ^^.

edit: esse npc não ê meu, eu ja tinha ele faz tempo aqui no meu pc, simplismente postei, não lembro de quem ê, vou procurar e coloco os devidos créditos.

edit2: prontinho agora a nurse heala com todas as pokebollas existentes estas são :

 

pokeball

great ball

super ball

ultra ball

saffari ball

dark ball

fronzen ball

golden ball

love ball

 

ps: essas balls love,golden,fronze,dark sao pintadas no npc que pinta pokebollas, caso alguem não tenha me mande uma mensagem que eu envio o npc ^^

Editado por jcfcjulio
Link para o comentário
Compartilhar em outros sites

ja que você comentou no meu tópico resolvi comentar no seu:

 

1° esse ai não funciona para a mioria dos gobacks

2° mesmo se funcionasse so healaria 2 tipos de balls

3° parabéns você aprendeu o ctrl+c e ctrl+v e pegou isso do servidor do dash e postou

4° ants de posta algo saiba oque está postando

Link para o comentário
Compartilhar em outros sites

ja que você comentou no meu tópico resolvi comentar no seu:

 

1° esse ai não funciona para a mioria dos gobacks

2° mesmo se funcionasse so healaria 2 tipos de balls

3° parabéns você aprendeu o ctrl+c e ctrl+v e pegou isso do servidor do dash e postou

4° ants de posta algo saiba oque está postando

 

 

1ª, se n funciono ai ê porque vc fez algo de errado.

2ºesse script ta no meu otserv, e resolvi postar aqui e n ê do DASH

3º seu serv ê ruim cara encara isso kkk', tava com bastante gente porque ninguem tinha visto aqueles pokes antes, mas agora q tds os pokemons estão com johto,hoenn e kanto duvido mt alguem entrar nesse seu lixo de server.

4º antes de posta leia o tópico corretamente ^^. noob

Link para o comentário
Compartilhar em outros sites

ja que você comentou no meu tópico resolvi comentar no seu:

 

1° esse ai não funciona para a mioria dos gobacks

2° mesmo se funcionasse so healaria 2 tipos de balls

3° parabéns você aprendeu o ctrl+c e ctrl+v e pegou isso do servidor do dash e postou

4° ants de posta algo saiba oque está postando

 

 

1ª, se n funciono ai ê porque vc fez algo de errado.

2ºesse script ta no meu otserv, e resolvi postar aqui e n ê do DASH

3º seu serv ê ruim cara encara isso kkk', tava com bastante gente porque ninguem tinha visto aqueles pokes antes, mas agora q tds os pokemons estão com johto,hoenn e kanto duvido mt alguem entrar nesse seu lixo de server.

4º antes de posta leia o tópico corretamente ^^. noob

 

ó que feliz editou o topico?

 

porque n deixou como tava?

 

n entendendo como pod ser tão burro sabe o te da 1 dica só

 

qnd for editar algo pelo emnos edite direito

 

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 11627)

end

 

copiou isso um monte de ezs só para mudar oque tinha falado(se voce n lembra é o de healar 2 balls só) kkk veio namoral deita e chora

 

isso pode até não ser para o dash... se n for tenho que admitir que se o script for seu vc tomo 1 caminho mto grande para chegar em no mesmo lugar da maioria com esse script de uma revizado no script xP e tb n fique de CTRL+C CTRL+V só para mostrar que tava errado vlw?

 

abraços

 

 

edit: coloque em quote ou spoiler para ficar mais organizado

Editado por Aragorn100
Link para o comentário
Compartilhar em outros sites

ja que você comentou no meu tópico resolvi comentar no seu:

 

1° esse ai não funciona para a mioria dos gobacks

2° mesmo se funcionasse so healaria 2 tipos de balls

3° parabéns você aprendeu o ctrl+c e ctrl+v e pegou isso do servidor do dash e postou

4° ants de posta algo saiba oque está postando

 

 

1ª, se n funciono ai ê porque vc fez algo de errado.

2ºesse script ta no meu otserv, e resolvi postar aqui e n ê do DASH

3º seu serv ê ruim cara encara isso kkk', tava com bastante gente porque ninguem tinha visto aqueles pokes antes, mas agora q tds os pokemons estão com johto,hoenn e kanto duvido mt alguem entrar nesse seu lixo de server.

4º antes de posta leia o tópico corretamente ^^. noob

 

ó que feliz editou o topico?

 

porque n deixou como tava?

 

n entendendo como pod ser tão burro sabe o te da 1 dica só

 

qnd for editar algo pelo emnos edite direito

 

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 11627)

end

 

copiou isso um monte de ezs só para mudar oque tinha falado(se voce n lembra é o de healar 2 balls só) kkk veio namoral deita e chora

 

isso pode até não ser para o dash... se n for tenho que admitir que se o script for seu vc tomo 1 caminho mto grande para chegar em no mesmo lugar da maioria com esse script de uma revizado no script xP e tb n fique de CTRL+C CTRL+V só para mostrar que tava errado vlw?

 

abraços

 

 

edit: coloque em quote ou spoiler para ficar mais organizado

 

 

 

 

 

husahusa cala boca brother, testa dps fala blz? ^^ se n ta contende cria um script posta dps fala cmg OK? newbie aposto q nem testo o script... elaia.. vai la cuida do seu server lixoso ^^

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Testei aqui e, sem querer ofender seu tópico, não funcionou perfeitamente... mas entenda isso como uma crítica construtiva!

Aqui segue uma Nurse Joy mais eficiente:

 

Npc/Scripts e crie um arquivo chamado heal.lua

 

local focus = 0

 

local talk_start = 0

 

local target = 0

 

local following = false

 

local attacking = false

 

local talkState = {}

local states = {'1', '2', '3', '4', '5', '6'}

local store = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151}

local unlock = {}

local pokeballs = {'2222', '2224'}

local ultraballs = {'2220', '2227'}

local greatballs = {'2651', '2657'}

local superballs = {'2653', '2658'}

local saffariballs = {'2655', '2659'}

 

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

 

 

end

 

 

 

 

 

function onCreatureAppear(creature)

 

 

 

end

 

 

 

 

 

function onCreatureDisappear(cid, pos)

if focus == cid then

 

selfSay('Good bye sir!')

 

focus = 0

 

talk_start = 0

 

end

 

end

 

 

 

 

 

function onCreatureTurn(creature)

 

 

 

end

 

 

 

 

 

function msgcontains(txt, str)

 

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

 

end

 

 

 

function onCreatureSay(cid, type, msg)

local msg = string.lower(msg)

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if((msgcontains(msg, 'hi') or msgcontains(msg, 'heal') or msgcontains(msg, 'help')) and (getDistanceToCreature(cid) <= 3)) then

if exhaustion.get(cid, 9211) then

selfSay('Please wait a few moment before asking me to heal your pokemons again!')

return true

end

exhaustion.set(cid, 9211, 5)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))

doSendMagicEffect(getThingPos(cid), 132)

if isInArray(pokeballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2222)

end

if isInArray(ultraballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2220)

end

if isInArray(greatballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2651)

end

if isInArray(superballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2653)

end

if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]"))

doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/")))

doTransformItem(feet.uid, 2655)

end

local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)

if #getCreatureSummons(cid) >= 1 then

local jui = getCreatureSummons(cid)[1]

doCreatureAddHealth(jui, getCreatureMaxHealth(jui)-getCreatureHealth(jui))

doSendMagicEffect(getThingPos(jui), 12)

end

local items = getItemsInContainerById(bp.uid, 2224)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2222)

end

local items = getItemsInContainerById(bp.uid, 2227)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2220)

end

local items = getItemsInContainerById(bp.uid, 2657)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2651)

end

local items = getItemsInContainerById(bp.uid, 2658)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2653)

end

local items = getItemsInContainerById(bp.uid, 2659)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

doTransformItem(uid, 2655)

end

local items = getItemsInContainerById(bp.uid, 2222)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2220)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2651)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2653)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

local items = getItemsInContainerById(bp.uid, 2655)

for _, uid in pairs(items) do

local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]"))

doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/")))

end

selfSay('There you go! You and your pokemons are healthy again.')

end

end

 

function onThink()

 

if focus ~= 0 then

a, b, c = selfGetPosition()

if c ~= getThingPos(focus).z then

focus = 0

end

end

 

if focus ~= 0 then

if getDistanceToCreature(focus) > 3 then

focus = 0

end

end

 

return true

end

 

 

logo após crie na pasta Data/Npcs o arquivo Nurse.xml. Ponha isso dentro:

 

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

<npc name="Nurse Joy" script="heal.lua" walkinterval="350000" floorchange="0" speed="0">

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

<look type="181" head="91" body="102" legs="83" feet="0"/>

<parameters>

<parameter key="message_greet" value="Welcome to the pokemon center! We can {heal} your pokemons here!"/>

<parameter key="message_farewell" value="Always remember to treat well your pokemons!"/>

<parameter key="message_idletimeout" value="Have a nice day."/>

<parameter key="message_walkaway" value="Good bye young trainer!"/>

</parameters>

</npc>

 

 

 

Espero que tenha ajudado. Abraços!

 

ps: script testado no servidor Pokemon EX 2.0, Pokemon Dash Adv (com algumas alterações), Pokemon Erondino

 

Todo o script foi pego do servidor Pokemon EX 2.0.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...