Jump to content
  • 0
raulcdj

[Resolvido] Erro Move1 TalkAction ao usa Toxic

Question

Versão do Servidor: TFS - 1.0
Tipo de Script: talkaction
Código:
 
toda vez que uso o 	data/spells/scripts/ps/Toxic.lua:5: in function 
da esse erro e nao consegui resolver alguem e ajuda

[27/09/2020 15:24:00] [Error - TalkAction Interface] 
[27/09/2020 15:24:00] data/talkactions/scripts/move1.lua:onSay
[27/09/2020 15:24:00] Description: 
[27/09/2020 15:24:00] data/lib/032-position.lua:169: attempt to index global 'center' (a nil value)
[27/09/2020 15:24:00] stack traceback:
[27/09/2020 15:24:00] 	data/lib/032-position.lua:169: in function 'getPosFromArea'
[27/09/2020 15:24:01] 	data/lib/newStatusSyst.lua:835: in function 'doMoveInArea2'
[27/09/2020 15:24:01] 	data/lib/pokemon moves.lua:444: in function 'docastspell'
[27/09/2020 15:24:01] 	data/talkactions/scripts/move1.lua:173: in function 
  
  local msgs = {"use ", ""}

function doAlertReady(cid, id, movename, n, cd)
	if not isCreature(cid) then return true end
	local myball = getPlayerSlotItem(cid, 8)
	if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
	return true
	end
	local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
	if not p or #p <= 0 then return true end
	for a = 1, #p do
		if getItemAttribute(p[a], cd) == "cd:"..id.."" then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
		return true
		end
	end
end

function onSay(cid, words, param, channel)


	if param ~= "" then return true end
	if string.len(words) > 3 then return true end

	if #getCreatureSummons(cid) == 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
	return 0
	end
                      --alterado v1.5
local mypoke = getCreatureSummons(cid)[1]

	if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
	if getCreatureName(mypoke) == "Evolution" then return true end

    if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
       name = getPlayerStorageValue(mypoke, 1010)   --edited
    else
       name = getCreatureName(mypoke)
    end  
	
    --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

local it = string.sub(words, 2, 3)
local move = movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
   cdzin = "cm_move"..it..""
else
   cdzin = "move"..it..""       --alterado v1.5
end

	if it == "2" then
		move = movestable[name].move2
	elseif it == "3" then
		move = movestable[name].move3
	elseif it == "4" then
		move = movestable[name].move4
	elseif it == "5" then
		move = movestable[name].move5
	elseif it == "6" then
		move = movestable[name].move6
	elseif it == "7" then
		move = movestable[name].move7
	elseif it == "8" then
		move = movestable[name].move8
	elseif it == "9" then
		move = movestable[name].move9
	elseif it == "10" then
		move = movestable[name].move10
	elseif it == "11" then
		move = movestable[name].move11
	elseif it == "12" then
		move = movestable[name].move12
	elseif it == "13" then
		move = movestable[name].move13
	end

	if not move then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
	return true
	end
	
	if getPlayerLevel(cid) < move.level then
	   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
	   return true
    end

	if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
	return true
	end

	if getTileInfo(getThingPos(mypoke)).protection then
		doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
	return true
	end
	
   if getPlayerStorageValue(mypoke, 3894) >= 1 then
      return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
   end
	                              --alterado v1.6                  
	if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then       
	    doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
    return true
    end
                                                                     --alterado v1.7 \/\/\/
if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then 
   local target = getCreatureTarget(cid)                                                                                       
   if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then 
      if isCreature(getMasterTarget(target)) then   --alterado v1.6                                                                   
         doSendMagicEffect(getThingPos(target), 211)
         doSendAnimatedText(getThingPos(target), "TOO BAD", 215)                                
         doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
         doSendMagicEffect(getThingPos(target), 211)
         doFaceCreature(target, getThingPos(mypoke))    		
         return true       --alterado v1.6
      end
   end
end


if move.target == 1 then

	if not isCreature(getCreatureTarget(cid)) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
	return 0
	end

	if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
	return 0
	end

	if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
	return 0
	end

	if not isCreature(getCreatureSummons(cid)[1]) then
	return true
	end

	if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
	return 0
	end

	if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
	return 0
	end
