احصائياتى

الردود
6

المشاهدات
1138
 
Hazem
.:: المدير العام::.

    متواجد  الان

المشاركات
2,307

+التقييم
0.84

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

الاقامة
Egypt

نظام التشغيل
windows 7

رقم العضوية
1
2019-04-23, 04:11 PM
المشاركة 1
2019-04-23, 04:11 PM
المشاركة 1
Post FindGm


بسم اللة الرحمن الرحيم

بما ان المجال نايم ننزل حاجة تنعنش الناس فكرة FindGm

من سورس ماتركس فكرة سهلة و بسيطة و جميلة

حضرتك هتعمل كلاس ف اي مكان باسم FindGm

و تضيف فية ,


كود:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Generic;
using Conquer_Online_Server.Game;
using Conquer_Online_Server.Database;
using Conquer_Online_Server.Network.GamePackets;
using System.Drawing;
using Conquer_Online_Server.Client;

namespace 
Conquer_Online_Server
{
    class 
FindGm
    
{

        static 
ushort Mapid = (ushort)Kernel.RandFromGivingNums(1036);
        static 
Map Map = Kernel.Maps[Mapid];
        const 
int ITEMS = 1000, CPSMoney = 1001;
        
//static int CurrentBoxes = 0;
        
public static Conquer_Online_Server.Interfaces.INpc npc;
        static 
ushort tempX, tempY = 0;
        
//static uint BaseId = 101002;
        
static List<Point> VaildOnes = new List<Point>();
        
//public static bool OnGoing;

        
public static void Generate()
        {
            try
            {
                {
                    if (
Map != null)
                    {
                        if (
npc != null)
                        {
                            
Map.RemoveNpc(npc);
                        }
                    }
                    
Mapid = (ushort)Kernel.RandFromGivingNums(1036);
                    
Map = Kernel.Maps[Mapid];
                
Caspr:
                    var 
cord = Map.RandomCoordinates();
                    
tempX = cord.Item1;
                    
tempY = cord.Item2;
                    if (
Map.Floor[tempX, tempY, MapObjectType.Item, null])
                    {
                        
npc = new Network.GamePackets.NpcSpawn();
                        
npc.UID = Map.EntityUIDCounter.Next;
                        
npc.Mesh = (ushort)Kernel.RandFromGivingNums(29686);
                        
npc.Type = Enums.NpcType.Talker;
                        
npc.MapID = Map.ID;
                        
npc.X = tempX;
                        
npc.Y = tempY;
                        
npc.Name = "YouFindMe";
                        
Map.AddNpc(npc);
                        
//CurrentBoxes++;
                        
Kernel.SendWorldMessage(new Message("[Quest GM] Find GM in Map" + ((Enums.Maps)Mapid).ToString(), Color.Red, Message.Service));
                        
Console.WriteLine(npc.Name + " has shown up in " + ((Enums.Maps)npc.MapID).ToString() + " (" + npc.X + ", " + npc.Y + ")");
                    }
                    else goto 
Caspr;
                }
            }
            catch (
Exception e)
            {
                
Console.WriteLine(e.ToString());
            }

        }

        public static 
void Reward(GameClient client)
        {

            
int prize = Kernel.RandFromGivingNums(ITEMS, CPSMoney);
            
//#warning TREASURE BOX PRIZE
            
switch (prize)
            {
                default:
                case 
CPSMoney:
                    {
//Conan
                        
uint amount = (uint)Kernel.RandFromGivingNums(5000000, 10000000, 9000000, 7000000);
                        
client.Entity.ConquerPoints += amount;
                        
Kernel.SendWorldMessage(new Message(client.Entity.Name + " got " + amount + " CPs while Find GM " + ((Enums.Maps)Mapid).ToString(), Color.White, Message.Talk));
                        break;
                    }
                case 
ITEMS:
                    {
                       
// Database.ConquerItemBaseInformation temp;
                        
uint itemid = (uint)Kernel.RandFromGivingNums(727317, 729122, 3004247, 3004249, 3004248, 3005892, 3005891);
                        
client.Inventory.Add(itemid, 0, 1);
                        
//Database.ConquerItemInformation.BaseInformations.TryGetValue(itemid, out temp);
                        
Kernel.SendWorldMessage(new Message(client.Entity.Name + " Got " + ITEMS + " while Find GM " + ((Enums.Maps)Mapid).ToString(), Color.White, Message.BroadcastMessage));
                        break;
                    }
            }

            
//CurrentBoxes--;
            // client.Entity.ConquerPoints += 1000;
            // client.Entity.TreasuerPoints += 1;
        
}
    }
} 

بعد كدة حضرتك هتخش ع كلاس Npc.Cs

و ف اخروا او تبحث عن

كود:
if (client.ActiveNpc >= 101002 && client.Entity.MapID == 10002) 

عشان مش تتلغبط بس

و تضيف فوقة ,

كود:
if (FindGm.npc != null)
                           if (
client.ActiveNpc == FindGm.npc.UID)
                           {
                                
client.SendScreen(new Network.GamePackets.Data(true) { UID = client.ActiveNpc, ID = Network.GamePackets.Data.RemoveEntity }, true);
                                
client.Map.RemoveNpc(client.Map.Npcs[client.ActiveNpc]);
                                
FindGm.Reward(client);
                            } 

و بعدين نخش ع World و ضيف

كود:
#region FindGm
            
if (Now64.Minute == 25 && Now64.Second == 0)
            {
                
FindGm.Generate();
            }
            
#endregion 

تحت اي اوتو انفينت بقا

صورتين كدة ع الماشي




شرح الفكرة هي عبارة عن وقت محدد انتا بتحددوا اشكل دة هيطلع ف مكان ف الماركت

هتيجي رسالة للعيبة تقولهم انو طلع و اليلقية الاول هيتك علية ياخد هدية

اما ايتم تفتحوا يديك حاجة او سي بي

فكرة سهلة و جميلة




قديم 2019-11-25, 12:55 PM
المشاركة 2
midoazoz
.:: عضو خبير ::.
  • غير متواجد
افتراضي رد: FindGm
لما بتشتغل بتجيب ايرور في القونصول في

كود:
var cord = Map.RandomCoordinates(); 


قديم 2019-11-25, 05:08 PM
المشاركة 3
Rider
.:: نائب المدير ::.
  • غير متواجد
افتراضي رد: FindGm
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
لما بتشتغل بتجيب ايرور في القونصول في

كود:
var cord = Map.RandomCoordinates(); 
امسح دول

كود:
var cord = Map.RandomCoordinates();
                    
tempX = cord.Item1;
                    
tempY = cord.Item2; 

و حط دول

كود:
tempX = (ushort)Kernel.Random.Next(0, Map.Floor.Bounds.Width);
                    
tempY = (ushort)Kernel.Random.Next(0, Map.Floor.Bounds.Height); 


قديم 2019-11-25, 05:08 PM
المشاركة 4
Rider
.:: نائب المدير ::.
  • غير متواجد
افتراضي رد: FindGm
ايوه بقا يا مولعها عاش

قديم 2020-12-03, 06:45 AM
المشاركة 5
azzwwa
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: FindGm
تسلم ايدك يا نجم مصر

قديم 2020-12-07, 04:00 AM
المشاركة 6
abdocoder
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: FindGm
تسلم

قديم 2021-01-17, 12:50 PM
المشاركة 7
so3da
.:: عضو مميز ::.
  • غير متواجد
افتراضي رد: FindGm
عاش


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



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

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



الساعة الآن 11:03 AM