احصائياتى

الردود
5

المشاهدات
634
 
youssefabdelmanam
.:: عضو نشيط ::.

    غير متواجد

المشاركات
144

+التقييم
0.05

تاريخ التسجيل
May 2019

الاقامة

نظام التشغيل

رقم العضوية
238
2019-12-09, 11:24 PM
المشاركة 1
2019-12-09, 11:24 PM
المشاركة 1
افتراضي تمت الإجابة مشكلة في التوبات
السلام عليكم ورحمة الله وبركاته

عندي دلوقتي مثلا واحد مات في التوب

بيروح مسجل ارينا مثلا ويخش يلعب ارينا

بعد ما يخلص لعب بيصحي في التوب تاني

فا عاوز امنع ان حد يخش ارينا في التوب

وشكرا مقدما للجميع


أفضل جواب - كتبه Alaa Ghanem
خد الحل يا عم بالترتيب
هتدخل علي كلاس World.cs
هتبحث عن ده

كود:
#region clanwar 

لقيتو ؟؟
اقفلو من السالب -
وامسحو
وبعدين افتح كلاس UnionWar.cs
هتمسح كل الي فيه وتحط ده

كود:
// * Created by ZeZoOo
// * Copyright © 2020
// * All rights reserved Mr.ZeZoOo - Project
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mr_ZeZo.Network.GamePackets;
using Mr_ZeZo.Database;