end

	local newid = 0

        if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
			return 0
		else
			newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
		end
		
	doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
	
    local summons = getCreatureSummons(cid) --alterado v1.6

	addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
	
	for i = 2, #summons do
       if isCreature(summons[i]) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons[i], move.name)        --alterado v1.6
       end
    end 

    docastspell(mypoke, move.name)
	doCreatureAddCondition(cid, playerexhaust)

	if useKpdoDlls then
		doUpdateCooldowns(cid)
	end

return 0
end

move1.lua 032-position.lua newStatusSyst.lua pokemon moves.lua exp2.0.lua

Link to post
Share on other sites

20 answers to this question

Recommended Posts

  • 1

Faz assim, troca o código do seu Toxic por esse:

elseif spell == "Toxic" then

    local area = {rush1, rush2}

    for i = 0, 1 do
      addEvent(doMoveInArea2, i*300, cid, 114, area[i+1], POISONDAMAGE, min, max, spell)
    end

No areas.lua adicione isso:

rush1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0}, 
{0, 0, 0, 1, 2, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
}

rush2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 1, 0, 0}, 
{0, 0, 1, 0, 2, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
}

Troca o seu código do 032-position.lua por esse:

function getPosfromArea(cid,area)
icenter = math.floor(table.getn(area)/2)+1
jcenter = math.floor(table.getn(area[1])/2)+1
center = area[icenter]
ivar = table.getn(area)
jvar = table.getn(area[1])
i = table.getn(area)^2
j = table.getn(area[1])^2

 

Creio que não vá mudar em nada mas nao custa tentar

Link to post
Share on other sites
  • 0
Posted (edited)
Em 27/09/2020 em 16:25, FlamesAdmin disse:

Troca seu Toxic por esse



elseif spell == "Toxic" then

local area = {gale1, gale2}

for i = 0, 1 do
    addEvent(doMoveInArea2, i*400, cid, 114, area[i+1], POISONDAMAGE, min, max, spell)
end	

 

desculpa mais não deu certo continua o mesmo erro 

 

[02/10/2020 06:18:30] [Error - TalkAction Interface] 
[02/10/2020 06:18:31] data/talkactions/scripts/move1.lua:onSay
[02/10/2020 06:18:31] Description: 
[02/10/2020 06:18:31] (luaAddEvent) Callback parameter should be a function.

[02/10/2020 06:18:31] [Error - TalkAction Interface] 
[02/10/2020 06:18:31] data/talkactions/scripts/move1.lua:onSay
[02/10/2020 06:18:31] Description: 
[02/10/2020 06:18:31] (luaAddEvent) Callback parameter should be a function.

 

up

 

 

Edited by raulcdj
adiciona erro
Link to post
Share on other sites
  • 0
Em 27/09/2020 em 15:33, raulcdj disse:
Versão do Servidor: TFS - 1.0
Tipo de Script: talkaction
Código:
  Mostrar conteúdo oculto

toda vez que uso o 	data/spells/scripts/ps/Toxic.lua:5: in function 
da esse erro e nao consegui resolver alguem e ajuda

[27/09/2020 15:24:00] [Error - TalkAction Interface] 
[27/09/2020 15:24:00] data/talkactions/scripts/move1.lua:onSay
[27/09/2020 15:24:00] Description: 
[27/09/2020 15:24:00] data/lib/032-position.lua:169: attempt to index global 'center' (a nil value)
[27/09/2020 15:24:00] stack traceback:
[27/09/2020 15:24:00] 	data/lib/032-position.lua:169: in function 'getPosFromArea'
[27/09/2020 15:24:01] 	data/lib/newStatusSyst.lua:835: in function 'doMoveInArea2'
[27/09/2020 15:24:01] 	data/lib/pokemon moves.lua:444: in function 'docastspell'
[27/09/2020 15:24:01] 	data/talkactions/scripts/move1.lua:173: in function 
  
  local msgs = {"use ", ""}

function doAlertReady(cid, id, movename, n, cd)
	if not isCreature(cid) then return true end
	local myball = getPlayerSlotItem(cid, 8)
	if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
	return true
	end
	local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
	if not p or #p <= 0 then return true end
	for a = 1, #p do
		if getItemAttribute(p[a], cd) == "cd:"..id.."" then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
		return true
		end
	end
end

