Pesquisar na Comunidade
Mostrando resultados para as tags ''bug duel system''.
Encontrado 1 registro
-
Os jogadores não podem jogar duelos com mais de um pokemon se eu tentar com mais de dois puxões marcar este Você ou seu oponente You or your opponent doesn't have that amount of pokemons in their bags! Duel are canceled! mesmo tendo seis pokemon neste saco de marca Script : storagesDuel = {52480, 52481, 52482, 52482, 52483, 52484, 52485, 6598754} --[[ Lista das storages Duel! 52480 = sto de duelo e do modo de duel; 52481 = sto de pokes no duel; 52482 = sto do seu time; 52483 = sto do time adversario; 52484 = sto de aceitaçao de duel e do começo do duel; 52485 = sto do nome do 'invitador'; 6598754 = sto do canAttackOther; ]] function beginDuel(cid, n) if getPlayerStorageValue(cid, 52482) == -1 or getPlayerStorageValue(cid, 52483) == -1 then return true end local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") local sto2, sto3 = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483) if n == 0 then for i = 1, #t1 do local pid, sid = getPlayerByName(t1[i]), getPlayerByName(t2[i]) if isCreature(pid) and getPlayerStorageValue(pid, 52480) >= 1 then setPlayerStorageValue(pid, 6598754, 5) setPlayerStorageValue(pid, 52482, sto2) setPlayerStorageValue(pid, 52483, sto3) setPlayerStorageValue(pid, 52484, 10) end --- if isCreature(sid) and getPlayerStorageValue(sid, 52480) >= 1 then setPlayerStorageValue(sid, 6598754, 10) setPlayerStorageValue(sid, 52482, sto2) setPlayerStorageValue(sid, 52483, sto3) setPlayerStorageValue(sid, 52484, 10) end --- doSendAnimatedText(getThingPosWithDebug(pid), "START", 215) doSendAnimatedText(getThingPosWithDebug(sid), "START", 215) end return true else for i = 1, #t1 do local pid, sid = getPlayerByName(t1[i]), getPlayerByName(t2[i]) if isCreature(pid) and getPlayerStorageValue(pid, 52480) >= 1 then doSendAnimatedText(getThingPosWithDebug(pid), (n == 6 and "" or ""..n.."!"), 215) end if isCreature(sid) and getPlayerStorageValue(sid, 52480) >= 1 then doSendAnimatedText(getThingPosWithDebug(sid), (n == 6 and "" or ""..n.."!"), 215) end end n = n-1 end addEvent(beginDuel, 1000, cid, n) end function removeFromTableDuel(cid, value) if not isCreature(cid) then return true end local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") table.remove(t1, table.find(t1, value) or -1) table.remove(t2, table.find(t2, value) or -1) --- local str1, str2 = "", "" for i = 1, 3 do if t1[i] then str1 = str1..(t1[i] or "").."," end if t2[i] then str2 = str2..(t2[i] or "").."," end end setPlayerStorageValue(cid, 52482, str1) setPlayerStorageValue(cid, 52483, str2) return true end function isDuelingAgainst(cid, pid) if not isCreature(cid) or not isCreature(pid) then return false end ----- local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") ----- local name1, name2 = getCreatureName(cid), getCreatureName(pid) ----- if table.find(t1, name1) ~= nil and table.find(t2, name2) ~= nil then return true elseif table.find(t2, name1) ~= nil and table.find(t1, name2) ~= nil then return true end return false end function doEndDuel(cid, desisto) if isCreature(cid) then if getPlayerStorageValue(cid, 52482) ~= -1 then t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") end local invit = getPlayerByName(getPlayerStorageValue(cid, 52485)) if isCreature(invit) then table1 = string.explode(getPlayerStorageValue(invit, 52482), ",") table2 = string.explode(getPlayerStorageValue(invit, 52483), ",") end if getPlayerStorageValue(cid, 52484) ~= 10 then if getPlayerStorageValue(cid, 52482) ~= -1 then for a = 1, 3 do local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a]) if isCreature(pid) then doCreatureSetSkullType(pid, 0) doRemoveCondition(pid, CONDITION_INFIGHT) end if isCreature(sid) then doCreatureSetSkullType(sid, 0) doRemoveCondition(sid, CONDITION_INFIGHT) end for i = 1, #storagesDuel do if isCreature(pid) then setPlayerStorageValue(pid, storagesDuel[i], -1) end if isCreature(sid) then setPlayerStorageValue(sid, storagesDuel[i], -1) end end end else for i = 1, #storagesDuel do setPlayerStorageValue(cid, storagesDuel[i], -1) end doCreatureSetSkullType(cid, 0) doRemoveCondition(cid, CONDITION_INFIGHT) --------------------------------- if table2 then local numero = 0 for i = 1, #table2 do local ppid = getPlayerByName(table2[i]) if not isCreature(ppid) or getPlayerStorageValue(ppid, 52480) ~= -1 then numero = numero+1 end end if numero == 0 then doEndDuel(invit) sendMsgToPlayer(invit, 20, "The opponents are give up! Duel is canceled!") end end -------------------------------- end if desisto then doSendAnimatedText(getThingPosWithDebug(cid), "GIVE UP", COLOR_BLUE) end return true end for a = 1, #t1 do local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a]) removeFromTableDuel(pid, getCreatureName(cid)) removeFromTableDuel(sid, getCreatureName(cid)) end local t3 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t4 = string.explode(getPlayerStorageValue(cid, 52483), ",") if (#t3 == 0 and #t4 >= 1) or (#t4 == 0 and #t3 >= 1) then for j = 1, (#t3 > 0 and #t3 or #t4) do local winner = #t3 > 0 and getPlayerByName(t3[j]) or getPlayerByName(t4[j]) if isCreature(winner) then addEvent(doSendAnimatedText, 500, getThingPosWithDebug(winner), "WIN", COLOR_ELECTRIC) for i = 1, #storagesDuel do setPlayerStorageValue(winner, storagesDuel[i], -1) end doCreatureSetSkullType(winner, 0) doRemoveCondition(winner, CONDITION_INFIGHT) end end addEvent(doSendAnimatedText, 500, getThingPosWithDebug(cid), "LOSE", COLOR_BURN) for i = 1, #storagesDuel do setPlayerStorageValue(cid, storagesDuel[i], -1) end doCreatureSetSkullType(cid, 0) doRemoveCondition(cid, CONDITION_INFIGHT) else for i = 1, #storagesDuel do setPlayerStorageValue(cid, storagesDuel[i], -1) end doCreatureSetSkullType(cid, 0) doRemoveCondition(cid, CONDITION_INFIGHT) if desisto then doSendAnimatedText(getThingPosWithDebug(cid), "GIVE UP", COLOR_BLUE) else addEvent(doSendAnimatedText, 500, getThingPosWithDebug(cid), "LOSE", COLOR_BURN) end end end end function checkDuel(cid) if getPlayerStorageValue(cid, 52484) ~= 10 then return true end if getPlayerStorageValue(cid, 52481) >= 1 then setPlayerStorageValue(cid, 52481, getPlayerStorageValue(cid, 52481)-1) doSendAnimatedText(getThingPosWithDebug(cid), "POKE DOWN", 65) end if getPlayerStorageValue(cid, 52481) == 0 then doEndDuel(cid) end end --/////////////////////////////////////////////////////////////////////////////////////////////--