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. 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
    • Ultima Online Oyuncu Rehberi

      Ultima Online Oyuncu Rehberi

      Oyunu hakkında tanıcı bilgiler ve ipuçları

    • Ultima Online Portal

      Ultima Online Portal

      Ultima Online oyununun topluluk portalı

    • Ultima Online Server List

      Ultima Online Server List

      Önemli özellikleri ve online oyuncu sayıları

    • Ultima Online Script

      Ultima Online Script

      Sphere, RunUO, Razor scriptleri

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 71
   Üye ol    Giriş
201
  1. UO Scriptleri
  2. Sphere Scripts
  3. Npc
  4. Pazar Vendoru

Pazar Vendoru

  • Rowall
  • 2009-07-10 23:22
  • 0 Yorumlar
  • 1649 Görüntüleme
[ITEMDEF i_vendor_kira]
ID=i_grave_stone
NAME=Kiralik Dukkan
TYPE=t_script
DESCRIPTION=Kiralik Vendor

ON=@CREATE
COLOR=0455
ATTR=010
tag0.kiralik=0
tag0.sahip=0


ON=@CLICK
message @1153,,1 <name>
if (<eval <tag0.kiralik>> == 1)
message @2594,,1 [Kiralanmis]
else
message @066d,,1 [Kiralanmamis]
endif
return 1

ON=@DCLICK
IF ( <DISTANCE> > 1 )
SRC.sysMESSAGE @066d,,1 Yeterince yakın değilsiniz.
RETURN 1
ENDIF
SRC.ACT=<UID>
IF !(<eval <SRC.ACT.tag0.kiralik>>)
if (<src.findid.i_vendorumvar>)
src.sysmessage @066d,,1 Sizin zaten vendorunuz var.
return 1
endif
SRC.DIALOG d_vendor_intro
src.tag0.dist <src.act.uid>
RETURN 1
ELSE
IF (<SRC.ACT.LINK.tag0.sahip>==<SRC.UID>)||(<SRC.ISGM>)
VAR.LEASE=<eval <SRC.ACT.TIMER>/60>
VAR.LEASE=<eval <VAR.LEASE>/60>
SRC.menu m_vendor_admin
RETURN 1
ELSE
SRC.SYSMESSAGE @066d,,1 Bu dükkan kiralanmış.
RETURN 1
ENDIF
ENDIF
RETURN 1

ON=@TIMER
LINK.REMOVE
LINK=04fffffff
tag0.kiralik=0
tag0.sahip=0
COLOR=0455
RETURN 1

[DIALOG d_vendor_intro]
100, 100
PAGE 0
resizepic 81 93 5054 305 126
text 131 103 1153 0
text 131 134 1153 1
button 107 169 2151 2152 1 0 1
text 141 171 1152 2

[DIALOG d_vendor_intro TEXT]
<serv.name> Vendor Kiralama
Kiralamak icin 60k gereklidir.
Bir haftaligina vendor kirala.


