tarteauxpommes

Membre
  • Message(s) posté(s)

    54
  • Inscrit(e) le

  • Dernière visite

  • Days Won

    1

tarteauxpommes last won the day on May 11 2015

tarteauxpommes had the most liked content!

2 abonnés

À propos de tarteauxpommes

  • Rang
    Semi-pro

Visiteurs récents du profil

618 visualisations du profil
  1. Sympa mais vite dépassé sans le générateur de code
  2. J'ai encore les sources s'il y a des curieux
  3. Commence par en dessiner une seule, sinon c'est que tu t'es trompé dans Points
  4. Au hasard ZipHelper ça zip ?
  5. Fallait pas le décompiler PS : Même impression en te lisant, ça fait mal au crâne PS2 : Si tu veux faire les même choses que Stump à dans 3 semaines ans.
  6. Parce que vous ne savez pas faire autre chose que copier
  7. PS: ce soundfordofus de "uskeerz" vient en réalité de Xeo, SthaliSoundMachine.exe Correction il vient de stump, plus particulierement de l'uplauncher d'arkalys using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Windows.Forms; using Uplauncher.Helpers; using Uplauncher.Properties; namespace Uplauncher { public class SoundProxy { private readonly Socket m_clientListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); private readonly Socket m_regListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); private Socket m_regClient; private readonly List<SoundClient> m_clients = new List<SoundClient>(); private SoundClient m_mainClient; public bool Started { get; private set; } public void StartProxy() { if (Started) return; ClientPort = NetworkHelper.FindFreePort(50000, 51000); try { m_clientListener.Bind(new IPEndPoint(IPAddress.Loopback, ClientPort)); m_clientListener.Listen(8); } catch (SocketException) { MessageBox.Show(string.Format("Le port {0} est déjà utilisé. Impossible de lancer le proxy du son. Le son sera coupé", ClientPort), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } RegPort = NetworkHelper.FindFreePort(ClientPort + 1, 51000); try { m_regListener.Bind(new IPEndPoint(IPAddress.Loopback, RegPort)); m_regListener.Listen(1); } catch (SocketException) { MessageBox.Show(string.Format("Le port {0} est déjà utilisé. Impossible de lancer le proxy du son. Le son sera coupé", RegPort), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var args = new SocketAsyncEventArgs(); args.Completed += (sender, e) => OnClientConnected(e); if (!m_clientListener.AcceptAsync(args)) { OnClientConnected(args); } var argsReg = new SocketAsyncEventArgs(); argsReg.Completed += (sender, e) => OnRegConnected(e); if (!m_regListener.AcceptAsync(argsReg)) { OnRegConnected(argsReg); } Started = true; } private void OnClientConnected(SocketAsyncEventArgs e) { var client = new SoundClient(e.AcceptSocket); m_clients.Add(client); var args = new SocketAsyncEventArgs(); args.Completed += (sender, arg) => OnClientReceived(arg); args.SetBuffer(new byte[8192], 0, 8192); args.UserToken = client; if (!e.AcceptSocket.ReceiveAsync(args)) OnClientReceived(args); var listenArgs = new SocketAsyncEventArgs(); listenArgs.Completed += (sender, x) => OnClientConnected(x); if (!m_clientListener.AcceptAsync(listenArgs)) { OnClientConnected(listenArgs); } } private void RemoveClient(SoundClient client) { m_clients.Remove(client); } private void OnClientReceived(SocketAsyncEventArgs e) { while (true) { if (e.BytesTransferred == 0 || e.SocketError != SocketError.Success) { ((SoundClient) e.UserToken).Socket.Disconnect(false); RemoveClient((SoundClient) e.UserToken); } else { if (m_regClient == null || !m_regClient.Connected) { ((SoundClient) e.UserToken).Socket.Disconnect(false); RemoveClient((SoundClient) e.UserToken); } else { var message = Encoding.ASCII.GetString(e.Buffer, e.Offset, e.BytesTransferred); if (((SoundClient) e.UserToken).ID == 0 && message.Contains("sayHello")) { // example: 1366402807812=>sayHello(1366402807812,C:\Users\Bouh2\Desktop\Dofus\Dofus 2.10\app/config.xml)| var index = message.IndexOf("sayHello") + ("sayHello").Length; var idStr = message.Substring(index + 1, message.IndexOf(",", index) - (index + 1)); ((SoundClient) e.UserToken).ID = long.Parse(idStr); } Debug.WriteLine("CLIENT : " + message); m_regClient.Send(e.Buffer, e.Offset, e.BytesTransferred, SocketFlags.None); if (!((SoundClient) e.UserToken).Socket.ReceiveAsync(e)) continue; } } break; } } private void OnRegConnected(SocketAsyncEventArgs e) { while (true) { if (m_regClient == null || !m_regClient.Connected) { m_regClient = e.AcceptSocket; var args = new SocketAsyncEventArgs(); args.Completed += (sender, arg) => OnRegReceived(arg); args.SetBuffer(new byte[8192], 0, 8192); args.UserToken = e.AcceptSocket; if (!e.AcceptSocket.ReceiveAsync(args)) OnRegReceived(args); } var listenArgs = new SocketAsyncEventArgs(); listenArgs.Completed += (sender, x) => OnRegConnected(x); if (!m_regListener.AcceptAsync(listenArgs)) { e = listenArgs; continue; } break; } } private void OnRegReceived(SocketAsyncEventArgs e) { while (true) { if (e.BytesTransferred == 0 || e.SocketError != SocketError.Success) { ((Socket) e.UserToken).Disconnect(false); } else { var message = Encoding.ASCII.GetString(e.Buffer, e.Offset, e.BytesTransferred); Debug.WriteLine("REG : " + message); // example : main_client_is():1366402807812| if (message.Contains("main_client_is():")) { var index = message.IndexOf("main_client_is():") + ("main_client_is():").Length; var idStr = message.Substring(index, message.IndexOf("|", index) - index); var id = long.Parse(idStr); m_mainClient = m_clients.First(x => x.ID == id); } foreach (var soundClient in m_clients) { soundClient.Socket.Send(e.Buffer, e.Offset, e.BytesTransferred, SocketFlags.None); } if (!((Socket) e.UserToken).ReceiveAsync(e)) continue; } break; } } public int RegPort { get; set; } public int ClientPort { get; set; } } }
  8. Désespérant cette communauté, c'est le plus gros partage jamais fait pour l'émulation depuis le début et ces gamins sont trop bornés pour le voir On va peut être enfin voir des vrais serveurs, et ça va peut être attirer du bon monde dans cette communauté, bonne initiative !