function onSay(cid, words, param, channel)


	if param ~= "" then return true end
	if string.len(words) > 3 then return true end

	if #getCreatureSummons(cid) == 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
	return 0
	end
                      --alterado v1.5
local mypoke = getCreatureSummons(cid)[1]

	if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
	if getCreatureName(mypoke) == "Evolution" then return true end

    if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
       name = getPlayerStorageValue(mypoke, 1010)   --edited
    else
       name = getCreatureName(mypoke)
    end  
	
    --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

local it = string.sub(words, 2, 3)
local move = movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
   cdzin = "cm_move"..it..""
else
   cdzin = "move"..it..""       --alterado v1.5
end

	if it == "2" then
		move = movestable[name].move2
	elseif it == "3" then
		move = movestable[name].move3
	elseif it == "4" then
		move = movestable[name].move4
	elseif it == "5" then
		move = movestable[name].move5
	elseif it == "6" then
		move = movestable[name].move6
	elseif it == "7" then
		move = movestable[name].move7
	elseif it == "8" then
		move = movestable[name].move8
	elseif it == "9" then
		move = movestable[name].move9
	elseif it == "10" then
		move = movestable[name].move10
	elseif it == "11" then
		move = movestable[name].move11
	elseif it == "12" then
		move = movestable[name].move12
	elseif it == "13" then
		move = movestable[name].move13
	end

	if not move then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
	return true
	end
	
	if getPlayerLevel(cid) < move.level then
	   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
	   return true
    end

	if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
	return true
	end

	if getTileInfo(getThingPos(mypoke)).protection then
		doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
	return true
	end
	
   if getPlayerStorageValue(mypoke, 3894) >= 1 then
      return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
   end
	                              --alterado v1.6                  
	if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then       
	    doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
    return true
    end
                                                                     --alterado v1.7 \/\/\/
if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then 
   local target = getCreatureTarget(cid)                                                                                       
   if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then 
      if isCreature(getMasterTarget(target)) then   --alterado v1.6                                                                   
         doSendMagicEffect(getThingPos(target), 211)
         doSendAnimatedText(getThingPos(target), "TOO BAD", 215)                                
         doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
         doSendMagicEffect(getThingPos(target), 211)
         doFaceCreature(target, getThingPos(mypoke))    		
         return true       --alterado v1.6
      end
   end
end


if move.target == 1 then

	if not isCreature(getCreatureTarget(cid)) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
	return 0
	end

	if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
	return 0
	end

	if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
	return 0
	end

	if not isCreature(getCreatureSummons(cid)[1]) then
	return true
	end

	if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
	return 0
	end

	if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
	return 0
	end
end

	local newid = 0

        if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
			return 0
		else
			newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
		end
		
	doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
	
    local summons = getCreatureSummons(cid) --alterado v1.6

	addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
	
	for i = 2, #summons do
       if isCreature(summons[i]) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons[i], move.name)        --alterado v1.6
       end
    end 

    docastspell(mypoke, move.name)
	doCreatureAddCondition(cid, playerexhaust)

	if useKpdoDlls then
		doUpdateCooldowns(cid)
	end

return 0
end

move1.lua 6.44 kB · 0 downloads 032-position.lua 5.96 kB · 2 downloads newStatusSyst.lua 45.7 kB · 0 downloads pokemon moves.lua 151.36 kB · 1 download exp2.0.lua 24.45 kB · 0 downloads

arquivo 032-position.lua na linha 160 

Citar

center = area[icenter]

o termo está incorreto. ele faz referencia a esse aqui:

Citar

Icenter = math.floor(table.getn(Area)/2)+1

portanto o correto deveria ser assim na linha 160:

Citar

center = area[Icenter]

 

Link to post
Share on other sites
  • 0
4 horas atrás, FlamesAdmin disse:

Você quer fazer o Toxic igual do PxG? @raulcdj

nao mano qualquer um server

12 horas atrás, Poccnn disse:

arquivo 032-position.lua na linha 160 

o termo está incorreto. ele faz referencia a esse aqui:

portanto o correto deveria ser assim na linha 160:

 

não deu certo mano  pode ser qualquer toxic so preciso concerta o erro

 

