Pinke - 18-04-2018 21:47 GMT -
bu iki scriptin birini sphere okuyor digerini okumuyor ikisinden birinde işlem yapınca en son yaptıgımı okuyor nerde sorun var bunların ikisinde de ?
Script Kodu:
Buda Bir gieri;
Script Kodu:
Son güncelleme: TheRaskol tarafından 21-04-2018 12:48 GMT, 1048 Gün önce düzenlendi.
bu iki scriptin birini sphere okuyor digerini okumuyor ikisinden birinde işlem yapınca en son yaptıgımı okuyor nerde sorun var bunların ikisinde de ?
Script Kodu:
[Defname House_Fix_Ayarlar]
YoneticiGecerlilik "1" // Fix yöneticilerde ev kurarken geçerli olsun mu (1=Evet / 0=Hayır)
PlevelAraligi "7" // Fix hangi plevelden düşükler için geçerli olsun
Engebetarama "0" // Engebeli alan taramasını açar/kapatır (1=Açık / 0=Kapalı)
MultiTarama "1" // Evler arasında ki mesafe taramasını açar/kapatır (1=Açık / 0=Kapalı)
TypeTarama "1" // Type taramasını (Ağaç,Su,Duvar vs) açar/kapatır (1=Açık / 0=Kapalı)
StaticsTarama "1" // Statics taramasını (Deserf of comp'daki static ağaçlar) açar/kapatır (1=Açık / 0=Kapalı)
BolgeTarama "0" // Bölge taramasını (Safe,Guard zone vs) açar/kapatır (1=Açık / 0=Kapalı)
OndekiEvleMesafe "2" // Evin önde ki engelle arasında ki mesafe (Kaç Kare)
CevresindekiMesafe "2" // Evin etrafında ki engellerle arasında ki mesafe (Kaç Kare)
EngebeFarki "2" // Ev kurulacak alan içerisindeki maksimum yükseklik farkı (Not : 1 - 2 İdeal)
[Defname Engellenenler]
Engellenen_Type_1 "T_Tree"
Engellenen_Type_2 "T_Foliage"
Engellenen_Type_3 "T_Wall"
Engellenen_Type_4 "T_Water"
[Defname EngellenenTypeIsim]
Type_Isim_1 "agac"
Type_Isim_2 "agac"
Type_Isim_3 "duvar"
Type_Isim_4 "su"
[Defname StaticEngel] // Agac olup Typesi t_tree olmayan nesneler
Engellenen_Statics_1 "i_plant_yucca"
Engellenen_Statics_2 "i_plant_cactus_8"
[Defname EngellenenAlanlar]
Engellenen_Alan_1 "Region.Guarded"
Engellenen_Alan_2 "Region.Safe"
[Defname EngellenenAlanTuru]
Alan_Turu_1 "guard zone"
Alan_Turu_2 "safe alan"
[Defname EvListesi]
Ev_1 "i_deed_house_stone_small"
Ev_2 "i_deed_house_stone_plaster_small"
Ev_3 "i_deed_House_stone_brick_small"
Ev_4 "i_deed_House_wood_plaster_small"
Ev_5 "i_deed_House_wood_thatched_small"
Ev_6 "i_deed_shop_marble_small"
Ev_7 "i_deed_tower_wizard"
Ev_8 "i_deed_house_patio_sand"
Ev_9 "i_deed_villa_2story"
Ev_10 "i_deed_keep"
[Function TamSayi]
If (StrMatch('<StrSub 0 1 <Args>>','-'))
Local.TamSayi <StrSub 1 0 <Args>>
Else
Local.TamSayi <Args>
Endif
Return <dLocal.TamSayi>
[TYPEDEF t_deed]
On=@TargOn_Char
For 1 20 // EvListesinde bulunan Ev_ilk rakam(1) ve Ev_Son rakam(20)
If (<BaseID> == <Def.Ev_<dLocal._For>>)
Src.Sysmessage @38,,1 Hata: Canlilar uzerinde bunu yapamazsiniz.
Return 1
Endif
EndFor
On=@TargOn_Item
For 1 20 // EvListesinde bulunan Ev_ilk rakam(1) ve Ev_Son rakam(20)
If (<BaseID> == <Def.Ev_<dLocal._For>>)
Src.Sysmessage @38,,1 Hata: Esyalar Uzerine ev Kuramassiniz.
Return 1
Endif
EndFor
ON=@Targon_Ground
For 1 20 // EvListesinde bulunan Ev_ilk rakam(1) ve Ev_Son rakam(20)
//If (<BaseID> == <Def.Ev_<dLocal._For>>)
Local.Multi <Serv.Itemdef.<More1>.MultiRegion>
If (<Def.YoneticiGecerlilik>)
If (<Src.Account.Plevel> < <Def.PlevelAraligi>)
If (<Def.BolgeTarama>)
For 1 2 /// Toplam Engellenen Alan Sayısı Kadar Çeviriyor
Local.EngellenenAlan <Def.Engellenen_Alan_<dLocal._For>>
Local.AlanTuru <Def.Alan_Turu_<dLocal._For>>
For 0 <Eval <Def.OndekiEvleMesafe>> // Girişin Önüne Doğru
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>> // Sağ Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alan ve cevresi <Local.AlanTuru> olmamalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>> /// Sol Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuaracaginiz alan ve cevresi <Local.AlanTuru> olmalidir.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>> // Arka Tarafına Doğru
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>> // Sağ Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuaracaginiz alan ve cevresi <Local.AlanTuru> olmalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>> /// Sol Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuaracaginiz alan ve cevresi <Local.AlanTuru> olmalidir.
Return 1
Endif
EndFor
EndFor
EndFor
Endif
If (<Def.TypeTarama>)
For 1 4 /// Not: Buradaki "4" [Defname Engellenenler] Listesinin Toplamı Kadar Çeviriyoruz.
Local.T_Type <Def.Engellenen_Type_<dLocal._For>>
Local.Engellendi <Def.Type_Isim_<dLocal._For>>
For 0 <Eval <Def.OndekiEvleMesafe>>
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
EndFor
EndFor
Endif
If (<Def.StaticsTarama>)
For 1 2 /// Not: Buradaki "4" [Defname Statics] Listesinin Toplamı Kadar Çeviriyoruz.
Local.Statics <Def.Engellenen_Statics_<dLocal._For>>
For 0 <Eval <Def.OndekiEvleMesafe>>
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
EndFor
EndFor
Endif
If (<Def.MultiTarama>)
For 0 <Eval <Def.OndekiEvleMesafe>>
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
EndFor
Endif
If (<Def.EngebeTarama>)
For 0 <Strarg <Streat <Streat <Local.Multi>>>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<Src.TargP.Y>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
For 0 <StrSub 1 0 <StrArg <Local.Multi>>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<Src.TargP.Y>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
For 0 <StrSub 1 0 <StrArg <Local.Multi>>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
EndFor
Endif
Endif
Endif
Endif
EndFor
[EOF]
YoneticiGecerlilik "1" // Fix yöneticilerde ev kurarken geçerli olsun mu (1=Evet / 0=Hayır)
PlevelAraligi "7" // Fix hangi plevelden düşükler için geçerli olsun
Engebetarama "0" // Engebeli alan taramasını açar/kapatır (1=Açık / 0=Kapalı)
MultiTarama "1" // Evler arasında ki mesafe taramasını açar/kapatır (1=Açık / 0=Kapalı)
TypeTarama "1" // Type taramasını (Ağaç,Su,Duvar vs) açar/kapatır (1=Açık / 0=Kapalı)
StaticsTarama "1" // Statics taramasını (Deserf of comp'daki static ağaçlar) açar/kapatır (1=Açık / 0=Kapalı)
BolgeTarama "0" // Bölge taramasını (Safe,Guard zone vs) açar/kapatır (1=Açık / 0=Kapalı)
OndekiEvleMesafe "2" // Evin önde ki engelle arasında ki mesafe (Kaç Kare)
CevresindekiMesafe "2" // Evin etrafında ki engellerle arasında ki mesafe (Kaç Kare)
EngebeFarki "2" // Ev kurulacak alan içerisindeki maksimum yükseklik farkı (Not : 1 - 2 İdeal)
[Defname Engellenenler]
Engellenen_Type_1 "T_Tree"
Engellenen_Type_2 "T_Foliage"
Engellenen_Type_3 "T_Wall"
Engellenen_Type_4 "T_Water"
[Defname EngellenenTypeIsim]
Type_Isim_1 "agac"
Type_Isim_2 "agac"
Type_Isim_3 "duvar"
Type_Isim_4 "su"
[Defname StaticEngel] // Agac olup Typesi t_tree olmayan nesneler
Engellenen_Statics_1 "i_plant_yucca"
Engellenen_Statics_2 "i_plant_cactus_8"
[Defname EngellenenAlanlar]
Engellenen_Alan_1 "Region.Guarded"
Engellenen_Alan_2 "Region.Safe"
[Defname EngellenenAlanTuru]
Alan_Turu_1 "guard zone"
Alan_Turu_2 "safe alan"
[Defname EvListesi]
Ev_1 "i_deed_house_stone_small"
Ev_2 "i_deed_house_stone_plaster_small"
Ev_3 "i_deed_House_stone_brick_small"
Ev_4 "i_deed_House_wood_plaster_small"
Ev_5 "i_deed_House_wood_thatched_small"
Ev_6 "i_deed_shop_marble_small"
Ev_7 "i_deed_tower_wizard"
Ev_8 "i_deed_house_patio_sand"
Ev_9 "i_deed_villa_2story"
Ev_10 "i_deed_keep"
[Function TamSayi]
If (StrMatch('<StrSub 0 1 <Args>>','-'))
Local.TamSayi <StrSub 1 0 <Args>>
Else
Local.TamSayi <Args>
Endif
Return <dLocal.TamSayi>
[TYPEDEF t_deed]
On=@TargOn_Char
For 1 20 // EvListesinde bulunan Ev_ilk rakam(1) ve Ev_Son rakam(20)
If (<BaseID> == <Def.Ev_<dLocal._For>>)
Src.Sysmessage @38,,1 Hata: Canlilar uzerinde bunu yapamazsiniz.
Return 1
Endif
EndFor
On=@TargOn_Item
For 1 20 // EvListesinde bulunan Ev_ilk rakam(1) ve Ev_Son rakam(20)
If (<BaseID> == <Def.Ev_<dLocal._For>>)
Src.Sysmessage @38,,1 Hata: Esyalar Uzerine ev Kuramassiniz.
Return 1
Endif
EndFor
ON=@Targon_Ground
For 1 20 // EvListesinde bulunan Ev_ilk rakam(1) ve Ev_Son rakam(20)
//If (<BaseID> == <Def.Ev_<dLocal._For>>)
Local.Multi <Serv.Itemdef.<More1>.MultiRegion>
If (<Def.YoneticiGecerlilik>)
If (<Src.Account.Plevel> < <Def.PlevelAraligi>)
If (<Def.BolgeTarama>)
For 1 2 /// Toplam Engellenen Alan Sayısı Kadar Çeviriyor
Local.EngellenenAlan <Def.Engellenen_Alan_<dLocal._For>>
Local.AlanTuru <Def.Alan_Turu_<dLocal._For>>
For 0 <Eval <Def.OndekiEvleMesafe>> // Girişin Önüne Doğru
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>> // Sağ Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alan ve cevresi <Local.AlanTuru> olmamalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>> /// Sol Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuaracaginiz alan ve cevresi <Local.AlanTuru> olmalidir.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>> // Arka Tarafına Doğru
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>> // Sağ Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuaracaginiz alan ve cevresi <Local.AlanTuru> olmalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>> /// Sol Tarafını Tarar
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).<Local.EngellenenAlan>>)
Src.Sysmessage @38,,1 Hata: Ev kuaracaginiz alan ve cevresi <Local.AlanTuru> olmalidir.
Return 1
Endif
EndFor
EndFor
EndFor
Endif
If (<Def.TypeTarama>)
For 1 4 /// Not: Buradaki "4" [Defname Engellenenler] Listesinin Toplamı Kadar Çeviriyoruz.
Local.T_Type <Def.Engellenen_Type_<dLocal._For>>
Local.Engellendi <Def.Type_Isim_<dLocal._For>>
For 0 <Eval <Def.OndekiEvleMesafe>>
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).ISNearType <Local.T_Type> 0>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde <Local.Engellendi> bulunuyor.
Return 1
Endif
EndFor
EndFor
EndFor
Endif
If (<Def.StaticsTarama>)
For 1 2 /// Not: Buradaki "4" [Defname Statics] Listesinin Toplamı Kadar Çeviriyoruz.
Local.Statics <Def.Engellenen_Statics_<dLocal._For>>
For 0 <Eval <Def.OndekiEvleMesafe>>
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).Statics.0.BaseID> == <Local.Statics>)
Src.Sysmessage @38,,1 Hata: Ev kuracaginiz alanin cevresinde static nesne bulunuyor.
Return 1
Endif
EndFor
EndFor
EndFor
Endif
If (<Def.MultiTarama>)
For 0 <Eval <Def.OndekiEvleMesafe>>
Local.Pozitif=<Eval <Src.TargP.Y> + <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Pozitif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Pozitif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>> + <Def.CevresindekiMesafe>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Local.Multi>>> + <Def.CevresindekiMesafe>>
IF (<UID.<Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).Region.UID>.More1>)
Src.Sysmessage @38,,1 Hata: Evler arasinda en az <Eval <Def.CevresindekiMesafe>> kare olmalidir.
Return 1
Endif
EndFor
EndFor
Endif
If (<Def.EngebeTarama>)
For 0 <Strarg <Streat <Streat <Local.Multi>>>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<Src.TargP.Y>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
For 0 <StrSub 1 0 <StrArg <Local.Multi>>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<Src.TargP.Y>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
For 0 <Eval <StrSub 1 0 <StrArg <Streat <Local.Multi>>>> + <Strarg <Streat <Streat <Streat <Local.Multi>>>>>>
Local.Negatif =<Eval <Src.TargP.Y> - <dLocal._For>>
For 0 <Eval <Strarg <Streat <Streat <Local.Multi>>>> + <Def.CevresindekiMesafe>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> + <dLocal._For>>,<dLocal.Negatif>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
For 0 <StrSub 1 0 <StrArg <Local.Multi>>>
IF (<TamSayi <Eval <Serv.Map(<Eval <Src.TargP.X> - <dLocal._For>>,<dLocal.Negatif>).Terrain.Z> - <Src.TargP.Z>>> > <Def.EngebeFarki>)
Src.Sysmessage @38,,1 Hata: Alan bu evi kurmak icin fazla engebeli.
Return 1
Endif
EndFor
EndFor
Endif
Endif
Endif
Endif
EndFor
[EOF]
Buda Bir gieri;
Script Kodu:
[itemdef i_kurulmazz]
id 8900
name Ev Kurulmaz
type t_deed
on=@create
color 0
attr 08010
on=@click
message @44,6,1 Bu Alana Ev kurulumu Yasaklanmistir.
return 1
on=@timer
return 1
[function evkurulmazz]
serv.newitem i_kurulmazz
new.drop
[function is_tabelaya_yakin]
foritems 2
if (strmatch('<baseid>','i_sign_brass'))
local.kurulmazz +=1
endif
endfor
return <dlocal.kurulmazz>
[function isevkurulmazz]
foritems 20
if (strmatch('<baseid>','i_kurulmazz'))
local.kurulmazz +=1
endif
endfor
return <dlocal.kurulmazz>
[TYPEDEF t_deed]
ON=@DClick
if ((<src.isevkurulmazz>) || (<src.region.guarded> == 15))
src.sysmessage @38,,1 Hata: Bu alana ev kuramazsiniz. 15 kare uygun alan arayin..
return 1
endif
endif
ON=@TargOn_Ground
if ((<src.isevkurulmazz>) || (<src.region.guarded> == 15))
src.sysmessage @38,,1 Hata: Bu alana ev kuramazsiniz. 15 kare uygun alan arayin..
return 1
endif
ON=@TargOn_Char
src.sysmessage @38,,1 Hata: Hatali secim.
return 1
ON=@TargOn_Item
src.sysmessage @38,,1 Hata: Hatali secim.
return 1
[EOF]
id 8900
name Ev Kurulmaz
type t_deed
on=@create
color 0
attr 08010
on=@click
message @44,6,1 Bu Alana Ev kurulumu Yasaklanmistir.
return 1
on=@timer
return 1
[function evkurulmazz]
serv.newitem i_kurulmazz
new.drop
[function is_tabelaya_yakin]
foritems 2
if (strmatch('<baseid>','i_sign_brass'))
local.kurulmazz +=1
endif
endfor
return <dlocal.kurulmazz>
[function isevkurulmazz]
foritems 20
if (strmatch('<baseid>','i_kurulmazz'))
local.kurulmazz +=1
endif
endfor
return <dlocal.kurulmazz>
[TYPEDEF t_deed]
ON=@DClick
if ((<src.isevkurulmazz>) || (<src.region.guarded> == 15))
src.sysmessage @38,,1 Hata: Bu alana ev kuramazsiniz. 15 kare uygun alan arayin..
return 1
endif
endif
ON=@TargOn_Ground
if ((<src.isevkurulmazz>) || (<src.region.guarded> == 15))
src.sysmessage @38,,1 Hata: Bu alana ev kuramazsiniz. 15 kare uygun alan arayin..
return 1
endif
ON=@TargOn_Char
src.sysmessage @38,,1 Hata: Hatali secim.
return 1
ON=@TargOn_Item
src.sysmessage @38,,1 Hata: Hatali secim.
return 1
[EOF]
Son güncelleme: TheRaskol tarafından 21-04-2018 12:48 GMT, 1048 Gün önce düzenlendi.
4s3d3 - 18-04-2018 21:56 GMT -
İkiside aynı typeyi kullandığı için çatışıyor ilk scripti spherenin çıplak script dosyasınada eklesen ev kurulumda problem yaşamazsın yani ekstradan script eklemene ayar yapmana gerek yok. 2. Script çok eski bu arada artık kullanmana gerek yok
İkiside aynı typeyi kullandığı için çatışıyor ilk scripti spherenin çıplak script dosyasınada eklesen ev kurulumda problem yaşamazsın yani ekstradan script eklemene ayar yapmana gerek yok. 2. Script çok eski bu arada artık kullanmana gerek yok
Pinke - 18-04-2018 22:05 GMT -
ikinci scpti kullanmadıgım da player moonglowun kapısına yolun ortasına istedigi yere ev kura biliyor :S birde şöyle bir haya alıyorum
Script Kodu:
Son güncelleme: Pinke tarafından 18-04-2018 22:12 GMT, 1051 Gün önce düzenlendi.
ikinci scpti kullanmadıgım da player moonglowun kapısına yolun ortasına istedigi yere ev kura biliyor :S birde şöyle bir haya alıyorum
Script Kodu:
21:11:ERROR:(evyasakci.scp,84)Undefined symbol ''
Son güncelleme: Pinke tarafından 18-04-2018 22:12 GMT, 1051 Gün önce düzenlendi.
xrambo - 18-04-2018 22:36 GMT -
typedef t_deed den kaynaklı sorun.
2 ayri scriptede tanımlama yapmışsın. ve normaldede t_deed typesi var yani toplamda 3 tane. onlari sadece tek başlık altında yapman lazım.
typedef t_deed den kaynaklı sorun.
2 ayri scriptede tanımlama yapmışsın. ve normaldede t_deed typesi var yani toplamda 3 tane. onlari sadece tek başlık altında yapman lazım.
Pinke - 18-04-2018 23:09 GMT -
evi yolun ortasına kura biliyorum ikinci scpde onu nasıl düzeltirim
evi yolun ortasına kura biliyorum ikinci scpde onu nasıl düzeltirim
4s3d3 - 18-04-2018 23:32 GMT -
O problemi çözmen için bir yol yok malesef
ya da ben öyle düşünüyorum. Yapabileceğin en temiz yol kurulan evleri denetim için bir listeye alıp yada yetkilinin çantasına bir deed şeklinde bilgilerini göndermen ve o evin kurulduğu kordinatları gidip kontrol etmendir.
Alıntı
Pinke :
evi yolun ortasına kura biliyorum ikinci scpde onu nasıl düzeltirim
O problemi çözmen için bir yol yok malesef

