bomba 0 #1 Postado 21 Outubro, 2008 Nome: Multi-Client check. . Versão: 1.0. . Tipo do script: Talkaction. . Servidor Testado: TFS. . Autor: n/a Comando para ver quem esta usando Tibia MC, como usar? /check Arquivo.LUA: \data\talkactions\scripts\mc_check.lua: function convertIntToIP(int, mask) local mask = mask or 4294967295 local b4 = bit.urshift(bit.uband(int, 4278190080), 24) local b3 = bit.urshift(bit.uband(int, 16711680), 16) local b2 = bit.urshift(bit.uband(int, 65280), 8) local b1 = bit.urshift(bit.uband(int, 255), 0) if(mask ~= nil) then local m4 = bit.urshift(bit.uband(mask, 4278190080), 24) local m3 = bit.urshift(bit.uband(mask, 16711680), 16) local m2 = bit.urshift(bit.uband(mask, 65280), 8) local m1 = bit.urshift(bit.uband(mask, 255), 0) if((m1 == 255 or m1 == 0) and (m2 == 255 or m2 == 0) and (m3 == 255 or m3 == 0) and (m4 == 255 or m4 == 0)) then if m1 == 0 then b1 = "x" end if m2 == 0 then b2 = "x" end if m3 == 0 then b3 = "x" end if m4 == 0 then b4 = "x" end else if(m1 ~= 255 or m2 ~= 255 or m3 ~= 255 or m4 ~= 255) then return b1 .. "." .. b2 .. "." .. b3 .. "." .. b4 .. " : " .. m1 .. "." .. m2 .. "." .. m3 .. "." .. m4 end end end return b1 .. "." .. b2 .. "." .. b3 .. "." .. b4 end function onSay(cid, words, param) if(getPlayerAccess(cid) == 0) then return TRUE end local players = getOnlinePlayers() local IPs = {} local multiClients = {} local multiClientIPs = {} for i, player in ipairs(players) do local ip = getIPByName(player) local pos = table.find(IPs, ip) if(pos ~= nil) then if(not table.isStrIn(players[pos], multiClients)) then table.insert(multiClients, players[pos]) table.insert(multiClientIPs, ip) end table.remove(players, pos) table.remove(IPs, pos) table.insert(multiClients, player) table.insert(multiClientIPs, ip) end table.insert(IPs, ip) end if(table.maxn(multiClients) > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently online players with same IP address(es):") for i, multiClient in ipairs(multiClients) do doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, multiClient .. " (" .. convertIntToIP(multiClientIPs[i]) .. ")") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently there aren't any players with same IP address(es).") end return FALSE end Arquivo.XML: \data\talkactions\talkactions.xml: <talkaction words="/check" script="mc_check.lua"/> Como e um download nao precisa de um tutorial explicando como instalar. Compartilhar este post Link para o post
Nord 2 #2 Postado 25 Outubro, 2008 Mas que coisa, fiquei de cara (claro, não da de tirar), usou cada função que nunca tinha visto ou ouvido falar e fez o que eu pensei que não dava por scripting. Aprovado Compartilhar este post Link para o post
Elys Zarox 0 #3 Postado 12 Novembro, 2008 Oo eu pensando em usar programas pra fazer isso, vlw ai cara por posta aqui =] Compartilhar este post Link para o post
sky sorcerer 0 #4 Postado 12 Novembro, 2008 Lol por isso que eu gosto de servers XML.. porque todos os server xml kie u ja usei vem com varios commandos como ESSe aew e varios otros... Tfs nunca tem commandos bom. Compartilhar este post Link para o post
Mock 32 #5 Postado 13 Novembro, 2008 Lol por isso que eu gosto de servers XML..porque todos os server xml kie u ja usei vem com varios commandos como ESSe aew e varios otros... Tfs nunca tem commandos bom. isso pq XML ja vem pronto tfs vc pode EDITA os comandos vc pode por p exemplo se o cara e tutor e so saber usar o comando /info nomedoplayer vc pode por p se ele usar + de 5x ele n poder usar + ou pode se ele usar tirar mana hp sei la ai vc pode faze oq quiser. @topico Mto bom n sabia q dava p fazer via lua. Compartilhar este post Link para o post
UrsO 0 #6 Postado 13 Novembro, 2008 O mais legal é que é por talkactions, não precisa compiliar o servidor com a função nem nada... Legal ;] Compartilhar este post Link para o post
Snap 0 #7 Postado 13 Novembro, 2008 Edita o post e coloca ae.. E avisa que só funciona pra versão 0.3 do TFS Autor: Elf, TFS Developer. Compartilhar este post Link para o post
Marcelo Côrtes 0 #8 Postado 13 Novembro, 2008 O mais legal é que é por talkactions, não precisa compiliar o servidor com a função nem nada... Legal ;] Legal também que com o tanto de funções, se tiver bastante online e não for num dedicado, não vai dar muito certo... Não recomendaria um gm lá do ot polaco fazer isso... ^^ ~nice code bem complexo o code... Compartilhar este post Link para o post
phmarins 0 #9 Postado 13 Novembro, 2008 Eita cara, errebentou aí ein? Muita imaginação isso nota 10 seu trabalho! Compartilhar este post Link para o post
Jereziah 0 #10 Postado 18 Novembro, 2008 O.o Gostei mesmo cara. Me surpreendeu agora. Vou usa-lo Concerteza. Muito Obrigado pelo Post. Compartilhar este post Link para o post
Kaska. 0 #11 Postado 24 Novembro, 2008 Parabéns, muito rox :B Continue assim e tera futuro Compartilhar este post Link para o post
MotoBoy 0 #12 Postado 24 Novembro, 2008 =O~~ cara.. tentei elr seu script.. mais tah impossivel x.x num conheço um monte de comando ae vc fez do 0 msm? soh vc? x.x parabéns cara.. vc eh um futuro Nostradamus x.x flws~~ Compartilhar este post Link para o post
mendez 0 #13 Postado 24 Novembro, 2008 =O~~cara.. tentei elr seu script.. mais tah impossivel x.x num conheço um monte de comando ae vc fez do 0 msm? soh vc? x.x parabéns cara.. vc eh um futuro Nostradamus x.x flws~~ Vcs taum perdendo a noção? isso ai vem no tfs oO Compartilhar este post Link para o post
Mock 32 #14 Postado 27 Novembro, 2008 getIPByName(player) pena q no q eu uso 2.14 n tem essa função :/ Compartilhar este post Link para o post
gnomow157 0 #15 Postado 24 Fevereiro, 2009 getIPByName( player) Mesmo problema aqui xD Compartilhar este post Link para o post