Icerige atla
Extraloob

Silkroad Bot yazılımı?

· 36 Yanıt · 58K görüntüleme · Sayfa 2 / 2
Yanıtlar
H
hk1406 ⭐ 18y
#21
Vb6da Bot Yazmasın ki ,Vb6dan anlayan bunu bilir Botu Yazsan Bile Oyun Kabul etmez En İyisi AutoIt'le Yaz ama OdaGörsel Bi Program değil Kodlarla Yazıon . En İyisi Vb6 AutoIt Script Kullanmak AutoIt'ın Kodlarını Vb6'da Kullana Bilrisin yaz Google Vb6'da AutoIt Kullanımı Diye Çıkar.
D
djbm ⭐ 18y
#22
Arkadasım Bot Yazmak Kolay Değil Bende Bu Konu Ustunde Ugrasıyorum Yazınıda Görunce Bir Bakayım Dedim Ama Acemi Biri Hemen Yapamaz Onu Ben Bu Konu Ustunde Asagı yukarı 1 senedir araştırma yapıyorum ve elimde bayagı veri var bunları birleştirerek kendin bir bot yazabilirsin ben sana kucuk bir orenek vereyim
Programlarda OpCode Denilen Bir Sistemler Clien => Server Veya Server => Clien Arasında Veri Alışverisi olur Sen Burda O verileri ele gecirip geri sen yolluyorssun
Bunlar Zszc Nın OpCodeleri

Char Update Opcode
-----
3013
-----
Walk Opcode
-----
7021
-----
Target Opcode
-----
7045
-----
Normal Attack Opcode
-----
7074
-----
Being Attacked Opcode
-----
3057
-----
Mob Spawn Opcode
-----
3013
-----
Mob Died Opcode
-----
30BF
-----
chat opcode
-----
3026
-----
Gold Update
-----
304E
-----
HP/MP Update
-----
3057
-----
Storage Info opcode
-----
B046
-----
char Info Opcode
-----
303D
-----
Object Action
-----
B070
-----
Group Spawn Opcode
-----
30D0
-----
Talk to Storage Opcode
-----
7045 (3F010000)
-----
Open Storage Opcode
-----
7046 (3F01000004000000)


Kücük Bir C# Örnegi Daha Bendede Üzerinde Ugrasıyorum 😄

Normal Atak
(7074)01010101[sMonsterID]

Skill Atak
(7074)0104[SkillID]0101[sMonsterID]

Buff/Imbue
(7074)0104[SkillID]00

Pick
(7074)01020101[ItemID]

Bunları Yapıp Şifreleyip Servera Yolluyorsun Ve Hallloluyor
bu şifreleme önce StringToByteArray sonrada StringToHex Yapman lazım Birtane Kücük Bi Örnek Daha Vereyim Mesela Sroda Notice Gecebilirsin

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        private static bool exit = false;
        private static ConnectedSocket Socket = new ConnectedSocket();

        static void Main(string[] args)
        {
            Socket.Connect("127.0.0.1", 9000);
            Console.WriteLine("Connection established!");

            while (exit == false)
                ConsoleRead(Console.ReadLine());
        }

        private static void ConsoleRead(string msg)
        {
            string cmd = msg.Substring(0, 1);
            switch (cmd)
            {
                case "~":
                    SendNotice(msg.Substring(1));
                    break;
            }
        }

        private static void SendNotice(string notice)
        {
            byte[] msg = Functions.StringToByteArray(Functions.StringToHex(notice));

            PacketWriter writer = new PacketWriter();
            writer.AppendOpCode(0x3026);
            writer.AppendSecurity(1);
            writer.AppendByte(7);
            writer.AppendWord((ushort)notice.Length);
            writer.AppendByteArray(msg);
            Socket.Send(writer.GetPacket());
        }
    }
}


ConnectedSocket.cs
using System;
using System.Net;
using System.Net.Sockets;

namespace ConsoleApplication1
{
    class ConnectedSocket
    {
        private Socket winSock;

        public void Connect(string IP, int Port)
        {
            winSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress IPA = IPAddress.Parse(IP);
            IPEndPoint IPEP = new IPEndPoint(IPA, Port);
            try
            {
                winSock.Connect(IPEP);
            }
            catch (SocketException se)
            {
                Console.WriteLine(se.Message);
            }
        }

        public void Send(byte[] data)
        {
            if (winSock.Connected)
            {
                winSock.Send(data);
            }
        }
    }       
}