namespace 
Mr_ZeZo.Game
{
    public class 
ClanWar
    
{
        public static 
SobNpcSpawn Pole;
        public static 
SafeDictionary<uint, Clan> Scores = new SafeDictionary<uint, Clan>(100);
        public static 
bool IsWar = false, FirstRound = false;
        public static 
Time32 ScoreSendStamp, LastWin;
        public static 
Clan PoleKeeper, CurrentTopLeader;
        private static 
bool changed = false;
        private static 
string[] scoreMessages;
        public static 
DateTime StartTime;
        public static 
bool Claim
        
{
            
get { return Program.Vars["cwclaim"]; }
            
set { Program.Vars["cwclaim"] = value; }
        }
        public static 
uint KeeperID
        
{
            
get { return Program.Vars["cwkeeperid"]; }
            
set { Program.Vars["cwkeeperid"] = value; }
        }
        public static 
void Initiate()
        {
            
Database.DMaps.LoadMap(1509);
            var 
Map = Kernel.Maps[1509];
            
Pole = (SobNpcSpawn)Map.Npcs[812];
        }
        public static 
void Start()
        {
            
Scores = new SafeDictionary<uint, Clan>(100);
            
StartTime = DateTime.Now;
            
FirstRound = true;
            foreach (
Clan clan in Kernel.Clans.Values)
            {
                
clan.WarScore = 0;
            }
            
Claim = false;
            
IsWar = true;
        }

        public static 
void Reset()
        {
            
Scores = new SafeDictionary<uint, Clan>(100);
            
Pole.Hitpoints = Pole.MaxHitpoints;

            foreach (
Clan clan in Kernel.Clans.Values)
            {
                
clan.WarScore = 0;
            }

            
IsWar = true;
        }

        public static 
void FinishRound()
        {
            
LastWin = Time32.Now;

            
FirstRound = false;
            
SortScores(out PoleKeeper);
            if (
PoleKeeper != null)
            {
                
KeeperID = PoleKeeper.ID;
                
Pole.Name = PoleKeeper.Name;
            }
            
Pole.Hitpoints = Pole.MaxHitpoints;
            
Kernel.SendWorldMessage(Pole, Program.Values, (ushort)1509);
            
Reset();
        }

        public static 
void End()
        {
            if (
PoleKeeper != null)
            {
                
Kernel.SendWorldMessage(new Message("The Union, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won " + rates.Clanwarday + " cps!---Clan war has ended!", System.Drawing.Color.White, Message.Center), Program.Values);

                
PoleKeeper.PoleKeeper = true;
            }
            else
            {
                
Kernel.SendWorldMessage(new Message(" Union has ended and there was no winner ", System.Drawing.Color.Red, Message.Center), Program.Values);

            }
            
Claim = true;
            
IsWar = false;
            
UpdatePole(Pole);
        }

        public static 
void AddScore(uint addScore, Clan clan)
        {
            if (
clan != null)
            {
                
clan.WarScore += addScore;
                
changed = true;
                if (!
Scores.ContainsKey(clan.ID))
                    
Scores.Add(clan.ID, clan);
                if ((int)
Pole.Hitpoints <= 0)
                {
                    
FinishRound();

                    return;
                }
            }
        }

        public static 
void SendScores()
        {
            if (
scoreMessages == null)
                
scoreMessages = new string[0];
            if (
Scores.Count == 0)
                return;
            if (
changed)
                
SortScores(out CurrentTopLeader);

            for (
int c = 0; c < scoreMessages.Length; c++)
            {
                
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
                
Kernel.SendWorldMessage(msg, Program.Values, (ushort)1510);
            }
        }

        private static 
void SortScores(out Clan winner)
        {
            
winner = null;
            List<
string> ret = new List<string>();
            
int Place = 0;
            foreach (
Clan clan in Scores.Values.OrderByDescending((p) => p.WarScore))
            {
                if (
Place == 0)
                    
winner = clan;
                
string str = "No  " + (Place + 1).ToString() + ": " + clan.Name + "(" + clan.WarScore + ")";
                
ret.Add(str);
                
Place++;
                if (
Place == 4)
                    break;
            }

            
changed = false;
            
scoreMessages = ret.ToArray();
        }

        private static 
void UpdatePole(SobNpcSpawn pole)
        {
            new 
Database.MySqlCommand(Mr_ZeZo.Database.MySqlCommandType.UPDATE)
            .
Update("sobnpcs").Set("name", pole.Name).Set("life", Pole.Hitpoints).Where("id", pole.UID).Execute();
        }
    }
    public class 
UnionWar
    
{
        public static 
SobNpcSpawn Pole;
        public static 
SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass> Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
        public static 
bool IsWar = false, FirstRound = false;
        public static 
Time32 ScoreSendStamp, LastWin;
        public static 
Mr_ZeZo.Network.GamePackets.Union.UnionClass PoleKeeper, CurrentTopLeader;
        private static 
string[] scoreMessages;
        public static 
DateTime StartTime;
        public static 
bool Claim
        
{
            
get { return Program.Vars["uwclaim"]; }
            
set { Program.Vars["uwclaim"] = value; }
        }
        public static 
uint KeeperID
        
{
            
get { return Program.Vars["uwkeeperid"]; }
            
set { Program.Vars["uwkeeperid"] = value; }
        }
        public static 
void Initiate()
        {
            
Database.DMaps.LoadMap(1510);
            var 
Map = Kernel.Maps[1510];
            
Pole = (SobNpcSpawn)Map.Npcs[817];
        }
        public static 
void Start()
        {
            
Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
            
StartTime = DateTime.Now;
            
Kernel.SendWorldMessage(new Message("Union war has began!", System.Drawing.Color.Red, Message.Center), Program.Values);
            
FirstRound = true;
            foreach (
Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Kernel.Unions.Values)
            {
                
clan.WarScore = 0;
            }
            
Claim = false;
            
IsWar = true;
        }

        public static 
void Reset()
        {
            
Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
            
Pole.Hitpoints = Pole.MaxHitpoints;

            foreach (
Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Kernel.Unions.Values)
            {
                
clan.WarScore = 0;
            }

            
IsWar = true;
        }

        public static 
void FinishRound()
        {
            
LastWin = Time32.Now;

            
FirstRound = false;
            
SortScores(out PoleKeeper);
            if (
PoleKeeper != null)
            {
                
KeeperID = PoleKeeper.ID;
                
Kernel.SendWorldMessage(new Message("The Union, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won this Union war round", System.Drawing.Color.Red, Message.Center), Program.Values);

                
Pole.Name = PoleKeeper.Name;
            }
            
Pole.Hitpoints = Pole.MaxHitpoints;
            
SendScreen(Pole.ToArray());
            
Kernel.SendWorldMessage(Pole, Program.Values, (ushort)1510);
            
Reset();
        }

        public static 
void End()
        {
            if (
PoleKeeper != null)
            {
                
Mr_ZeZo.Kernel.SendWorldMessage(new Message(" The Union " + PoleKeeper.Name + " claimed the prize [250.000] ConquerPoints for winning the UnionWar ", System.Drawing.Color.Black, Message.Center), Program.Values);
                
PoleKeeper.PoleKeeper = true;
            }
            else
            {
                
Kernel.SendWorldMessage(new Message(" Union war has ended and there was no winner ", System.Drawing.Color.Red, Message.Center), Program.Values);

            }
            
Claim = true;
            
IsWar = false;
            
UpdatePole(Pole);
        }
        public static 
void SendScreen(byte[] buffer)
        {
            foreach (
Client.GameState client in Program.Values)
            {

                if (
client != null)
                {
                    if (
client.Player != null)
                    {
                        {
                            if (
Kernel.GetDistance(client.Player.X, client.Player.Y, Pole.X, Pole.Y) > 18 && client.Player.MapID == 1510)
                            {
                                continue;
                            }
                            
client.Send(buffer);
                        }
                    }
                }
            }
        }
        public static 
void AddScore(uint addScore, Mr_ZeZo.Network.GamePackets.Union.UnionClass clan)
        {
            if (
clan != null)
            {
                
clan.WarScore += addScore;
                if (!
Scores.ContainsKey(clan.ID))
                    
Scores.Add(clan.ID, clan);
                
SendScores();
                if ((int)
Pole.Hitpoints <= 0)
                {
                    
FinishRound();

                    return;
                }
            }
        }
     
        public static 
void SendScores()
        {
            if (
scoreMessages == null)
                
scoreMessages = new string[0];
            if (
Scores.Count == 0)
                return;
            for (
int c = 0; c < scoreMessages.Length; c++)
            {
                
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
                
Kernel.SendWorldMessage(msg, Program.Values, (ushort)1510);
            }
        }

        private static 
void SortScores(out Mr_ZeZo.Network.GamePackets.Union.UnionClass winner)
        {
            
winner = null;
            List<
string> ret = new List<string>();
            
int Place = 0;
            foreach (
Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Scores.Values.OrderByDescending((p) => p.WarScore))
            {
                if (
Place == 0)
                    
winner = clan;
                
string str = "No  " + (Place + 1).ToString() + ": " + clan.Name + "(" + clan.WarScore + ")";
                
ret.Add(str);
                
Place++;
                if (
Place == 4)
                    break;
            }

            
scoreMessages = ret.ToArray();
        }

        private static 
void UpdatePole(SobNpcSpawn pole)
        {
            new 
Database.MySqlCommand(Mr_ZeZo.Database.MySqlCommandType.UPDATE)
            .
Update("sobnpcs").Set("name", pole.Name).Set("life", Pole.Hitpoints).Where("id", pole.UID).Execute();
        }
    }
} 

