Postado Julho 20, 2014 11 anos [20/07/2014 16:23:15] [Error - Npc interface] [20/07/2014 16:23:15] data/npc/scripts/heal.lua:onCreatureSay [20/07/2014 16:23:15] Description: [20/07/2014 16:23:15] data/npc/scripts/heal.lua:58: bad argument #1 to 'sub' (number expected, got no value) [20/07/2014 16:23:15] stack traceback: [20/07/2014 16:23:15] [C]: in function 'sub' [20/07/2014 16:23:15] data/npc/scripts/heal.lua:58: in function <data/npc/scripts/heal.lua:42> o erro acontece quando o servidor crasha com alguem com os pokemon para fora da pokebola, dai o poke morre e quando o serve volta a nurse nao hela a vida do pokemon e fica nesse erro 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 dark = {'11618', '11620'} local golden = {'11624','11626'} local frash = {'11627', '11629'} 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 #getCreatureSummons(cid) == 1 then selfSay('Desculpa,é necessario que o pokemon esteja dentro da pokebola.') return true end setPlayerStorageValue(cid, 230, 1) addEvent(setPlayerStorageValue, 2000, cid, 230, 0) 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) doCureAllStatus(feet.uid) 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) doCureAllStatus(feet.uid) 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) doCureAllStatus(feet.uid) 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) doCureAllStatus(feet.uid) 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) doCureAllStatus(feet.uid) end if isInArray(loveballs, 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) doCureAllStatus(feet.uid) end if isInArray(dark, 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) doCureAllStatus(feet.uid) end if isInArray(golden, 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) doCureAllStatus(feet.uid) end if isInArray(frash, 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) doCureAllStatus(feet.uid) end local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) end local items = getItemsInContainerById(bp.uid, 2222) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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("/(.+)]")) doCureAllStatus(uid) 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("/(.+)]")) doCureAllStatus(uid) 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("/(.+)]")) doCureAllStatus(uid) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/"))) end ------------ Novas balls local items = getItemsInContainerById(bp.uid, 11621) -- Love for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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) -- Love for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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) -- dark for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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)-- dark for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/"))) end selfSay('Pronto! agora seus Pokemons estão todos saudaveis.') 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 Editado Julho 26, 2014 11 anos por Valakinhas (veja o histórico de edições)
Postado Julho 24, 2014 11 anos o do NPC substitua por 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'} 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
Postado Julho 24, 2014 11 anos Autor [24/07/2014 12:45:27] [Error - Npc interface] [24/07/2014 12:45:27] data/npc/scripts/heal.lua:onCreatureSay [24/07/2014 12:45:27] Description: [24/07/2014 12:45:27] data/npc/scripts/heal.lua:91: bad argument #1 to 'sub' (number expected, got no value) [24/07/2014 12:45:27] stack traceback: [24/07/2014 12:45:27] [C]: in function 'sub' [24/07/2014 12:45:27] data/npc/scripts/heal.lua:91: in function <data/npc/scripts/heal.lua:77>
Postado Julho 24, 2014 11 anos [24/07/2014 12:45:27] [Error - Npc interface] [24/07/2014 12:45:27] data/npc/scripts/heal.lua:onCreatureSay [24/07/2014 12:45:27] Description: [24/07/2014 12:45:27] data/npc/scripts/heal.lua:91: bad argument #1 to 'sub' (number expected, got no value) [24/07/2014 12:45:27] stack traceback: [24/07/2014 12:45:27] [C]: in function 'sub' [24/07/2014 12:45:27] data/npc/scripts/heal.lua:91: in function <data/npc/scripts/heal.lua:77> tente:: 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 dark = {'11618', '11620'} local golden = {'11624','11626'} local frash = {'11627', '11629'} 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 #getCreatureSummons(cid) == 1 then selfSay('Desculpa,é necessario que o pokemon esteja dentro da pokebola.') return true end setPlayerStorageValue(cid, 230, 1) addEvent(setPlayerStorageValue, 2000, cid, 230, 0) 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("/(.+)]")) doTransformItem(feet.uid, 2222) doCureAllStatus(feet.uid) 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("/(.+)]")) doTransformItem(feet.uid, 2220) doCureAllStatus(feet.uid) 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("/(.+)]")) doTransformItem(feet.uid, 2651) doCureAllStatus(feet.uid) 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("/(.+)]")) doTransformItem(feet.uid, 2653) doCureAllStatus(feet.uid) 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("/(.+)]")) doTransformItem(feet.uid, 2655) doCureAllStatus(feet.uid) end if isInArray(loveballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]")) doTransformItem(feet.uid, 11621) doCureAllStatus(feet.uid) end if isInArray(dark, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]")) doTransformItem(feet.uid, 11618) doCureAllStatus(feet.uid) end if isInArray(golden, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]")) doTransformItem(feet.uid, 11624) doCureAllStatus(feet.uid) end if isInArray(frash, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) then local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]")) doTransformItem(feet.uid, 11627) doCureAllStatus(feet.uid) end local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) 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) doCureAllStatus(uid) end local items = getItemsInContainerById(bp.uid, 2222) for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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("/(.+)]")) doCureAllStatus(uid) 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("/(.+)]")) doCureAllStatus(uid) 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("/(.+)]")) doCureAllStatus(uid) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/"))) end ------------ Novas balls local items = getItemsInContainerById(bp.uid, 11621) -- Love for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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) -- Love for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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) -- dark for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) 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)-- dark for _, uid in pairs(items) do local maxh = tonumber(getItemAttribute(uid, "poke"):match("/(.+)]")) doCureAllStatus(uid) doItemSetAttribute(uid, "poke", getItemAttribute(uid, "poke"):sub(1, findLetter(getItemAttribute(uid, "poke"), "[")) .. maxh .. getItemAttribute(uid, "poke"):sub(findLetter(getItemAttribute(uid, "poke"), "/"))) end selfSay('Pronto! agora seus Pokemons estão todos saudaveis.') 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
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.