Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаОткрыть новую тему
> Багфикс на Мининг и Лумбер.
[Angel]
сообщение 27.3.2004, 18:46
Сообщение #1


******

Группа: Пользователи
Наличность: 0
Из: стафа
Пользователь №: 610



На мининг и Лумбер...

Код


[DEFNAME min_mr]

// ----- ORES --------

min_mr_iron        0.1

min_mr_bronze     50.0

min_mr_silver     60.0

min_mr_golden     70.0

min_mr_snow       75.0

min_mr_scorpion   80.0

min_mr_diamond    80.0

min_mr_crystal    85.0

min_mr_predator   90.0

min_mr_mythril    95.0

min_mr_acid      100.0

min_mr_steel     102.0

min_mr_blackrock 103.0

min_mr_sandrock  104.0

min_mr_platinum  105.0

// ----- LOGS --------

min_mr_log         0.1

min_mr_oak        50.0

min_mr_stonewood  60.0

min_mr_pilon      70.0

min_mr_coldtree   75.0

min_mr_sand       80.0

min_mr_elvin      85.0

min_mr_frost      90.0

min_mr_avalon     95.0

min_mr_toxic     100.0

min_mr_crinyte   101.0

min_mr_darkwood  102.0





[EVENTS e_skill_lumber_mining]

ON=@ITEMDCLICK

IF ((<SRC.ACTION>==SKILL_LUMBERJACK) || (<SRC.ACTION>==44))

  IF (<ACT.DispID>!=i_hatchet)

     ACTION=-1

  ELSE

     SRC.SYSMESSAGE You must wait to perform another action

     RETURN 1

  ENDIF

ENDIF

IF ((<SRC.ACTION>==SKILL_MINING) || (<SRC.ACTION>==45))

  IF ((<DispID>==i_pickaxe) || (<DispID>==i_shovel))

     SRC.ACTION=-1

  ELSE

     SRC.SYSMESSAGE You must wait to perform another action

     RETURN 1

  ENDIF

ENDIF





// -------------------- Return info of target resource -------------------------

[FUNCTION resource_targon_ground]

SRC.NEWITEM=i_resprobe

SRC.ACT.P=<SRC.TARGP>

SRC.ACT.MOREP=<SRC.P>



IF (<SRC.ACT.DISTANCE> > 2)

  SRC.SYSMESSAGE You are too far away.

  SRC.ACT.REMOVE

  RETURN 1

ENDIF



IF (!<SRC.ACT.CANSEELOS> )

  SRC.SYSMESSAGE You can't get there.

  SRC.ACT.REMOVE

  RETURN 1

ENDIF



SRC.ACT.ATTR = <SRC.ACT.ATTR>|ATTR_INVIS

SRC.ACT.EQUIP

SRC.EVENTS +e_probe

SRC.P=<SRC.TARGP>





// -------------------------- Resource Checker ---------------------------------

[EVENTS e_probe] // here, SRC.ACT is the item being stepped on - the spawn

ON=@ITEMSTEP

IF (0)

ELSEIF (<SRC.ACT.TYPE>==t_rock)     // <- Mining

ELSEIF (<SRC.ACT.TYPE>==t_tree)     // <- Lumberjacking

ELSEIF (<SRC.ACT.TYPE>==t_water)    // <- Fishing

ELSE

RETURN 0

ENDIF



SRC.EVENTS -e_probe

SRC.TAG.PROBE = <SRC.ACT.UID>

SRC.P=<SRC.FINDID(i_resprobe).MOREP>



SRC.FINDID(i_resprobe).REMOVE



IF (<SRC.IsGM> )

  SRC.SYSMESSAGE You Action: <SRC.ACTION>

  SRC.SYSMESSAGE Resource: <SRC.ACT.TYPE>

  SRC.SYSMESSAGE Name: <SRC.ACT.MORE1>

  SRC.SYSMESSAGE Amount: <SRC.ACT.AMOUNT>

ENDIF



IF (<SRC.ACTION>==-1)

  RETURN 1

ENDIF



IF (0)



ELSEIF (<SRC.ACT.TYPE>==t_rock)

// ---------------------------- Set Ore Color ----------------------------------

  IF (0)

  ELSEIF (<SRC.ACT.MORE1> == mr_bronze)

  SRC.ACT.COLOR=color_bronze

  ELSEIF (<SRC.ACT.MORE1> == mr_silver)

     SRC.ACT.COLOR=color_silver

  ELSEIF (<SRC.ACT.MORE1> == mr_gold)

     SRC.ACT.COLOR=color_gold

  ELSEIF (<SRC.ACT.MORE1> == mr_snow)

     SRC.ACT.COLOR=color_snow

  ELSEIF (<SRC.ACT.MORE1> == mr_scorpion)

     SRC.ACT.COLOR=color_scorpion

  ELSEIF (<SRC.ACT.MORE1> == mr_diamond)

     SRC.ACT.COLOR=color_diamond

  ELSEIF (<SRC.ACT.MORE1> == mr_crystal)

     SRC.ACT.COLOR=color_crystal

  ELSEIF (<SRC.ACT.MORE1> == mr_predator)

     SRC.ACT.COLOR=color_predator

  ELSEIF (<SRC.ACT.MORE1> == mr_mythril)

     SRC.ACT.COLOR=color_mythril

  ELSEIF (<SRC.ACT.MORE1> == mr_acid)

     SRC.ACT.COLOR=color_acid

  ELSEIF (<SRC.ACT.MORE1> == mr_steel)

     SRC.ACT.COLOR=color_steel

  ELSEIF (<SRC.ACT.MORE1> == mr_blackrock)

     SRC.ACT.COLOR=color_blackrock

  ELSEIF (<SRC.ACT.MORE1> == mr_sandrock)

     SRC.ACT.COLOR=color_sandrock

  ELSE

     SRC.ACT.COLOR=0

  ENDIF

// ----------------------- Check Mining Resources ------------------------------

  IF (0)

  ELSEIF ((<SRC.ACT.MORE1> == mr_iron)      && (<src.mining> < min_mr_iron))

  ELSEIF ((<SRC.ACT.MORE1> == mr_bronze)    && (<src.mining> < min_mr_bronze))

  ELSEIF ((<SRC.ACT.MORE1> == mr_silver)    && (<src.mining> < min_mr_silver))

  ELSEIF ((<SRC.ACT.MORE1> == mr_gold)      && (<src.mining> < min_mr_golden))

  ELSEIF ((<SRC.ACT.MORE1> == mr_snow)      && (<src.mining> < min_mr_snow))

  ELSEIF ((<SRC.ACT.MORE1> == mr_scorpion)  && (<src.mining> < min_mr_scorpion))

  ELSEIF ((<SRC.ACT.MORE1> == mr_diamond)   && (<src.mining> < min_mr_diamond))

  ELSEIF ((<SRC.ACT.MORE1> == mr_crystal)   && (<src.mining> < min_mr_crystal))

  ELSEIF ((<SRC.ACT.MORE1> == mr_predator)  && (<src.mining> < min_mr_predator))

  ELSEIF ((<SRC.ACT.MORE1> == mr_mythril)   && (<src.mining> < min_mr_mythril))

  ELSEIF ((<SRC.ACT.MORE1> == mr_acid)      && (<src.mining> < min_mr_acid))

  ELSEIF ((<SRC.ACT.MORE1> == mr_steel)     && (<src.mining> < min_mr_steel))

  ELSEIF ((<SRC.ACT.MORE1> == mr_blackrock) && (<src.mining> < min_mr_blackrock))

  ELSEIF ((<SRC.ACT.MORE1> == mr_sandrock)  && (<src.mining> < min_mr_sandrock))

  ELSEIF ((<SRC.ACT.MORE1> == mr_nothing))

  ELSEIF (<SRC.ACT.AMOUNT> == 0)

  ELSE

      RETURN 0

  ENDIF

  SRC.ACT.MORE1=mr_iron

 

  RETURN 0

// -------------------- Check Lumberjacking Resources --------------------------

ELSEIF (<SRC.ACT.TYPE>==t_tree)

  IF (0)

  ELSEIF (<src.lumberjacking> >= min_mr_oak) && (RAND(5)=1)

     SRC.NEWITEM=i_log_oak

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_stonewood) && (RAND(10)=1)

     SRC.NEWITEM=i_log_stonewood

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_pilon) && (RAND(15)=1)

     SRC.NEWITEM=i_log_pilon

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_coldtree) && (RAND(20)=1)

     SRC.NEWITEM=i_log_coldtree

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_sand) && (RAND(25)=1)

     SRC.NEWITEM=i_log_sand

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_elvin) && (RAND(30)=1)

     SRC.NEWITEM=i_log_elvin

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_frost) && (RAND(35)=1)

     SRC.NEWITEM=i_log_frost

     SRC.ACT.AMOUNT={1 3}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_avalon) && (RAND(40)=1)

     SRC.NEWITEM=i_log_avalon

     SRC.ACT.AMOUNT={1 2}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_toxic) && (RAND(45)=1)

     SRC.NEWITEM=i_log_toxic

     SRC.ACT.AMOUNT={1 2}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_crinyte) && (RAND(50)=1)

     SRC.NEWITEM=i_log_crinyte

     SRC.ACT.AMOUNT={1 2}

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSEIF (<src.lumberjacking> >= min_mr_darkwood) && (RAND(60)=1)

     SRC.NEWITEM=i_log_darkwood

     SRC.ACT.AMOUNT=1

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Bonus <SRC.ACT.NAME> logs jacked.

     ENDIF

     SRC.ACT.BOUNCE

  ELSE

     IF (<SRC.IsGM> )

        SRC.SYSMESSAGE Nothing bonus logs not jacked.

     ENDIF

  ENDIF

  RETURN 0

