Tabii ki Bilen Arkadaşlarıma Basit Gelicek Ve Ne lan Bu topicde Acılırmı diyenler olacak :) Ama Yeni Başlıyanlarda Tabii ki O Saolsun fln diyecekler.E ne biliyim insan biliyorki Meyve Veren ağaç taşlanır :).Oncelikle Ben genel Komutlar Vs Bunları yazıyorum eksiklerimi tamamlamanızı rica ederek eklemek istediklerinizi ve yanlışlarımı soylemenızı isterim ( hatasız kul olmaz gozden kacırabilirim )

Oncelikle Script nedir derseniz Size Soyle soyleyebilirim.Script bir dildir.( ingilizce Japonca gibi :)) internet dilidir.Ve bizim burada ugrasacagımız ultima online scripti dir ( bunuda bir lisan olarak gorebiklirsiniz )

Script Hayal gucune baglı birşeydir.Koskoca bir alanda hayal gucunuzun sınır dinlemedigini anlıyacaksınız.Ultima onlıne ise kucuk bi emulator olmasına ragmen belirli olcude tatmin edici ozellikleri vardır.Hayal gucunuzle istediklşerinizi yapabılırsınız.

Genel Bakış adım 1 Komutlar.

Komutlar Scripte girişin ilk adımıdır.sizce pleveller neden vardır.Neden pleveller yavaşca yukseltilir sorusuna burda cevap alıcaksınız.Yani demek istedigimi Counselor olmadan Owner olunmaz :)Yavasca komutları ogrenmenız ve bunları kavradıkca ileri adımı atabilirsiniz.Komutları Yazıyorum eksiklerimi Tamamlarsanız sevinirim.

.gm ( Game Master eventini alarak istediginiz Herşeyi heryerde yapabilirsiniz Ornek AntiMagic bi alanda Buyu atabilmek gibi ) yani yonetici oldugunuzu anlamalısınız :)
Bazı scriptlerde On=Login ( trigerlari ilerde anlatacagım ) Trigerinda bu direct yapılmıştır :)

.admin ( bu Scripte baglı olarak adı degisebilir vede Serverda olanları listeler.İp adresleri acc name leri vs listeler. )

.go ( bu komut adi ustunde gitmektir. .go britain veya .go 5621,2541,-10 ( rakamlar kordinatlardır ) gibi.basına x koyarsanız target cıkar ve tıklatdıgınız adamı gornderirsiniz.

.invul ( olumsuzluk :) yani her ne olursa olsun bu komutla hitiniz azalmaz olumsuzsunuz işte :))
.invis (adı ustunde gizlenmedir.plevelinize gore altınızdaki kimse sizi goremez.)

.attr ( attr denilen sey esyanın konumudur.Yanı invisdir yada oynatılamaz gibi durumlar ornekl. .attr 04 ( newbie yapmaktır veya .attr newbie seklindede olur:)

.kill ( adı ustunde oldurmek :) yani bu komutla invul olmayan her yaratıgı oldurebilirsiniz )

.amount ( amount edilebilen esyaları cogaltmaya yarar.amount edilen ne demek derseniz sudur.tek tıklarsınız 50 adet der.Ornek Log ( odun ) bir odunu .amount ile cogaltabilirsiniz.Komut tek basına calısmaz..amount 50 derseniz 50 odun yapmıs olursunuz.

.dupe ( diger bir cogaltma komutumuz budur.ancak bu amount edilemeyen esyalarda kullanılır.Or katana ( kılıç :))

.bounce ( ismi her ne kdr hoplatmak anlamına gelsede :) Cantanıza o eşyayı almanızı saglar .ornek yerdeki bir kılıcı .xbounce veya .bounce ile cantanıza alabilirsiniz :))
Not=kmutların başlarına x koyabilirsiniz aynı olayı gercekkleştirir ancak invis gibi komutlarda x başa konulursa target gelır elinize Ve boylelikle O target i tıkladıgınız insan invis olur..xinvis gibi..xkill ile .kill in bi farkı yoktur.Skilleri vs verirkende .magery 1000 derseniz kendi mage niz 100 lenir ancak basına x koyarak yaparsanız target gelır ve tıkladıgınız kişinin magesi 100 lenir ( misal verdim )

Hazır skill verme derken onlarıda soylıyım.

.anatomy
.magery
.healing gibi komutların sonuna eklediginiz rakamlar skilleri yukseltmeye yarar.Bunlarıda ırk sistemi gibi yazılan scriptlerde kullanabilirsiniz ( edita hayır plz. )

