21.YILTürkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor. Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor.
  • ANASAYFA
  • ULTIMA ONLINE
  • FORUM
  • DOKÜMAN
  • İNDİR
   Üye ol    Giriş
929
72
  1. Anasayfa
  2. UO Scriptleri
  3. RunUO Scripts
  4. Misc
  5. Kral Seçimleri
Aramachus

Kral Seçimleri

  • Aramachus
  • 2008-02-16 10:16
  • 0 Yorumlar
  • 1512 Görüntüleme
using System;
using Server;
using Server.Mobiles;
using Server.Network;

namespace Server.Costum
{
public class King
{
public static Mobile TheKing = null;
private const string m_Title = "[King]";
private static TimeSpan m_Delay = TimeSpan.FromSeconds(1.0); //Gecikme payi *Teorik olarak sadece birkez çalisiyor, server açildiginda girdiginiz süre kadar sonra ilk seçim yapilir, bundan sonra asagidaki interval etkileyici roldedir*
private static TimeSpan m_Interval = TimeSpan.FromMinutes(15.0); //Seçim araligi

/// <summary>
/// Her interval kadar sürede bir kral seçimi yapilir
/// </summary>
public static void Initialize()
{
Timer.DelayCall(m_Delay, m_Interval, new TimerCallback(SelectKingCallback));
}

private static void SelectKingCallback()
{
try
{
Console.WriteLine("Kral seçimleri basladi");
RemoveOldKing();
SelectNewKing();
}
catch
{
Console.WriteLine("Kral seçimlerinde bir hata olustu");
}
finally
{
AnnounceNewKing();
}
}

/// <summary>
/// Eski kral silinir
/// </summary>
/// <returns></returns>
private static void RemoveOldKing()
{
if (TheKing != null)
TheKing.Title = null;
}

/// <summary>
/// Online oyuncular arasindan yeni bir kral seçilir
/// </summary>
/// <returns></returns>
private static Mobile SelectNewKing()
{
Mobile m_Candidate = null;

if (NetState.Instances.Count >= 10)
{
foreach (NetState n in NetState.Instances)
{
if (n.Mobile != null)
{
m_Candidate = n.Mobile;

if (TheKing == null)
{
TheKing = m_Candidate;
continue;
}

if (m_Candidate.Title == m_Title)
{
m_Candidate.Title = null;
}

if (m_Candidate.NetState != null && m_Candidate.Kills > TheKing.Kills)
{
TheKing = m_Candidate;
}
}
}
}
return m_Candidate;
}

/// <summary>
/// Seçilen krali anons eder
/// </summary>
private static void AnnounceNewKing()
{
if (TheKing != null)
{
Console.WriteLine("Krallik seçimi bitti, kral = {0}", TheKing.Name);
World.Broadcast(1153, false, "Yeni kral seçildi, [{0}]", TheKing.Name);
TheKing.Title = m_Title;

DoEffect();
}
else
{
World.Broadcast(1153, false, "Yeni bir kral seçilemedi...");
Console.WriteLine("Yeni bir kral seçilemedi");
}
}

private static void DoEffect()
{
Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(TheKing.X - 6, TheKing.Y - 6, TheKing.Z + 15), TheKing.Map), TheKing, 0x36D4, 7, 0, false, true, 1160, 0, 9502, 1, 0, (EffectLayer)255, 0x100);
Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(TheKing.X - 4, TheKing.Y - 6, TheKing.Z + 15), TheKing.Map), TheKing, 0x36D4, 7, 0, false, true, 1160, 0, 9502, 1, 0, (EffectLayer)255, 0x100);
Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(TheKing.X - 6, TheKing.Y - 4, TheKing.Z + 15), TheKing.Map), TheKing, 0x36D4, 7, 0, false, true, 1160, 0, 9502, 1, 0, (EffectLayer)255, 0x100);
}
}
}

Değerlendirmeler

0 0

Total votes: 0

Üye Ol veya Giriş Yap