2/10/2020 20:07:35] [Error - TalkAction Interface] 
[02/10/2020 20:07:35] In a timer event called from: 
[02/10/2020 20:07:35] data/talkactions/scripts/move1.lua:onSay
[02/10/2020 20:07:35] Description: 
[02/10/2020 20:07:35] data/lib/032-position.lua:169: attempt to index global 'center' (a nil value)
[02/10/2020 20:07:35] stack traceback:
[02/10/2020 20:07:36]     data/lib/032-position.lua:169: in function 'getPosfromArea'
[02/10/2020 20:07:36]     data/lib/newStatusSyst.lua:835: in function <data/lib/newStatusSyst.lua:832>

up

Link to post
Share on other sites
  • 0

@raulcdjfaz o que o @Poccnndisse acima 

 

Mas antes procura no seu newStatusSys.lua por function doMoveInArea2(cid, eff, area, element, min, max, spell, ret)

Logo abaixo deve estar assim: local skills = {"Skull Bash", "Gust", "Water Pulse", "Stick Throw", "Overheat", "Toxic", "Take Down", "Gyro Ball"} --alterado v1.7

Deixe assim local skills = {"Skull Bash", "Gust", "Water Pulse", "Stick Throw", "Overheat", "Take Down", "Gyro Ball"} --alterado v1.7

 

Testa e ver no que vai dar

Edited by FlamesAdmin
Link to post
Share on other sites
  • 0
10 horas atrás, raulcdj disse:

nao mano qualquer um server

não deu certo mano  pode ser qualquer toxic so preciso concerta o erro

 

2/10/2020 20:07:35] [Error - TalkAction Interface] 
[02/10/2020 20:07:35] In a timer event called from: 
[02/10/2020 20:07:35] data/talkactions/scripts/move1.lua:onSay
[02/10/2020 20:07:35] Description: 
[02/10/2020 20:07:35] data/lib/032-position.lua:169: attempt to index global 'center' (a nil value)
[02/10/2020 20:07:35] stack traceback:
[02/10/2020 20:07:36]     data/lib/032-position.lua:169: in function 'getPosfromArea'
[02/10/2020 20:07:36]     data/lib/newStatusSyst.lua:835: in function <data/lib/newStatusSyst.lua:832>

up

na linha 160 do arquivo 032-poition.lua o termo area está com o "a" minúsculo, coloque ele como maiúsculo, assim:

Citar

Area[Icenter]

Verifique todos as outras linhas que fazem chamada ao termo 'area' e mude para "Area".

Lua é diferencia maiúsculas de minúsculas.

Link to post
Share on other sites
  • 0
18 horas atrás, raulcdj disse:

nao mano qualquer um server

não deu certo mano  pode ser qualquer toxic so preciso concerta o erro

 

2/10/2020 20:07:35] [Error - TalkAction Interface] 
[02/10/2020 20:07:35] In a timer event called from: 
[02/10/2020 20:07:35] data/talkactions/scripts/move1.lua:onSay
[02/10/2020 20:07:35] Description: 
[02/10/2020 20:07:35] data/lib/032-position.lua:169: attempt to index global 'center' (a nil value)
[02/10/2020 20:07:35] stack traceback:
[02/10/2020 20:07:36]     data/lib/032-position.lua:169: in function 'getPosfromArea'
[02/10/2020 20:07:36]     data/lib/newStatusSyst.lua:835: in function <data/lib/newStatusSyst.lua:832>

up

[03/10/2020 14:41:27] [Error - TalkAction Interface] 
[03/10/2020 14:41:27] In a timer event called from: 
[03/10/2020 14:41:27] data/talkactions/scripts/move1.lua:onSay
[03/10/2020 14:41:27] Description: 
[03/10/2020 14:41:27] data/lib/032-position.lua:189: attempt to index global 'I' (a nil value)
[03/10/2020 14:41:27] stack traceback:
[03/10/2020 14:41:27]     data/lib/032-position.lua:189: in function 'getPosfromArea'
[03/10/2020 14:41:27]     data/lib/newStatusSyst.lua:835: in function <data/lib/newStatusSyst.lua:832>

 

function getPosfromArea(cid,Area)
Icenter = math.floor(table.getn(Area)/2)+1
Jcenter = math.floor(table.getn(Area[1])/2)+1
center = Area[Icenter]
Ivar = table.getn(Area)
J var = table.getn(Area[1])
I = table.getn(Area)^2
J = table.getn(Area[1])^2
 

 

   local skills = {"Skull Bash", "Gust", "Water Pulse", "Stick Throw", "Overheat", "Take Down", "Gyro Ball"} --alterado v1.7
   local n = 0 
   local l = 0

 