.detail ( bu komutun sonuna 1 veya 0 yazarsanız acar yada kaparsınız.Giren cıkan playerların yerlerini vs detayları yanda sysmessage seklinde gecer.)

Not 2 = Bazı komutların sonralarına 0 veya 1 konulur birazdan gosterecegim region gibi. 1 acar 0 ise kapar.
.region Bu komut tek başına bir işe yaramaz ancak assagidaki ornklerde anlattıgım sekilde işe yarıyacaktır

.region.guarded 0/1
.region.magic 0/1
.region.safe 0/1
.
.

gibi.

.say ( adı ustunde konusmak soylemektir.ornek .say Ben kralım pls yazarsanız kafanızda o yazı yazar :) yani pek bi işe yaramıyor gibi gorunsede scriptlerde işe yarıyacaktır.Yine basına xkoyuolarak karsınızdakine soyletebilir ve .say @55 gibi renklendirerek bu komutu guzelleştirebiliriz.

sysmessage yanda yazılan yazıdır

.anim harekettir 0 dan 32 ye kdr ( hatırladıgım kadari ile o kdr dı ) hareketler vardır.Oyunu guzelleştirmek adına scriptlerde kullanılabılır( diyorum ya hayalgucu lazım )

.where nerde oldugunuzu kordinat halinda kafanızın ustunde belirler..go kordinatim seklinde gidebilirsiniz. ( kordinatım = kordinat rakamları )

.info karakterin ozelliklerini inceler.Belirli scpler ile bunu kendiniz yapar kendi komutunuzu butun yazıyı okuduktan sonra yapabılrısınız :D

.page page bakma komutudur ( nbl sistemlerinde bu .pg dir.)ve nbl page sistemine gore .pg_call seklinde Page yazıswı gelır.Misal .pg_call ben su su suctan dolayı soyle bişiler yaptım gibi bir pageyi scriptsel adam atmadan ona attırabılrısınız.Ornek olarak kufur eden bırını scriptsel olarak manhattana atıp boyle bi page attırabiliriz :)

.tele bir yerden baska bir yere gitmenizi saglar.( aynı ekranda tıkladıgınız yere gider.Isınlanır ama ekranda gordugunuz yere )

.stone Taş yapma komutudur.yine x konularak basına karsındakını yapabılırsın.

.allshow logout olan vede olmayan yanı ekranında bulundugun andaki herkezi gosterir.Oyunda olmasa bile.Genelde On=@login trigerina bu eklenerek allshow ile oyundan dusen arkadaslar oyuna girince kapanması saglanarak bi daha dusmesi engellenır.

Not 3 =cok playerın cıkıp girdigi yerlerde Kullanmayınız.Cunku makinenin saglamlıgına gore kopabilirsiniz.

.name isim verme komutudur.Ornek iname Murat gibi. ve basına x koyarak karsındakinin isminide .duzeltebilirsin
not 4 = Plevelınden yuksek kişilerde hiçbir komut işlemez :)

.bank banka acma komutudur..xbank ile karsındakinin bankasını acabilir hatta kucalayabılırsın :) .bankself ise kendi bankanı direct targetsiz acmanı saglar.ve genellıkle banker scplerinde .bankself kullanılır.yanı On=@*bank* gibi bir triger scriptsel olarak banker scpsine verilir.Ve bunu yazan insan da .src.bankself i direct yazmıs olur.bankası bankerin yanında bank diyerek acılır.

Not 5 = normalde bu komutlar command adlı scpde plevellere gore dagıtılır ve playerın kullanamadıgı komutları scriptsel olarak bi dongude verirsek onu kullanabilir..src.invis gibi.ileride detaylı anlatıcagım.

.title titlenizdeki yazıyı deişmenizi saglar.ornek .title Kral Murat gibi yada .xtitle Kral Murata Asigim diyerek karsınızdakinin poperdolu acıldıgı anda isminden sonra bu yazabilir ( not sadece poperdolda gorunur kafasında yazmaz ) :)

.dialog ( bu komut yazdıgınız dialogları acmanızı saglar.Ornek dialog d_tailoring gibi)

.add itemi cıkarmanızı saglar.Ornek katana cıkarmak icin .add i_katana yazabılırsınız.Evet bu komut en onemlısı sayılır.Yanı itemlerin id lerini ezbere bilmeniz gerekir.item scplerinia cınız ve ezberleyiniz diyemem cunku bu zamanla olacak bişey. burada itemin id sini ogrenmek icin .info komutunu kullanıp oradan bakabılırız :)

.kick banlama komutudur.Yani Oyuncuyu Sunucunuzdan Tamamen uzaklastırma komutudur.

