cara ja tentei de td nesse script ae ... mais nd deu certo =\
se conseguir me fla... por favor...
cara ja tentei de td nesse script ae ... mais nd deu certo =\
se conseguir me fla... por favor...
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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
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>
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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
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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

é isso mesmo,o id das pokebollas são diferentes
tem que editar ali
alias qual o seu servidor pokemon?
ele está usando o servidor pokemon flash
segue o link do servidor :
estou muito precisando de um npc que heala todos os pokemons tambem, ja tentei de tudo, mas sempre da algum erro.. ![]()
Editado Fevereiro 10 por Patrickstrela
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
info
Grupo: Campones
Registrado: 02/12/10
Posts: 15
Reputação: +13
Char no Tibia: Hanna-montana

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.
não funfou ![]()
info
Grupo: Campones
Registrado: 02/12/10
Posts: 15
Reputação: +13
Char no Tibia: Hanna-montana

VC mudou o goback e o goback do creaurescrits?
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 por elfkadu
info
Grupo: Campones
Registrado: 02/12/10
Posts: 15
Reputação: +13
Char no Tibia: Hanna-montana

que merda, nao da esses erros aki.
info
Grupo: Campones
Registrado: 15/12/08
Posts: 1
Reputação: 0
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