Silindi
Return 1 eklesende eklemesende çalışır.

on=@equiptest yerine on=@equip kullanman daha iyi olur.

equiptest hakkında fazla bilgim yok.
Silindi
@equiptest'te return 1 eklemessen çalışmaz.
@equiptest @equip ten önce tetiklenen bi trigger.. neyse geçelim şimdi karıştırmaya gerek yok..

burda 2 tarafta haklı.. ama yöntem farkı var

michael in verdiği scp de return 1 e gerek yok..

if (<src.account.plevel> < 7)
unequip

çünkü burda giydiği gibi tekrar unequip ediyor.. yani çalışır fakat mesela bu bir gm robe ise giydiğinde invis ediyorsa filan bu yöntem işe yaramaz.. adam player ise bile invis olur..

o yüzden en mantıklısı

on=@equiptest
if (<src.account.plevel> < 7)
src.sysmessage bunu giyemezsin
return 1
endif


şeklinde yapmaktır.. böylece ne dclick te nede equip te check etmeye gerek kalmaz bu kadarcık scp iş görür.
Silindi
Neophyte
0.2
Hadi canım ordan eskiden equiptestmi varmış :D
sadece bi kolaylık..

equiptest olmasa hem dclick i return 1 etmek hemde equip i unequip etmek gerekirdi eskiden :)
Silindi
Neophyte
0.2
55r dede var mı equiptest ?
evet :)

bu arada yukarıdaki herkesin yanıldığı nokta.. @equiptest in veya @dclick in altında unequip kullanılmaz.. çünkü equiptest dediğim gibi adam daha itemi equip etmeden önce tetiklenen bir triggerdır.. dclick te aynı şekilde adam daha çift tıkladığı gibi unequip edilemez.. umarım açıklayıcı olmuştur.

Bu konu Nixdorf tarafından düzenlendi(2007-09-13 00:18, 16 yıl önce)
Silindi
Neophyte
0.2
Evet haklısın dclickde unequip olmaz :)
sercan orada equiptest equip'ten önce ateşlenen trigger'dır yazıyor :P
'Equiptest' ile 'equip' in farkını size anlatayım bilmeyenler için.

"Equip" de şunu demiş olursun, "giydiğinde"

"Equiptest" de ise şunu, "giymeye çalıştığında"

Kullanımlarıda şöyle olur:Eğer sadece sunucu sahibi giymeliyse,

on=@equip - Giydiğinde
if (<src.account.plevel> < 7) - Eğer oyuncu seviyesi 7 değerinden düşükse
unequip - Çıkar

Diğeri;

on=@equiptest - Giymeyi denediğinde
if (<src.account.plevel> < 7) - Eğer oyuncu seviyesi 7 değerindendüşükse
return 1 - Başa (birinci satıra) dön

Peki nasıl "return 1" üstünden çıkarmanı nasıl sağlıyor?Ve "equip" de "return 1" le olmuyorda equiptest de neden oluyor?

1. Nesnenin başına dikkat edin

"id=abc" (abc rasgele birşeydir)

nesneye verilen bu id daha once sunucada olan birşeyin id sidir.

Ve mesela bu bir giysi id si ise,çift tıkladığında üzerine giyecektir,bu standart olarak ayarlanmıştır ve eğer siz eşyanıza 'giydiğinde' yada 'giymeye çalıştığında' gibi bir bölüm eklemezseniz standart ayarlar kullanılır.

Şimdi yaptığıma bakalım.

on=@equiptest
if (<src.account.plevel> < 7)
return 1

Ben kendime ayrı bir giymeye çalıştığında oluşturdum (on=@equiptest) ve eğer oyuncu seviyesi 7 den düşükse (if (<src.account.plevel> < 7) ) hiçbirşey yapmayıp başa dönmesini istedim (return 1) ve işlevsiz hale getirdim bu yüzden 7 seviyesinden aşağıda biri bunu giyemiyor.

2.Peki aynı şeyi equip de yapsak olmazmı?Olmaz.Çünkü:

on=@equip dediğimizde ne demiş olacağız? 'Giydiğinde' demiş olacağız yani adam çoktan giymiş!Ama equiptest de giymeye çalıştığında diyoruz.

Bu yüzdende 'equip' kullanırken 'return 1' işe yaramaz, 'unequip' demeliyiz.

Umarım anlattıklarım işinize yarar.

