Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 07/14/12 em todas áreas

  1. Oneshot

    Doplayersendchannelsdialog(Cid)

    Nome: doPlayerSendChannelsDialog(cid) Tipo: Função LUA Autor: Oneshot Fala, bandiputa! Recentemente baixei um servidor de Pokémon pela primeira vez para ver como funcionavam os sistemas lá dentro e fiquei impressionado com o sistema de clicar no computador e abrir a janela de canais. E então eu pensei comigo - "Vou ver como é que eles fizeram, né." - Fucei as pastas e não tinha nada e então a realidade me bateu na cara. Sim, aquela era uma função programada diretamente no código fonte do servidor e mais uma vez a realidade me bateu denovo - Ninguém disponibiliza as sources de servidores de Pokémon. Então o que eu fiz? Simples, desenvolvi minha própria função de abrir a janela de canais e ela é realmente simples, vocês mesmos irão ver. Em luascript.h, procure por: static int32_t luaGetChannelList(lua_State* L); Logo após, adicione: static int32_t luaDoPlayerSendChannelsDialog(lua_State* L); Em luascript.cpp, procure por: lua_register(m_luaState, "getChannelList", LuaInterface::luaGetChannelList); Logo após, adicione: lua_register(m_luaState, "doPlayerSendChannelsDialog", LuaInterface::luaDoPlayerSendChannelsDialog); Ainda em luascript.cpp, procure por: int32_t LuaInterface::luaGetChannelList(lua_State* L) { //getChannelList() lua_newtable(L); ChannelList list = g_chat.getPublicChannels(); ChannelList::const_iterator it = list.begin(); for(uint32_t i = 1; it != list.end(); ++it, ++i) { createTable(L, i); setField(L, "id", (*it)->getId()); setField(L, "name", (*it)->getName()); setField(L, "flags", (*it)->getFlags()); setField(L, "level", (*it)->getLevel()); setField(L, "access", (*it)->getAccess()); pushTable(L); } return 1; } E logo após, adicione: int32_t LuaInterface::luaDoPlayerSendChannelsDialog(lua_State* L) { //doPlayerSendChannelsDialog(uid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) { player->sendChannelsDialog(); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Agora é só compilar seu servidor no IDE de sua preferência. Exemplo de Uso: function onUse(cid, item, fromPosition, itemEx, toPosition) return doPlayerSendChannelsDialog(cid) end Se o nome estiver muito grande é só adicionar isso no 100-compat.lua sendChannelsDialog = doPlayerSendChannelsDialog Vale lembrar que isso é feito nas sources, no código-fonte do seu servidor. Abração \o/
    3 pontos
  2. Olá Galera, vim compartilhar com vocês mais um servidor Global que encontrei em outro fórum. • Algumas Features do Servidor • ├ Servidor livre de qualquer tipo de bug de dinheiro, Npcs e etc. ├ War system 100% ├ WoE Events [ totalmente configurado no servidor ]. ├ Único Servidor com Zao realmente completa, Razzachai, Drakens, Novas áreas de Ghastly dragons, Souleaters , Banuta 8.6 ├ Sistemas de invasões completas. ├ NPC de Task com algumas já configuradas. ├ Items VIPS configurados. ├ 2 cidades Vips [ Ethnor e Gengia ] ├ 50% de Exp para VIPs; ├ Servidor configurado para Mysql e Sqlite. ├ Distro The Forgotten Server 0.4_SVN [ Totalmente estável ] ├ Map com 89 MB ├ Principais Quests: • POI • Inquisition Quest • Demon Helmet • Anihilator • Demon Oak • Blue Legs Quest • Zao Quest Entre muitas outras, todas 100%. Foto base do servidor: Obs: Não é preciso mais imagens pois todos já conhecem o global Abaixo o link para download + scan do Servidor e Dlls ├Server ├DLLs ├Scans: • Servidor • DLLs Créditos: Exchange Sociopata Adm Vinny Rullez Betox13025 ( Por trazer o conteúdo ao xTibia. ) Se gostou, REP+
    1 ponto
  3. Fala ae galera do xtibia! aqui é o Eliteimperiosv com a 1° VIDEO AULA =D Hoje Vamos instalar o war of imperium no seu site, map e nos seus scripts. ________________________________________ Aqui vai o download e scan: Downlaod War Of Imperium --->http://www.4shared.c...p7gUB/file.html Scan --->http://www.virustota...21a8-1323898383 Qualquer duvida postem abaixo, brigado. e se puder REP+
    1 ponto
  4. SweetEvul

    Digam Oque Acharam;

    <script src='http://img20.imageshack.us/shareable/?i=lululu.png&p=tl' type='text/javascript'></script><noscript></noscript>
    1 ponto
  5. local config = { rewards = { {"money", 500}, {2157, 10} } } function onDeath(cid, corpse, lastHitKiller, mostDamageKiller) if isPlayer(lastHitKiller) then local reward = config.rewards[math.random(1, #config.rewards)] if type(reward[1]) == "number" then local item = doCreateItemEx(reward[1], reward[2]) if not item then return true end return doPlayerAddItemEx(lastHitKiller, item) end doPlayerAddMoney(lastHitKiller, reward[2]) doPlayerSendTextMessage(lastHitKiller, MESSAGE_STATUS_CONSOLE_ORANGE, "Você matou ".. getCreatureName(cid) .." e recebeu ".. (reward[1] == "money" and (reward[2] .." GPs") or (reward[2] .." ".. getItemNameById(reward[1]))) ..".") end return true end Você pode configurar recompensas em dinheiro ou itens. Deixei por padrão uma recompensa de 500 gps ou 10 gold nuggets. Abraços.
    1 ponto
  6. Cara, pra colocar os itens do 8.7 num servidor 8.6 você tem que adicionar cada sprite e depois configurar cada item no .dat Montarias não dá, porque é uma modificação no cliente (naquela parte onde edita o outfit) e não dá de mudar o client assim, o que dá de fazer é uma "gambiarra" e colocar uma talkaction (tipo !mount draptor), mas não sei se funciona. Siga este tutorial: http://www.xtibia.com/forum/topic/35696-adicionando-novos-itens-no-seu-ot/ Para adicionar os itens do 8.7 use o programa com o .spr do 8.7 e você vai ter todos os sprites, mas tem que copiar um por um para o 8.6 Aqui tem um sistema de montaria por talkaction: http://www.xtibia.com/forum/topic/147447-talkaction-mount-system-sistema-de-montaria/
    1 ponto
  7. Depende do seu servidor, muitos não disponibilizam sources, mas praticamente todos se baseiam nas revisões do The Forgotten Server. Deixo para você o link de download delas, você precisará ler tutoriais de compilação, pois isto não é um servidor, é apenas o código-fonte: Download Essa é a revisão 4322, versão 8.7, abraços.
    1 ponto
  8. landugaspar

    Script Ganhar Item.

    Não entendi direito seu pedido mais acho que esse "mods" pode te ajudar. <mod name="Lottery System" version="1.5" author="" contact="" enabled="no"> <config name="lottery_config"><![CDATA[ config = { lottery_hour = "3 Hours", rewards_id = {2520, 2492, 2195, 2160}, crystal_counts = 5, website = "yes" } ]]></config> <globalevent name="lottery" interval="180000" event="script"><![CDATA[ domodlib('lottery_config') function onThink(interval, lastExecution) if(getWorldCreatures(0) == 0)then return true end local list = {} for i, tid in ipairs(getPlayersOnline()) do list[i] = tid end local winner = list[math.random(1, #list)] local random_item = config.rewards_id[math.random(1, #config.rewards_id)] if(random_item == 2160) then doPlayerAddItem(winner, random_item, config.crystal_counts) doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Congratulations! (Next Lottery in " .. config.lottery_hour .. ")") else doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Next Lottery in " .. config.lottery_hour .. ")") doPlayerAddItem(winner, random_item, 1) end if(config.website == "yes") then db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');") end return true end ]]></globalevent> </mod>
    1 ponto
  9. @Brunno Va em Data/Actions/Scripts Procure Por Boost.lua dentro do arquivo procure por local stone_increase = { -- a cada quantos boosts irá aumentar o custo de stones Bote Tipo 50000 em cada e pronto
    1 ponto
  10. Leoxtibia

    Estatua Que Dar Vip

    Em data/actions/scripts crie um arquivo.lua e cole isto dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 1 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if getPlayerStorageValue(cid, 4398) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) setPlayerStorageValue(cid, 4398, 1) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já ganhou os dias de VIP.") return TRUE end end Em actions.xml adicione a tag: <action actionid="ACTION_ID_DA_ESTATUA" event="script" value="NOMEDOSEUARQUIVO.lua"/>
    1 ponto
  11. Hikigaya

    [Encerrado] [Pokemon] Dúvidas? - Pda

    @Grigio Isso ja Foi Insanado a Umas Paginas Atras (umas 100)... So Que Se Voce Fazer Isto o Boostmachine nao ira reconheser suas stones ;( ----------------------------------------------------------------------------EDIT---------------------------------------------------------------------- Mas Mesmo Assim se Quiser Marque a Opçao "Stackable" Nas Stones no DAT EDITOR Depois de fazer isso abra o otitemeditor e marque a opçao "Stackable" Nas Stones do Seu Item.otb
    1 ponto
  12. @Flames muda o head e o body do Xml do pokemon que você criou. Head = Lv Minimo que o pokemon vai nascer. Body = Lv Máximo que o pokemon vai nascer. Exemplo: head="10" body="30"
    1 ponto
  13. http://www.xtibia.com/forum/topic/189637-mega-wars-spirit-gems/
    1 ponto
  14. masdead

    Bug Rme

    Bom Lançou uma nova versão do rme a 2.2 mais aqui esta dando um erro chato olhem a SS por favor se alguém souber como corrigir esse erro me ajudem aqui =] obrigado agradeço desde já OBS : Não sei se esta secçao é a correta se nao for peço pra alguém mudar para mim =] ---------------------------------------------------------------------------------------------------------------------- Consegui Arrumar (pelo menos ate agora esta funcionando =]) Para quem esta com o mesmo problema eis a solução vai na pasta onde você instalou o seu RME 2.2 e delete as dll's WSOCK32.dll e RPCRT4.dll Não abra o RME pelo atalho na área de trabalho pois se não as dll's serão criadas novamente abra o RME pela pasta onde você instalou ele ou criem outro atalho
    1 ponto
  15. Leoxtibia

    Npc Broadcast

    Em data/npcs/scripts, coloque no arquivo.lua do seu npc o seguinte: local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false stime = 60 -- Tempo entre as falas do npc (em segundos) time = os.clock() function onThink() if (time + stime) < os.clock() then time = os.clock() local mensagens = {"Uma msg aqui", "Outra Msg aqui"} doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], 22) end end É só editar as msgs e o tempo entre uma e outra. Vlw, espero ter ajudado.
    1 ponto
  16. pbottrinks

    Configuração Na Magia

    Opa.. Não precisava de tudo isso. Você só precisa ir em config.lua, e procurar por emoteSpells. Se você quiser que apareça as spells em laranja, deixe: emoteSpells == true (OU yes) --Isso depende do seu config lua. Agora se quiser que elas apareçam em amarelo(NO DEFAUT, COMO SE ESTIVESSE CONVERSANDO NORMALMENTE), coloque assim: emoteSpells == false ( OU no) --Isso depende do seu config.lua Espero ter ajudado, dúvidas pergunte aqui mesmo, ou mande uma MP. Abraços, LucasCorrea.
    1 ponto
  17. Em talkaction/script, crie um arquivo.lua e cole isto dentro: function onSay(cid, words, param, channel) doPlayerSendChannelMessage(cid, false, '[Kawrl]SnOR: Este channel e so para tirar dúvidas sobre o modo de jogo e não sobre spoilers de quests e etc..',TALKTYPE_CHANNEL_O,7) end Em talkactions.xml cole a tag: <talkaction words="/help" script="NOMEDOSEUARQUIVO.lua"/> Ali coloquei o id do Help Channel como 7, que nem você falou. Em alguns o id é 9, se for 9 mesmo, é só colocá-lo no lugar do 7. Vlw, espero ter ajudado.
    1 ponto
  18. Não sei se é isso mesmo que você quis, porque primeiro você fala em premmy, depois fala em VIP. Fiz adicionando dias de premmy: Em data>actions>scripts crie um arquivo.lua e cole isto dentro: local items = {1111, 1212, 1313, 1414, 1515, 1616} -- Item que dará dias de premmy local days = {15, 30, 60, 90, 365, 9999} -- Dias que o item dará local text = "Você ganhou premium days." function onUse(cid, item, position, fromPosition, item2, toPosition) for i = 1,6 do if item.itemid == items[i] and doPlayerAddPremiumDays(cid, days[i]) then doRemoveItem(cid, item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, text) doSendAnimatedText(getPlayerPosition(cid), "PREMMY!", TEXTCOLOR_BLUE) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_GIFT_WRAPS) end end return true end Em actions.xml cole a tag: <action itemid="1111;1212;1313;1414;1515;1616" event="script" value="nomedoseuarquivo.lua"/> Substitua os items que você quer no script e na tag, além do nome do arquivo. Só uma coisa, aqui nessa linha: local items = {1111, 1212, 1313, 1414, 1515, 1616} ... o primeiro item dará a primeira quantidade de dias de premmy. No caso, o item 1111, dará 15 dias, o 1212..dará 30 dias. Vlw, espero ter ajudado.
    1 ponto
  19. Copiei sua ideia entre "", eu ia pegar o launcher do mu e transformar para o tibia .. ai não sei se vou conseguir. Eu não estou competindo com você, se o seu é melhor não ligo .. o que importa que quero disponibilizar para a comunidade ... até.
    1 ponto
  20. Linnux

    Comando !b Para Players Vips

    Comando !b Para VIPs Bom, Esse Script Feito Por Mim, é Muito Simples, ele deicha o player falar com o serv inteiro com o comando !b (ex: !b oi) Vamos Ao Script 1º Vá em data/talkactions/talkactions.xml e coloque isto la <talkaction words="!b" event="script" value="talkbroad.lua"/> 2° Vá Em data/talkactions/Scripts e copie um arquivo qualquser q seja .lua e coloque este nome talkbroad, Apos Ter Feuti Isso, Abra-o, apague Tudo e Coloque isto ------ Script By Linnux for Xtibia.com Users ------- local configs = { cobrar = "sim", ------ Use sim ou nao para cobrar. sovip = "sim", ------ Se somente vip players poderam usar o comando price = 1000, ------ Preço a pagar se o cobrar estiver ativado. storage = 13541 ------ Storage Id da sua vip account caso for usar somente vips } function onSay(cid, words, param) local nada = {" "} if table.isStrIn(param, nada) or param == "" then doPlayerSendCancel(cid,"Voce precisa falar alguma coisa.") return TRUE end if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage)) - os.time() <= 0 then doPlayerSendCancel(cid,"Você não é vip.") return TRUE end if configs.cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(configs.price)) then doPlayerSendCancel(cid,"Você não tem dinheiro suficiente.") return TRUE end doBroadcastMessage(""..getCreatureName(cid).." ["..getPlayerLevel(cid).."]: " .. param .. "", MESSAGE_INFO_DESCR) return TRUE end Pronto, O Script Está Criado, agora só salvar, fechar e ir no ot Aproveitar Gostou ??? Da um :button_ok: Ai Meus Scripts E Mapas Apenas Para o :XTibia_smile:
    1 ponto
  21. misalgms

    Source Tfs 0.4_Dev

    Se tu ainda não conseguiu: Download source TFS REV 3777
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...