ograso - 10-06-2014 00:44 GMT -
Selamlar arkadaşlar,
Amma çok baslık actım yanlız . Kusura kalmayın lutfe .
Şimdi hazine sistemi uzerinde calısıyorum hersey harika ama gel gor beni yeri kazamıyorum . Kazıp hazineyi cıkarmam lazım ama olmuyo. Bunun icin ne yapmalıyım. Soyle bir brief konuda uzman bir arkadasa mutesekkür olurum.
Selamlar arkadaşlar,
Amma çok baslık actım yanlız . Kusura kalmayın lutfe .
Şimdi hazine sistemi uzerinde calısıyorum hersey harika ama gel gor beni yeri kazamıyorum . Kazıp hazineyi cıkarmam lazım ama olmuyo. Bunun icin ne yapmalıyım. Soyle bir brief konuda uzman bir arkadasa mutesekkür olurum.
M.CANILIK - 10-06-2014 03:22 GMT -
Eğer hazineyi almak için hazinenin olduğu kareyi kazmasını gereksinim olarak görüyorsan random bir tile scripti yazıcaksın görünüşüde floorlara benzeyecek ( artık grass üzerinde çıkartırsan grass dungeon/cave gibi bir yerde çıkartıcaksan aynı şekilde v.s v.s ) kazmanında on=@targon_ground kısmında yazdığın tileye target alınmasıyla ilgili düzenlemeler yaparsın böylece hazinenin olduğu kareyi kazabilir playerlar. Ki buna benzer bir sos (deniz hazinesi) sistemi vardı yanlış hatırlamıyorsam, bir forumlara bak bende bakarak olayım bulursam link atarım burdan, o sistemdeki mantığın aynısını kullanabilirsin.
Edit: Hop buldum... Bu sistemi bir incele büyük ihtimalle ne demek istediğimi daha iyi anlayacaksın.
Eğer hazineyi almak için hazinenin olduğu kareyi kazmasını gereksinim olarak görüyorsan random bir tile scripti yazıcaksın görünüşüde floorlara benzeyecek ( artık grass üzerinde çıkartırsan grass dungeon/cave gibi bir yerde çıkartıcaksan aynı şekilde v.s v.s ) kazmanında on=@targon_ground kısmında yazdığın tileye target alınmasıyla ilgili düzenlemeler yaparsın böylece hazinenin olduğu kareyi kazabilir playerlar. Ki buna benzer bir sos (deniz hazinesi) sistemi vardı yanlış hatırlamıyorsam, bir forumlara bak bende bakarak olayım bulursam link atarım burdan, o sistemdeki mantığın aynısını kullanabilirsin.
Edit: Hop buldum... Bu sistemi bir incele büyük ihtimalle ne demek istediğimi daha iyi anlayacaksın.
ograso - 10-06-2014 14:53 GMT -
Evet şimdi problemimi yazıyorum. Mevcut hazine sistemi uzerinde ki tanımlamalarım su sekilde. 1 adet pickaxe tanımlamam var define noktasını kazmak icin. Sonrasında bir harita itemdef mevcut ve sonrasında 3 adet tydef tanımı yapıyorum.
Şimdi pickaxe ile vurdugum zaman ilgili tile uzerine "Hazineyi cikarmayi basardiniz." mesajını alıyorum ancak sonraki trigger olan NEW.TYPE=T_MAP_CHEST devreye girmiyor. Yani burda zincirleme bir ifade olması gerekirken olmuyor. Nerde yanlıs yapıyorum anlayamadım. Desteginizi rica ediyorum
Son güncelleme: ograso tarafından 12-06-2014 23:48 GMT tarihinde, önce.
Evet şimdi problemimi yazıyorum. Mevcut hazine sistemi uzerinde ki tanımlamalarım su sekilde. 1 adet pickaxe tanımlamam var define noktasını kazmak icin. Sonrasında bir harita itemdef mevcut ve sonrasında 3 adet tydef tanımı yapıyorum.
Şimdi pickaxe ile vurdugum zaman ilgili tile uzerine "Hazineyi cikarmayi basardiniz." mesajını alıyorum ancak sonraki trigger olan NEW.TYPE=T_MAP_CHEST devreye girmiyor. Yani burda zincirleme bir ifade olması gerekirken olmuyor. Nerde yanlıs yapıyorum anlayamadım. Desteginizi rica ediyorum
Son güncelleme: ograso tarafından 12-06-2014 23:48 GMT tarihinde, önce.
M.CANILIK - 13-06-2014 13:22 GMT -
Böyle yardımcı olamayız sana, kazmanın @targon_ground kısmını paylaş bir bakalım hep birlikte.
Böyle yardımcı olamayız sana, kazmanın @targon_ground kısmını paylaş bir bakalım hep birlikte.
ograso - 13-06-2014 14:12 GMT -
Kodlar burda. Tile uzerine vurdugum icin targon_ground değil targon_item kısmına yerleştirdim.
Spherecommunity de bir arkadas bu konu icin new ile herhangi birşeyi referans gosteremezsin diye cevap vermiş. Peki ozaman yapının dogru sekilde devam etmesi için ne yapmalıyım??
Kodlar burda. Tile uzerine vurdugum icin targon_ground değil targon_item kısmına yerleştirdim.
Spherecommunity de bir arkadas bu konu icin new ile herhangi birşeyi referans gosteremezsin diye cevap vermiş. Peki ozaman yapının dogru sekilde devam etmesi için ne yapmalıyım??
Kod:
[ITEMDEF 0e85]
DEFNAME=i_pickaxe
TYPE=t_weapon_mace_pick
ReqStr=50
TEVENTS=t_equipitem
DUPELIST=0e86
ON=@Create
HITPOINTS={36 48}
ON=@Targon_item
if ((<src.targ.baseid>==i_plant_rushes) || (<src.targ.baseid> == i_plant_fern) || (<src.targ.baseid> == i_plant_fern_5))
src.anim 12
src.sound 0126
VAR.PERCENT=<EVAL RAND(100)>
if (<EVAL <VAR.PERCENT>>>80)
src.sysmessage @60 gratz. You pullout
NEW.TYPE=T_L1MAP_CHEST
elseif (<EVAL <VAR.PERCENT>><20)
src.sysmessage @38 bla bla bla
endif
endif
Return 1
ON=@Targon_ground
[ITEMDEF i_ttm_l1]
ID=i_map
NAME=Define haritasi [Level-1]
CATEGORY=Maps - Treasure
SUBSECTION=Level 1
DESCRIPTION=Map
ON=@Create
color=1153
TYPE=T_L1MAP
DORAND 2
MOREP=2354,3447,0
MOREP=1133,3403,0
ENDDO
[TYPEDEF T_L1MAP]
//LEVEL1MAP Deciphering
ON=@DCLICK
IF (!<SRC.RESTEST 1 i_pickaxe>)
SRC.MESSAGE <def.msg_no_pickaxe>
RETURN 1
endif
IF (<SRC.CARTOGRAPHY><50.0)
SRC.MESSAGE <def.msg_no_cartography>
RETURN 1
endif
IF (<MORE><0FFFF)
NAME=Acilmis Harita
TYPE=T_MAP
MORE1=((<MOREX> -180)*010000)+(<MOREY> -180)
MORE2=((<MOREX> +180)*010000)+(<MOREY> +180)
PIN=105,105 // dead center.
NEWITEM <DEF.TMTILES> //Place trigger random tile
NEW.TYPE=T_L1MAP_CHEST
NEW.TIMER=-1
NEW.ATTR=attr_static|attr_move_never
NEW.LINK=<UID>
NEW.P=<MOREP>
RETURN 0
ENDIF
[TYPEDEF T_L1MAP_CHEST]
//LEVEL1MAP Treasure map Chest Spawn
ON=@DCLICK
IF (<DISTANCE>>3)
src.MESSAGE="sdfdflkjkl"
RETURN 1
endif
IF (<LINK.TOPOBJ.UID> != <SRC.UID>)
RETURN 1
endif
IF ((<SRC.FINDLAYER(layer_hand1).BASEID>==i_PICKAXE) && (<SRC.MINING>>50.0))
SRC.ANIM 0B
SOUND 0126
NEWITEM TM_LOOT_1 // poor loot
NEW.P=<P>
SRC.MESSAGE=<def.msg_dig_treasure>
LINK.REMOVE //remove linked deciphered map
NEWITEM=i_Treas_Spawn_VEasy
NEW.P=<P>
REMOVE //remove trigger plant
RETURN 1
endif
RETURN 1
[TEMPLATE TM_LOOT_1]
CONTAINER=i_chest_treasure //Metal Chest
MORE2=1
ITEM=POOR_MAGIC_GOODIE
M.CANILIK - 13-06-2014 14:52 GMT -
Bu kısım hatalı new parametresi herhangi bir kaynak belirtmiyor. Darksun84 haklı gerçektende. Ayrıca eksikde bu script ilk verdiğim sistem örneğinden doğrusuna bakabilirsin. "src.targ" ile işlem başarıya ulaştığında playerın targeti olan tile üzerinde kasayı yaratıyor, tileyi siliyor, tilenin linkli olduğu hazine haritasını siliyor. Bu satırları o scriptten bakıp eklersen problemin çözülür.
Kod:
....
src.sysmessage @60 gratz. You pullout
NEW.TYPE=T_L1MAP_CHEST
....
Bu kısım hatalı new parametresi herhangi bir kaynak belirtmiyor. Darksun84 haklı gerçektende. Ayrıca eksikde bu script ilk verdiğim sistem örneğinden doğrusuna bakabilirsin. "src.targ" ile işlem başarıya ulaştığında playerın targeti olan tile üzerinde kasayı yaratıyor, tileyi siliyor, tilenin linkli olduğu hazine haritasını siliyor. Bu satırları o scriptten bakıp eklersen problemin çözülür.
ograso - 13-06-2014 19:55 GMT -
Çözüldü.
Bütün olay hangi eventin nerede kullanıldıgını bilmek ve hangi event altında hangi trigger ın calıstıgını bilmek ile alakalıymıs. Yanlıs yerde yanlıs seyi cagırdıgım icin olmus. Suan harika ve duzenli sekilde calısıyor.
Çözüldü.
Bütün olay hangi eventin nerede kullanıldıgını bilmek ve hangi event altında hangi trigger ın calıstıgını bilmek ile alakalıymıs. Yanlıs yerde yanlıs seyi cagırdıgım icin olmus. Suan harika ve duzenli sekilde calısıyor.