Bu içeriğe yorum atmak istiyorsanız hemen üye olun veya giriş yapın.

Discord ile Bağlan
Twitch ile Bağlan
Steam ile Bağlan
Google ile Bağlan

Yorumlar (0)

Henüz yorum yapılmamış
Sadece kayıtlı kullanıcılar yeni yorum yapabilir.


Ultima-Strike Discord
Benzer Sayfalar
  • Kral Sistemi

    2008-10-21 23:15



  • Son Forumlar
  • Sayfalar
  • Tovertis
    WEST ULTİMA ONLİNE

    Sunucular 1 saat önce

  • J7
    RAMPAGE PVP

    Sunucular 10 saat önce

  • DarkSlayTR
    UORoots - Köklerine dön! Baştan sona Türkçe...

    Sunucular 1 gün önce

  • AnhElUs 333
    Eryndor UO

    Sunucular 1 gün önce

  • crazydodo
    UO:Nimloth Yeniden Doğuyor !

    Sunucular 1 gün önce

  • crazydodo
    Düzgün bir RP ya da PP yok mudur?

    Sunucular 1 gün önce

  • Syntax
    UOFiddler Arama Plugin

    Ultima Online 5 gün önce

  • mastik750
    Üyeliği 20 yıl ve üstünde olanlar.

    Ultima Online 1 hafta önce

  • Mortal
    SphereNet: SphereServer Source-X'in Modern .NET 9...

    Ultima Online 1 hafta önce

  • stark_nephilim_uo
    Nephilim Pvp - Age Of Gold

    Sunucular 1 hafta önce

  • Nero Pvp
    NERO PVP 20/09/2026 PAZAR AKTİF OLACAKTIR.

    Sunucular 1 hafta önce

  • Rowall
    Volantis Ultima Online Hakkında

    Sunucular 1 hafta önce

  • MtHan
    Runuo daha iyi değil mi ya?

    Ultima Online 2 hafta önce

  • Morechild
    Moongate üzerinden geçince 1,1 konumuna atıyor.

    Sphere Scripting 3 hafta önce

  • Tayfun Dayioglu
    New Hope UO | Custom ML Era | Seviyeli Sınıf...

    Sunucular 2 ay önce

  • UOFiddler Arama Plugin

    2026-10-01 15:40

  • Ultima Online .mul Konu anim4.mul ile Binek ekleme

    2026-01-25 20:19

  • MMORPG'de Devrim Yaptı: Sınıf Tanımayan Ultima Online!

    2025-12-27 21:13

  • Ultima Online'ın Oynanışını Tamamen Değiştiren Harita Kararı!

    2025-12-23 23:17

  • Yeni Başlayanlar İçin Ultima Online

    2025-11-27 19:07

  • Skill seçimlerinizi planlamak artık çok daha kolay

    Ultima Online Karakter Yapılandırma Aracı Bölümü Açıldı!

    2024-10-31 22:47

  • Ultima Online topluluğu, ClassicUO'nun sadece web client olarak kullanılabileceğinin açıklanmasının ardından tepkili.

    Resmi UO, Oyuncuları İkiye Böldü: Web Client Yeterli mi?

    2024-10-14 17:45

  • Ultima Online, ClassicUO ile resmi işbirliği yapıyor! Performans iyileştirmeleri, geniş oyun penceresi ve daha fazlası geliyor.

    Ultima Online, ClassicUO ile Resmi İşbirliğine Gidiyor

    2024-09-26 14:21

Menü
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • İNDİR
  • İLETİŞİM
  • Bağlantılar
  • CS 1.6 indir
  • CS 1.6 Türkçe
  • CS 1.6 Bot
  • CS 1.6 CFG
  • CS 1.6 Rate Ayarları
  • UO Server
  • Ghost Mouse indir
  • FPS Nedir?
  • Ultima Online PVP Server
  • Makroman
  • UO Karakter Yapılandırma
    © 2004 - 2026 Ultima-Strike. Her hakkı saklıdır.