.serv direct konsola baglanma komutudur.ornegin konsoldan acc acmak icin account add accname şifre şeklinde yazacagınıza bunu oyundan .serv.account add accname şifre şeklinden yapabilirsiniz.

( arkadaslar aklımda kalanlar bunlar.elimden geldikce nbl scriptlerinin komutlarını yazmadım.Cunku nbl script kavramı bana ters.kendiniz page sistemini yazabilirsiniz.Onların komutlarını burada yazmadım.Ama eksiklerimi tamamlayınız lutfen. )

Diyeceksiniz Bu komutlar ne işimize Yarıyacak ornegin Su ise yarıyacak.



--------------------------------------------------------------------------------
On=@step
src.invis 1
src.invul 1
scr.magery 1000
src.dialog d_tailorin
--------------------------------------------------------------------------------




Bakın ne yaptık.On=@step trigerinda Bunları bir playerın yapmasını sagladık.Yani bir Teleporter yaptık ve bu trigeri Yazdık o teleporterdan gecenler invis oluyor invul oluyor magery si 100 lenir tailor menusunu acabiliyor.Yanı bir playerin komutla yapamadıgını src. yi basına ekleyerek yaptırdık.Ve biraz hayalgucu ile bunu genişletebilirsiniz.Hazır trigerlara girdik trigerlarla devam

Genel Bakış Adım 2 Trigerlar.

Triger dedigimiz Sey ' On=@ ' işareti ve sonrasından gelen dongu seklidir ( dongu yanlıs tanımlama olabilir )

Ornek = On=@Dclick

Şimdi Gelgelelim Trigerlara.Ben bildiklerimi yazıyorum.Eksikleri Arkadaslar yazarlarsa Yeni Ve genc Patiler adına tesekkyurlerimi borç bilirim :)

On=@Click ( itemi tek tıklamamızda meydana gelebılıcekleri yazmamızı saglar.Hersey hayalgucunuzde biter.Komutları ogrendik biliyorsunuz ve yenılerınıde devamında ogreniceksiniz.Misal bir On=@click trigeri yazıyorum.



--------------------------------------------------------------------------------
On=@Click
src.newitem i_gold
src.act.amount 5000
src.act.bounce
--------------------------------------------------------------------------------



On=@Click
src.newitem i_gold / yeni bir item yarak gold olsun
src.act.amount 5000 / evet burda ilk defa act yi gorduk act ise olayın devamını getirir.Soyleki item yarattık bgold burda act ile o esyayı amountladık.Bknz komutlar.5000 gold yaptık :)
src.act.bounce / burdada yine aynı olaydaki parayı cantamıza ZIPLATTIRDIK :)

Ornek 2 ( en cok kullanılan sekli:))



--------------------------------------------------------------------------------
ON=@CLICK
message @055 <NAME> The Murat
--------------------------------------------------------------------------------



Yanı burda da Tek tıklayınca isminin 055 renginde kafasında yazmasını sagladık.<name> gercek ismidir 055 renginde yazılır ve sonuna The Muratty eklenir.Ornek Katana The Murat ( 055 renginde :))

On=@dclick ( bu triger ise Cift Tıklama Sonucunda Gelebilicek olayları gosterir.Ornek



--------------------------------------------------------------------------------
On=@dclick
src.invis 1
src.newitem i_katana
--------------------------------------------------------------------------------



bla bla ( hayal gucu tekrardan .. )

on=@step ( bu trigerda ustunden gecilme manasında kullanılır.Yukardada ornekledigim gibi bir teleporterda kullanıla bilir )

On=@gethit ( bu ise hitsi Gittikten sonra demektir yani Bir yaratık yaparız ve hitsi her dususunde bir msj yazmasını saglayabılırız. )



--------------------------------------------------------------------------------
On=@gethit
src.say @055 haha Ben zıbarmam bap.
--------------------------------------------------------------------------------



On=@create ( yanı yaratıldıgı anda olacak seylerdir.Ornegin bir item yaptık bu trigeri eklersek o itemin nasıl yaratıldıgını saglarız.Ornek olarak



--------------------------------------------------------------------------------
ON=@Create
ATTR=attr_magic|attr_newbie
color=0481
--------------------------------------------------------------------------------



yani ne yaptık yarattık magic ve kaybolmaz esya yaptık bunu vede rengini kar rengi yaptık :)
( hayal gucu plz )

On=@Equip ( bu trigerda ise anlatılan olay giyinmek veya takmaktır) ornek olarak bir Robe yaparız ve on=@equip trigeri ekleriz ve bu trigerdaDonguler ile gerekli sartları saglamazsa giymemesini saglarız veya bu esyayi giyerse invis olmasını olmesini vs ayarlayabılırız.Ornek olarak



--------------------------------------------------------------------------------
On=@equip
.src.hits 0
.sysmessage bunu giyersen olursun :) oops gecmi soyledim ne nihaha .
--------------------------------------------------------------------------------


