eski bir serverda gordugum bi npc modeli normal bir npc ama bir player gordugu zaman butun layerlerini kopyalayip herseyi ile onun sekline burunuyor o sekilde dovusuyor olunce yine eski haline donuyor bende yapayim dedim ama bir turlu beceremedim hatta scp kismindaki eventlerden fellowship scp sini okudum bastan asagi bir fikir elde ederim diye o scp yi yazan kisinin mantigina gore once dupelayer diye bir fonksiyon yaratmis daha sonra
cont.dupelayer layer_hand1
cont.dupelayer layer_hand2
cont.dupelayer layer xxxx

seklinde butun layerleri kopyalamis falan filan ama ben beceremedim tam scp olmasa bile fikir vericek kucuk bir calisma yada 1 2 satir kod yazabilirseniz sevinirim.
Silindi
Members
0
https://ultima-strike.com/scripts-id-2419.html

sanırım şurdaki script işine yarar
Silindi
Members
0
:D ulan bunu biz noxierle yapacaktık Noxier üşendi yapamadık :D bak millet yapıyo :D hangi serverda gördün sen bunu ben 6 7 sene önce Kalmiria die bi serverda görmüştüm.
ben bunu en son sylveriada gordum. ama eskisinde yani yaklasik 5 6 sene oncesine denk geliyor demektir. o zaman bana cok basit bir npc gibi gelmisti ama simdi yapamiyorum sacimi basimi yolacam sole bir sey denedim ama olmadi.

[FUNCTION dupelayer]
IF (<FINDLAYER(<ARGS> )> )
TRY NEWITEM <FINDLAYER(<ARGS> ).BASEID>
TRY ACT.DISPID <FINDLAYER(<ARGS> ).DISPID>
TRY ACT.COLOR <FINDLAYER(<ARGS> ).COLOR>
ACT.UPDATE
ENDIF

[EVENTS e_kopya]
ON=@NPCSeeNewPlayer

CONT.dupelayer layer_hand1
CONT.dupelayer layer_hand2
CONT.dupelayer layer_shoes
CONT.dupelayer layer_pants
CONT.dupelayer layer_shirt
CONT.dupelayer layer_helm
CONT.dupelayer layer_gloves
CONT.dupelayer layer_ring
CONT.dupelayer layer_collar
CONT.dupelayer layer_hair
CONT.dupelayer layer_half_apron
CONT.dupelayer layer_chest
CONT.dupelayer layer_wrist
CONT.dupelayer layer_beard
CONT.dupelayer layer_tunic
CONT.dupelayer layer_arms
CONT.dupelayer layer_cape
CONT.dupelayer layer_robe
CONT.dupelayer layer_skirt
CONT.dupelayer layer_legs
CONT.dupelayer layer_horse
CONT.dupelayer layer_light
CONT.dupelayer layer_pack

bole bisi denedim sonra e_kopya eventinide npc ye ekledim ama hem event eksik hemde ben yanlis bir yoldan gidiyorum gibime gelio.

Bu konu veppa tarafından düzenlendi(2007-09-29 23:57, 16 yıl önce)
Silindi
Members
0

[FUNCTION dupelayer]
IF (<FINDLAYER[<ARGS>]>)
TRY NEWITEM  <<FINDLAYER[<ARGS>]>.BASEID>
TRY ACT.DISPID  <<FINDLAYER[<ARGS>]>.DISPID>
TRY ACT.COLOR  <<FINDLAYER[<ARGS>]>.COLOR>
ACT.UPDATE
ENDIF

on=@attack
for 0 90
act.dupelayer <eval <local._for>>
endfor

