Tudo que Tiodarsaa postou
-
Erro no gesior shopping
Boa noite pessoal estou com 1 problema se alguém poder me auxiliar ficarei muito grato. O erro e no gesior apos confirmar o envio de 1 item do shop para o jogador da este erro e o item chega para o personagem e não remove os pontos que teria que remover da account. segue o erro : Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '413' for key 'PRIMARY'' in C:\xampp\htdocs\shopsystem.php:506 Stack trace: #0 C:\xampp\htdocs\shopsystem.php(506): PDO->query('INSERT INTO `z_...') #1 C:\xampp\htdocs\index.php(402): include('C:\xampp\htdocs...') #2 {main} thrown in C:\xampp\htdocs\shopsystem.php on line 506 a minha line 506 é esta $SQL->query($save_transaction); obs* uso o site perfeitamente com outro servidor este erro esta dando quando tentei utilizar o shopsystem em outro servidor de testes.
- GM com experiência em 8.6
- GM com experiência em 8.6
- GM com experiência em 8.6
- GM com experiência em 8.6
- .
- GesiorACC COM TOP LVL+OUTFIT
-
Bomberman Event
unica coisa que estou corrigindo é os efeitos dos itens no evento o restante esta funcionando certo . unica coisa que estou corrigindo é os efeitos dos itens no evento o restante esta funcionando certo . Para a boots o certo seria criar um novo item com item editor pra nao interferir na boots of haste
- Bomberman Event
-
ERRO EVENTO DEFEND THE TOWERS
function onLogin(cid) registerCreatureEvent(cid, "dttDeath") registerCreatureEvent(cid, "dttPrepare") registerCreatureEvent(cid, "dttStats") registerCreatureEvent(cid, "dttOutfit") registerCreatureEvent(cid, "dttKill") registerCreatureEvent(cid, "dttCombat") if (getPlayerStorageValue(cid, dtt.storage.team_blue) == 1) or (getPlayerStorageValue(cid, dtt.storage.team_red) == 1) then dtt.cleanPlayer(cid) end if (dtt.getBonusExp(cid)) then doPlayerSendTextMessage(cid,25, "[DEFEND THE TOWER] Voce esta com "..dtt.bonus_rate.."x de bonus experiencia.") end return true end --Preparar jogadores pra morte function onPrepareDeath(cid, deathList) if not isPlayer(cid) then return true end if (getPlayerStorageValue(cid, dtt.storage.team_blue) == 1) or (getPlayerStorageValue(cid, dtt.storage.team_red) == 1) then local strings = {""} local j, position, corpse = 1, 1, 0 --Dropar corpo ficticio for _, pid in ipairs(deathList) do if isCreature(pid) == true then strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .. getCreatureName(pid) .. "" j = j + 1 else strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .."a field item" j = j + 1 end end for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end desc = "You recognize " desc = desc .. "" .. getCreatureName(cid) .. ". He was killed by " .. str end if(getPlayerSex(cid) == 1) then corpse = doCreateItem(3058, getCreaturePosition(cid)) else corpse = doCreateItem(3065, getCreaturePosition(cid)) end doItemSetAttribute(corpse, "description", desc) dtt.setDelay(cid) dtt.getDelay(cid) end --Adicionando contagem de frags if (getPlayerStorageValue(cid, dtt.storage.team_blue) == 1) then setGlobalStorageValue(dtt.storage.kill_blue, (getGlobalStorageValue(dtt.storage.kill_blue)+1)) doPlayerSetTown(cid, dtt.townid.blue) end if (getPlayerStorageValue(cid, dtt.storage.team_red) == 1) then setGlobalStorageValue(dtt.storage.kill_red, (getGlobalStorageValue(dtt.storage.kill_red)+1)) doPlayerSetTown(cid, dtt.townid.red) end return true end --Atacar jogadores do mesmo time function onCombat(cid, target) --Membros do mesmo time se atacando if isPlayer(cid) and isPlayer(target) then if (getPlayerStorageValue(cid, dtt.storage.team_blue) == 1) and (getPlayerStorageValue(target, dtt.storage.team_blue) == 1) then doPlayerSendCancel(cid, "[DEFEND THE TOWER] Nao se pode atacar um membro do mesmo time.") return false end if (getPlayerStorageValue(cid, dtt.storage.team_red) == 1) and (getPlayerStorageValue(target, dtt.storage.team_red) == 1) then doPlayerSendCancel(cid, "[DEFEND THE TOWER] Nao se pode atacar um membro do mesmo time.") return false end end --Membro time azul atacando propria torre if getPlayerStorageValue(cid, dtt.storage.team_blue) == 1 and isMonster(target) then if (getCreatureName(target) == dtt.monster.name.a1) then return false end if (getCreatureName(target) == dtt.monster.name.a2) then return false end if (getCreatureName(target) == dtt.monster.name.a3) then return false end if (getCreatureName(target) == dtt.monster.name.a4) then return false end end --Membro time vermelho atacando propria torre if getPlayerStorageValue(cid, dtt.storage.team_red) == 1 and isMonster(target) then if (getCreatureName(target) == dtt.monster.name.b1) then return false end if (getCreatureName(target) == dtt.monster.name.b2) then return false end if (getCreatureName(target) == dtt.monster.name.b3) then return false end if (getCreatureName(target) == dtt.monster.name.b4) then return false end end --Impedir que ataquem torres secundarias if (getCreatureName(target) == dtt.monster.name.a1) and isMonster(target) then if(isCreature(getThingFromPos(dtt.monster.pos.a2).uid) or isCreature(getThingFromPos(dtt.monster.pos.a3).uid) or isCreature(getThingFromPos(dtt.monster.pos.a4).uid)) then -- SE ALGUM VALOR DER TRUE NÃO VAI PODER ATACAR return false end end if (getCreatureName(target) == dtt.monster.name.b1) and isMonster(target) then if(isCreature(getThingFromPos(dtt.monster.pos.b2).uid) or isCreature(getThingFromPos(dtt.monster.pos.b3).uid) or isCreature(getThingFromPos(dtt.monster.pos.b4).uid)) then -- SE ALGUM VALOR DER TRUE NÃO VAI PODER ATACAR return false end end return true end --Bonus exp function onKill(cid, target) if (dtt.getBonusExp(cid)) and isMonster(target) then doPlayerAddExp(cid, getMonsterInfo(getCreatureName(target)).experience * dtt.bonus_rate) end return true end --Aviso de attack sobre as torres function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(attacker) then return true end -- Avisar que as torres estão sendo atacadas | a2 = top, a3 = middle, a4 = bottom. if (type == STATSCHANGE_HEALTHLOSS) and (getCreatureName(cid) == dtt.monster.name.a2) then dtt.warningAttack(cid, "azul do topo", dtt.storage.team_blue) end if (type == STATSCHANGE_HEALTHLOSS) and (getCreatureName(cid) == dtt.monster.name.a3) then dtt.warningAttack(cid, "azul do meio", dtt.storage.team_blue) end if (type == STATSCHANGE_HEALTHLOSS) and (getCreatureName(cid) == dtt.monster.name.a4) then dtt.warningAttack(cid, "azul de baixo", dtt.storage.team_blue) end if (type == STATSCHANGE_HEALTHLOSS) and (getCreatureName(cid) == dtt.monster.name.b2) then dtt.warningAttack(cid, "vermelha do topo", dtt.storage.team_red) end if (type == STATSCHANGE_HEALTHLOSS) and (getCreatureName(cid) == dtt.monster.name.b3) then dtt.warningAttack(cid, "vermelha do meio", dtt.storage.team_red) end if (type == STATSCHANGE_HEALTHLOSS) and (getCreatureName(cid) == dtt.monster.name.b4) then dtt.warningAttack(cid, "vermelha de baixo", dtt.storage.team_red) end return true end --Impedindo troca de outfit durante o evento function onOutfit(cid, old, current) if getPlayerStorageValue(cid, dtt.storage.team_blue) == 1 or getPlayerStorageValue(cid, dtt.storage.team_red) == 1 then doPlayerSendCancel(cid, dtt.msg.outfit) return false end return true end --Tratando morte dos montros buff e torres function onDeath(cid, corpse, mostDamageKiller) --Avisos de morte torres time azul if getCreatureName(cid) == dtt.monster.name.a2 then broadcastMessage("[DEFEND THE TOWER] A torre azul do topo foi destruida.", MESSAGE_EVENT_ADVANCE) doCreateItem(9596, dtt.monster.pos.a2) setGlobalStorageValue(dtt.storage.tower_red, (getGlobalStorageValue(dtt.storage.tower_red)+1)) end if getCreatureName(cid) == dtt.monster.name.a3 then broadcastMessage("[DEFEND THE TOWER] A torre azul do meio foi destruida.", MESSAGE_EVENT_ADVANCE) doCreateItem(9596, dtt.monster.pos.a3) setGlobalStorageValue(dtt.storage.tower_red, (getGlobalStorageValue(dtt.storage.tower_red)+1)) end if getCreatureName(cid) == dtt.monster.name.a4 then broadcastMessage("[DEFEND THE TOWER] A torre azul de baixo foi destruida.", MESSAGE_EVENT_ADVANCE) doCreateItem(9596, dtt.monster.pos.a4) setGlobalStorageValue(dtt.storage.tower_red, (getGlobalStorageValue(dtt.storage.tower_red)+1)) end --Avisos de morte torres time vermelho if getCreatureName(cid) == dtt.monster.name.b2 then broadcastMessage("[DEFEND THE TOWER] A torre vermelha do topo foi destruida.", MESSAGE_EVENT_ADVANCE) doCreateItem(9596, dtt.monster.pos.b2) setGlobalStorageValue(dtt.storage.tower_blue, (getGlobalStorageValue(dtt.storage.tower_blue)+1)) end if getCreatureName(cid) == dtt.monster.name.b3 then broadcastMessage("[DEFEND THE TOWER] A torre vermelha do meio foi destruida.", MESSAGE_EVENT_ADVANCE) doCreateItem(9596, dtt.monster.pos.b3) setGlobalStorageValue(dtt.storage.tower_blue, (getGlobalStorageValue(dtt.storage.tower_blue)+1)) end if getCreatureName(cid) == dtt.monster.name.b4 then broadcastMessage("[DEFEND THE TOWER] A torre vermelha de baixo foi destruida.", MESSAGE_EVENT_ADVANCE) doCreateItem(9596, dtt.monster.pos.b4) setGlobalStorageValue(dtt.storage.tower_blue, (getGlobalStorageValue(dtt.storage.tower_blue)+1)) end --Aviso ultimas torres e abertura do teleporte if getCreatureName(cid) == dtt.monster.name.a1 then dtt.removeMonsters() setGlobalStorageValue(dtt.storage.win, "red") setGlobalStorageValue(dtt.storage.tower_red, (getGlobalStorageValue(dtt.storage.tower_red)+1)) dtt.close() broadcastMessage(dtt.msg.win_team_red, MESSAGE_EVENT_ADVANCE) dtt.resultBattle() end --Aviso ultimas torres e abertura do teleporte if getCreatureName(cid) == dtt.monster.name.b1 then dtt.removeMonsters() setGlobalStorageValue(dtt.storage.win, "blue") setGlobalStorageValue(dtt.storage.tower_blue, (getGlobalStorageValue(dtt.storage.tower_blue)+1)) dtt.close() broadcastMessage(dtt.msg.win_team_blue, MESSAGE_EVENT_ADVANCE) dtt.resultBattle() end --Verificando buff sorcerer and paladin if getCreatureName(cid) == dtt.monster.name.buff1 then if (getPlayerStorageValue(mostDamageKiller[1], dtt.storage.team_blue) == 1) then dtt.setBuff(dtt.storage.team_blue, 1, 3) for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, dtt.storage.team_blue) == 1 then doPlayerSendTextMessage(index.pid, 25, "[DEFEND THE TOWER] Os sorcerers e paladinos do seu time receberao buff, utilize as magias wizard buff ou archer buff.") end end else dtt.setBuff(dtt.storage.team_red, 1, 3) for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, dtt.storage.team_red) == 1 then doPlayerSendTextMessage(index.pid, 25, "[DEFEND THE TOWER] Os sorcerers e paladinos do seu time receberao buff, utilize as magias wizard buff ou archer buff.") end end end end --Verificando buff druid and knight if getCreatureName(cid) == dtt.monster.name.buff2 then if (getPlayerStorageValue(mostDamageKiller[1], dtt.storage.team_blue) == 1) then dtt.setBuff(dtt.storage.team_blue, 2, 4) for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, dtt.storage.team_blue) == 1 then doPlayerSendTextMessage(index.pid, 25, "[DEFEND THE TOWER] Os druids e knights do seu time receberao buff, utilize as magias magician buff ou warrior buff.") end end else dtt.setBuff(dtt.storage.team_red, 2, 4) for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, dtt.storage.team_red) == 1 then doPlayerSendTextMessage(index.pid, 25, "[DEFEND THE TOWER] Os druids e knights do seu time receberao buff, utilize as magias magician buff ou warrior buff.") end end end end return true end @Sekk @Sekkeste erro esta dando apos terminar o evento quando todos os jogadores sao enviados para o templo cada jogador gera esse erro no console.
-
ERRO EVENTO DEFEND THE TOWERS
perdão tinha executado em outra db tenho mais que uma shaush oero corrigido muito obrigado re+ @Sekk só ficou este erro chato ... [13/2/2017 19:54:22] [Error - CreatureScript Interface] [13/2/2017 19:54:22] data/creaturescripts/scripts/events/DTT.lua:onDeath [13/2/2017 19:54:22] Description: [13/2/2017 19:54:22] (luaGetCreatureName) Creature not found
-
ERRO EVENTO DEFEND THE TOWERS
-- This script is part of Defend the Towers -- Copyright (C) 2016 ChaitoSoft -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program. If not, see <http://www.gnu.org/licenses/>. dtt = { pos = { temple_wait = {x=438, y=1138, z=7}, -- sala de espera tp_create = {x=36, y=151, z=7}, -- onde teleport de entrada sera criado }, --Configurações de abertura days_open = {1, 2, 3, 4, 5, 6, 7}, -- dias de semana que vai abrir min_players = 2, -- numero minimo de jogadores em cada time min_level = 200, -- level minimo permitido para entrar no evento wait_time = 1, -- tempo de espera para iniciar o evento, em minutos block_mc = false, -- false para permitir mcs no evento --Configuraçõe gerais delay_time = 10, -- tempo em segundos de delay ao morrer townid = {init = 1, blue = 3, red = 4}, -- init = templo da cidade, blue = templo do time azul, red = templo do time vermelho --Configurações dos premios reward_items = {6527, 6527}, bonus_time = 240, -- experiencia bonus em minutos bonus_rate = 1, -- porcentagem de experiencia bonus: 1 = 100% | 0.3 = 30% --Configuração dos monstros monster = { pos = { --Monstros do time azul a1 = {x=396, y=1138, z=6, stackpos=253}, -- Blue supreme tower a2 = {x=429, y=1107, z=6, stackpos=253}, -- Blue top tower a3 = {x=430, y=1135, z=6, stackpos=253}, -- Blue middle tower a4 = {x=429, y=1167, z=6, stackpos=253}, -- Blue bottom tower -- Monstros do time vermelho b1 = {x=477, y=1138, z=6, stackpos=253}, -- Red supreme tower b2 = {x=447, y=1107, z=6, stackpos=253}, -- Red top tower b3 = {x=445, y=1139, z=6, stackpos=253}, -- Red middle tower b4 = {x=447, y=1167, z=6, stackpos=253}, -- Red bottom tower -- Monstros buff na jungle mbuff1 = {x=440, y=1122, z=6, stackpos=253}, -- Buff sorecer and paladin 1 + 2 mbuff2 = {x=434, y=1155, z=6, stackpos=253}, -- Buff druid and knight 2 + 2 }, --------------------------------------------------- --NÃO MEXA DAQUI PRA BAIXO ----- ------------------------------------------------ name = { -- Azul a1 = "blue supreme tower", -- Base Tower a2 = "blue top tower", -- Top lane a3 = "blue middle tower", -- Middle lane a4 = "blue bottom tower", -- Bottom lane -- Vermelho b1 = "red supreme tower", -- Base Tower b2 = "red top tower", -- Top lane b3 = "red middle tower", -- Middle lane b4 = "red bottom tower", -- Bottom lane --Monstros Buff buff1 = "serpent of jungle", buff2 = "spider of jungle", }, }, --Storages alocadas storage = { win = 87771, -- GLOBAL STORAGE VENCEDOR kill_blue = 87775, -- GLobal storage frags team blue kill_red = 87776, -- GLobal storage frags team red tower_blue = 87777, -- GLobal storage towers team blue tower_red = 87778, -- GLobal storage towers team red team_blue = 9998, -- PLAYER STORAGE TIME A team_red = 9999, -- PLAYER STORAGE TIME A buffvoc1 = 7001, -- PLAYER STORAGE BUFF buffvoc2 = 7002, -- PLAYER STORAGE BUFF buffvoc3 = 7003, -- PLAYER STORAGE BUFF buffvoc4 = 7004, -- PLAYER STORAGE BUFF exp_bonus = 7005, --PLAYER STORAGE EXP BONUS delay = 7006, --PLAYER STORAGE DELAY }, msg = { win_team_blue = "[Defend The Tower] O time azul acabou de derrotar a Suprema Torre Vermelha e vencer o evento.", win_team_red = "[Defend The Tower] O time vermelho acabou de derrotar a Suprema Torre Azul e vencer o evento. ", reward = "[Defend The Tower] Seu time Venceu, voce recebeu como premio o dobro de experiencia por 4 horas automaticamente e 80 event coins, desejamos parabens.", no_reward = "[Defend The Tower] Derrota, confira as estatisticas da partida no site, desejamos mais sorte na proxima.", warning = "[Defend The Tower] Acabou de abrir, acesse o teleporte do templo principal para participar. Inicia em minutos...", start = "[Defend The Tower] Fechou o teleporte de entrada e iniciou o evento boa sorte aos times.", cancel = "[Defend The Tower] Fechou o teleporte de entrada e cancelou o evento por falta de jogadores.", outfit = "[Defend The Tower] Voce nao pode trocar de outfit durante o evento.", }, } local conditionBlue = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlue, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlue, {lookType = 128, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86}) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, {lookType = 128, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) --Metodos set function dtt.setDelay(cid) doPlayerSetStorageValue(cid, dtt.storage.delay, os.time()+(60*dtt.delay_time)) return true end function dtt.setBuff(storTeam, voc1, voc2) local storBuff1 local storBuff2 if (voc1 == 1) and (voc2 == 3) then storBuff1 = dtt.storage.buffvoc1 storBuff2 = dtt.storage.buffvoc3 end if (voc1 == 2) and (voc2 == 4) then storBuff1 = dtt.storage.buffvoc2 storBuff2 = dtt.storage.buffvoc4 end for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then if (isInArray({voc1, (voc1+4), (voc1+8)}, getPlayerVocation(index.pid))) then doPlayerSetStorageValue(index.pid, storBuff1, 1) end if (isInArray({voc2, (voc2+4), (voc2+8)}, getPlayerVocation(index.pid))) then doPlayerSetStorageValue(index.pid, storBuff2, 1) end end end return true end function dtt.setBonusExp(cid) doPlayerSetStorageValue(cid, dtt.storage.exp_bonus, os.time()+(60*dtt.bonus_time)) return true end function dtt.setTeam() local tmp = 1 local result = db.getResult("SELECT * FROM `dtt_players`;") if result:getID() ~= -1 then repeat pid = tonumber(result:getDataInt("pid")) if(tmp % 2 == 0) then db.query("UPDATE `dtt_players` SET `team` = '0' WHERE `pid` = "..pid..";") tmp = (tmp+1) else db.query("UPDATE `dtt_players` SET `team` = '1' WHERE `pid` = "..pid..";") tmp = (tmp+1) end until(not result:next()) end result:free() end --Metodos GET function dtt.getPlayersInEvent() local result = db.getResult("SELECT * FROM `dtt_players`;") CACHE_PLAYERS = {} if result:getID() ~= -1 then repeat pid = tonumber(result:getDataInt("pid")) team = tonumber(result:getDataInt("team")) -- 0 = blue, 1 = red ip = tonumber(result:getDataInt("ip")) table.insert(CACHE_PLAYERS, {["pid"]=pid,["team"]=team,["ip"]=ip }) until(not result:next()) result:free() return CACHE_PLAYERS end return false end function dtt.getDelay(cid) local statsDelay = getPlayerStorageValue(cid, dtt.storage.delay) if (statsDelay - os.time() > 0) then local delay = 0 local times = dtt.delay_time doCreatureSetNoMove(cid, true) for i = times, 0, -1 do if isPlayer(cid) then addEvent(doPlayerSendCancel, delay, cid, "[Defend The Tower] Volte para a arena em "..i..".") end delay = 2000 + delay if (i == 0) and (isPlayer(cid)) then addEvent(dtt.enableMove, (delay+1000), cid) end end else return false end return true end function dtt.getBonusExp(cid) local statsBonus = getPlayerStorageValue(cid, dtt.storage.exp_bonus) return statsBonus - os.time() > 0 end --Outros métodos function dtt.enableMove(cid) doCreatureSetNoMove(cid, false) doPlayerSendCancel(cid, "[Defend The Tower] GO GO GO! seu time o aguarda.") setPlayerStorageValue(cid, dtt.storage.delay, 0) return true end function dtt.resetGlobalStorages() setGlobalStorageValue(dtt.storage.win, -1) setGlobalStorageValue(dtt.storage.kill_blue, 0) setGlobalStorageValue(dtt.storage.kill_red, 0) setGlobalStorageValue(dtt.storage.tower_blue, 0) setGlobalStorageValue(dtt.storage.tower_red, 0) print("[Defend The Tower] Todos os globais storages foram resetados...") return true end function dtt.resetPlayerStorages() if dtt.getPlayersInEvent() then for _, index in ipairs(dtt.getPlayersInEvent()) do doPlayerSetStorageValue(index.pid, dtt.storage.team_blue, 0) doPlayerSetStorageValue(index.pid, dtt.storage.team_red, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc1, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc2, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc3, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc4, 0) end print("[Defend The Tower] Todos os players storages foram resetados...") return true else print("[Defend The Tower] Tabela vazia...") end return true end function dtt.createMonsters() doSummonCreature(dtt.monster.name.a1, dtt.monster.pos.a1) doSummonCreature(dtt.monster.name.a2, dtt.monster.pos.a2) doSummonCreature(dtt.monster.name.a3, dtt.monster.pos.a3) doSummonCreature(dtt.monster.name.a4, dtt.monster.pos.a4) doSummonCreature(dtt.monster.name.b1, dtt.monster.pos.b1) doSummonCreature(dtt.monster.name.b2, dtt.monster.pos.b2) doSummonCreature(dtt.monster.name.b3, dtt.monster.pos.b3) doSummonCreature(dtt.monster.name.b4, dtt.monster.pos.b4) doSummonCreature(dtt.monster.name.buff1, dtt.monster.pos.mbuff1) doSummonCreature(dtt.monster.name.buff2, dtt.monster.pos.mbuff2) print("[Defend The Tower] Os monstros da arena battle foram sumonados...") return true end function dtt.countPlayers() local result = db.getResult("SELECT * FROM `dtt_players`;") local qntPlayers = 0 if result:getID() ~= -1 then repeat qntPlayers = (qntPlayers+1) until(not result:next()) end return qntPlayers end function dtt.trucatePlayersInEvent() local result = db.getResult("SELECT * FROM `dtt_players`;") if result:getID() ~= -1 then db.query("TRUNCATE TABLE `dtt_players`;") print("[Defend The Tower] Todos dados da tabela 'dtt_players' foram apagados...") end return true end -- FUNÇÕES PRINCIPAIS -- ABERTURA DO EVENTO function dtt.open() local time = os.date("*t") local timeopen1 = math.ceil(dtt.wait_time / 4) local timeopen2 = math.ceil(dtt.wait_time / 2) if (isInArray(dtt.days_open, time.wday)) then local tp = doCreateItem(1387, dtt.pos.tp_create) doRemoveCreature(getThingfromPos(dtt.pos.tp_create).uid) doItemSetAttribute(tp, "aid", 9801) dtt.resetGlobalStorages() dtt.trucatePlayersInEvent() dtt.removeItemsTower() doBroadcastMessage(dtt.msg.warning) addEvent(doBroadcastMessage, timeopen1*1000*60, "[Defend The Tower] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!") if (timeopen2 ~= timeopen1) then addEvent(doBroadcastMessage, timeopen2*1000*60, "[Defend The Tower] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!") end addEvent(dtt.start, dtt.wait_time*1000*60,nil) end return true end -- COMEÇO DO EVENTO function dtt.start() local tp = getTileItemById(dtt.pos.tp_create, 1387).uid doRemoveItem(tp) if (dtt.min_players <= dtt.countPlayers()) then dtt.createMonsters() dtt.sendPlayersToEvent() doBroadcastMessage(dtt.msg.start) else doBroadcastMessage(dtt.msg.cancel) end return true end -- FECHANDO O EVENTO function dtt.close() for _, index in ipairs(dtt.getPlayersInEvent()) do doRemoveCondition(index.pid, CONDITION_OUTFIT) doRemoveCondition(index.pid, CONDITION_INFIGHT) doPlayerSetPzLocked(index.pid, false) if (getGlobalStorageValue(dtt.storage.win) == "blue") then if (index.team == 0) then doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) dtt.reward(index.pid) else doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) doPlayerSendTextMessage(index.pid, 25, dtt.msg.no_reward) end end if (getGlobalStorageValue(dtt.storage.win) == "red") then if (index.team == 1) then doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) dtt.reward(index.pid) else doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) doPlayerSendTextMessage(index.pid, 25, dtt.msg.no_reward) end end end --- limpando storage dos jogadores dtt.resetPlayerStorages() return true end function dtt.sendPlayersToEvent() dtt.setTeam() dtt.resetPlayerStorages() for _, index in ipairs(dtt.getPlayersInEvent()) do if (index.team == 0) then doAddCondition(index.pid, conditionBlue) doPlayerSetTown(index.pid, dtt.townid.blue) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.blue)) doPlayerSetStorageValue(index.pid, dtt.storage.team_blue, 1) end if (index.team == 1) then doAddCondition(index.pid, conditionRed) doPlayerSetTown(index.pid, dtt.townid.red) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.red)) doPlayerSetStorageValue(index.pid, dtt.storage.team_red, 1) end end return true end function dtt.reward(pid) local random_item = dtt.reward_items[math.random(1, #dtt.reward_items)] doPlayerAddItem(pid, 6527, 80) dtt.setBonusExp(pid) doPlayerSendTextMessage(pid, 25, dtt.msg.reward) return true end function dtt.removeItemsTower() if (getTileItemById(dtt.monster.pos.a2, 9596).uid) then doRemoveItem(getTileItemById(dtt.monster.pos.a2, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.a3, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.a4, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.b2, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.b3, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.b4, 9596).uid) print("[DEFEND THE TOWERS] Items torre limpos da arena de batalha...") else print("[DEFEND THE TOWERS] Nenhum item torre na arena de batalha...") end return true end function dtt.resultBattle() local frags_blue = getGlobalStorageValue(dtt.storage.kill_blue) local frags_red = getGlobalStorageValue(dtt.storage.kill_red) local towers_blue = getGlobalStorageValue(dtt.storage.tower_blue) local towers_red = getGlobalStorageValue(dtt.storage.tower_red) local hora = os.date("%X") local data = os.date("%x") db.query("INSERT INTO `dtt_results` VALUES ('', ".. frags_blue .. ",".. frags_red ..", ".. towers_blue ..", ".. towers_red ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");") return true end function dtt.warningAttack(cid, msg, storTeam) local lifePercent = 100 / (getCreatureMaxHealth(cid) / getCreatureHealth(cid)) if (lifePercent <= 100) and (lifePercent >= 99.9) then for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then doPlayerSendTextMessage(index.pid, 25, "[Defend The Tower] A torre "..msg.." esta sob ataque. Corra para defender!") end end end if (lifePercent <= 50) and (lifePercent >= 49.9) then for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then doPlayerSendTextMessage(index.pid, 25, "[Defend The Tower] A torre "..msg.." esta sob ataque. Corra para defender!") end end end if (lifePercent <= 20) and (lifePercent >= 19.9) then for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then doPlayerSendTextMessage(index.pid, 25, "[Defend The Tower] A torre "..msg.." esta sob ataque. Corra para defender!") end end end return true end function dtt.removeMonsters() doRemoveCreature(getThingfromPos(dtt.monster.pos.a1).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.a2).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.a3).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.a4).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b1).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b2).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b3).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b4).uid) return true end function dtt.cleanPlayer(cid) doPlayerSetTown(cid, dtt.townid.init) doTeleportThing(cid, getTownTemplePosition(dtt.townid.init)) doPlayerSetStorageValue(cid, dtt.storage.team_blue, 0) doPlayerSetStorageValue(cid, dtt.storage.team_red, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc1, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc2, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc3, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc4, 0) return true end @Sekk pelo que intendi ele Está tentando fazer um INSERT onde o total de campos informados no Value não confere com os campos definidos no script né
-
ERRO EVENTO DEFEND THE TOWERS
Fala pessoal alguém que já tenha resolvido este erro no evento defend the towers pode me ajudar cada vez que os jogadores entram no tp no console da um erro já tenho as querys no bando de dados mais esta dando este erro ainda alguém sabe porque ?? desde ja obrigado
- Bomberman Event
- Baiak-ice 8.60 Atualizado com Real Castle e Varios sistemas
-
Baiak-ice 8.60 Atualizado com Real Castle e Varios sistemas
@Antipushtodos os eventos estão funcionando corretamente ?? que distro voce usava estou usando a otx que veio com baiak source e todos eventos estão dando erro na funcao onTime CTF esta dando este erro 11/2/2017 17:47:0] [Error - GlobalEvent Interface] [11/2/2017 17:47:0] data/globalevents/scripts/ctf1.lua:onTime [11/2/2017 17:47:0] Description: [11/2/2017 17:47:0] data/globalevents/scripts/ctf1.lua:21: attempt to index upvalue 'CTF' (a nil value) [11/2/2017 17:47:0] stack traceback: [11/2/2017 17:47:0] data/globalevents/scripts/ctf1.lua:21: in function <data/globalevents/scripts/ctf1.lua:18> [11/2/2017 17:47:0] [Error - GlobalEvents::timer] Couldn't execute event: ctf1 [SNOWBALL WAR] esta dando este erro: [11/2/2017 18:4:1] [Error - GlobalEvent Interface] [11/2/2017 18:4:1] In a timer event called from: [11/2/2017 18:4:1] data/globalevents/scripts/SBW.lua:onTime [11/2/2017 18:4:1] Description: [11/2/2017 18:4:1] data/globalevents/scripts/SBW.lua:38: attempt to index field '?' (a nil value) [11/2/2017 18:4:1] stack traceback: os outros eventos ainda estou testando ...
- GesiorACC COM TOP LVL+OUTFIT
- GesiorACC COM TOP LVL+OUTFIT
-
GesiorACC COM TOP LVL+OUTFIT
Iaew galera to TK tudo certo com voceS? espero que sim ... Bom hoje venho trazer acredito que eu um dos melhores GesiorACC do momento não sou de conversar muitos acho que imagens falam mais que palavras não é mesmo. Tive um trabalhinho pra remover alguns códigos Maliciosos " na verdade vários códigos que alguns espertinhos colocaram" acredito que pode ser utilizado agora, caso não forem utilizar tem vários códigos e paginas PHP de eventos que eu mesmo já tinha procurado e não encontrava que vai ajudar muita gente : Segue Algumas Imagens: download scan Obs.: para não dar erro de imagens nos outfits coloquem outfit.php na pasta Htdocs. Quanto as créditos deixo aberto para que os mesmo se pronunciem que adiciono no Post ...
-
[8.60] Baiak Source (exclusivo)
pra quem tiver com erro no evento dtt só executar estas duas querys no bando de dados. CREATE TABLE IF NOT EXISTS `dtt_players` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pid` bigint(20) NOT NULL, `team` int(5) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `dtt_results` ( `id` int(11) NOT NULL AUTO_INCREMENT, `frags_blue` int(11) NOT NULL, `frags_red` int(11) NOT NULL, `towers_blue` int(11) NOT NULL, `towers_red` int(11) NOT NULL, `data` varchar(255) NOT NULL, `hora` varchar(255) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
- [8.60] Baiak Source (exclusivo)
-
Problema Com Town id
Vamos por parte: entra no teu config.lua e em newPlayerTownId = 1 < id da cidade que voce quer como town principal do jogador no seu bando de dados coloca os teus samples com town id 1 caso seja o que vc precise (você tem que colocar todos eles) por ultimo dentro do teu site entra na pagina accountmanagement.php e digite ctrl+f e procure por posx em cima dessa linha vai ter $char_to_copy->setTown($newchar_town); < aqui vc coloca a town que voce quer exemplo >>>>>> $char_to_copy->setTown(1); <<< town id 1 espero que isso te ajude qualquer coisa pode mandar msg que te ajudo
-
ERRO KERNEL32.DLL
tenta rodar winthruster no teu vps pra ver se corrige esse erro
-
[8.60] Baiak Source (exclusivo)
o evento CTF não esta funcionando corretamente no script esta configurado town 1 como cidade base e no map editor esta como town 2 tentei mudar nos scripts do evento e mesmo assim não deu certo. Ao entrar no Tp esta dando debug. Os jogadores não são enviados para templo quando não tem quantidade de jogadores necessários. alguém consegui nos auxiliar ou sabem onde consigo esse evento do jeito que ele esta aqui mais funcionando. tenho outros ctf funcionando porem achei interessante este que os jogadores ficam "presos" sem se moverem ate o inicio do evento
- [8.60] Baiak Source (exclusivo)