gibi...

donguleri ilerde yazıcagım ama simdiden o robe olayini yapalım



--------------------------------------------------------------------------------
On=@Equip
if (<src.magery> < 100.0)
src.sysmessage @033 Bu Robeyi giyecek kadar kudretli deilsiniz.
unequip
endif
--------------------------------------------------------------------------------



Dongude anlatılan eger magery 100 den kucuk ise esyayi giyemez ve dusurur ( unequip le saglıyor bunu )

ve sysmessage ile yandan yapamayagacını anlatan yazı.Ya hayal gucu diyorum Bu trigerları daha milyon sekilde kullanırsınız.Bi ornek daha



--------------------------------------------------------------------------------
on=@equip
src.magery 1000
--------------------------------------------------------------------------------



yani o esyayi giydi ve magery si 100 lendi ve aynı scp ye

On=@unequip trigerini eklerse soyle bi olay yapabilir



--------------------------------------------------------------------------------
On=@unequip
src.magery 0
--------------------------------------------------------------------------------



cıkarınca 0 lanır ve ilerde anlatıcagım ama simdiden de aklınızda bununsun su olayıda yapabiliriz :)



--------------------------------------------------------------------------------
On=@equip
src.dex (<dex> +10)

On=@unequip
src.dex (<dex> -10)
--------------------------------------------------------------------------------



yani taktı str si olan strsinden 10 yukseldi cıkarıncada yukselmis olan str si yine 10 dustu gibi.Hersey hayalgucunde biter..

On=@targon_char ( cikan target la insan ve vendorları tıkarsak yapılacak seyleri ayarlar )
On=@targon_item ( aynı seyi itemler icin yapmasını saglar )
On targon_npc ( aynı olayı yaratıklar icin yapmasını saglar )
On_targon_ground ( ayni targeti yere tiklarsan olacaklari gosterir :) )

Ornek =



--------------------------------------------------------------------------------
ON=@TARGON_CHAR
src.sysmessage @033 Sadece yeri secebilirsin
target
return 1
--------------------------------------------------------------------------------



gibi..

Not 6 = lutfen Scriptleri acınız ve inceleyiniz Burada anlatmadıgın trigerları sorunuz vede Takıldıgınız veya bilemediginiz seyleri soylemekten cekinmeyin.Bu topic altında cevaplayacagım. ve kesinlikle Bu topic altında Ogrenebiliceksiniz )

On=@spelleffect ( Buyu yapıldıgında olabilicek olayları ayarlamanıza yarar.Ornek olarak =



--------------------------------------------------------------------------------
On=@SpellEffect
if (<flags>&statf_dead)
if (<argn> == 59)
sfx snd_spell_resurrection
findlayer(22).remove
color <oskin>
update
effect 3,0376a,2,20,1
endif
--------------------------------------------------------------------------------



Burda Adam olu ise ve res buyusu yapılırsa adama reslensin ustundekı magerobe seklindeki item silinsin gercek rengini alsın ve belirli effecti vermesini soylemiş.

On=@death ise oldugunde olabilicekleri yaparsınız.event yazarak vs.

On=@skillstart ise skill kasmaya basladıgı ankki olayları kontrol edebiliceginiz triger ornek =



--------------------------------------------------------------------------------
On=@SkillStart
if (<action> == id(skill_stealth)) || (<action> == skill_stealth)
if (<hiding> < 80.0)
sysmessage @033 Stealth yapabilmek icin 80 hiding skilline ihtiyaciniz var.
skill fail
return 1
endif
--------------------------------------------------------------------------------



( Scriptleri Gozden gecirerek Komutları ogrenerek vede Bu yazıyı dikkate alarak scp ogtrenebilirsiniz.Tabii ki takıldıgınız yerde sormanız Şart.Ne diyoruz.Bilgi Paylaşıldıkca COGALIr.NEDEN TURKIYE ONDE DEGIL.CUNKU COGU KISI BEN DIYOR.BENCILLIK OLMAMALI... )ARAŞTIRALIM ARKADAŞLAR.Scriptleri gozden gecirelim takılınca soralım sormaktan utanmayalım.Bazı Dalga gecen denyoları goz ardı edelim ( bazen bende yapsamda :))