Functions.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Functions
    {
        public static byte[] StringToByteArray(string hex)
        {
            int NumberChars = hex.Length;
            byte[] bytes = new byte[NumberChars / 2];
            for (int i = 0; i < NumberChars; i += 2)
                bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
            return bytes;
        }

        public static string StringToHex(string Hexstring)
        {
            string ausgabe = string.Empty;
            StringBuilder SB = new StringBuilder();
            for (int i = 0; i < Hexstring.Length; i++)
                SB.Append(Convert.ToInt32(Hexstring).ToString("x") + "");
            return SB.ToString();
        }
		
		private byte[] StringToByte(string Komut)
        {
            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
            return encoding.GetBytes(Komut);
        }

        private String ByteToString(byte[] Veri)
        {
            System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
            return enc.GetString(Veri);
        }
    }
}


PacketWriter.cs
/*    <Silkroad Notice Tool written in C#.Net>
    Copyright (C) <2010>  <[email protected]>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

using System;
using System.Collections;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class PacketWriter
    {
        private ArrayList Data = new ArrayList();
        private ArrayList Packet = new ArrayList();
        private int Size = 0;

        public byte[] GetPacket()
        {
            Packet.AddRange(BitConverter.GetBytes((ushort)Size));
            Packet.AddRange(Data);
            return (byte[])Packet.ToArray(typeof(byte));
        }

        public void AppendOpCode(ushort value)
        {
            Data.AddRange(BitConverter.GetBytes(value));
        }

        public void AppendSecurity(byte value)
        {
            Data.Add((byte)value);
            Data.Add((byte)0);
        }

        public void AppendByte(byte value)
        {
            Data.Add((byte)value);
            Size += 1;
        }

        public void AppendWord(ushort value)
        {
            Data.AddRange(BitConverter.GetBytes(value));
            Size += 2;
        }

        public void AppendByteArray(byte[] value)
        {
            Data.AddRange(value);
            Size += value.Length;
        }

    }
}



Artık Benden Bukadar Arkadasım Bilgiler İnsallah İşine Yaramıstır 😊
sarkolata
sarkolata ⭐ 17y
#23
Vb6da Bot Yazmasın ki ,Vb6dan anlayan bunu bilir Botu Yazsan Bile Oyun Kabul etmez En İyisi AutoIt'le Yaz ama OdaGörsel Bi Program değil Kodlarla Yazıon . En İyisi Vb6 AutoIt Script Kullanmak AutoIt'ın Kodlarını Vb6'da Kullana Bilrisin yaz Google Vb6'da AutoIt Kullanımı Diye Çıkar.

Autoitle bot yazılır da vb ile bot yazılmaz mı 😄
Autoit ile yaptığın botla dalga geçerler yahu 😄
C
#25
millete yanlış bilgi vermeyin arkadaşım pont deil pointer(işaretçi) denir ona verinin bellekteki adresini saklar vb veya c# ile yapamamanın sebebide sana izin vermemesidir misal 10 elemanlık bir dizi tanımlayıp 11 inci elemana erişmeye çalışırsan program hata verir ama bunu C veya C++ ile yaparsan böyle bir hata almazsın(eğer bellek sınırları dışına çıkmadıysan tabi) vb ve C# ın bu managed code dene özelliğinin avantajıda vardır dezavantajıda.avantajı şudur programda atıyorum x diye bi değişken kullandın 1 defaya mahsus sonrada bütün program boyunca boş boş durucakmı bu x tabiki hayır C# bunu takip edecek ve kullanılmıyosa bellekten silecek,bu en basit örnek
CezaAlp
CezaAlp ⭐ 19y
#26
Bu mesaj coldblood123 rumuzlu uyeden alinti yapildi
millete yanlış bilgi vermeyin arkadaşım pont deil pointer(işaretçi) denir ona verinin bellekteki adresini saklar vb veya c# ile yapamamanın sebebide sana izin vermemesidir misal 10 elemanlık bir dizi tanımlayıp 11 inci elemana erişmeye çalışırsan program hata verir ama bunu C veya C++ ile yaparsan böyle bir hata almazsın(eğer bellek sınırları dışına çıkmadıysan tabi) vb ve C# ın bu managed code dene özelliğinin avantajıda vardır dezavantajıda.avantajı şudur programda atıyorum x diye bi değişken kullandın 1 defaya mahsus sonrada bütün program boyunca boş boş durucakmı bu x tabiki hayır C# bunu takip edecek ve kullanılmıyosa bellekten silecek,bu en basit örnek

Harikasın bro da konuyu açan adam öldü
Yaralı style
A
alfonsoxxx ⭐ 19y
#27
Son durum nedir benimde bu konu üzerinde merakım araştırmalarım oluyor konuyu acan arkadaş 2010 da açmış 4 sene geçmiş üzerinden gelişmeleri merak ediyorum doğrusu
Saian S.S
Saian S.S ⭐ 19y
#28
Umarım süper birşey ortaya koyarsın kolay gelsin dostum herkesi an be an bilgilendirirsen seviniriz
Kurtuluş Kavgada Zafer Cephe'de !
sarkolata
sarkolata ⭐ 17y
#29
Bu mesaj Nina Ricci rumuzlu uyeden alinti yapildi
visual basic ile imkansız olmayan hiçbir şey yoktur 1 tane özellik dışında.bot yazmak için pointler kullanılır.her mob isminin levelinin , npc isminin point'i vardır.bu point anca autoit ile gerçekleştirilir vb ile yapman imkansız.skilleri okutamazsın , hp-mp çağıramazsın.ha kodları yazarsın adresleride uygun hale getirirsin mantıken doğru olur fakat oyuna bunu kabul ettiremezsin işte burada point denilen bir özellik araya giriyor.oda sadece autoit'te mevcut ^^


@Nina Ricci naptın aga sen 😄
Bonfire
Bonfire ⭐ 11y
#30
ben macro kullanıyorum.bot yapmak zahmetli ve gereksiz bence.
Nina Ricci
Nina Ricci ⭐ 17y
#31
Bu mesaj sarkolata rumuzlu uyeden alinti yapildi
Bu mesaj Nina Ricci rumuzlu uyeden alinti yapildi
visual basic ile imkansız olmayan hiçbir şey yoktur 1 tane özellik dışında.bot yazmak için pointler kullanılır.her mob isminin levelinin , npc isminin point'i vardır.bu point anca autoit ile gerçekleştirilir vb ile yapman imkansız.skilleri okutamazsın , hp-mp çağıramazsın.ha kodları yazarsın adresleride uygun hale getirirsin mantıken doğru olur fakat oyuna bunu kabul ettiremezsin işte burada point denilen bir özellik araya giriyor.oda sadece autoit'te mevcut ^^


@Nina Ricci naptın aga sen :D


Seneye baksana sen makara:
Chorus
Chorus Yönetici ⭐ 19y
#32
Bu mesaj Nina Ricci rumuzlu uyeden alinti yapildi
Bu mesaj sarkolata rumuzlu uyeden alinti yapildi
Bu mesaj Nina Ricci rumuzlu uyeden alinti yapildi
visual basic ile imkansız olmayan hiçbir şey yoktur 1 tane özellik dışında.bot yazmak için pointler kullanılır.her mob isminin levelinin , npc isminin point'i vardır.bu point anca autoit ile gerçekleştirilir vb ile yapman imkansız.skilleri okutamazsın , hp-mp çağıramazsın.ha kodları yazarsın adresleride uygun hale getirirsin mantıken doğru olur fakat oyuna bunu kabul ettiremezsin işte burada point denilen bir özellik araya giriyor.oda sadece autoit'te mevcut ^^


@Nina Ricci naptın aga sen :D


Seneye baksana sen makara:


Eski mesajlarını okuyup utanmak makara:
Nina Ricci
Nina Ricci ⭐ 17y
#33
Sarko ban konu kilit 😁
A
alibey587 ⭐ 18y
#34
ARKADAŞLAR BENDE OTO EXCHANGE KABUL ETMESİNİ VE KARŞI TARAFTAN BELİRTİLEN MİKTAR KADAR PARA ALMASINI VE VERİLMEZSE O KİŞİYİ 5 DK İÇİNDE PARTYDEN ATMASINI İSTİYORUM AYRICA BELİRTİLEN MKTARIN KATLARI VERİLDİĞİNDE DE TAXİ SÜRESİNİ UZATMASINI İSTİYORUM SADECE BÖYLE BİR PROĞRAM YAPMAK İSTİYORUM BANA NASIL OYUN İLE BAĞLANTI KURABİLİRİM ONU AÇIKLAYABİLECEK ARKADAŞ VARMI ACABAA...?
H
#35

Merhaba arkadaslar.Visual Basic diliyle bir Bot yazmak istiyorum.Daha once knight online icin Koxp yazıyordum.Kısaca VB bilgim Orta Derecede.

Eğer bot yapımını bilen arkadaslar varsa yardımcı olursa cok sevınırım

teşşekürler.

konu hort
yaptığım şeyin yanlış olduğunu biliyorum ancak şöyle birşey belirtmek istiyorum
arkadaşın bu konuyu başlatmasından bu yana 12 yıl geçti ve o geçen 12 yıl içerisinde bir türk evladı da bot yapıp piyasaya süremedi
silkroad oyun botu sektörünü arkadaşın bu konuyu yazmasından bir yıl sonra PhBot isimli bir bot piyasaya çıktı ve şuanda o botun geldiği
nokta yani silkroadın 2006 da çıkmasından bir yıl sonra piyasaya çıkan SBot isimli botun önüne geçti piyasayı domine eden bir bot oldu
şuanda ortalama phbotun kullanıcı sayısı geçenlerde hesaplamıştım işsizlikten ortalama tahminimce 30000 ila 40000 kişi arasında ve 8 haftalığını 8 dolara satıyor aylık 240.000$ tekabül eden bir karı olduğunu belirtmek istedim yani demem o ki 12 yıl önce böyle boş işlerle uğraşma diyen kişileri dinlemeseydin gerçekten uğraşıp bir arkadaşın dediği gibi türkbot adında bir bot kodlayıp piyasaya sürseydin şuanda belki çok farklı yerlerde olabilirdin teşekkürler.
A
asiltr ⭐ 18y
#36

konu hort
yaptığım şeyin yanlış olduğunu biliyorum ancak şöyle birşey belirtmek istiyorum
arkadaşın bu konuyu başlatmasından bu yana 12 yıl geçti ve o geçen 12 yıl içerisinde bir türk evladı da bot yapıp piyasaya süremedi
silkroad oyun botu sektörünü arkadaşın bu konuyu yazmasından bir yıl sonra PhBot isimli bir bot piyasaya çıktı ve şuanda o botun geldiği
nokta yani silkroadın 2006 da çıkmasından bir yıl sonra piyasaya çıkan SBot isimli botun önüne geçti piyasayı domine eden bir bot oldu
şuanda ortalama phbotun kullanıcı sayısı geçenlerde hesaplamıştım işsizlikten ortalama tahminimce 30000 ila 40000 kişi arasında ve 8 haftalığını 8 dolara satıyor aylık 240.000$ tekabül eden bir karı olduğunu belirtmek istedim yani demem o ki 12 yıl önce böyle boş işlerle uğraşma diyen kişileri dinlemeseydin gerçekten uğraşıp bir arkadaşın dediği gibi türkbot adında bir bot kodlayıp piyasaya sürseydin şuanda belki çok farklı yerlerde olabilirdin teşekkürler.


Türk botuna burada ulaşabilirsin hocam

GitHub - SDClowen/RSBot: A Silkroad Online Open Source Bot

Onun dışında phbot gibi bir bot varken ölmüş bir oyun için o kadar emek harcayıp bot yazmak ne kadar gerekli bilmiyorum. Haftalık 1$ çok çok ucuz bir fiyat zaten. Botu 300 saatte yazdığını düşünelim (phBot seviyesine gelmez bile bu sürede). Bir yazılımcının en en en az saatlik ücreti 10$ (Rahat 20$ eder ama minimal hesaplayalım). Botun maliyeti 3000$ ediyor. Her yıla 50 hafta dersek, bu fiyata 60 yıllık phbot üyeliği alabiliyorsun. Tek yapılma sebebi hobi olarak olabilir onun dışında uğraşmaya değeceğini düşünmüyorum.

Bir diğer konu bot yazmak öyle 1-2 yazılım öğrenip yapılabilecek bir şey değil. İleri seviye yazılım ve bilgisayar mühendisliği bilgisi gerekiyor. Yani sadece yazılım öğrenerek olacak bir şey değil. C#, VB, Python ile yalandan bir şeyler yazarsın ama C++ ile yazılmış bir performans yakalamak zor. C++ ile de hatasız çalışan bir bot yazmak güven özveri ve tecrübe ister 😊

Yanıt yazmak için giriş yapın.

Giriş Yap
Paylaş: