Anasayfa
UO Sunucular
Forumlar
Profilim
UO-Developer.COM
Merhaba arkadaşlar, scripterlik anlamında elimden geldiği kadar hazine sistemine yardımcı olmak amacıyla böyle bir script yazdım ve beğenilerinize sunuyorum hatalarım varsa -kendimi geliştirmek maksadıyla- çözümüyle birlikte belirtmenizi rica ediyorum iyi forumlar.
////////////////////
              /////TTM HELPER/////
              ////////////////////
////////////////////////////////////////////////////////////
/////THESE CODES ARE FULLY WRITTEN BY VENOM////////////////
/////FILE LAST UPDATED: WEDNESDAY, JANUARY 01, 2014///////
/////SPHERE VERSION: 56B/////////////////////////////////
/////SYSTEM NAME: TREASURE HELPER///////////////////////
///////////////////////////////////////////////////////

[DIALOG D_TM_HELPER]
0,0
nomove
noclose
resizepic 0 0 3600 295 260
resizepic 10 10 3000 275 240
dhtmlgump 20 20 260 200 0 0 <def.bfont_red>Hello kid, I tkink you are looking for a treasure and need my help. I'm going to help you but first you have to pay me <def.bfont_black>25000 <def.bfont_red>golds. And then, you're going to show me a readed map. <def.bfont_black>It must be readed! <def.bfont_red>When you show me the map, I'm going to tell you a magic words. You're going to repeat them <def.bfont_black>quickly, too. Be careful! If you misunderstand even a word, the results of that may too bad. <def.bfont_red>If you're accepting, show me the treasure map.
button 50 220 0000081A 0000081B 1 0 1
button 180 220 00000817 00000818 1 0 0

[DIALOG D_TM_HELPER BUTTON]
ON=0
ON=1
      IF (<RESTEST 25000 I_GOLD>)
               SRC.SYSMESSAGE Please, show your treasure map!
               SRC.TARGETF TTMAP
               RETURN 1
      ELSE
               SRC.SYSMESSAGE You have not enough golds or aren't close enough!
               SRC.SDIALOG D_TM_HELPER
               RETURN 1
      ENDIF
         
[FUNCTION TTMAP] // select the map
obj=<argo>
//if (<obj.tag0.mapfix>) // The treasure map can not be used twice.
//sysmessage This map has examined before!
//return 1
if (<obj.type> = t_map) && (<SRC.RESTEST 25000 I_GOLD)
sysmessage Now, select 'Treasure Helper'.
tag.p <obj.morep>
targetf helper
obj.tag.mapfix <obj.uid>
CONSUME 25000 I_GOLD
else
sysmessage This is not a deciphered map.
targetf ttmap
endif

[function helper] // select treasure helper
obj=<argo>
if (<obj.id> == c_tm_helper) && (<obj.distance> <= 3)
obj.tag.speaker <src.name>
obj.say Get ready <obj.tag.speaker>!
src.timerf 2,obj.spk_magicwords
src.timerf 7,src.magicwordcontrol
src.tag.speaker 1
else
targetf helper
sysmessage You selected wrong person or are not close enough.
return 1
endif

[function magicwordcontrol] // if it's true, go to treasure region. if it's false, go random region
if (strmatch('<obj.tag0.mword>','<src.tag0.mword>')
go <tag0.p>
events -e_safe
events -e_itemdropon
cleartags
obj.cleartags
else
obj.cleartags
cleartags
randomregion
endif

[function randomregion] // random region
dorand 15
go 5835,2600,2    //
go 5899,1302,-15  //
go 1690,2997      //
go 5454,1806      //
go 5455,3126,-60  //
go 1442,897       //
go 5442,2577,46   //
go 1315,992       //
go 5137,2903,48   //
go 5727,1466,3    //
go 5827,1419      //
go 5141,3054,50   //
go 4588,3565,30   //
go 5476,2315,33   //
go 5826,357,-1    //
enddo

[function c]              //To tell magic words
if (<src.tag0.speaker> = 1)
if (strmatch("<args>",""))
src.sysmessage You have to write something!
return 1
else
src.tag.mword <args>
src.hc <args>
endif
endif

[function hc]
if (<src.tag0.speaker> = 1)
say @0481 <args>
endif


[DEFNAME spk_magicw] // magic words
spk_magicword1 Yughragh
spk_magicword2 Zahgigoth
spk_magicword3 Archibald
spk_magicword4 Bartholomew
spk_magicword5 Beauregard
spk_magicword6 Fitzgerald
spk_magicword7 Eililorian
spk_magicword8 Gwaengwen

[function spk_magicwords]
dorand 8
obj.tag.mword <def.spk_magicword1>
obj.tag.mword <def.spk_magicword2>
obj.tag.mword <def.spk_magicword3>
obj.tag.mword <def.spk_magicword4>
obj.tag.mword <def.spk_magicword5>
obj.tag.mword <def.spk_magicword6>
obj.tag.mword <def.spk_magicword7>
obj.tag.mword <def.spk_magicword8>
enddo
obj.message <tag.mword>
obj.anim 17

[CHARDEF C_TM_HELPER]
NAME=#NAMES_HUMANMALE the Mage
ID=c_man
CAN=MT_WALK|MT_Run
DAM=3,20
ARMOR=50
TSPEECH=SPK_TM_HELPER


ON=@Create
color=colors_skin
title=Magery
flags 01
home green acres
STR=100
DEX=100
INT=100

ITEMNEWBIE I_HAIR_LONG
COLOR 0455
ITEMNEWBIE I_BEARD_LONG
COLOR 0455
ITEMNEWBIE I_BLACK_STAFF
COLOR 0455
ITEMNEWBIE I_ROBE
COLOR 0455
ITEMNEWBIE I_BOOTS_THIGH
COLOR 1
ITEMNEWBIE I_HAT_WIZARDS

ON=@CLICK
            MESSAGE @0481 [Treasure Helper]

on=@NPCSeeNewPlayer
            SAY Hey, you need to help?

[SPEECH SPK_TM_HELPER]
ON=*HELP*
       IF (<DISTANCE> <= 3)
                         SRC.SDIALOG D_TM_HELPER
             RETURN 1
       ENDIF       

UO-Dev SPONSOR

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?

UO-Dev SPONSOR

Henüz yorum yapılmamış. Yorum yazabilmek için giriş yapmanız gerekir.

Üyelerin oylama ortalaması (10 dışında) :

Henüz Oylanmamış

Oylar: 0

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?