Ya Durust olmalıyım Scripterlıgı bıraktım içimden pek gelmiyor aklıma da o denli fazla gelmıyor.Scpleri acın inceleyin.Nbl scplerini inceleyin ozellikle.Oradan ogreneceksiniz.Takıldıgınız trigerlari donguleri sorun.o donguleri turkceye cevirmeye calıstıkca kavrarsınız.Nasıl Yaparım diye Bu topic Altında sorabilirsiniz.Ama Beleşcilik yapmadan yapamadıgınız bu topic altında anlatacagım. )

Genel Bakış adım 3 Donguler.

if dongusu=

if ingilizcede eger anlamına gelır ve scriptsel olarakta


--------------------------------------------------------------------------------
if <src.magery> < 1000
--------------------------------------------------------------------------------



seklinde kullanlabılır.Yanı eger magery 100 den kucukse seklinde.ve her if dongusu endifle bitmek zorundadır.Bu dongude else ler ise yada demektir ve elseif lerde vardır :)yanı kısaca bir dongu gostererek bunu anlatabilirim :)

Bir staffchat dongusu verelim.



--------------------------------------------------------------------------------
///////////Staffchat Sistemi////////////
// Guncellendi. /Unifont //
//////////////////////////////////////

[function staffsay]
if (<account.plevel> > 1)
smsgx [<src.name>]: <args>
endif

[function s]
if (strmatch("<args>",""))
sysmessage @33 Bos mesaj yollayamazsiniz.

elseif (strmatch("<args>","<tag.s>"))
sysmessage @33 Ayni yaziyi tekrar etmeyiniz.

else