Bu konu SubbZzero tarafından düzenlendi(2007-09-13 18:54, 16 yıl önce)
subbzzero:
on=@equiptest - Giymeyi denediğinde
if (<src.account.plevel> < 7) - Eğer oyuncu seviyesi 7 değerinden düşükse
unequip - Çıkar

Peki nasıl return 1 üstünden çıkarmanı nasıl sağlıyor?

burada hatan var.. bak üsttede anlattım hatta kendinde yazmışsın equiptest daha item giyilmeden önce tetiklenen bi triggerdır.. item giyilmeden unequip edemezsin yani bu üstteki örnek çalışmaz..

ayrıca birde return 1 üstünden çıkarmanı sağlıyor demişsin.. triggerlarda return 1 gerçek manasıyla açıklamak gerekirse işlemi durduran bi satırdır. zaten @equiptest nin güzelliği de return 1 ederek giyilmesini engellemekte..
Senin hatan var ilk söylediğini uzun yazmaktan kafam karıştı sildim 5dk sora düzelttim,ikinci dediğini de yazımda açıkladım,üstünden çıkarmak diye bahsettim ilk sonra aşağıdaki gibi anlattım.

"Ve mesela bu bir giysi id si ise,çift tıkladığında üzerine giyecektir,bu standart olarak ayarlanmıştır ve eğer siz eşyanıza 'giydiğinde' yada 'giymeye çalıştığında' gibi bir bölüm eklemezseniz standart ayarlar kullanılır.

Şimdi yaptığıma bakalım.

on=@equiptest
if (<src.account.plevel> < 7)
return 1

Ben kendime ayrı bir giymeye çalıştığında oluşturdum (on=@equiptest) ve eğer oyuncu seviyesi 7 den düşükse (if (<src.account.plevel> < 7) ) hiçbirşey yapmayıp başa dönmesini istedim (return 1) ve işlevsiz hale getirdim bu yüzden 7 seviyesinden aşağıda biri bunu giyemiyor."

Yani bi yanlış bilgi vermedim.
benim niye hatam olsunki? kafanmı güzel?

göz göre göre yanlış bilgi vermişsin.. yukarıda gayet güzel anlatılan bişeyin üstüne ekleme yapıp yanlış şeyler yazmışsın.. benim yukarıdaki amacım benden önce yazan kişilere @equiptest i anlatmak diyil equiptesti araştıran birinin bu başlıkta @equiptest hakkında bilgi sahibi olmasını sağlamak.. sonuçta yukarıdakiler sadece basit mantık hataları yapmışlar ve bunun farkında varıp düzeltebilicek kişiler.

ve sen doğru verilen bi bilgiyi yanlış örneklerle açıklamaya çalışırsan ben doğal olarak bu yanlışını gösteririm bu gayet normal..

mademki insanlara birşeyi anlatmaya çalışıosun ilk şöyle yazdım sonra aşağıda şöyle anlattım deyip kafalarını karıştırma lüksün yok..

return 1 ile üstünden çıkartıyoruz demek yanlış bilgi vermekten başka bişey değildir.. ve bu işi öğrenmeye çalışan biri senin verdiğin yanlış bilgiler bi iş üzerinde saatlerce takılıp kalabilir hatta sıkılıp yaptığı işi bırakabilir..

son olarak şöyle bağliyim olayı; tutorial tarzında bi yazı hazırlıyacak kadar bilgi ve birikiminiz yoksa hiç boşuna uğraşıp insanların kafasını karıştırmayın..
Bunu anlayamıyorsun ama konuyu öyle bağlamam gerekirdi,onların yapmak istedikleri üstünden çıkarmak olduğundan konuyla bağlantısı belli olsun diye öyle dedim,ve az altta asıl hadiseyi anlattım,bundan yararlanacak kişiler tamamen okuyacaktır,aksi takdirde benim hatam değildir.

Ve verdiğim tüm bilgi harfi harfine doğrudur.

Asıl senin verdiğin bilgi üstü kapalı sadece unequip yapamazsınız demişsin.Peki neden?Bunla ilgili hiç birşey yok ortaya birşey atıyorsun ama neden yok.
hala yazında return 1 le üstünden çıkartıyoruz gibi yanlışlarla dolu bir cümle var..

orayıda düzelt ondan sonra tüm bilgi harfi harfine doğrudur yaz.



Bu konu kilitlenmiş ve yeni mesaj kabul edilmiyor.

Üye Ol veya Giriş Yap

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