elfkadu 0 Postado Fevereiro 9, 2011 Share Postado Fevereiro 9, 2011 SCRIPT TIRADO DO SERVER POKEMON FLASH JA TENTEI PEGAR O HEAL DE VARIOS OUTROS OTS MAS NENHUM FUNCIONOU. aki esta o script local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos, item, itemEx) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo 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) msg = string.lower(msg) if (msgcontains(msg, 'hi')) and getDistanceToCreature(cid) < 4 then if getPlayerStorageValue(cid, 25000) == 5 then return selfSay('Você está montando.') end if getPlayerStorageValue(cid, 23000) == 5 then return selfSay('Você está voando.') end if #getCreatureSummons(cid) >= 1 then selfSay('Voce precisa botar seus pokemons dentro da pokebola.') focus = 0 talk_start = 0 return TRUE end local idballs = { [2532] = {2531}, [2653] = {2557}, [2654] = {2525}, [2652] = {2524}, [2195] = {2523}, [2531] = {2532}, [2557] = {2653}, [2525] = {2654}, [2524] = {2652}, [2523] = {2195}, } local balls = idballs[getPlayerSlotItem(cid,8).itemid] if balls == nil then return selfSay('Coloque seu pokemon slot da Pokeball para ele ser curado!!') end local nome = getItemAttribute(getPlayerSlotItem(cid,8).uid,"name") local poke_name1 = nome:match('(.-) Pokeball') local poke_name2 = nome:match('(.-) Superball') local poke_name3 = nome:match('(.-) Ultraball') local poke_name4 = nome:match('(.-) Greatball') local poke_name5 = nome:match('(.-) Masterball') if poke_name1 == nil and poke_name2 == nil and poke_name3 == nil and poke_name4 == nil and poke_name5 == nil then return doPlayerSendCancel(cid,"coloque no lugar correto") end if poke_name1 ~= nil then poke_name = poke_name1 elseif poke_name2 ~= nil then poke_name = poke_name2 elseif poke_name3 ~= nil then poke_name = poke_name3 elseif poke_name4 ~= nil then poke_name = poke_name4 elseif poke_name5 ~= nil then poke_name = poke_name5 end doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getPokemonMaxLife(poke_name)) selfSay("You is better, Let's go Battle!!") doTransformItem(getPlayerSlotItem(cid, 8).uid, balls[1]) local hp = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, hp) focus = 0 talk_start = 0 end end function onCreatureChangeOutfit(creature) end OBRIGADO PELA AJUDA Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/ Compartilhar em outros sites More sharing options...
renee 2 Postado Fevereiro 9, 2011 Share Postado Fevereiro 9, 2011 cara ja tentei de td nesse script ae ... mais nd deu certo =\ se conseguir me fla... por favor... Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999339 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 9, 2011 Share Postado Fevereiro 9, 2011 usa esse: 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'} 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 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, 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 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 Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999341 Compartilhar em outros sites More sharing options...
elfkadu 0 Postado Fevereiro 9, 2011 Autor Share Postado Fevereiro 9, 2011 DEU ESSE ERRO VARIOS QUE TENTEI DEU O MESMO ERRO [09/02/2011 17:57:22] [Error - Npc interface] [09/02/2011 17:57:22] data/npc/scripts/heal.lua:onCreatureSay [09/02/2011 17:57:22] Description: [09/02/2011 17:57:22] data/npc/scripts/heal.lua:102: attempt to call global 'getItemsInContainerById' (a nil value) [09/02/2011 17:57:22] stack traceback: [09/02/2011 17:57:22] data/npc/scripts/heal.lua:102: in function <data/npc/scripts/heal.lua:73> Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999439 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 10, 2011 Share Postado Fevereiro 10, 2011 Antes de tudo, va na pasta data/lib e adicione um script.lua com o nome de pokeLib e adicione isso: pokein, pokeout = 2222,2223 function doRemoveTile(pos)-- Script by mock pos.stackpos = 0 local sqm = getTileThingByPos(pos) doRemoveItem(sqm.uid,1) end function doCreateTile(id,pos) -- By mock doAreaCombatHealth(0,0,pos,0,0,0,CONST_ME_NONE) doCreateItem(id,1,pos) end function getPosDirs(p, dir) -- By MatheusMkalo return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function doItem(pos,a,d)-- Script by mock doCreateTile(460,pos) pos.stackpos = 0 local c = getTileThingByPos(pos) doItemSetAttribute(c.uid, "aid", a) end function getDescription(uid) for i,x in pairs(getItemDescriptions(uid)) do if i == "special" then return x end end end function findLetter(string, letter) for i = 1, #string do if string:sub(i, i) == letter then return i end end end function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPosDirs(p, dir) return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function canSummon(cid) local pos = getCreaturePosition(cid) local state = false for i = 1, 8 do if isWalkable(getPosDirs(getCreaturePosition(cid), i)) then state = true end end return state end function isPlayerSummon(cid, uid) if getCreatureMaster(uid) == cid then return TRUE end return FALSE end function getSummonLifes(cid) for _,x in pairs(getCreatureSummons(cid)) do return getCreatureHealth(x), getCreatureMaxHealth(x) end end function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function addPokeball(cid, pokename, maxh) local s = doPlayerAddItem(cid, pokein) doItemSetAttribute(s, "poke", "This is "..pokename.."'s pokeball. HP = ["..maxh.."/"..maxh.."]") doItemSetAttribute(s, "description", "Contains a " .. pokename) end function getPokeOutLive(cid) dat = {} for slot = CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(cid, slot) if isContainer(item.uid) then local items = getItemsInContainerById(item.uid, pokeout) for _, ui in pairs(items) do if getItemAttribute(ui, "poke"):sub(#getItemAttribute(ui, "poke")) == "." then table.insert(dat, ui) end end end if item.itemid == pokeout then if getItemAttribute(item.uid, "poke"):sub(#getItemAttribute(item.uid, "poke")) == "." then table.insert(dat, item.uid) end end end return dat end Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999676 Compartilhar em outros sites More sharing options...
elfkadu 0 Postado Fevereiro 10, 2011 Autor Share Postado Fevereiro 10, 2011 n deu erro nenhum mas ainda n curou. aqui segue os ids das pokebonas do server pokeball = 2532, 2531 greatball = 2652, 2524 superball = 2653, 2557 ultraball = 2554, 2525 masterball = 2195, 2523 acho que o erro ocorre devido aos ids serem diferentes de varios outros servers. espero que isso ajude. se precisar de algum id ou script por favor. MUITO OBRIGADO POR ESTAR AJUDANDO Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999717 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 10, 2011 Share Postado Fevereiro 10, 2011 é isso mesmo,o id das pokebollas são diferentes tem que editar ali alias qual o seu servidor pokemon? Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999809 Compartilhar em outros sites More sharing options...
777777 9 Postado Fevereiro 10, 2011 Share Postado Fevereiro 10, 2011 (editado) ele está usando o servidor pokemon flash segue o link do servidor : http://www.xtibia.com/forum/topic/145903-pokeserver-flash/ estou muito precisando de um npc que heala todos os pokemons tambem, ja tentei de tudo, mas sempre da algum erro.. Editado Fevereiro 10, 2011 por Patrickstrela Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-999878 Compartilhar em outros sites More sharing options...
elfkadu 0 Postado Fevereiro 13, 2011 Autor Share Postado Fevereiro 13, 2011 realmente é esse server mesmo patrick. tentei mudar os ids, mas n deu em nd. vou refazer todo o processo. Pelo menos n ta mais dando erros no server. tem diferença se eu colocar o id da pokebola aberta e fechada independente da ordem ou tem q ser na ordem correta? vodkart se n for pedir muito me explica oq significa cada linha 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 = {} para q esse id de store? e esse states? obrigado Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1001234 Compartilhar em outros sites More sharing options...
jeancassio2010 13 Postado Fevereiro 14, 2011 Share Postado Fevereiro 14, 2011 Vo mandar a minha versão beta desse script,voce tera que mudar sua action goback e tambem o creature event, serve pra pokemon flash e 4.1: 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 = {'2532', '2533'} local ultraballs = {'2654', '2222'} local greatballs = {'2652', '2221'} local masterballs = {'2195', '2220'} local superballs = {'2653', '2219'} local pokeballs1 = {'2532', '2569'} local ultraballs1 = {'2654', '2525'} local greatballs1 = {'2652', '2524'} local masterballs1 = {'2195', '2523'} local superballs1 = {'2653', '2557'} local loveballs = {'3983', '2225'} local saffariballs = {'2223', '2655'} local gsballs = {'2648', '2224'} local loveballs3 = {'2653', '2557'} function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo 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 doSendMagicEffect(getThingPos(cid), 132) if isInArray(gsballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2648) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(saffariballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2655) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(loveballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doTransformItem(feet.uid, 3983) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(pokeballs1, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2532) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(ultraballs1, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2654) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(greatballs1, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2652) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(masterballs1, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2195) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(superballs1, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2653) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(pokeballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2532) local hp = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, hp) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(ultraballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2654) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(greatballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2652) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(masterballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2195) end doSendMagicEffect(getThingPos(cid), 132) if isInArray(superballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getCreatureMaxHealth(name)) doTransformItem(feet.uid, 2653) end local bp = getPlayerSlotItem(cid, 10) 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, 2523) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2195) end local items = getItemsInContainerById(bp.uid, 2554) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2654) end local items = getItemsInContainerById(bp.uid, 2533) for _, uid in pairs(items) do local hp = getCreatureMaxHealth(cid,bp) doTransformItem(uid, 2532) doItemSetAttribute(getItemsInContainerById(cid,10).uid, "aid", getCreatureMaxHealth(poke_name)) doCreatureAddHealth(cid, hp) end local items = getItemsInContainerById(bp.uid, 2222) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2654) end local items = getItemsInContainerById(bp.uid, 2221) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2652) end local items = getItemsInContainerById(bp.uid, 2220) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2195) end local items = getItemsInContainerById(bp.uid, 2219) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2653) end local items = getItemsInContainerById(bp.uid, 2653) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2557) end local items = getItemsInContainerById(bp.uid, 2569) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2532) end local items = getItemsInContainerById(bp.uid, 2525) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2654) end local items = getItemsInContainerById(bp.uid, 2524) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2652) end local items = getItemsInContainerById(bp.uid, 2557) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2653) end local items = getItemsInContainerById(bp.uid, 2570) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 3983) end local items = getItemsInContainerById(bp.uid, 2225) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 3983) end local items = getItemsInContainerById(bp.uid, 2224) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2648) end local items = getItemsInContainerById(bp.uid, 2223) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2655) end local items = getItemsInContainerById(bp.uid, 3973) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2648) end local bag = getPlayerSlotItem(cid, 3) if #getCreatureSummons(cid) >= 1 then local jui = getCreatureSummons(cid)[1] doCreatureAddHealth(jui, getCreatureMaxHealth(jui)-getCreatureHealth(jui)) doSendMagicEffect(getThingPos(jui), 12) end local items = getItemsInContainerById(bag.uid, 2533) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2532) end local items = getItemsInContainerById(bag.uid, 2222) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2654) end local items = getItemsInContainerById(bag.uid, 2221) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2652) end local items = getItemsInContainerById(bag.uid, 2220) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2195) end local items = getItemsInContainerById(bag.uid, 2219) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2653) end local items = getItemsInContainerById(bag.uid, 2653) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2557) end local items = getItemsInContainerById(bag.uid, 2569) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2532) end local items = getItemsInContainerById(bag.uid, 2525) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2654) end local items = getItemsInContainerById(bag.uid, 2524) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2652) end local items = getItemsInContainerById(bag.uid, 2557) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke")) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke")) doTransformItem(uid, 2653) 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 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 Goback: function onUse(cid, item, fromPosition, itemEx, toPosition) function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo end ----- Config ----- local MaximoSummon = 1 local nome = getItemName(item.uid) local poke_name = nome:match('(.-) Pokeball') local summons = getCreatureSummons(cid) local action_id = getItemAttribute(item.uid, "aid") ----- Config ----- if getItemAttribute(item.uid, "aid") == -1 then return doPlayerSendCancel(cid, "Seu pokemon está morto.") end if getPlayerStorageValue(cid, 25000) == 5 then return doPlayerSendCancel(cid, "Você está montando.") end if getPlayerStorageValue(cid, 23000) == 5 then return doPlayerSendCancel(cid, "Você está voando.") end local summons = getCreatureSummons(cid) if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "Para Soltar seus pokemons, coloque-os no slot da pokeball.") return TRUE end if(table.maxn(summons) < MaximoSummon) then -- no summons creature = doSummonCreature(poke_name, getCreaturePosition(cid)) doConvinceCreature(cid, creature) registerCreatureEvent(creature, "DiePoke") registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(cid, "LogoutPoke") doPlayerSay(cid, "Go,"..poke_name.."!!", TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(creature), 188) doTransformItem(getPlayerSlotItem(cid,8).uid, 2569, 1) doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball") if action_id ~= 0 then doCreatureAddHealth(creature, -(tonumber(getPokemonMaxLife(poke_name) - action_id))) else doCreatureAddHealth(creature, getPokemonMaxLife(poke_name)) end else for _, pid in ipairs(summons) do if (table.maxn(summons) >= 1) then doItemSetAttribute(item.uid, "aid", getCreatureHealth(summons[1])) doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 188) doPlayerSay(cid, "Back,"..poke_name..".", TALKTYPE_ORANGE_1) doRemoveCreature(pid) doTransformItem(getPlayerSlotItem(cid,8).uid, 2532, 1) doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball") end end end return true end Goback do creaturescripts: local pokein, pokeout = 2533,2569 function onDeath(cid, deathList) local owner = getCreatureMaster(cid) doPlayerSendTextMessage(owner, 21, "Seu Pokemon Marreu!kk.") local item = getPlayerItemById(owner, TRUE, pokeout) doItemSetAttribute(getPlayerSlotItem(pokeout,8).uid, "aid", getCreatureMaxHealth(name)) local hp = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, hp) doTransformItem(item.uid, pokein) return FALSE end Se funfar de rep+, se quiser mais ajuda add msn: jean_cassio_sf@hotmail.com flw. Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1001484 Compartilhar em outros sites More sharing options...
777777 9 Postado Fevereiro 16, 2011 Share Postado Fevereiro 16, 2011 não funfou Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1002359 Compartilhar em outros sites More sharing options...
jeancassio2010 13 Postado Fevereiro 17, 2011 Share Postado Fevereiro 17, 2011 VC mudou o goback e o goback do creaurescrits? Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1002468 Compartilhar em outros sites More sharing options...
elfkadu 0 Postado Fevereiro 17, 2011 Autor Share Postado Fevereiro 17, 2011 (editado) problemas... 1º o de sempre não healou todos apenas mudou o tipo das pokebolas mas os pokemons continuarao mortos. 2º superball [17/02/2011 18:11:56] [Error - Action Interface] [17/02/2011 18:11:56] data/actions/scripts/superball.lua:onUse [17/02/2011 18:11:56] Description: [17/02/2011 18:11:56] data/actions/scripts/superball.lua:46: attempt to perform arithmetic on local 'action_id' (a boolean value) [17/02/2011 18:11:56] stack traceback: [17/02/2011 18:11:56] data/actions/scripts/superball.lua:46: in function <data/actions/scripts/superball.lua:1> 3º falando hi para npc [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaGetCreatureMaxHealth) Creature not found [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaGetCreatureMaxHealth) Creature not found [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaGetCreatureMaxHealth) Creature not found [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaGetCreatureMaxHealth) Creature not found [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:09] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:09] Description: [17/02/2011 18:13:09] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:09] [Error - Npc interface] [17/02/2011 18:13:10] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:10] Description: [17/02/2011 18:13:10] (luaDoItemSetAttribute) Invalid data type [17/02/2011 18:13:10] [Error - Npc interface] [17/02/2011 18:13:10] data/npc/scripts/heal3.lua:onCreatureSay [17/02/2011 18:13:10] Description: [17/02/2011 18:13:10] (luaDoItemSetAttribute) Invalid data type 4º pokebola quado lanço o pokemon. não da pra chamalo de volta. e se tirar a pokebola n da para por no lugar novamente. porem é o unico que se falar hi no msn ele revive e funciona na bag. [17/02/2011 18:14:39] [Error - Action Interface] [17/02/2011 18:14:39] data/actions/scripts/goback.lua:onUse [17/02/2011 18:14:39] Description: [17/02/2011 18:14:39] data/actions/scripts/goback.lua:47: attempt to perform arithmetic on local 'action_id' (a boolean value) [17/02/2011 18:14:39] stack traceback: [17/02/2011 18:14:39] data/actions/scripts/goback.lua:47: in function <data/actions/scripts/goback.lua:1> qdo ele morre [17/02/2011 18:14:48] [Error - CreatureScript Interface] [17/02/2011 18:14:48] data/creaturescripts/scripts/goback.lua:onDeath [17/02/2011 18:14:48] Description: [17/02/2011 18:14:48] (luaGetPlayerSlotItem) Player not found [17/02/2011 18:14:48] [Error - CreatureScript Interface] [17/02/2011 18:14:48] data/creaturescripts/scripts/goback.lua:onDeath [17/02/2011 18:14:48] Description: [17/02/2011 18:14:48] (luaGetCreatureMaxHealth) Creature not found [17/02/2011 18:14:48] [Error - CreatureScript Interface] [17/02/2011 18:14:48] data/creaturescripts/scripts/goback.lua:onDeath [17/02/2011 18:14:48] Description: [17/02/2011 18:14:48] (luaDoItemSetAttribute) Item not found Editado Fevereiro 17, 2011 por elfkadu Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1002707 Compartilhar em outros sites More sharing options...
jeancassio2010 13 Postado Fevereiro 18, 2011 Share Postado Fevereiro 18, 2011 que merda, nao da esses erros aki. Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1002846 Compartilhar em outros sites More sharing options...
elfkadu 0 Postado Fevereiro 18, 2011 Autor Share Postado Fevereiro 18, 2011 refazendo todo o processo é continuou dando erro. estou desistindo dele. peguei um outro otserve é só ver o problema de capiturar pokemons e pronto Link para o comentário https://xtibia.com/forum/topic/151284-ajuda-npc-nurse-s%C3%B3-cura-1-pokemon/#findComment-1003052 Compartilhar em outros sites More sharing options...
Posts Recomendados