if (strmatch("<src.account.name>,"<Unifont>"))
var.smsgx 0901

elseif (<account.plevel> = 7)
var.smsgx 0229

elseif (<account.plevel> = 6)
var.smsgx 0481

elseif (<account.plevel> = 5)
var.smsgx 08a1

elseif (<account.plevel> = 4)
var.smsgx 0531

elseif (<account.plevel> = 3)
var.smsgx 0794

elseif (<account.plevel> = 2)
var.smsgx 084b
endif
--------------------------------------------------------------------------------



[function staffsay] / diger adımda function itemdefleri gosterecegim ama Burda function denilen olay Komuttur.Yani .staffsay gibi.
if (<account.plevel> > 1) / eger pleveli 1in ustunde ise ( yani playerdan yuksek counselor -owner )
smsgx [<src.name>]: <args> ( yandan ismi ve yazısı gecsin demektir -args de yazdıgı yazıdır misal. .staffsay naper dersem yandan stafflar arasında Murat:Naper seklinde cıkar.
endif/dongu bitti demektir.

[function s]/s adlı bi komut yarat
if (strmatch("<args>","")) / .s yazıp enter a basarsa ( yani bişey yazmassa )
sysmessage @33 Bos mesaj yollayamazsiniz./mesaj yaz yanda

elseif (strmatch("<args>","<tag.s>")) / yada eger en son yazdıgını yazarsa
sysmessage @33 Ayni yaziyi tekrar etmeyiniz./yandan mesaj yaz

else / eger iki secenekte yoksa

if (strmatch("<src.account.name>,"Murat")) / eger acc names Murat ise
var.smsgx 0901 / 901 renginde yazısı cıksın

elseif (<account.plevel> = 7) / vede eger plevel 7 ise 0229 seklinde yazsın ve alttada plevellere gore aynısını yapsın
var.smsgx 0229

elseif (<account.plevel> = 6)
var.smsgx 0481

elseif (<account.plevel> = 5)
var.smsgx 08a1

elseif (<account.plevel> = 4)
var.smsgx 0531

elseif (<account.plevel> = 3)
var.smsgx 0794

elseif (<account.plevel> = 2)
var.smsgx 084b
endif

Kısacası elsenin ustunde iki secenek var eger onlar varsa yazı yazmıyacak yanda eger yoksa renklere gore yazıcak.gibi.

Genel Bakış adım 4 itemler,komut vs yaratma.

itemdef item yaratmada kullanlan bir komuttur misal olarak



--------------------------------------------------------------------------------
[ITEMDEF 0204F]
// GM Robe
DEFNAME=i_robe_gm
TYPE=T_CLOTHING
NAME=gm robe
ARMOR=500
DYE=1
DESCRIPTION=GM Robes
SUBSECTION=GM Robes
CATEGORY=Provisions - GM Items

ON=@Create
HITPOINTS=-1
ATTR=04
--------------------------------------------------------------------------------



[ITEMDEF 0204F]/ .add den sonra kullanılacak yazı ( .add 0204f ile cıkacak olan item)
// GM Robe / vede //< bu işaret scriptte gormemsini saglar.Yani scriptsel bi tanımlama olmassada keyfi veya unutmaman icin yazılan yazıları // << su sekilde scp ye gostermeden yazabilirsin.veya silmek yerine genelde o satırın başına koyarsın.
DEFNAME=i_robe_gm/seklini belirler.
TYPE=T_CLOTHING / tipi ise giyilebilir esyadır.bunu yazmaktaki amac vendorda satılmasını istedigimizde satılmasını saglamakdır.
NAME=gm robe / ismi gm robe olacak
ARMOR=500/500 ar verecek

ON=@Create/trigeri hatırladınız
HITPOINTS=-1 / burda hit in verilmesi damage alma olayıdır.-1 yapılırsa asla damage ile yuırtılmaz.
ATTR=04/ve newbiedir.

chardef yaratık veya npc cıkarmak icin kullanılır.ornek;



--------------------------------------------------------------------------------
[CHARDEF c_shire]
NAME=Shire
SOUND=snd_ANIMALS_HORSE1
ID=c_horse_brown_lt
CAN=MT_WALK|MT_RUN
FOODTYPE=55 t_crops, 55 t_fruit, 55 t_grain, 64 t_grass
ICON=i_pet_horse_brown_lt
DESCRIPTION=Shire
SUBSECTION=Horses
CATEGORY=Animals

ON=@Create
DORAND 12
COLOR=07d4 // ye$il
COLOR=0846 // kirmizi
COLOR=084a // mavi
COLOR=06af // sari
COLOR=04dc // mor
COLOR=0840 // kahve
COLOR=0455 // siyah
COLOR=0901 // gri
COLOR=04c3 // pembe
COLOR=05e3 // cikolata
COLOR=051b // sky
COLOR=08ad // skygray
ENDDO
--------------------------------------------------------------------------------



[CHARDEF c_shire] / tekrarda .add c_shire ile cıkmasını saglar
NAME=Shire/adı shire olacak
SOUND=snd_ANIMALS_HORSE1/ses olarak horse sesi cıkarıcak.
ID=c_horse_brown_lt/ve sekli acık kahve rengi ata benziyecek
CAN=MT_WALK|MT_RUN/ yuruyebilicek kosabilicek
FOODTYPE=55 t_crops, 55 t_fruit, 55 t_grain, 64 t_grass/ yedigi seyler
ICON=i_pet_horse_brown_lt/shrinklendigi hali
COLOR=0455 /Buda rengidir genelde shreler random renk dagıtırılr.oda su sekildedir.

Do Dongusu verilir Create trigerina

ON=@Create
DORAND 12
COLOR=07d4 // ye$il
COLOR=0846 // kirmizi
COLOR=084a // mavi
COLOR=06af // sari
COLOR=04dc // mor
COLOR=0840 // kahve
COLOR=0455 // siyah
COLOR=0901 // gri
COLOR=04c3 // pembe
COLOR=05e3 // cikolata
COLOR=051b // sky
COLOR=08ad // skygray
ENDDO

Function komuttur.ornek olarak



--------------------------------------------------------------------------------
[function anons]
if (strmatch("<args>",""))
sysmessage @33 Bos mesaj yollayamazsiniz.
return 1
else
var.smsgx 0676
serv.allclients smsgx * <serv.name> Staff * : <args>
Sound 0f7
endif
--------------------------------------------------------------------------------



[function anons] /.anons komutun adı
if (strmatch("<args>","")) / eger boş ise bişey yollayamaz ( bkns .s komutu )
sysmessage @33 Bos mesaj yollayamazsiniz./mesaj verir
return 1/olayi bititir
else/yada
var.smsgx 0676 / bu renkte mesaj yollar
serv.allclients smsgx * <serv.name> Staff * : <args>ve tum clientlerde * Aurah Staff * : Yazılan yazı seklinde yazı cıkar
Sound 0f7 //07f deki sesi verir ( bunlar uo nuzdaki mullarda olan seslerdir.isterseniz deişebilir.
endif / Donguyu bitir
Not 7 . her dongu endif enddo yada endfor gibi bitirilmelidir.ve her scriptin sonuna [EOF] konulmalıdır.

dialog da dialog yaratmadır onuda hemen bu adımda anlatıyorum.

Genel Bakış adım 5 Dialog.

Kısa bir ornekle hemen anlatıyorum.Bu ıornek benim ilk scplerimden imsonia silahi yapımıdır.



--------------------------------------------------------------------------------
[DIALOG d_imsonia]
0, 0

resizepic 0 0 5054 295 260

page 0

tilepic 200 57 3568
tilepic 190 117 3939
tilepic 190 177 5182

text 40 17 455 0
text 40 57 1152 1
text 40 117 1152 2
text 40 177 1152 3

button 20 60 1209 1210 1 0 1
button 20 120 1209 1210 1 0 2
button 20 180 1209 1210 1 0 3

[DIALOG d_imsonia text]
Imsonia Silahlari
Imsonia Of Staff
Imsonia Of Spear
Imsonia Of Halberd

[DIALOG d_imsonia button]

onbutton=1
if (<src.canmake i_imsonia_staff>)
src.makeitem=i_imsonia_staff
else
src.sysmessage=@33 Bunu yapmak icin en az 98.1 Blacksmith, 1 İmsonia Crystal.3 Imsonia scroll 32 Dragon Blood ve 25 Bloodrock Ingota ihtiyaciniz var.
endif
ENDIF

onbutton=2
if (<src.canmake i_imsonia_spear>)
src.makeitem=i_imsonia_spear
else
src.sysmessage=@33 Bunu yapmak icin en az 98.1 Blacksmith Skill, 1 İmsonia Crystal.3 Imsonia scroll 32 Dragon Blood ve 25 Blackrock Ingota ihtiyaciniz var.
endif
ENDIF

onbutton=3
if (<src.canmake i_imsonia_halberd>)
src.makeitem=i_imsonia_halberd
else
src.sysmessage=@33 Bunu yapmak icin en az 98.1 Blacksmith Skill, 1 İmsonia Crystal.3 Imsonia scroll 32 Dragon Blood ve 25 Valorite Ingota ihtiyaciniz var.
endif
ENDIF
--------------------------------------------------------------------------------



[DIALOG d_imsonia] /dialog adımız d_imsonia.yani .dialog d_imsonia seklinde acabiliriz
0, 0/buda ekranında duracagi yerdir.Ben en sol en yukarda dursun dedim.0 , 0 verdim

resizepic 0 0 5054 295 260/bu dialogun gorunusudur simdi rakamlarla anlatıyorum.ilk iki soldan ve yukardan monitore yakınlıgını gosterir.0 0 ise en solda en yukarda demektir.5054 ise dialogun verdatadaki gorunusudur.295 ve 260 ise uzunluk ve genişliği belirler.

Not 8 = Dialog yaparak daha iyi kavrarsınız

tilepic 200 57 3568/tilepic ise sekil demektir.dialog ustune sekil kouyoruz.200 ve 57 rakamları dialogun ustundeki duracagi yerleri belirlerken sornaki 3568 de seklin ne oldugunu belirler(yine mulunuzdaki rakamdır bu )
tilepic 190 117 3939 /usttekinin aynısı
tilepic 190 177 5182 / usttekinin aynısı

text 40 17 455 0 /dialog ustundeki yazıdır.yine ilk iki rakam dialogun ustundeki konumunu belirlerken 3. rakam yazının rengini belirler en sondaki rakam ise dialog d_imsonia_text teki yerini belirler.unutmamanız gereken nokta ise ilk yazıcagınız rakam 0 dan baslar assagida butondada belirtecegim.Yani 1 den baslamaz 0 dan baslar.
text 40 57 1152 1/usttekinin aynısı
text 40 117 1152 2/usttekinin aynısı
text 40 177 1152 3/usttekinin aynısı

button 20 60 1209 1210 1 0 1 / burda ise buttonu koyuyoruz.ilk iki rakam yine yeri belirler son rakam buttonun sayısını belirlerken diger rakamlar ise buttonun şeklini ve cinsini belirler
button 20 120 1209 1210 1 0 2
button 20 180 1209 1210 1 0 3

[DIALOG d_imsonia text] / yazıların yazıldıgı bolum
Imsonia Silahlari / text 40 17 455 0 sondaki 0 in oldugu ver
Imsonia Of Staff/ve digerleri
Imsonia Of Spear
Imsonia Of Halberd

[DIALOG d_imsonia button]

onbutton=1 / button 20 60 1209 1210 1 0 1 da belirledigimiz butona tıkladıgımızda yapıcagı işlermi belirler.
if (<src.canmake i_imsonia_staff>)/eger i_imsonia_staff i yapabilmek icin gerekli herşey i yerine getiriyorsa( bunuda i_staff_imsonia yı yaptıgımız yerde anlatıyoruz

Function i_staff olayını koy murty
src.makeitem=i_imsonia_staff/i_imsonia_staff itemini yapsın
else
src.sysmessage=@33 Bunu yapmak icin en az 98.1 Blacksmith, 1 İmsonia Crystal.3 Imsonia scroll 32 Dragon Blood ve 25 Bloodrock Ingota ihtiyaciniz var.
endif
ENDIF

onbutton=2 / ve diger buttonlar
if (<src.canmake i_imsonia_spear>)
src.makeitem=i_imsonia_spear
else
src.sysmessage=@33 Bunu yapmak icin en az 98.1 Blacksmith Skill, 1 İmsonia Crystal.3 Imsonia scroll 32 Dragon Blood ve 25 Blackrock Ingota ihtiyaciniz var.
endif
ENDIF

onbutton=3
if (<src.canmake i_imsonia_halberd>)
src.makeitem=i_imsonia_halberd
else
src.sysmessage=@33 Bunu yapmak icin en az 98.1 Blacksmith Skill, 1 İmsonia Crystal.3 Imsonia scroll 32 Dragon Blood ve 25 Valorite Ingota ihtiyaciniz var.
endif
ENDIF


Arkadaslar Su an Kafam Tam Toparlanmıs sekilde degil Su an icin Burada Bırakıyorum Diger gerekli bilgileri Butraya ekliyecegimi bildiriyorum size.Yarın bu topic tamamlanmış olur.Eksikleride P.m den atan arkadaslar olursa onlarıda Koyarım.ve Bu topic altında Soylenilen eksikleride Buraya Ekleyecegim.Biraz ugrastım ama ( epeyi 0 dan yazarak 2 saat oldu sanırım :) ama Bişeyler kapabilen olursa Ne mutlu bana.Bazı yerlerşi Kesin anlamda Anlatamadı isem Yarın onları Tam manasi ile anlatırım.Beni Affedin gece vakti kafa biraz bulanık anca bu cıktı yarına daha iyi olur umarım..

Tekrarlıyorum Yazı Tamamlanmamıştır..Yarına Tamamlanacaktır :)
--------------------------------------------------------------------------------
Ölüm Her Aklina Geldiğinde
Ah Edip Vah Edit İnleme
Bu Halinle Tanrıyı İncitmiş Olacaksın.
Ecel Kapına Geldigi Zaman
Evi Talaşa Verme
O Geldiği Zaman
Sen Gitmiş Olacaksın



Paticik.COM'dan Alıntıdır...

Bu konu Override tarafından düzenlendi(2010-05-24 19:40, 13 yıl önce)
Eline Sağlık... Yeni arkadaşlarımız yararlanır.. Bu konuda sabitlenir heralde.
Çok güzel olmuş bencede sabitlensin ..
Silindi
Novice
5.2
begen dim iyi olmuş
Yeni başlayanlar , öğrenmek isteyenler ve meraklılar için güzel bir döküman :evet
Silindi
Members
0
Çok iyi olmuş. Yeni arkadaşlarımızın gerçek çok işine yaracak bir şey.
Güsel ben bu scp olayını ogrenmek ıstıyom ıstıom ama kafam almıo :D
On=@Click
src.newitem i_gold / yeni bir item yarak gold olsun
src.act.amount 5000 / evet burda ilk defa act yi gorduk act ise olayın devamını getirir.Soyleki item yarattık bgold burda act ile o esyayı amountladık.Bknz komutlar.5000 gold yaptık
src.act.bounce / burdada yine aynı olaydaki parayı cantamıza ZIPLATTIRDIK

demiş arkadaşımız güsel yamış ama 2.satıra bakın bi:D
Niye alıntı yazılara ben yazdım derler anlayamıyorum.
Muahah daha yeni okudum bide ben bi topice bu adresi vermistim scriptle yazmakla ilgili yardim istemislerdide ... isteyenler burdan original faydalanabilir ... L4l ya ... https://forum.paticik.com/view.php?id=121916
Bir süre sabit kalması yararlı olabilir...
Omfg ben paticigin sonuna kadar okumamistim heralde son kismi kendi yazmistir allah bilir bide konuyu 2 parcaya bolmustur de oyle yazmistir diye dusunmustu ama paticgin tamamini okuyunca l4l adam direk copy paste yapmis abi sen bi daha bu forumlara cikma ...

Daha sonra eklenen mesaj 1 dakika

Steel arkadasim eger bir dokuman istiyorsan ben bulabilirim yani hic yoktan kendim yazdim demem ... Bak iste onu sabitlersek daha guzel olur bence ...

Bu konu Mephisto tarafından düzenlendi(2005-07-26 18:36, 18 yıl önce)
Son kısımda benim arkadaşımın yazdığı Imsonia silahı hatta yazma fikrini ben vermiştim byle bir şey yap diye ama olsun adam genede özenip yazmış sağol.
çok saol ama bişi anlamadım :D
Gerçekden cok yardimci ellerine saglık...



Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.