|
[ITEMDEF i_pickaxe_magic]
ID=i_pickaxe
NAME=Pickaxe
ON=@DClick
// Eğer pickaxe daha önce kullanılmışsa
IF (<FLAG> & flag_broken)
SRC.EMOTE("Büyülü Nesne Kırıldı")
RETURN 0
ENDIF
// Pickaxe'i kırık olarak işaretle ve ismini güncelle
MORE1=1 // Kırık flag'ini ayarla
NAME=[kırık]Pickaxe
SRC.EMOTE("Büyülü Nesne Kırıldı")
// Oyuncunun konumuna bir portal aç
ITEMNEWBIE=i_moongate
ITEMNEWBIE.MOVE=<SRC>
ITEMNEWBIE.MORE1=1 // Portalın gideceği X koordinatı
ITEMNEWBIE.MORE2=1 // Portalın gideceği Y koordinatı
ITEMNEWBIE.TAG.timer_delete=30 // Portalı 30 saniye sonra sil
// 1 1 koordinatlarında bir hazine odası oluştur
LOCAL treasureRoom = f_create_treasure_room(1, 1)
IF (treasureRoom)
SRC.SAY("Bir portal açılıyor ve sizi hazine odasına götürmeye hazır!")
ELSE
SRC.SAY("Bir hata oluştu, portal açılamadı.")
ENDIF
// Pickaxe'i tekrar kullanılamaz hale getir
SETFLAG(flag_broken)
ENDON
[FUNCTION f_create_treasure_room]
// 1 1 koordinatlarında 10x10 zemin oluştur
LOCAL x := 1
LOCAL y := 1
FORLOCAL i = 0 TO 9
FORLOCAL j = 0 TO 9
ITEMNEWBIE=i_floor_stone
ITEMNEWBIE.MOVE(x+i, y+j)
ENDFOR
ENDFOR
// Zeminin ortasına bir sandık yerleştir ve içine altın koy
ITEMNEWBIE=i_chest
ITEMNEWBIE.MOVE(5, 5) // Zeminin ortası
ITEMNEWBIE.REF1=i_gold
ITEMNEWBIE.REF1.AMOUNT=100000
// Odayı ve içindekileri 2 dakika sonra sil
TAG.timer_delete=120
// Oyuncuya her 10 saniyede bir uyarı ver
FORLOCAL k = 0 TO 11
SRC.SAY("Antik yapı yıkılıyor!")
SLEEP(10)
ENDFOR
RETURN 1Eklediğimde NPC'leri 2 konum arasında yürütebileceğim bir event oluşturmasını istedim.[EVENTS e_walk_between_points]
ON=@Timer
// NPC'nin yürüyeceği koordinatları tanımlayın
VAR start_x := 1000 // Başlangıç X koordinatı
VAR start_y := 2000 // Başlangıç Y koordinatı
VAR end_x := 1010 // Bitiş X koordinatı
VAR end_y := 2010 // Bitiş Y koordinatı
// NPC'nin mevcut konumunu kontrol edin
IF (<SRC.X> == end_x) AND (<SRC.Y> == end_y)
// Bitiş noktasındaysa, başlangıç noktasına yürüsün
NPC.WALKTO(start_x, start_y)
ELSEIF (<SRC.X> == start_x) AND (<SRC.Y> == start_y)
// Başlangıç noktasındaysa, bitiş noktasına yürüsün
NPC.WALKTO(end_x, end_y)
ENDIF
// Event'i tekrar tetiklemek için timer ayarlayın
SRC.TIMER=10
ENDON
------
Bu script, e_walk_between_points adlı bir event oluşturur ve bu event, NPC'nin belirli iki koordinat arasında gidip gelmesini sağlar. NPC'nin tanımına bu event'i ekleyerek ve TIMER ayarını yaparak NPC'nin belirli aralıklarla hareket etmesini sağlayabilirsiniz. Örneğin, NPC tanımınıza EVENTS=e_walk_between_points ekleyebilirsiniz.
Bu script örneği, istediğiniz mekanizmayı gerçekleştirmek için bir başlangıç noktasıdır. Daha fazla yardım veya özelleştirme için, lütfen detayları paylaşın. Eğer scripti test etmek ve çalıştırmak isterseniz, Sphere sunucunuzun script dosyalarını güncellemeniz gerekecektir.En az 5 konuma çıkarmasını istedim[EVENTS e_walk_among_points]
ON=@Timer
// NPC'nin yürüyeceği konumları bir dizi olarak tanımlayın
VAR points := { {1000, 2000}, {1010, 2010}, {1020, 2020}, {1030, 2030}, {1040, 2040} }
VAR current_point := <EVAL <SRC.TAG.current_point> > // Mevcut hedef konum
VAR next_point := (current_point + 1) % 5 // Sonraki hedef konum
// NPC'nin sonraki konuma yürümesini sağlayın
NPC.WALKTO(points[next_point][0], points[next_point][1])
// Sonraki konumu kaydedin
SRC.TAG.current_point := next_point
// Event'i tekrar tetiklemek için timer ayarlayın
SRC.TIMER=10
ENDON
----
Bu script, e_walk_among_points adlı bir event oluşturur ve bu event, NPC'nin tanımlanan 5 farklı konum arasında döngüsel olarak yürümesini sağlar. NPC'nin tanımına bu event'i ekleyerek ve TIMER ayarını yaparak NPC'nin belirli aralıklarla hareket etmesini sağlayabilirsiniz. Örneğin, NPC tanımınıza EVENTS=e_walk_among_points ve TAG.current_point=0 ekleyebilirsiniz.
Bu script örneği, istediğiniz mekanizmayı gerçekleştirmek için bir başlangıç noktasıdır. Daha fazla yardım veya özelleştirme için, lütfen detayları paylaşın. Eğer scripti test etmek ve çalıştırmak isterseniz, Sphere sunucunuzun script dosyalarını güncellemeniz gerekecektir.Britain çevresinde fallen logların en fazla 2 kare uzağında spawn olacak şekilde mantar spawn etmesini istedim. Bu mantarların dünyada en fazla 20 tane olmasını ve rastgele çıkmasını istedim. Bu mantarları aşçı yeteneğine sahip oyuncuların kullanması için istediğimi de söyledim. [AREADEF a_mushroom_spawn]
RECT=Britain Territory // Britain Territory bölgesini tanımlayın
ON=@Enter
IF (<EVAL <SERV.MAXITEMS> > 20)
RETURN 0
ENDIF
// Fallen logların etrafında rastgele mantar spawn edin
FOR 0 20
LOCAL log = <SERV.FINDTYPE i_fallen_log>
IF (log)
LOCAL x = <EVAL (<LOG.X> + <RANGE -2 2>)>
LOCAL y = <EVAL (<LOG.Y> + <RANGE -2 2>)>
LOCAL z = <LOG.Z>
// Mantar spawn edin
ITEMNEWBIE=i_mushroom
ITEMNEWBIE.MOVE(x, y, z)
ENDIF
ENDFOR
ENDON
Bu script, “Britain Territory” bölgesindeki fallen logların maksimum 2 kare uzağında rastgele mantarlar spawn eder ve dünya üzerinde aynı anda yalnızca 20 mantarın spawn olmasını sağlar. Oyuncular bu mantarları toplayarak aşçılık yeteneklerini kullanabilir ve özel yemekler yapabilirler.
Eğer başka bir değişiklik veya yardıma ihtiyacınız olursa, lütfen bana bildirin. Yardımcı olmaktan mutluluk duyarım.Anglosakson isimli bir npc oluşturmasını istedim. NPC %75, 50 ve 25'te %15'lik heal bassın dedim. Ayrıca her vuruşta kurt sesi çıkarsın ve canı %10'un altına düşünce kurt adama dönüşüp canı fullesin dedim. Bu noktadan sonra her saldırıda kurt sesi çıkarsın diye belirttim. Kısaca Anglosakson tarihini anlattıktan sonra kodu oluşturmaya başladı.[CHARDEF 0x190]
NAME=Aethelred
ID=HUMAN_MALE
HITS=100
STR=100
DAM=10,20
ARMOR=20
RESISTANCES=10,10,10,10,10
TAG.VULNERABLE=1 // Karakterin canı düştüğünde kontrol için etiket
TAG.TRANSFORMED=0 // Kurt adama dönüşme durumunu kontrol için etiket
ON=@GetHit
// Can %10'un altına düştüğünde kurt adama dönüş
IF (<SRC.HITS> < (10 / 100 * <SRC.MAXHITS>) AND <SRC.TAG.TRANSFORMED> == 0)
SRC.UPDATE=WEREWOLF
SRC.STR *= 2
SRC.HITS *= 2
SRC.TAG.TRANSFORMED=1 // Kurt adama dönüştüğünü işaretle
SRC.SOUND=snd_wolf_howl
SRC.SAY("Auuuuuu!")
ENDIF
ON=@Hit
// Eğer kurt adama dönüşmüşse, her saldırıda kurt uluması sesi çıkar
IF (<SRC.TAG.TRANSFORMED> == 1)
SRC.SOUND=snd_wolf_howl
ELSE
// İnsan halindeyken normal insan sesleri çıkar
SRC.SOUND=snd_human_attack
ENDIFDenemek istediğiniz bir script varsa deneyebilirim. Biraz detaylı olarak anlatmak gerekiyor. Her zaman istenilen sonucu vermiyor.
. Belki de var ben bulamadım ya da sürüm belirtmediğimden eski sürümlerde olan bir şeyi aldı. Chat GPT 4'ü kullanıyor olması lazım Copilot'un. Google'ın Gemini'si bu kadar işlevsel kalmıyor Sphere üzerinde. Sphere'ın tarihçesini veriyor, sürümlerini anlatıyor ancak kodla dediğinde bambaşka bir kodlama dilinde bir şeyler üretiyor.
) muhteşem falan demişsiniz ama estağfurullah
)))))

