Ir para conteúdo

Bruno

Herói
  • Total de itens

    2571
  • Registro em

  • Última visita

  • Dias Ganhos

    27

Tudo que Bruno postou

  1. Se ngm reportou... ~REPORTADO~ Lugar errado para esse tópico!
  2. Seção errada... Reportado, leia regras com atenção!
  3. Na Boa... Fizesse imagens iria ficar mais legal! Mais ta muito legal!
  4. cara ta mto legal... adicionado na lista de spells da seção!
  5. cara não fala besteira... npc age pelos scripits... não tem nada de acess não!
  6. nos 3 pisos diferentes dos demais!
  7. Blz....se funcionar posta!
  8. Vlw... Funciona sim xD Pode testar
  9. Pode crê.... História Antiga... Ja lí ela!
  10. Magia ja existente no fórum... crie tópicos diferentes Traga inovação!
  11. 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!
  12. Vlw, É bom saber que tem alguem que goste doq eu faço! vlw mesmo!
  13. 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
  14. Vlw... Espero que outros gostem!
  15. Testei uma vez em XML e não deu certo... Tenta aí... Se der certo posta aki que eu modifico o tópico!
  16. Tópico mal explicado! Um iniciante não saberia fazer... Procure explicar melhor! Mais em parte está bom
  17. Blz.... Vlw cara...aki funcionou perfeitamente...se aí funcionar fala ew xD!
  18. 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!
  19. Vlw a todos os elogios, Espero que todas as magias dessa lista tenham ajudado a todos xD Xtr3m3
  20. Foi Feitas pra verssões 8.0+ Vlw aew pra todos que gostaram!
  21. Bruno

    Castle Invasion

    ------------------------------- É 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
  22. existe tópico assim na seção!
  • Quem Está Navegando   0 membros estão online

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