Şeklinde uğraş tüm layerleri alır ayrıca attack verdiği adamınkileri alsın böyle daha iyi olur sphere açma imkanım olmadığı için deneyemiyorum şuanda.
test ettim hic bri hata yok ama npcdede hic bi degisiklik yok. :( cok kafa yordum ama anlasilan beceremicem
Silindi
Members
0
Ben musait olduğum bi zaman yapmaya calısıcam zaten kafamda vardı.yaparsam zaten sitede paylaşırım.
Silindi
Members
0
Ozmn Herkes Micheall sabırsızlıkla Beklıcek Desene Bana Yaptıgın Zaman Pmle Bıldırırmısın Fazla Gırme Fırsatım Bulamıyorum
abi işlemi kendine yaptırıyorsunuz kendi itemlerini dupeliyor gibi oluyor orda npcseenew de karşı ile alakalı bişey göremedim mi anlayamadım fakat

[FUNCTION dupelayer]
IF (<FINDLAYER(<ARGS> )> )
TRY NEWITEM <FINDLAYER(<ARGS> ).BASEID>
TRY ACT.DISPID <FINDLAYER(<ARGS> ).DISPID>
TRY ACT.COLOR <FINDLAYER(<ARGS> ).COLOR>
ACT.UPDATE
ENDIF

burda itemi olusturuyor layeri o hale sokuyor fakat kimin layeri kimde ?
layer kopylandı ama karşıdan kopyalanmadı veya kopyalandı layer ama karşıya gönderilmedi.. eksik biraz
CONT.dupelayer layer_hand1
CONT.dupelayer layer_hand2

tamam evnti kullananın layerleri kopylandı ama event kimde ? he yaratıkta ise kendi layerlerini kopyalar

he karşıda ise bunu yaratığa aldırman lazım...

scpyi tam koyarsan biraz daha yardımcı olabilirim belki
Silindi
Novice
0
Aksam bi yazmayı deniyeceğim karsıdakinin uidini alıp uid uzerinden findlayerleri bi şekilde almaya çalışıcam bakalım nası olucak.
Localated : abi işlemi kendine yaptırıyorsunuz kendi itemlerini dupeliyor gibi oluyor orda npcseenew de karşı ile alakalı bişey göremedim mi anlayamadım fakat

[FUNCTION dupelayer]
IF (<FINDLAYER(<ARGS> )> )
TRY NEWITEM <FINDLAYER(<ARGS> ).BASEID>
TRY ACT.DISPID <FINDLAYER(<ARGS> ).DISPID>
TRY ACT.COLOR <FINDLAYER(<ARGS> ).COLOR>
ACT.UPDATE
ENDIF

burda itemi olusturuyor layeri o hale sokuyor fakat kimin layeri kimde ?
layer kopylandı ama karşıdan kopyalanmadı veya kopyalandı layer ama karşıya gönderilmedi.. eksik biraz
CONT.dupelayer layer_hand1
CONT.dupelayer layer_hand2

tamam evnti kullananın layerleri kopylandı ama event kimde ? he yaratıkta ise kendi layerlerini kopyalar

he karşıda ise bunu yaratığa aldırman lazım...

scpyi tam koyarsan biraz daha yardımcı olabilirim belki

zaten bende o kısmı beceremdıgım ıcın bu baslıgı actım ya sımdı mantıgı kafamda cızıyorum dıyorumkı bu npc benı gorecek uzerımdekı ıtem ıd sını rengını dısplay ıd sını kopyalıcak ve bunu butun layerler ıcın yapıp tam olarak bana benzıcek ama iş bunu koda dökmeye gelınce 10 12 yıldır kod yazmayan bırı ıcın cok zor oluyor ( malum hatırlamak zor :) ) o functıonda eksık yok tahmınımce ama trıggerde bır yıgın eksıgım var. bunun sebebıde sendekı olayı karsıya nasıl yansıtıcagımı hatırlamıyorum. imdat :(
1-2 güne kadar kendi bilgç. kavuşucam ozaman deneyerek yapabilirim uid leri var ile gördürerk karşıdanda var try ile alabilirz yani mantık olarak npc adamı gördüğünde adama komut kullandıracak bu sırada kendi uidini var olarak kaydedip adam ise layerleri uidleri ile toplayarak try ile karşıya atabilir ama biraz kasıntı olabilir kısa yolunu düşüneyim biraz da...
Silindi
Novice
0
Evet scripti bitirdim arkadaşlar atack verdiği playerin tipine giren bir npcmiz var :)
Script 56b versiou içindir. 55rde calistirmak icin <dlocal._for> ları <eval <local._for>> olarak değiştirmeniz gerekiyor genede 55rde çalışırmı bilemicem denemek lazım.
Strsiydi gücüydü icinden cikan itemiydi bilmemnesiydi hiç uğraşmadım sadece sistemi yazdım yaratığın sizin üstünüzden kopyaladıgı itemler newbiedir önceden kopyaladıkları silinir yeni kopyaladıklarını üstüne giyer.Kodlamada yardımcı olan Bengal ve Akillise teşekkür ediyorum.Çok zor bi script değilmiş ama mantığını kurmak gerekiyor.Buyrun güle güle kullanın.(Bu arada uzun süredir scp yazmıyordum bu özlemimide giderdininiz teşekkür ederim) :yes

[events e_kilikdegistir]
on=@attack
color <src.color>
obj=<uid>
obj.findlayer(1).remove
obj.findlayer(2).remove
obj.findlayer(3).remove
obj.findlayer(4).remove
obj.findlayer(5).remove
obj.findlayer(6).remove
obj.findlayer(7).remove
obj.findlayer(8).remove
obj.findlayer(9).remove
obj.findlayer(10).remove
obj.findlayer(11).remove
obj.findlayer(12).remove
obj.findlayer(13).remove
obj.findlayer(14).remove
obj.findlayer(15).remove
obj.findlayer(16).remove
obj.findlayer(17).remove
obj.findlayer(18).remove
obj.findlayer(19).remove
obj.findlayer(20).remove
obj.findlayer(22).remove
obj.findlayer(23).remove
obj.findlayer(24).remove
for 1 24
if (<dlocal._for> !=21)
newitem <src.findlayer[<dlocal._for>].baseid>
new.color <src.findlayer[<dlocal._for>].color>
new.attr <src.findlayer[<dlocal._for>].attr>|04
new.cont <uid>
endif
endfor


[CHARDEF c_tipci]
NAME=Tipci
ICON=i_pet_man
ID=c_man
CAN=MT_WALK|MT_Run
DAM=12,20
ARMOR=20,25
TEVENTS=e_kilikdegistir


ON=@Create
NPC=BRAIN_UNDEAD
COLOR=0455
STR={100 125}
DEX={90 120}
INT={60 90}
KARMA={-9000 -5000}
FAME={1500 3000}

ITEM=i_robe
COLOR=0455
ITEM=i_boots_calf
COLOR=0455
ITEM=i_leather_gloves
COLOR=0455
ITEMNEWBIE=i_hair_long
color=0455
ITEM=i_gold,{5000 25000}

Sakın kimse obj.fndlayer bolumunu for yapmadın demesin döverim :D olmuyor nedense sphere saçmaladı :D

Bu konu Michaell tarafından düzenlendi(2007-10-01 00:47, 16 yıl önce)
Ben sonra onu deniyecem Misel hallederiz, once su projem bitsin.
Silindi
Members
2
Vallaha her türlü şeyi denedimde o objler fora baglanmadı anlayamadımda :D



Üye Ol veya Giriş Yap

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