Jump to content
×
×
  • Create New...
  • 0

[Resolvido] Erro Move1 TalkAction ao usa Toxic


Go to solution Solved by FlamesAdmin,

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

Recommended Posts

  • 0
Em 04/10/2020 em 17:54, FlamesAdmin disse:

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

desculpa nao respoder antes eu viajo a serviço as vezes fico de 2 a 3 dias fora de casa 

 

[06/10/2020 16:33:14] [Error - LuaScriptInterface::loadFile] data/spells/scripts/ps/Toxic.lua:1: '<eof>' expected near 'elseif'
[06/10/2020 16:33:14] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/ps/Toxic.lua)
[06/10/2020 16:33:14] data/spells/scripts/ps/Toxic.lua:1: '<eof>' expected near 'elseif'

 

[06/10/2020 16:34:07] [Error - Monsters::deserializeSpell] Zubat - Unknown spell name: Toxic
[06/10/2020 16:34:07] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/geracao 1/Zubat.xml)
[06/10/2020 16:34:07] [Error - Monsters::deserializeSpell] Golbat - Unknown spell name: Toxic
[06/10/2020 16:34:07] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/geracao 1/Golbat.xml)
[06/10/2020 16:34:08] [Error - Monsters::deserializeSpell] Shiny Zubat - Unknown spell name: Toxic
[06/10/2020 16:34:08] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/Shiny/Shiny Zubat.xml)
[06/10/2020 16:34:09] [Error - Monsters::deserializeSpell] Shiny Golbat - Unknown spell name: Toxic
[06/10/2020 16:34:09] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/Shiny/Shiny Golbat.xml)
[06/10/2020 16:34:12] [Error - Monsters::deserializeSpell] Shiny Crobat - Unknown spell name: Toxic
[06/10/2020 16:34:12] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/Shiny/Shiny Crobat.xml)
[06/10/2020 16:34:12] [Error - Monsters::deserializeSpell] Crobat - Unknown spell name: Toxic
[06/10/2020 16:34:13] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/geracao 2/Crobat.xml)
[06/10/2020 16:34:13] [Error - Monsters::deserializeSpell] Dark Crobat - Unknown spell name: Toxic
[06/10/2020 16:34:13] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/pokes/Outland/Dark Crobat.xml)

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