|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Sphere PvP server Arıyorum
Son cevap: 27-06 02:07 · Son yazan: Batuhan Çakar · Mesaj: 1 · Görüntü: 211
|
Sarı Sayfalar | 27-06 02:07 | 1 | 211 | |
|
|
Sphere X Kurulum İş İlanı
Son cevap: 16-09 22:41 · Son yazan: astor · Mesaj: 4 · Görüntü: 2279
|
Sarı Sayfalar | 16-09 22:41 | 4 | 2279 | |
|
|
UO Battle ( Türkiye'nin tek Sphere X PVP sunucusu )
Son cevap: 21-12 15:56 · Son yazan: Bubju · Mesaj: 6 · Görüntü: 3656
|
Server Reklam, Tartışma | 21-12 15:56 | 6 | 3656 | |
|
|
UO-Dev Sphere Wiki Türkçe
Son cevap: 11-11 12:41 · Son yazan: TheRaskol · Mesaj: 1 · Görüntü: 1884
|
UO-Dev Duyurular | 11-11 12:41 | 1 | 1884 | |
|
|
Hazır sunucu veya script pack hk.
Son cevap: 09-11 20:01 · Son yazan: Aftrosh* · Mesaj: 2 · Görüntü: 1534
|
Sarı Sayfalar | 09-11 20:01 | 2 | 1534 |