-
Total de itens
2571 -
Registro em
-
Última visita
-
Dias Ganhos
27
Tudo que Bruno postou
-
Link de algumas magias arrumados!
-
Se ngm reportou... ~REPORTADO~ Lugar errado para esse tópico!
-
Seção errada... Reportado, leia regras com atenção!
-
Na Boa... Fizesse imagens iria ficar mais legal! Mais ta muito legal!
-
Brigadão!
-
cara ta mto legal... adicionado na lista de spells da seção!
-
cara não fala besteira... npc age pelos scripits... não tem nada de acess não!
-
nos 3 pisos diferentes dos demais!
-
Blz....se funcionar posta!
-
Vlw... Funciona sim xD Pode testar
-
Muito bom! Gostei
-
Pode crê.... História Antiga... Ja lí ela!
-
Magia ja existente no fórum... crie tópicos diferentes Traga inovação!
-
Ta bom Bom Bom Bom não tá Bom Bom Zuera rsrsrsrs O mapa ta legal Mais axo que poderia ter mais rpg no mapa! Mais criticas não tenho!
-
Vlw, É bom saber que tem alguem que goste doq eu faço! vlw mesmo!
-
Cara, como eu disse no tópico! Não foi uma criação minha.... Resolvi trazer pra cá pq irá ajudar muita gente que não sabe mexer com site, e outra.... Testado aki no meu servidor 100% funcionando! Refaz tudo aí que tenho certeza que irá dar certo! Vlw
-
Vlw... Espero que outros gostem!
-
Testei uma vez em XML e não deu certo... Tenta aí... Se der certo posta aki que eu modifico o tópico!
-
Tópico mal explicado! Um iniciante não saberia fazer... Procure explicar melhor! Mais em parte está bom
-
Blz.... Vlw cara...aki funcionou perfeitamente...se aí funcionar fala ew xD!
-
SÓ EM SERVERS COM LuaSQL e doPlayerPopupFYI![/b] Exemplo: !ranks "level Essa é uma talkaction que mostra uma janela com Nome, Level, Exp.... Um pouco útil até. Lembrando que só funciona em TFS. --------------------------------------------------------------------------- Crie um arquivo chamado highscores.lua na pasta data/talkactions/scripts e insira: function onSay(cid, words, param) dofile("./config.lua") local players = 20 -- The amount of players that is shown in the list local maxgroupid = 1 -- Players in groups above this is not shown in the list if sqlType == "mysql" then env = assert(luasql.mysql()) con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort)) else -- sqlite env = assert(luasql.sqlite3()) con = assert(env:connect(sqliteDatabase)) end local str = "" if param == "level" or param == "exp" or param == "lvl" or param == "" then cur = assert(con:execute("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `experience` DESC LIMIT 0,"..players..";")) row = cur:fetch({}, "a") str = "# [Level] - Name - (Experience)\n" local i = 0 while row do str = str.."\n#"..(i+1).." ["..row.level.."] - "..row.name.." - ("..row.experience..")" row = cur:fetch (row, "a") i = i+1 end elseif param == "maglevel" or param == "magic" or param == "ml" then cur = assert(con:execute("SELECT `name`, `maglevel` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `maglevel` DESC LIMIT 0,"..players..";")) row = cur:fetch({}, "a") str = "# [Magic Level] - Name\n" local i = 0 while row do str = str.."\n#"..(i+1).." ["..row.maglevel.."] - "..row.name.."" row = cur:fetch (row, "a") i = i+1 end elseif param == "fist" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 0 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Fist Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "club" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 1 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Club Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "sword" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 2 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Sword Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "axe" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 3 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Axe Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "dist" or param == "distance" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 4 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Distance Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "shield" or param == "shielding" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 5 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Shielding] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "fish" or param == "fishing" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 6 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Fishing] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end end if str ~= "" then doPlayerPopupFYI(cid, str) end con:close() env:close() end E na pasta data/talkactions adicione ao arquivo talkactions.xml: <talkaction words="!ranks" script="highscores.lua"/> -------------------------------------------------------------------------- Basta entrar no tibia e usar o comando !ranks! Créditos: 80% Pro cara do outro forum, pois eu peguei dele! 20% Pra mim por trazer pra cá e arrumar o erro do comando! Comentem!
-
Vlw a todos os elogios, Espero que todas as magias dessa lista tenham ajudado a todos xD Xtr3m3
-
Foi Feitas pra verssões 8.0+ Vlw aew pra todos que gostaram!
-
------------------------------- É o mesmo sistema de Ragnarok nas wars, a muito o que fazer, porem, compensara, pois o sistema é mto massa. COMO É O SISTEMA? QUANDO LIBERA A GUERRA, A GUILD QUE TOMAR PRIMERO O CASTELO GANHA UM ITEM, OU XP, OU LEVEL, A SER DECIDIDO PELO GOD, ALEM DO PRETIGIO 1º: Faça um castelo a seu gosto, e no fim dele coloque um piso especial. 2º: Coloque em TODOS os SQMs comuns do castelo, a actionid 10030, e no piso especial, coloque a actionid 10029. 3º: A entrada do castelo tem de ser de 3 QMS, e dps de feita a entrada, cerque-a de grade, para ninguem entrar no castelo, como na imagem abaixo (OBS: Ela não pode nem tem que ser uma house): 4º: Vamos aos scripts: Va em data/movements/scripts, copie qualquer arquivo, remoneie para Castle Invasion, apague tudo dentro e coloque o codigo abaixo, não deixando de colocar a localização do templo onde pede: ----- Castle Invasion Sistem by Xtreme ----- function onStepIn(cid, item, pos) -- -------- ITEM -------- local n_action = 10030 local e_action = 10029 -------- FRASES -------- local msg_winner = "Parabéns! A sua guild ganhou! Vocês ganharam o castelo." local msg_cannot = "Não esta havendo uma guerra para você ganha-la." local msg_not_guild = "Em tempo de guerra, players sem guild não podem entrar no castelo." local msg_not_guild_winner = "Desculpe, mas sua guild não ganhou, muito menos você tem guild." -------- CORDENADAS -------- local temple_position = {x=, y=, z=} --- COLOQUE AQUI Posição do templo -------- STORAGE -------- local the_storage = 63000 local new_storage = 1 local battle_storage = 0 local cannot_storage = -1 -------- SISTEMA -------- if item.actionid == e_action then if getGlobalStorageValue(the_storage) == battle_storage then player_guild_winner = getPlayerName(cid) guild_winner = getPlayerGuildName(player_guild_winner) doPlayerSendTextMessage(cid,22,msg_winner) doPlayerSay(cid,"Hoje, a guild "..guild_winner.." sai com a vitoria do castelo, ganho pelo player "..player_guild_winner.." e pela ajuda de todos da guild. Parabens "..guild_winner.."!",9) doSendAnimatedText(pos,'Winner',5) setGlobalStorageValue(the_storage,new_storage) elseif item.actionid == n_action then if getGlobalStorageValue(the_storage) == battle_storage then if getPlayerGuildName(getPlayerName(cid)) == nil then doTeleportThing(cid,temple_position) doPlayerSendTextMessage(cid,22,msg_not_guild) elseif getGlobalStorageValue(the_storage) == new_storage then if getPlayerGuildName(getPlayerName(cid)) ~= guild_winner then doTeleportThing(cid,temple_position) doPlayerSendTextMessage(cid,22,"Desculpe! Sua guild perdeu, a guild que ganhou foi '..guild_winner..'.") doSendAnimatedText(temple_position,"Loser",18) elseif getPlayerGuildName(getPlayerName(cid)) == nil then doTeleportThing(cid,temple_position) doPlayerSendTextMessage(cid,22,msg_not_guild_winner) end end end end end end Agora, para você decidir quando começar a guerra e para tirar aquelas grades, precisa ter um comando: Va em data/talkaction/scripts, copie qualquer arquivo, renomeie para begin, apague tudo dentro, e coloque isto no lugar, não esquecendo de colocar o nome do castelo, a localização das grades, e a id da grade onde esta pedindo: function onSay(cid, words, param) -------- NOME -------- local castelo_name = Y --- COLOQUE AQUI O NOME DO CASTELO -------- CORDENADAS -------- local wall_1 = {x=, y=, z=, stackpos=1} --- COLOQUE AQUI A Posição da primeira grade que esta tampando a entrada do castelo local item_to_remove_1 = getThingfromPos(wall_1) local wall_2 = {x=, y=, z=, stackpos=1} --- COLOQUE AQUI A Posição da segunda grade que esta tampando a entrada do castelo local item_to_remove_2 = getThingfromPos(wall_2) local wall_3 = {x=, y=, z=, stackpos=1} --- COLOQUE AQUI A Posição da terçeira grade que esta tampando a entrada do castelo local item_to_remove_3 = getThingfromPos(wall_3) local part = Z --- COLOQUE AQUI A ID DA GRADE -------- SISTEMA -------- if getPlayerAccess(cid) >= 3 then doPlayerSay(cid,"A guerra das guilds no Castelo "..castelo_name.." acabou de começar. GUILDS, PREPAREM-SE! Valendo: \n"..param.."!",9) doRemoveItem(item_to_remove_1.uid,part) doRemoveItem(item_to_remove_2.uid,part) doRemoveItem(item_to_remove_3.uid,part) setGlobalStorageValue(63000,0) end end Quando for chamar este comando, fale: /begin "nome do item que a guild recebera caso ganhe o castelo COMO POR EXEMPLO /begin "demon set OBS: Com este comando, você não coloca para dar o item aos players, apenas avisa qual o premio, o item deve ser criado por você na hora. Agora se você quer fechar o castelo depois que todos da guild vencedora ganharam item e sairam do castelo, e dps de uma guerra, precisa de um comando: Va em data/talkaction/scripts, copie qualquer arquivo, renomeie para rg, delete tudo dentro e coloque isto, lembrando que é preciso editar as cordenadas das grades e a id da grade: function onSay(cid, words, param) -------- CORDENADAS -------- local wall_1 = {x=, y=, z=, stackpos=1} --- COLOQUE AQUI A Posição da primeira parede que esta tampando a entrada do castelo local item_to_create_1 = getThingfromPos(wall_1) local wall_2 = {x=, y=, z=, stackpos=1} --- COLOQUE AQUI A Posição da segunda parede que esta tampando a entrada do castelo local item_to_create_2 = getThingfromPos(wall_2) local wall_3 = {x=, y=, z=, stackpos=1} --- COLOQUE AQUI A Posição da terçeira parede que esta tampando a entrada do castelo local item_to_create_3 = getThingfromPos(wall_3) local part = Z --- COLOQUE AQUI A ID DA GRADE -------- SISTEMA -------- if getPlayerAccess(cid) >= 3 then doCreateItem(part,1,wall_1) doCreateItem(part,1,wall_2) doCreateItem(part,1,wall_3) setGlobalStorageValue(63000,-1) end end Para fechar o castelo basta falar /rg Agora, para finalizar, tem que cocar as TAGS Va em movements.xml e adicione isto: <movevent event="StepIn" actionid="10029" script="Castle Invasion.lua" /> <movevent event="StepIn" actionid="10030" script="Castle Invasion.lua" /> Va em talkactions.xml e adicione isto: <talkaction words="/rg" script="rg.lua" /> <talkaction words="/begin" script="begin.lua" /> Fazendo isto, acaba o sistema, coloque o OT On, e teste a primera war das guilds no castelo, aposto que os players vão adorar Creditos: 90% Xtr3m3 10% Haxy, por a reformulação foi a partir do script dele, apesar de eu não ter copiado dele Se for divulgado use meus creditos COMENTEM
-
existe tópico assim na seção!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.