اشطات كدا بسيطه اهيه
دوس F6 عشان تسيف وبعدين F5 عشان تطبق وتفتح القونصل
اشطا عليك
قديم 2019-12-10, 12:33 AM
المشاركة 2
Commander
.::عضو جديد ::.
الإجابات المقدمة: 8
  • غير متواجد
افتراضي رد: مشكلة في التوبات
اعمل شرط في فوبد Die انو لو مات في الماب ده يوديه التون

قديم 2019-12-10, 06:25 PM
المشاركة 3
youssefabdelmanam
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: مشكلة في التوبات
اعمل شرط في فوبد die انو لو مات في الماب ده يوديه التون
طب ما كدة الواتر مش هيبقي ليه لازمة

قديم 2019-12-11, 01:55 AM
المشاركة 4
Alaa Ghanem
.:: عضو نشيط ::.
الإجابات المقدمة: 4
  • غير متواجد
افتراضي رد: مشكلة في التوبات
بص هقولك ع الفكرة بس مش هقدر اجبلك اكواد عشان مشغول جداً والله اسف

هتعمل أمر او شرط ان لو الاكونت استخدم سكله الريفير الي هيا الصحيان بعد 20 ثانيه دي في المعابه بتاعت التوبات يروح تون
هكتبلك الكود كتابه عشوائيه عشان بجد مش فاضي معلش
If (client.playerId.spellID.
P.Player.teleport(1002, 371, 350)
واسف مره كمان عشان مش عارف اجيبلك الاكواد مظبوطه اعزرني

قديم 2019-12-11, 02:21 AM
المشاركة 5
Rider
.:: نائب المدير ::.
الإجابات المقدمة: 989
  • غير متواجد
افتراضي رد: مشكلة في التوبات
امنع تسجيل ارينا جوه المابه من ارينا نفسها و ف ان بي سي دخول الارينا خليه يقفله الارينا لو مسجل

قديم 2019-12-11, 07:02 AM
المشاركة 6
Alaa Ghanem
.:: عضو نشيط ::.
الإجابات المقدمة: 4
  • غير متواجد

العلامات المرجعية



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

الانتقال السريع

المواضيع المتشابهه للموضوع: مشكلة في التوبات
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
طلب تعديل التوبات ElSaher مشكلات السيرفيرات كونكر الشخصيه 8 2020-02-05 07:36 PM
التعديل علي كل التوبات الكبيره ahmedshetos888 مشكلات السيرفيرات كونكر الشخصيه 5 2020-01-27 09:32 PM
حل مشاكل التوبات فى سورسي وسورس خالد محمد v3 ,v4 MRonlineGvrix تطوير سيرفرات كونكر 12 2019-10-23 09:22 PM
مشكله في التوبات Adel Abd El Hay مشكلات السيرفيرات كونكر الشخصيه 6 2019-08-01 11:52 AM


الساعة الآن 12:30 AM