ELSEIF (<SRC.ACT.TYPE>==t_water)

  RETURN 0

ENDIF

RETURN 0





// ------------------------ Resource Item Indeficator --------------------------

[ITEMDEF i_resprobe]

ID=i_memory

TYPE=t_eq_script

LAYER=layer_special



ON=@Create

TIMER=0 // Change this place to "1" if script not working!!!

MORE2=0

ATTR=attr_move_never



ON=@Timer

IF ((<CONT.ACTION> != -1) && (<MORE2> == 0))

  MORE2=1

  TIMER=1

  RETURN 1

ENDIF

CONT.P=<MOREP>

CONT.UPDATE

REMOVE

RETURN 1





// ----------------------------- Pickaxe FIX -----------------------------------

[ITEMDEF 0e85]

DEFNAME=i_pickaxe

TYPE=T_WEAPON_MACE_PICK

FLIP=1

DAM=2,16

SPEED=40

REQSTR=25

TWOHANDS=N

WEIGHT=2

VALUE={12 15}

SKILLMAKE=TINKERING 42.0, t_tinker_tools

RESOURCES=4 i_ingot_iron

CATEGORY=Provisions - Weapons

SUBSECTION=Axes

DESCRIPTION=PickAxe

DUPELIST=0e86



ON=@Create

HITPOINTS={21 40}



ON=@STEP

SRC.SYSMESSAGE You crash <NAME> by stepping on it.

REMOVE



ON=@TARGON_CHAR

SRC.SYSMESSAGE You can't mine that.

RETURN 1



ON=@TARGON_GROUND

RETURN <resource_targon_ground>





// ----------------------------- Shovel FIX ------------------------------------

[ITEMDEF 0f39]

DEFNAME=i_shovel

TYPE=T_WEAPON_MACE_PICK

FLIP=1

DAM=1,12

WEIGHT=5

VALUE={17 19}

CATEGORY=Items by Professions

SUBSECTION=Miner

DESCRIPTION=Shovel

DUPELIST=0f3a



SKILLMAKE=TINKERING 45.0,t_tinker_tools

RESOURCES=5 i_ingot_iron, 3 i_log



ON=@Create

HITPOINTS={10 20}



ON=@STEP

SRC.SYSMESSAGE You crash <NAME> by stepping on it.

REMOVE



ON=@TARGON_CHAR

SRC.SYSMESSAGE You can't mine that.

RETURN 1



ON=@TARGON_GROUND

RETURN <resource_targon_ground>





// ----------------------------- Hatchet FIX -----------------------------------

[ITEMDEF 0f43] // Hatchet

DEFNAME=i_hatchet

TYPE=T_WEAPON_SWORD

FLIP=1

DAM=10,17

SPEED=55

SKILL=Swordsmanship

REQSTR=15

TWOHANDS=N

WEIGHT=4

VALUE={17 19}

RESOURCES=5 i_ingot_iron, 3 i_log

SKILLMAKE=TINKERING 50.0,t_tinker_tools

CATEGORY=Provisions - Weapons

SUBSECTION=Axes

DESCRIPTION=Hatchet

DUPELIST=0f44



ON=@Create

HITPOINTS={11 40}



ON=@STEP

SRC.SYSMESSAGE You crash <NAME> by stepping on it.

REMOVE



ON=@TARGON_ITEM

SRC.SYSMESSAGE You can't tree that.

RETURN 1



ON=@TARGON_CHAR

SRC.SYSMESSAGE You can't tree that.

RETURN 1



ON=@TARGON_GROUND

IF (<SRC.LUMBERJACKING> < 1000)

  IF (<SRC.REGION.FLAGS>==09092) || (<SRC.REGION.FLAGS>&04000)

     SRC.SYSMESSAGE Try chopping a tree not here.

     RETURN 1

  ENDIF

ENDIF

RETURN <resource_targon_ground>



Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
[Angel]
сообщение 27.3.2004, 18:47
Сообщение #2


******

Группа: Пользователи
Наличность: 0
Из: стафа
Пользователь №: 610



Правда скрипт не мои, юзайте меняёте...

Эта штука реально работает...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Тема закрытаОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 23.6.2025, 22:16
Designed by Nickostyle