@FlamesAdmin    @Poccnn

 

fiz a troca mesmo assim deu o erro 

up

 

 

 

[03/10/2020 14:57:37]     data/lib/032-position.lua:169: in function 'getPosfromArea'
[03/10/2020 14:57:37]     data/lib/newStatusSyst.lua:835: in function 'doMoveInArea2'
[03/10/2020 14:57:38]     data/lib/pokemon moves.lua:1416: in function <data/lib/pokemon moves.lua:1415>
[03/10/2020 14:57:49] Testinho has logged out.
 

Link to post
Share on other sites
  • 0
9 horas atrás, FlamesAdmin disse:

Esse erro me parece ser problema com a area do ataque no areas.lua

consegui arruma ele porem agora o erro só no move1

 

[04/10/2020 09:29:53] [Error - TalkAction Interface] 
[04/10/2020 09:29:53] data/talkactions/scripts/move1.lua:onSay
[04/10/2020 09:29:53] Description: 
[04/10/2020 09:29:53] (luaAddEvent) Callback parameter should be a function.

 

 

local msgs = {"use ", ""}

function doAlertReady(cid, id, movename, n, cd)
    if not isCreature(cid) then return true end
    local myball = getPlayerSlotItem(cid, 8)
    if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
    return true
    end
    local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
    if not p or #p <= 0 then return true end
    for a = 1, #p do
        if getItemAttribute(p[a], cd) == "cd:"..id.."" then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
        return true
        end
    end
end

function onSay(cid, words, param, channel)


    if param ~= "" then return true end
    if string.len(words) > 3 then return true end

    if #getCreatureSummons(cid) == 0 then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
    return 0
    end
                      --alterado v1.5
local mypoke = getCreatureSummons(cid)[1]

    if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
    if getCreatureName(mypoke) == "Evolution" then return true end

    if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
       name = getPlayerStorageValue(mypoke, 1010)   --edited
    else
       name = getCreatureName(mypoke)
    end  
    
    --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

local it = string.sub(words, 2, 3)
local move = movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
   cdzin = "cm_move"..it..""
else
   cdzin = "move"..it..""       --alterado v1.5
end

    if it == "2" then
        move = movestable[name].move2
    elseif it == "3" then
        move = movestable[name].move3
    elseif it == "4" then
        move = movestable[name].move4
    elseif it == "5" then
        move = movestable[name].move5
    elseif it == "6" then
        move = movestable[name].move6
    elseif it == "7" then
        move = movestable[name].move7
    elseif it == "8" then
        move = movestable[name].move8
    elseif it == "9" then
        move = movestable[name].move9
    elseif it == "10" then
        move = movestable[name].move10
    elseif it == "11" then
        move = movestable[name].move11
    elseif it == "12" then
        move = movestable[name].move12
    elseif it == "13" then
        move = movestable[name].move13
    end

    if not move then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
    return true
    end
    
    if getPlayerLevel(cid) < move.level then
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
       return true
    end

    if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
    return true
    end

    if getTileInfo(getThingPos(mypoke)).protection then
        doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
    return true
    end
    
   if getPlayerStorageValue(mypoke, 3894) >= 1 then
      return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
   end
                                  --alterado v1.6                  
    if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then       
        doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
    return true
    end
                                                                     --alterado v1.7 \/\/\/
if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then 
   local target = getCreatureTarget(cid)                                                                                       
   if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then 
      if isCreature(getMasterTarget(target)) then   --alterado v1.6                                                                   
         doSendMagicEffect(getThingPos(target), 211)
         doSendAnimatedText(getThingPos(target), "TOO BAD", 215)                                
         doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
         doSendMagicEffect(getThingPos(target), 211)
         doFaceCreature(target, getThingPos(mypoke))            
         return true       --alterado v1.6
      end
   end
end


if move.target == 1 then

    if not isCreature(getCreatureTarget(cid)) then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
    return 0
    end

    if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
    return 0
    end

    if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
    return 0
    end

    if not isCreature(getCreatureSummons(cid)[1]) then
    return true
    end

    if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
    return 0
    end

    if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
    return 0
    end
