الموضوع: FindGm
عرض مشاركة واحدة
احصائياتى

الردود
4

المشاهدات
3861
 
محمد ياسر

محمد ياسر is on a distinguished road

    غير متواجد

المشاركات
1,940

+التقييم
0.87

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

الاقامة
https://www.facebook.com/daany

نظام التشغيل

رقم العضوية
1
2019-04-23, 04:11 PM
المشاركة 1 
#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 1000CPSMoney 1001;
        
//static int CurrentBoxes = 0;
        
public static Conquer_Online_Server.Interfaces.INpc npc;
        static 
ushort tempXtempY 0;
        
//static uint BaseId = 101002;
        
static List<PointVaildOnes = 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[tempXtempYMapObjectType.Itemnull])
                    {
                        
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.tempX;
                        
npc.tempY;
                        
npc.Name "YouFindMe";
                        
Map.AddNpc(npc);
                        
//CurrentBoxes++;
                        
Kernel.SendWorldMessage(new Message("[Quest GM] Find GM in Map" + ((Enums.Maps)Mapid).ToString(), Color.RedMessage.Service));
                        
Console.WriteLine(npc.Name " has shown up in " + ((Enums.Maps)npc.MapID).ToString() + " (" npc.", " npc.")");
                    }
                    else goto 
Caspr;
                }
            }
            catch (
Exception e)
            {
                
Console.WriteLine(e.ToString());
            }

        }

        public static 
void Reward(GameClient client)
        {

            
int prize Kernel.RandFromGivingNums(ITEMSCPSMoney);
            
//#warning TREASURE BOX PRIZE
            
switch (prize)
            {
                default:
                case 
CPSMoney:
                    {
//Conan
                        
uint amount = (uint)Kernel.RandFromGivingNums(50000001000000090000007000000);
                        
client.Entity.ConquerPoints += amount;
                        
Kernel.SendWorldMessage(new Message(client.Entity.Name " got " amount " CPs while Find GM " + ((Enums.Maps)Mapid).ToString(), Color.WhiteMessage.Talk));
                        break;
                    }
                case 
ITEMS:
                    {
                       
// Database.ConquerItemBaseInformation temp;
                        
uint itemid = (uint)Kernel.RandFromGivingNums(72731772912230042473004249300424830058923005891);
                        
client.Inventory.Add(itemid01);
                        
//Database.ConquerItemInformation.BaseInformations.TryGetValue(itemid, out temp);
                        
Kernel.SendWorldMessage(new Message(client.Entity.Name " Got " ITEMS " while Find GM " + ((Enums.Maps)Mapid).ToString(), Color.WhiteMessage.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.ActiveNpcID 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 

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

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




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

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

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

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