arkadaşlar şimdi guildstone kurmmak için deed'e çift tıkıoyruz ya işte bi dialog geliyor guild ismi ne olsun diye onu yazıp tamam dedik mi guild kuruluyor stonesi.Ama bi bug var o ismi yazıp kalede istediğin yere gidip kuruyorsun,ben bunu fixlemek istiyorum ama unuttum ne olduğunu ekranda bi dialog varken yürümemesini istiyorum bunu nasıl yapabilirim*

Bu konu manifest tarafından düzenlendi(2009-07-02 03:45, 14 yıl önce)
src.flags paralyze flagı kurduktan sonrada eskiye çevirirsin
hmm olabilir peki bi sorum daha var guild kurarken tükrçe karekrter numara koymamasını istiyorum ama yapamadım nasıl olabilir?

birde aynı guild ismi varsa kurmasın buları yaptımmı guild bitiyorda:

On=1
obj=<uid>
forplayers 6144
elseif (<obj.uid> != <uid>
elseif (strmatch('<obj.name>', '<argtxt[1]>')
src.dialog d_isimdegis
src.sysmessage @025,1,1 Bu isimden sunucuda bulunmaktadir.
return 1
endfor
FOR 0 <eval (strlen(<argtxt[0]>)-1>
IF !(strmatch('*[^öçğüışç]*','<strsub <dlocal._for> 1 <argtxt[0]>>'))
src.sysmessage @1153,1,1 Türkçe karakter kullanmayın..
return 1
ENDIF
ENDFOR
if (<distance> > 3)
src.sysmessage @0845,1,1 Bu işlem için guildstone'a yeterince yakın değilsiniz!
elseif ((strlen(<argtxt[0]>)) > 16)
src.sysmessage @666,1,1 Guild ismi en fazla 16 karakterden oluşabilir.
dialog d_menus
elseif (strmatch('<argtxt[0]>',''))
src.sysmessage @666,1,1 Bir isim girmediniz?
dialog d_menus
elseif (<isnum <strsub <eval <local._for>> 1 <tag.guild>>>)
src.sysmessage @38,6,1 Guild isimlerinde numaralandirma olmaz.
return 1
else
src.tag.guildisim <argtxt[0]>
remove
src.guildimiver
return 1
endif
endfor
ilk olarak şunu denermisin

if strmatch(*[A-Z]*,'<argtxt[1]>')

bu olmaya bilir olmazsa da bunu dene

*[^öçğüışç]* bunu bir daha tırnak içine almana gerek yok sadece yıldız da kurtarır
for x 1 <eval (strlen(<argtxt[0]>))-1>
if !(strmatch('[abcdefghijklmnoprstuvyz']','<strsub <dlocal.x> 1 <argtxt[0]>>'))
src.sysmessage Hatali isim girdiniz
return 1
endif
endfor
emre oldu teşekkürler peki ya bu numara girmemesini nasıl yapıyoruz birde aynı guild ismi kullanmama olayınıda nasıl yapabiliriz?
numara girmemeyi

if (<isnum <argtxt[0]>>)
src.sysmessage @038a,0,1 Numara giremessiniz.
return 1
endif
Master
59.2997
Eğer tam anlamı ile rakam girilmemesini istiyorsan isnum işe yaramayacaktır. Şu fonksiyon işini görebilir,

for s 0 <eval (strlen(<argtxt[0]>)) -1>
  if !strmatch(*[0-9]*,'<strsub <dlocal.s> 1 <argtxt[0]>>')
    sysmessage sadece rakam.
    return 1
  endif
endfor

ayrıca harf kontrolü için de,

for s 0 <eval (strlen(<argtxt[0]>)) -1>
  if !strmatch(*[a-z]*,'<strsub <dlocal.s> 1 <argtxt[0]>>')
    sysmessage sadece harf.
    return 1
  endif
endfor

Üye Ol veya Giriş Yap

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