end

    local newid = 0

        if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
            return 0
        else
            newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
        end
        
    doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
    
    local summons = getCreatureSummons(cid) --alterado v1.6

    addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
    
    for i = 2, #summons do
       if isCreature(summons[i]) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons[i], move.name)        --alterado v1.6
       end
    end 

    docastspell(mypoke, move.name)
    doCreatureAddCondition(cid, playerexhaust)

    if useKpdoDlls then
        doUpdateCooldowns(cid)
    end

return 0
end

 

 

Link to post
Share on other sites
  • 0
18 horas atrás, raulcdj disse:

[03/10/2020 14:41:27] [Error - TalkAction Interface] 
[03/10/2020 14:41:27] In a timer event called from: 
[03/10/2020 14:41:27] data/talkactions/scripts/move1.lua:onSay
[03/10/2020 14:41:27] Description: 
[03/10/2020 14:41:27] data/lib/032-position.lua:189: attempt to index global 'I' (a nil value)
[03/10/2020 14:41:27] stack traceback:
[03/10/2020 14:41:27]     data/lib/032-position.lua:189: in function 'getPosfromArea'
[03/10/2020 14:41:27]     data/lib/newStatusSyst.lua:835: in function <data/lib/newStatusSyst.lua:832>

 

function getPosfromArea(cid,Area)
Icenter = math.floor(table.getn(Area)/2)+1
Jcenter = math.floor(table.getn(Area[1])/2)+1
center = Area[Icenter]
Ivar = table.getn(Area)
J var = table.getn(Area[1])
I = table.getn(Area)^2
J = table.getn(Area[1])^2
 

 

   local skills = {"Skull Bash", "Gust", "Water Pulse", "Stick Throw", "Overheat", "Take Down", "Gyro Ball"} --alterado v1.7
   local n = 0 
   local l = 0

 

@FlamesAdmin    @Poccnn

 

fiz a troca mesmo assim deu o erro 

up

 

 

 

[03/10/2020 14:57:37]     data/lib/032-position.lua:169: in function 'getPosfromArea'
[03/10/2020 14:57:37]     data/lib/newStatusSyst.lua:835: in function 'doMoveInArea2'
[03/10/2020 14:57:38]     data/lib/pokemon moves.lua:1416: in function <data/lib/pokemon moves.lua:1415>
[03/10/2020 14:57:49] Testinho has logged out.
 

só que agora o erro é outro.


Quem escreveu esse código fez uma bagunça imensa. um monte de termos jogados sem mais nem menos que só gera confusão.

veja a linha 189:

Citar

J = I[jvar]

 

O que seria esse "I"? pelo visto seria uma tabela, mas onde está essa tabela? 
Na linha 163 tem isso:

Citar

i = table.getn(area)^2

esse "i", minúsculo, seria o "I", maiúsculo, referido pela linha 189?
Se for é só mudar de minúsculo para maiúsculo na linha 163.

 

Só que ai volto a dizer a mesma coisa, quem escreveu esse código fez uma bagunça danada.

Link to post
Share on other sites
  • 0
1 hora atrás, Poccnn disse:

só que agora o erro é outro.


Quem escreveu esse código fez uma bagunça imensa. um monte de termos jogados sem mais nem menos que só gera confusão.

veja a linha 189:

 

O que seria esse "I"? pelo visto seria uma tabela, mas onde está essa tabela? 
Na linha 163 tem isso:

esse "i", minúsculo, seria o "I", maiúsculo, referido pela linha 189?
Se for é só mudar de minúsculo para maiúsculo na linha 163.

 

Só que ai volto a dizer a mesma coisa, quem escreveu esse código fez uma bagunça danada.

eu consegui ageita esse mais agora o erro e esse 

[04/10/2020 09:29:53] [Error - TalkAction Interface] 
[04/10/2020 09:29:53] data/talkactions/scripts/move1.lua:onSay
[04/10/2020 09:29:53] Description: 
[04/10/2020 09:29:53] (luaAddEvent) Callback parameter should be a function.

Link to post
Share on other sites
  • 0
7 minutos atrás, FlamesAdmin disse:

Só o codigo? KKKKKK PDA é uma bagunça

acho que vou abandonar a base pois cada vez mais bug se solução e uns que não consigo arrumar

Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...