Pinke - 18-04-2018 23:40 GMT -
anladım tsklr ilgin icin. xrambo TYPEDEF t_deed nasıl toplıya bilirim bir yol göstere bilirimisin kafam karıştı biraz tp
Son güncelleme: Pinke tarafından 18-04-2018 23:52 GMT, 1051 Gün önce düzenlendi.
anladım tsklr ilgin icin. xrambo TYPEDEF t_deed nasıl toplıya bilirim bir yol göstere bilirimisin kafam karıştı biraz tp
Son güncelleme: Pinke tarafından 18-04-2018 23:52 GMT, 1051 Gün önce düzenlendi.
4s3d3 - 19-04-2018 00:13 GMT -
"Typedef t_deed" Typesi t_deed olan tüm eşyaları kapsar yani eski scriptlerde ki oyuncu için Fix eventi gibi düşün.
Agent Ransack programını kurarak "Typedef T_deed" i scriptlerin içinde tararsın tek bir tane kalacak şekilde ayarlarsın olur biter
"Typedef t_deed" Typesi t_deed olan tüm eşyaları kapsar yani eski scriptlerde ki oyuncu için Fix eventi gibi düşün.
Agent Ransack programını kurarak "Typedef T_deed" i scriptlerin içinde tararsın tek bir tane kalacak şekilde ayarlarsın olur biter
Pinke - 19-04-2018 00:36 GMT -
baba dediginden hicbirsey anlamadım neyi nasıl icine atıcam dedigin anget ile arattıgımde ikitanesi scptin Typedef T_deed cıkıyor oda yukarda paylaştıklarım. bir scptin icine Typedef T_deed topladım altına yine aynı
baba dediginden hicbirsey anlamadım neyi nasıl icine atıcam dedigin anget ile arattıgımde ikitanesi scptin Typedef T_deed cıkıyor oda yukarda paylaştıklarım. bir scptin icine Typedef T_deed topladım altına yine aynı
4s3d3 - 19-04-2018 00:50 GMT -
Bak kardeşim şimdi olaya kesin çözüm getireyim 2 tane çıktı değil mi şimdi iki scrptte ev hata scriptiyse birini tamamen sil benim paylaşmış olduğum script daha kapsamlı zaten iki scripti aynı anda kullanırsan bile benim paylaşmış olduğum script tam anlamıyla çalışmayacaktır. Nedenine gelecek olursak birinde kurulum esnasında direk senin x kare çevrendekiler taranıyor engelliyor birinde yani benim paylaşmış olduğumda ev kurulurken evin sınırlarının 2 kare yakınında başka bir ev yada static varsa engelliyor.
Bak kardeşim şimdi olaya kesin çözüm getireyim 2 tane çıktı değil mi şimdi iki scrptte ev hata scriptiyse birini tamamen sil benim paylaşmış olduğum script daha kapsamlı zaten iki scripti aynı anda kullanırsan bile benim paylaşmış olduğum script tam anlamıyla çalışmayacaktır. Nedenine gelecek olursak birinde kurulum esnasında direk senin x kare çevrendekiler taranıyor engelliyor birinde yani benim paylaşmış olduğumda ev kurulurken evin sınırlarının 2 kare yakınında başka bir ev yada static varsa engelliyor.