Ir para conteúdo

Farathor

Visconde
  • Total de itens

    320
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que Farathor postou

  1. matei, só com o Knight e deu isso [14/2/2016 23:19:30] [Error - CreatureScript Interface] [14/2/2016 23:19:30] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 23:19:30] Description: [14/2/2016 23:19:30] data/creaturescripts/scripts/CastleWar/CastleWar.lua:87: attempt to compare nil with number [14/2/2016 23:19:30] stack traceback: [14/2/2016 23:19:30] data/creaturescripts/scripts/CastleWar/CastleWar.lua:87: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58> eu modifiquei o que vc pediu,mas deixei assim, ve se esta certo local st = getPlayerStorageValue(pid, 1827311) local i = getPlayerVocation(pid) local index = i%4 if index == 0 then index = 4 end if not mx[i%4] then mx[i%4] = 0 end if st > mx[index] then
  2. eu nao deixo o if not mx[i%4] then mx[i%4] = 0 end ?
  3. o evento, utiliza um script na LIB, vou postar aqui pra vc ver se tem algo haver guild_hit_count = {} function updateCastleData() local func = db.query or db.executeQuery local max = 0 local gid = 0 local max_sto = 0 local winner = 0 for index, g in pairs(guild_hit_count) do if g > max then max = g gid = index end end for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == gid then local sto = getPlayerStorageValue(pid, 1827311) if sto > max_sto then max_sto = sto winner = pid end end end if isPlayer(winner) then func("INSERT INTO `castle_achievements` (`guild_id`, `date`, `damage`, `player_name`, `player_damage`) VALUES ('"..gid.."', '"..os.date('%d/%m/%y - %H:%M').."', '"..max.."', '"..getCreatureName(winner).."', '"..max_sto.."')") else func("INSERT INTO `castle_achievements` (`guild_id`, `date`, `damage`) VALUES ('"..gid.."', '"..os.date("%d/%m/%y - %H:%M").."', '"..max.."')") end end function getPlayingGuilds() local ids = {} for index, g in pairs(guild_hit_count) do table.insert(ids, index) end if #ids <= 0 then return false end return ids end function getGuildNameById(id) local name = "" local query = db.getResult('SELECT `name` FROM `guilds` WHERE `id` = "'.. id ..'"') if query:getID() == -1 then return true end name = query:getDataString("name") query:free() return name end
  4. cara, ta quase, funcionou, só tem um problema, druid, sorcerer e paladin receberam o premio, o knight nao
  5. assim? if not mx[i%4] then mx[i%4] = 0 end if st > mx[i%4] then com 1 jogador ja deu erro [14/2/2016 20:41:19] [Error - CreatureScript Interface] [14/2/2016 20:41:19] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:41:19] Description: [14/2/2016 20:41:19] data/creaturescripts/scripts/CastleWar/CastleWar.lua:101: attempt to concatenate a boolean value [14/2/2016 20:41:19] stack traceback: [14/2/2016 20:41:19] data/creaturescripts/scripts/CastleWar/CastleWar.lua:101: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58>
  6. @edit error -> com 1 jogador só -> [14/2/2016 20:20:46] [Error - CreatureScript Interface] [14/2/2016 20:20:46] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:20:46] Description: [14/2/2016 20:20:46] data/creaturescripts/scripts/CastleWar/CastleWar.lua:100: attempt to concatenate a boolean value [14/2/2016 20:20:46] stack traceback: [14/2/2016 20:20:46] data/creaturescripts/scripts/CastleWar/CastleWar.lua:100: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58> com 2 jogadores -> [14/2/2016 20:21:57] [Error - CreatureScript Interface] [14/2/2016 20:21:57] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:21:57] Description: [14/2/2016 20:21:57] data/creaturescripts/scripts/CastleWar/CastleWar.lua:100: attempt to concatenate a boolean value [14/2/2016 20:21:57] stack traceback: [14/2/2016 20:21:57] data/creaturescripts/scripts/CastleWar/CastleWar.lua:100: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58> com 3 jogadores -> [14/2/2016 20:22:50] [Error - CreatureScript Interface] [14/2/2016 20:22:50] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:22:50] Description: [14/2/2016 20:22:50] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: attempt to compare nil with number [14/2/2016 20:22:50] stack traceback: [14/2/2016 20:22:50] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58> com 4 jogadores -> [14/2/2016 20:23:55] [Error - CreatureScript Interface] [14/2/2016 20:23:55] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:23:55] Description: [14/2/2016 20:23:55] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: attempt to compare nil with number [14/2/2016 20:23:55] stack traceback: [14/2/2016 20:23:55] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58>
  7. a sequencia é Sorcerer = 1 Druid = 2 Paladin = 3 Knight = 4 para eu corrigir, é só eu trocar o lugar do druid pelo sorcerer?
  8. @ @EDIT com dois personagens deu isso [14/2/2016 20:2:50] [Error - CreatureScript Interface] [14/2/2016 20:2:50] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:2:50] Description: [14/2/2016 20:2:50] data/creaturescripts/scripts/CastleWar/CastleWar.lua:100: attempt to concatenate a boolean value [14/2/2016 20:2:50] stack traceback: [14/2/2016 20:2:50] data/creaturescripts/scripts/CastleWar/CastleWar.lua:100: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58> com 4 jogadores um de cada vocação deu esse [14/2/2016 20:5:42] [Error - CreatureScript Interface] [14/2/2016 20:5:42] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 20:5:42] Description: [14/2/2016 20:5:42] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: attempt to compare nil with number [14/2/2016 20:5:42] stack traceback: [14/2/2016 20:5:42] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58>
  9. local query = db.query or db.executeQuery local premios = { -- -- [chance] -- itemid,amount [{1, 5}] = {{12674}, {11754}}, [{10, 30}] = {{2390}, {2469}, {2646}, {8306,5}, {2408}}, [{80, 100}] = {{2160,1000}} } local function getGuildNameById(id) local name = "" local query = db.getResult('SELECT `name` FROM `guilds` WHERE `id` = "'.. id ..'"') if query:getID() == -1 then return true end name = query:getDataString("name") query:free() return name end function pointNumber(number) if not tonumber(number) then return false end local str = "" number = tostring(number):reverse() local count = 0 for i = 1, number:len() do count = count + 1 if count <= 3 then if str == "" then str = number:sub(i, i) else str = str..number:sub(i, i) end else count = 1 str = str.."."..number:sub(i, i) end end return str:reverse() end function onStatsChange(cid, attacker, type, combat, value) if isMonster(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then if isInArray({"Castle Guardian I", "Castle Guardian II", "Castle Guardian III", "Castle Guardian IV", "Castle Generator", "Ice Crystal"}, getCreatureName(cid)) then doPlayerSetStorageValue(attacker, 1827311, getPlayerStorageValue(attacker, 1827311) + value) local quant = guild_hit_count[getPlayerGuildId(attacker)] and guild_hit_count[getPlayerGuildId(attacker)] or 0 guild_hit_count[getPlayerGuildId(attacker)] = quant + value end end return true end local vocation = { druid, sorcerer, paladin, knight } function onDeath(cid, corpse, deathList) local gid = 0 local winner = {} if isMonster(cid) and getCreatureName(cid) == "Ice Crystal" then if not getPlayingGuilds() then return true end local guilds = getPlayingGuilds() local max = 0 for index, var in pairs(guild_hit_count) do if var > max then max = var gid = index end end setGlobalStorageValue(1823999, gid) query("UPDATE `castle_dono` SET `guild_id` = '"..gid.."' WHERE `guild_id` > 0") doBroadcastMessage("{Castle War} O evento acabou, a guild com maior desempenho foi "..getGuildNameById(gid)..", com "..pointNumber(max).." pontos sobre o castelo.") updateCastleData() setGlobalStorageValue(18219113, -1) if gid > 0 then local mx = {} for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == gid then local st = getPlayerStorageValue(pid, 1827311) local i = getPlayerVocation(pid) if st > mx[i%4] then mx[i%4] = st winner[i%4] = pid end end end for i = 0, #winner do if isPlayer(winner[i]) then local r = math.random(1,100) for v, k in pairs(premios) do if r >= v[1] and r <= v[2] then local rand = k[math.random(#k)] itemr, amountr = rand[1], (not rand[2] and 1 or rand[1] and rand[2] or 1) end end local recompensa = doPlayerAddItem(winner[i], itemr, amountr) doBroadcastMessage("{Castle War} O jogador com maior desempenho da vocação " ..vocation[i].." foi "..getCreatureName(winner[i])..", com "..pointNumber(mx).." pontos sobre o castelo. Ele recebeu "..pointNumber(amountr).."x "..getItemNameById(itemr).." como premio.") doItemSetAttribute(recompensa, 'description', "Premio do jogador "..getCreatureName(winner[i]).." ganho no evento castle war do dia "..os.date("%d/%m/%y")..".") local medal = doPlayerAddItem(winner[i], 10127, 1) doItemSetAttribute(medal, 'description', "Trofeu ganho pelo jogador "..getCreatureName(winner[i]).." no evento castle war do dia "..os.date("%d/%m/%y")..".") end end end for _, pid in pairs(getPlayersOnline()) do if isInArea(getThingPos(pid), {x = 500, y = 574, z = 6}, {x = 575, y = 620, z = 6}) or isInArea(getThingPos(pid), {x = 511, y = 588, z = 5}, {x = 556, y = 607, z = 5}) or isInArea(getThingPos(pid), {x = 511, y = 588, z = 4}, {x = 556, y = 607, z = 4}) or isInArea(getThingPos(pid), {x = 511, y = 588, z = 3}, {x = 556, y = 607, z = 3}) or isInArea(getThingPos(pid), {x = 481, y = 580, z = 7}, {x = 683, y = 798, z = 7}) then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) end end guild_hit_count = {} end return true end
  10. [14/2/2016 19:23:20] [Error - CreatureScript Interface] [14/2/2016 19:23:21] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [14/2/2016 19:23:21] Description: [14/2/2016 19:23:21] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: attempt to compare nil with number [14/2/2016 19:23:21] stack traceback: [14/2/2016 19:23:21] data/creaturescripts/scripts/CastleWar/CastleWar.lua:84: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:58> deu esse erro, quando eu testei com 1 druid e 1 paladin, vou testar o resto testei com todas as vocações e deu o mesmo erro
  11. cara, teria como colocar assim Sorcerer, Master Sorcerer Druid, Elder Druid Paladin, Royal Paladin Knight, Elite Knight ? ou, caso o jogador sera master sorcerer, o script ira funfar de boa? esse é o script completo? A, e caso alguma vocação não participe do evento, iria dar algum bug ?
  12. É OTX 8.6 [10/2/2016 15:4:45] [Error - CreatureScript Interface] [10/2/2016 15:4:45] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [10/2/2016 15:4:45] Description: [10/2/2016 15:4:45] (LuaInterface::internalGetPlayerInfo) Player not found when requesting player info #6 [10/2/2016 15:4:45] [Error - CreatureScript Interface] [10/2/2016 15:4:45] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [10/2/2016 15:4:45] Description: [10/2/2016 15:4:45] data/creaturescripts/scripts/CastleWar/CastleWar.lua:81: attempt to compare nil with number [10/2/2016 15:4:45] stack traceback: [10/2/2016 15:4:45] data/creaturescripts/scripts/CastleWar/CastleWar.lua:81: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:55>
  13. [10/2/2016 2:44:55] [Error - CreatureScript Interface] [10/2/2016 2:44:55] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [10/2/2016 2:44:56] Description: [10/2/2016 2:44:56] (LuaInterface::internalGetPlayerInfo) Player not found when requesting player info #6 [10/2/2016 2:44:56] [Error - CreatureScript Interface] [10/2/2016 2:44:56] data/creaturescripts/scripts/CastleWar/CastleWar.lua:onDeath [10/2/2016 2:44:56] Description: [10/2/2016 2:44:56] data/creaturescripts/scripts/CastleWar/CastleWar.lua:80: attempt to perform arithmetic on a boolean value [10/2/2016 2:44:56] stack traceback: [10/2/2016 2:44:56] data/creaturescripts/scripts/CastleWar/CastleWar.lua:80: in function <data/creaturescripts/scripts/CastleWar/CastleWar.lua:55> já teria como adicionar as mensagens como eu pedi no tópico principal ?
  14. Eu vi um cara fazendo um pedido parecido com o meu, só que para PDA, mas o meu script seria um pouco diferente, vou explicar. Todo dia 10, o script iria fazer uma checagem, e todos os jogadores Free Account, que tiverem houses, iriam perda-las. VLW
  15. dei uma editada no tópico principal, eu não testei o script, mas veja se você entende melhor agora
  16. Poderia me informar, o que você fez nesse script? Esse script, é o script final que vai dá o prêmio para o jogador que venceu o evento, e o atual script, o q eu postei, só dá o premio a 1 jogador, e eu gostaria que ele desse esse primeiro a 4 jogadores, 1 de cada vocação explicando melhor - O jogador que ganha o evento, é o que mais tirou vida dos geradores no evento, o meu evento funciona assim, sao criados alguns montros e a guild que tirar mais vida desses monstros ganha, e o jogador que mais tirar vida ganha e eu gostaria de colocar para que cada jogador de cada vocação ganha-se
  17. cara, eu testei aqui, não funcionou, mas tbm nao deu erro
  18. Eu tenho um script de evento que funciona assim, O evento é o seguinte, existe um castelo, e nesse castelo são criadas varias torres, e os jogadores irão matar essas torres, no fim do evento, que é quando toda as torres morrem, o jogador que mais bateu, ou seja que rancou mais vida de todas as torres vence, e a guild que mais rancou vida de todas as torres vence também Esse script abaixo, só da o prêmio, para 1 jogador, o que mais rancou vida das torres, mas eu queria fazer uma modificação, colocar para todas as vocações ganharam, ou seja, O Sorcerer que mais rancar vida ganha, O Druid também Paladin também Knight também, conseguiram entender Esse script atual, também tem o seguinte, ele manda uma mensagem que o jogador venceu o evento, e eu gostaria que ele mandasse uma mensagem para cada vocação {Castle War} O jogador com maior desempenho da vocação Sorcerer foi ... local query = db.query or db.executeQuery local premios = { -- -- [chance] -- itemid,amount [{1, 5}] = {{12674}, {11754}}, [{10, 30}] = {{2390}, {2469}, {2646}, {8306,5}, {2408}}, [{80, 100}] = {{2160,1000}} } local function getGuildNameById(id) local name = "" local query = db.getResult('SELECT `name` FROM `guilds` WHERE `id` = "'.. id ..'"') if query:getID() == -1 then return true end name = query:getDataString("name") query:free() return name end function pointNumber(number) if not tonumber(number) then return false end local str = "" number = tostring(number):reverse() local count = 0 for i = 1, number:len() do count = count + 1 if count <= 3 then if str == "" then str = number:sub(i, i) else str = str..number:sub(i, i) end else count = 1 str = str.."."..number:sub(i, i) end end return str:reverse() end function onStatsChange(cid, attacker, type, combat, value) if isMonster(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then if isInArray({"Castle Guardian I", "Castle Guardian II", "Castle Guardian III", "Castle Guardian IV", "Castle Generator", "Ice Crystal"}, getCreatureName(cid)) then doPlayerSetStorageValue(attacker, 1827311, getPlayerStorageValue(attacker, 1827311) + value) local quant = guild_hit_count[getPlayerGuildId(attacker)] and guild_hit_count[getPlayerGuildId(attacker)] or 0 guild_hit_count[getPlayerGuildId(attacker)] = quant + value end end return true end function onDeath(cid, corpse, deathList) local gid = 0 local winner = 0 if isMonster(cid) and getCreatureName(cid) == "Ice Crystal" then if not getPlayingGuilds() then return true end local guilds = getPlayingGuilds() local max = 0 for index, var in pairs(guild_hit_count) do if var > max then max = var gid = index end end setGlobalStorageValue(1823999, gid) query("UPDATE `castle_dono` SET `guild_id` = '"..gid.."' WHERE `guild_id` > 0") doBroadcastMessage("{Castle War} O evento acabou, a guild com maior desempenho foi "..getGuildNameById(gid)..", com "..pointNumber(max).." pontos sobre o castelo.") updateCastleData() setGlobalStorageValue(18219113, -1) if gid > 0 then local mx = 0 for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == gid then local st = getPlayerStorageValue(pid, 1827311) if st > mx then mx = st winner = pid end end end if isPlayer(winner) then local r = math.random(1,100) for v, k in pairs(premios) do if r >= v[1] and r <= v[2] then local rand = k[math.random(#k)] itemr, amountr = rand[1], (not rand[2] and 1 or rand[1] and rand[2] or 1) end end local recompensa = doPlayerAddItem(winner, itemr, amountr) doBroadcastMessage("{Castle War} O jogador com maior desempenho foi "..getCreatureName(winner)..", com "..pointNumber(mx).." pontos sobre o castelo. Ele recebeu "..pointNumber(amountr).."x "..getItemNameById(itemr).." como premio.") doItemSetAttribute(recompensa, 'description', "Premio do jogador "..getCreatureName(winner).." ganho no evento castle war do dia "..os.date("%d/%m/%y")..".") local medal = doPlayerAddItem(winner, 10127, 1) doItemSetAttribute(medal, 'description', "Trofeu ganho pelo jogador "..getCreatureName(winner).." no evento castle war do dia "..os.date("%d/%m/%y")..".") end end for _, pid in pairs(getPlayersOnline()) do if isInArea(getThingPos(pid), {x = 500, y = 574, z = 6}, {x = 575, y = 620, z = 6}) or isInArea(getThingPos(pid), {x = 511, y = 588, z = 5}, {x = 556, y = 607, z = 5}) or isInArea(getThingPos(pid), {x = 511, y = 588, z = 4}, {x = 556, y = 607, z = 4}) or isInArea(getThingPos(pid), {x = 511, y = 588, z = 3}, {x = 556, y = 607, z = 3}) or isInArea(getThingPos(pid), {x = 481, y = 580, z = 7}, {x = 683, y = 798, z = 7}) then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) end end guild_hit_count = {} end return true end
  19. Gostaria que alguém substituísse aquele Lar Doce Lar, por Atelie Amor Perfeito e uma outra escrito Atelie Aline, obrigado galera Se possível, tirar aquele Mariquit da foto seria ótimo, valeu
  20. Galera, eu comecei um canal faz alguns dias, e nele eu trago alguns joguinhos de internet, e informações para quem gosta de jogos de futebol, deem uma olhada no meu primeiro vídeo https://www.youtube.com/watch?v=xRxLSeRNuzI
  21. Não. eu quero um map tracker que funcione em 10.82 mas sem precisar de tibia cast ou seja, que funcione no tibia igual map tracker do 8.6
  22. Então, que fundo musical ficaria melhor?
  23. Mas eu queria para a versão 10.82 e o que eu encontrei só funciona com tibia cast
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...