[DIALOG d_vendor_intro BUTTON]
on=0
src.tag0.dist
on=1
IF (<uid.<src.tag0.dist>.DISTANCE> > 1 )
SRC.sysMESSAGE @066d,,1 Yeterince yakın değilsiniz.
else
if (<src.restest 60000 i_gold>)
src.tag0.dist
VAR.SIGN=<SRC.ACT>
SRC.ACT.tag0.kiralik=1
SRC.ACT.COLOR=0846
SRC.ACT.tag0.sahip=<SRC.UID>
SRC.ACT.TIMER=60*60*24*7
src.consume 60000 i_gold
VAR.SIGN=<SRC.ACT>
src.newnpc c_player_v
src.act.p <p>
src.act.tag0.p <p>
src.act.tag0.px <p.x>
src.act.tag0.py <p.y>
src.act.tag0.pz <p.z>
src.act.tag0.owner <src.uid>
VAR.VEND=<SRC.ACT.UID>
src.act.findlayer(29).more1 2500
SRC.ACT.tag0.sahip=<SRC.UID>
SRC.ACT=<VAR.SIGN>
SRC.ACT.LINK=<VAR.VEND>
SRC.ACT=<VAR.VEND>
src.act.newitem i_memory
SRC.act.ACT.LINK=<SRC.UID>
src.act.act.attr 04
src.act.act.more1 04
src.act.act.more2 <serv.time>
src.act.act.morep <src.act.p>
src.act.act.color memory_ipet
src.act.act.timer -1
src.act.act.link <src.uid>
src.act.act.cont <src.act.uid>
SRC.ACT.act.CONT=<VAR.VEND>
src.act.flags <src.act.flags>&statf_pet
src.tag0.vendor <src.act.uid>
SRC.ACT=<VAR.SIGN>
src.act.update
src.newitem i_vendorumvar
src.act.equip
src.act.timer=60*60*24*7
serv.allclients update
ELSE
SRC.SYSMESSAGE @066d,,1 Kiralamak için yanınızda 60000 altın olmalı.
src.tag0.dist
ENDIF
endif
return 1

[chardef c_player_v]
defname c_player_v
name #NAMES_HUMANMALE
id c_man
can mt_equip|mt_nonmover
hiredaywage 52
desires i_gold

tspeech pv_spch
tevents e_pv

On=@Create
events e_vendclick
invul 1
str 9500
dex 25
int 25
color colors_skin
speechcolor 0481
food 9900
npc 1

itemnewbie i_Robe
color 066d
attr 04
item i_torch_lit
morey -1
itemnewbie i_backpack
itemnewbie i_bankbox
color 0384
timer 900
attr 014
itemnewbie i_pv

// *********
// DIALOGLAR
// *********

[menu m_vendor_admin]
Kiralik vendor yonetimi.

ON=0 Bir hafta daha kirala. (Kalan sure: <eval <VAR.LEASE>> saat)
IF (<src.restest 60000 i_gold>)
SRC.CONSUME 60000 i_gold
SRC.UPDATE
SRC.tag0.vendtimer <SRC.ACT.TIMER>
SRC.ACT.TIMER= <eval <SRC.ACT.TIMER>> + 604800
src.act.link.message @38,,1 Calisma suremi 1 hafta daha uzattiniz. Tesekkurler.
src.findid.i_vendorumvar.timer <eval <src.findid.i_vendorumvar.timer>> + 604800
ELSE
SRC.SYSMESSAGE @066d,,1 Bir hafta daha çalışmam için yeterli paranız yok.(60.000gp)
ENDIF

ON=0 Vendoru terket.
SRC.ACT.TIMER 1
src.findid.i_vendorumvar.remove

ON=0 Banka Ac
SRC.BANKSELF

[dialog d_pv_cash]
300,300
nomove
resizepic 0 0 5054 200 75
textentry 15 16 600 20 1152 1 0
button 165 50 4005 4006 1 0 1

[dialog d_pv_cash text]
<eval (<findlayer(29).more1> - 2500)>

[dialog d_pv_cash button]
On=1
if !(<memoryfindtype.memory_ipet>)
src.sysmessage @38 Sistem hatası.
return 1
endif
if !(<isnum <argtxt[1]>>)
src.sysmessage @38,1,1 Hatalı karakter kullanımı.
return 1
endif
if (<eval <argtxt[1]>> <= 0)
say Sie ya !
elseif (<eval <argtxt[1]>> > <eval <findlayer(29).more1>>)
say Bu miktar kasamda bulunmuyor.
elseif (<eval (<findlayer(29).more1> - <argtxt[1]>)> < 2500)
say Bu miktari veremeyecegim, kasamda en az 2500 altin kalmali.
elseif (<eval <argtxt[1]>> >= 65000)
vend_collect <eval <argtxt[1]>>
say Para bankaniza aktarildi.
else
findlayer(29).more1 <eval (<findlayer(29).more1> - <argtxt[1]>)>
src.newitem i_gold
src.act.amount <eval <argtxt[1]>>
src.act.cont <src.findlayer(29).uid>
say <argtxt[1]> altin bankaniza aktarildi.
endif

[dialog d_pv_buy]
300,300

resizepic 0 0 5054 270 105
htmlgump 10 15 250 60 0 1 0
button 200 80 1153 1155 1 0 1
button 233 80 1150 1152 1 0 0

[dialog d_pv_buy text]
<name>, fiyati: <price> altin. Bunu satin almak istediginize emin misiniz?

[dialog d_pv_buy button]
On=1
IF !(<src.tag0.pvyitani> == <topobj.uid>)
src.sysmessage @066d,,1 Bu eşya vendorun cantasında değil.
return 1
endif
if (strmatch('<price>',''))
src.sysmessage @066d,,1 Bu eşya satılık değil.
elseif (<price> <= 0)
src.sysmessage @066d,,1 Bu eşya satılık değil.
elseif (<src.gp> >= <price>)
src.gpconsume <price>
topobj.findlayer(29).more1 (<topobj.findlayer(29).more1> + <price>)
cont <src.findlayer(21).uid>
price
update
if ((<baseid> == i_spellbook) || (<baseid> == i_runebook) || (<baseid> == i_crystal_30) || (<baseid> == i_crystal_60) || (<baseid> == i_crystal_90)
attr <attr>|attr_newbie
endif
else
topobj.say Bankanizin en ust kisminda bunu alacak kadar altininiz yok.
endif

[dialog d_pv_dismiss]
300,300

resizepic 0 0 5054 270 105
htmlgump 10 15 250 60 0 1 0
button 200 80 1153 1155 1 0 1
button 233 80 1150 1152 1 0 0

[dialog d_pv_dismiss text]
DIKKAT! Tezgahtarinizda <findlayer(21).rescount> adet esya ve <eval <findlayer(29).more1>> altin bulunuyor, onu deed haline getirmek istediginize emin misiniz?

[dialog d_pv_dismiss button]
On=1
if (<findid.i_pv_rem.timer> < 0)
if (<findid.i_pv_rem.more2> == 1)
say Sizinle calismak guzeldi.
bow
findid.i_pv_rem.timer 3
src.newitem i_deed_pv
src.act.bounce
elseif (<findid.i_pv_rem.more2> == 2)
say Nasil isterseniz.
salute
findid.i_pv_rem.timer 3
src.newitem i_deed_pv
src.act.cont <memoryfindtype.memory_ipet.link.findlayer(21).uid>
endif
endif

// ******
// SPEECH
// ******

[speech pv_spch]
On=bilgi
On=yardim
src.sysmessage @0481,,1 Kullanabileceğiniz komutlar:hasilat,fiyat,alisveris,kasa,durum.
return 1

On=durum*
src.sysmessage @066d,,1 Tasa cift tiklayarak vendorun suresini ogrenebilirsiniz.
return 1

On=kasa*
if (<src.uid> == <tag0.owner>)
if (strmatch('<args>','KASA ?'))
say Satis olmamasi ve kasamdaki paranin azalmasi durumunda kasama yaninizda getireceginiz altini eklemek icin kullanacaginiz komuttur.
else
findid.i_pv.more1 3
findid.i_pv.target
say Kasama yatirmak istediginiz parayi seciniz.
endif
endif
return 1

On=hasilat*
if (<src.uid> == <tag0.owner>)
if (strmatch('<args>','HASILA ?'))
say Kasamdaki parayi banka hesabiniza aktarmakta kullanacaginiz komuttur. Kasamdaki son 2500 altini aktarmaniz mumkun degildir.
else
if (<eval <findlayer(29).more1>> < 2501)
say Kasamda 2500 veya daha az altin var, bu durumda size nakit veremem.
else
dialog d_pv_cash
endif
endif
endif
return 1

On=fiyat *
if (<src.uid> == <tag0.owner>)
if (strmatch('<args>','FIYAT ?'))
say Cantama yerlestirdiginiz esyalari fiyatlandirmakta kullanacaginiz komuttur. Kullanilisi, X'in yerine bir sayi gelecek bicimde 'Fiyat X' seklindedir.
say Satilamaz ibareli esyalari asla fiyatlandiramazsiniz. Satilik haldeki bir esyayi 'satilik degil' hale getirmek icin 0 fiyat vermeniz gereklidir.
else
if !(<findlayer(21).findcont(0)>)
say Cantamda fiyatlandirilacak mal bulunmuyor.
else
try <args>
endif
endif
endif
return 1
On=alisveris
if ((<canseelos>) && (<distance> < 4))
face
if (<src.uid> == <tag0.owner>)
say Satilacak esyalari buraya koyabilirsiniz.
pack
elseif !(<findlayer(21).findcont(0)>)
say Su an satilik malim yok, lutfen daha sonra tekrar geliniz.
else
pack
endif
else
src.sysmessage @066d,,1 Vendor'a ulaşamıyorsunuz.
endif
return 1

On=buy
On=satin al
if (<src.uid> == <tag0.owner>)
say Isverenim oldugunuz icin istediginizi alabilirsiniz, para vermenize gerek yok.
elseif !(<findlayer(21).findcont(0)>)
say Su an satilik malim yok uzgunum.
elseif (<isgm>)
say Benden birsey satin alamazsiniz.
else
findid.i_pv.more1 2
findid.i_pv.target
endif
return 1

On=*
return 1

// *****
// EVENT
// *****

[events e_pv]
On=@GetHit
if !(<src.npc>)
src.newitem i_killer
src.act.equip
else
src.leave 20
endif
return 1

On=@Hit
return 1

On=@HitTry
return 1

On=@Death
hits <str>
return 1

On=@SpellEffect
if (<src.npc>)
src.leave 20
endif
return 1

On=@ItemEquip
if ((<act.layer> == 1) || (<act.layer> == 2))
findid.i_torch.equip
findid.i_torch.dclick
return 1
endif

on=@skillstart
if (<action>==skill_stealing)
src.sysmessage @066d,,1 Stealing yeteneğinizi pazarcılar üzerinde kullanamazsiniz.
src.action=-1
return 1
endif

On=@Click
if !(strmatch('<eval 0<tag0.px>>','<eval <p.x>>')) || !(strmatch('<eval 0<tag0.py>>','<eval <p.y>>')) || !(strmatch('<eval 0<tag0.pz>>','<eval <p.z>>'))
p <tag0.p>
update
return 1
endif
message @0783,,1 <memoryfindtype.memory_ipet.link.name>
message @0481,,1 [<name>]
return 1

On=@DClick
if !(strmatch('<eval 0<tag0.px>>','<eval <p.x>>')) || !(strmatch('<eval 0<tag0.py>>','<eval <p.y>>')) || !(strmatch('<eval 0<tag0.pz>>','<eval <p.z>>'))
p <tag0.p>
update
return 1
endif

if !(<memoryfindtype.memory_ipet>)
memorydel <src.uid>
newitem i_memory
act.attr 04
act.more1 04
act.more2 <serv.time>
act.morep <link.p>
act.color memory_ipet
act.timer -1
act.link <tag0.owner>
act.cont <uid>
flags <flags>&statf_pet
endif

if (<src.uid> == <tag0.owner>)
src.tag0.vendor <uid>
endif

if (<src.isgm>)
pack
elseif (<src.flags>&statf_dead)
src.sysmessage @066d,,1 Şuanki durumunuzda bu işlemi gerçekleştiremezsiniz.
elseif ((<canseelos>) && (<distance> < 4))
face
if (<src.uid> == <tag0.owner>)
say Satilacak esyalari buraya koyabilirsiniz.
pack
elseif !(<findlayer(21).findcont(0)>)
say Su an satilik malim yok, lutfen daha sonra tekrar geliniz.
else
pack
endif
else
src.sysmessage @066d,,1 Vendor'a ulaşamıyorsunuz.
endif
return 1

On=@EnvironChange
if (<flags>&statf_war)
flags <flags>&~statf_war
update
endif
food 990
p <tag0.p>
tag0.p <p>
tag0.px <p.x>
tag0.py <p.y>
tag0.pz <p.z>

// *********************
// ALTINSAL FONKSIYONLAR
// *********************

[function fiyat]
if (<eval <argn>> > 5000000)
say Tek bir mali 5 milyon altinin uzerinde fiyatla satmam yasalara aykiridir.
else
findid.i_pv.more1 1
findid.i_pv.more2 <eval <argn>>
findid.i_pv.target
endif

[function vend_collect]
var.vendorcash <eval (<argn> - 65000)>
findlayer(29).more1 <eval (<findlayer(29).more1> - 65000)>
src.newitem i_gold
src.act.amount 65000
src.act.cont <src.findlayer(29).uid>
if (<eval <var.vendorcash>> >= 65000)
vend_collect <eval <var.vendorcash>>
elseif (<eval <var.vendorcash>> > 0)
findlayer(29).more1 <eval (<findlayer(29).more1> - <var.vendorcash>)>
src.newitem i_gold
src.act.amount <eval <var.vendorcash>>
src.act.cont <src.findlayer(29).uid>
var.vendorcash
else
var.vendorcash
endif

[function packo] // (special thx to laroux below this line)
try src.tag0.<uid> <rescount>
packo_loop <args>

[function packo_loop]
if (<eval <src.tag0.<uid>>> > 0)
try src.tag0.<uid> <eval (<src.tag0.<uid>> - 1)>
//if (strmatch('<findcont.<eval <src.tag0.<uid>>>.type>','t_container'))
// try findcont.<eval <src.tag0.<uid>>>.packo <args>
//else
try findcont.<eval <src.tag0.<uid>>>.<args>
//endif
packo_loop <args>
else
try src.tag0.<uid>
endif

[function gp]
var.gp 0
//findlayer(21).packo gp_ctrl
findlayer(29).packo gp_ctrl
return <eval <var.gp>>

[function gp_ctrl]
if (strmatch('<baseid>','i_gold'))
var.gp <eval (<var.gp> + <amount>)>
endif

[function gpconsume]
var.gp <argn>
//findlayer(21).packo gpconsume_ctrl <argn>
findlayer(29).packo gpconsume_ctrl <argn>
return 1

[function gpconsume_ctrl]
if ((<var.gp> > 0) && (strmatch('<baseid>','i_gold')))
if (<amount> > <eval (<var.gp>)>)
amount <eval (<amount> - <var.gp>)>
var.gp 0
else
var.gp <eval (<var.gp> - <amount>)>
remove
endif
endif

[function evl]

sysmessage Evaluating [0<args>]: <eval 0<args>>.
return <valstr 0<args>>

[itemdef i_pv]
id i_memory
name vendor ana kontroller
type t_eq_script

On=@TargOn_Char
if (<src.targ.uid> == <cont.uid>)
cont.findlayer(21).open
target
endif
return 1

On=@TargOn_Item
if (<more1> == 1) // dinamik fiyatlandirma
if !(<src.uid> == <cont.tag0.owner>)
cont.say <src.name>, siz benim isverenim degilsiniz.
elseif !(<src.targ.topobj.uid> == <cont.uid>)
cont.say Bu esya cantamda degil.
elseif (strmatch('<src.targ.price>',''))
cont.say Bu satilabilecek bir esya degil.
elseif (<eval <more2>> <= 0)
src.targ.price 0
cont.say <src.targ.name>: 'satilik degil' olarak isaretlendi.
else
src.targ.price <eval <more2>>
more2 0
cont.say <src.targ.name>: <src.targ.price> altin.
endif
elseif (<more1> == 2) // satis
if !(<src.targ.topobj.uid> == <cont.uid>)
cont.say Bu esya cantamda degil.
elseif (strmatch('<src.targ.price>',''))
cont.say Bu esya satilik degil.
elseif (<src.targ.price> <= 0)
cont.say Bu esya satilik degil.
elseif (<src.gp> < <src.targ.price>)
cont.say Bankanizin en ust kisminda <src.targ.price> altininiz bulunmuyor.
else
src.tag0.pvyitani = <src.targ.topobj.uid>
src.targ.sdialog d_pv_buy
endif
elseif (<more1> == 3) // para aktarma
if !(<src.uid> == <cont.tag0.owner>)
cont.say <src.name>, siz benim isverenim degilsiniz.
elseif !(<src.targ.topobj.uid> == <src.uid>)
cont.say Gosterdiginiz nesne sizin uzerinizde degil.
elseif !(<src.targ.baseid> == i_gold)
cont.say Bu gosterdiginiz altin degil.
else
cont.findlayer(29).more1 <eval (<cont.findlayer(29).more1> + <src.targ.amount>)>
if (<eval (<src.targ.amount> / <cont.hiredaywage>)> > 0)
cont.say <src.targ.amount> altin calisma suremi <eval (<src.targ.amount> / <cont.hiredaywage>)> gun uzatti, tesekkur ederim.
else
cont.say <src.targ.amount> altin kasama eklendi, tesekkur ederim.
endif
src.targ.remove
endif
endif
return 1

On=@Timer
return 1

[itemdef i_vendorumvar]
id i_memory
name Vendorum var
type t_eq_script


On=@create
attr=attr_decay
timer 5

On=@equip
return 1


On=@Timer
cont.sysmessage @066d,,1 Vendorunuzun süresi bittiğinden dolayı pazar alanınız silinmiştir.
remove
return 1

[eof]

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
  • +10 Robeler + Vendoru

    2008-12-07 16:34



  • Son Forumlar
  • Sayfalar
  • Tymaron
    Sistem Güncellemeleri: Portal, Sunucu Listesi ve...

    Duyurular 1 saat önce

  • Lucretius
    AutoMod - AI Destekli Forum Moderasyon

    Duyurular 19 saat önce

  • Syntax
    UO:Nimloth Yeniden Doğuyor !

    Sunucular 1 hafta önce

  • Gececi
    Üyeliği 18 yıl ve üstünde olanlar.

    Ultima Online 1 hafta önce

  • Floody
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 2 hafta önce

  • Çağdaş İLHAN
    Viox/phobos Sphere Script Pack Alınacaktır

    Sphere Scripting 3 hafta önce

  • Venus
    World of UO'da Geçmişe Yolculuk Başladı

    Sunucular 3 hafta önce

  • HaldiUo
    HaldiUO (Pc-Mobile)

    Sunucular 3 hafta önce

  • TheFXon
    CS 1.6 P0ndenush Config

    CS 1.6 1 ay önce

  • TheNorthShield
    The North Shield ( TNS ) - Golden Age 2017

    Sunucular 1 ay önce

  • System_Error
    Sphere X Kurulum İş İlanı

    Sphere Scripting 2 ay önce

  • Esgaroth UO
    Esgaroth UO

    Sunucular 3 ay önce

  • sarhos7573
    Scripting / script

    Ultima Online 3 ay önce

  • Vanq
    Yapay zekayla UO kodlamaya çalışan var mı? Cursor...

    Sphere Scripting 4 ay önce

  • TSuN@Mi
    Counter-Strike 1.6 İndir - Tek Link Hızlı-

    Counter-Strike 4 ay önce

  • 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

  • Centred#

    2024-07-08 22:50

  • CentrED+ 7.9

    2024-07-08 22:34

  • Distance(uzaklık) Sorgusu Hakkında

    2024-06-19 22:05

  • UoFiddler

    2024-06-01 02:19

  • UoFiddler ile Map Kopyalama

    2024-05-31 21:17

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 - 2025 Ultima-Strike. Her hakkı saklıdır.