PDA

Просмотр полной версии : Scripting. Оптимизация скрипта


00077k
19.03.2010, 03:50
Как к этой махине прикрутить проверку на GM TP со всеми углами, препятствиями в зоне кача и за ней(pos out range, если далеко, и posinrange, если в где-то в досигаемости возврата обратно на кач), если запущена проверка на все ли пати мемберы на месте и зациклена. Если кого-то нету, то ждём 60 секунд, проверяем ещё раз , если всё ещё нету, то начинаем сначала с точки сбора и сбора пати. И как совестить это с posinrange chek?


LABEL(begin)
MSG(Label -defaultconfig-)
CALL(defaultconfig) //load default city config without log out on players
MSG(Label -login-)
CALL(login) //Login into the game
DELAY(1000)
MSG(Label -position-)
CALL(position)
DELAY(1000)
MSG(Label -posincity-)
LABEL(posincity) //Postion in city
MSG(Label -partyleave-)
CALL(partyleave) //Leave party. Members know, that 1 member don't in the room
DELAY(1000)
MSG(Label -grocery-)
CALL(grocery) //chek and buy healing potions and SoE
MSG(Label -L2WALKER ENABLE-)
SET(L2WALKER,ENABLE) //enable for use healing potion, when run to room
DELAY(1000)
MSG(Label -movetoAMSTERDAM-)
CALL(movetoAmsterdam) //move to room
DELAY(1000)
MSG(Label -deadgohome- -Умерли во время движения к зоне кача)
CALL(deadgohome) //FAIL! Умер во время movetoAMSTERDAM
DELAY(1000)
MSG(Label -posinAMSTERDAM-)
LABEL(posinAmsterdam)
DELAY(1000)
MSG(Label -partychek-)
CALL(partychek)
DELAY(1000)
MSG(Label -posinfight-)
LABEL(posinfight)
DELAY(1000)
MSG(Label -loadconfig-)
CALL(loadconfig)
DELAY(1000)
MSG(Label -walkerenable-)
CALL(walkerenable)
DELAY(1000)
MSG(Label -fightstart-)
CALL(fightstart)
DELAY(2000)
MSG(Label -fightpartychek-) //все ли тут //вот где-то тут надо как-то вставить, GM TP Chek, но что б слишком громоздно у мея не получается, может у кого-то была подобная проблема и знает как её решить?
CALL(fightpartychek)
DELAY(1000)
MSG(Label -nomember- WARNING! Кого-то дропнуло, либо Other players лог аут сработал)
CALL(nomember)
DELAY(1000)
MSG(Label -deadgohome-)
CALL(deadgohome) //dead or no 1 partymember more then 60 seconds
DELAY(1000)
JMP(begin)

Acmilan
19.03.2010, 16:20
И как ты проверишь местоположение патимембера? Имхо нереально.. ТОлько если делать денц и проверять баф.. Но как тогда привести того перса к месту?

Elastica
19.03.2010, 16:29
для таких вещей можно подключить пилот, например кликать на макрос
/target %party1
/target %party1
каждую минуту, т.е. если с персом что-то не совсем то и он в пределах видимости, то он подбежит к остальным. Ну это так, на-вскидку, а в идеале использовать связку walker + ranger

Acmilan
19.03.2010, 20:28
Пфф.. Вы извращенцы)

Добавлено через 1 минуту
в идеале использовать связку walker + ranger
Кстати рейнджер твой сейчас несчадно палится! Причем почище волкера. Причем тянет это на пермобан)

00077k
19.03.2010, 21:36
И как ты проверишь местоположение патимембера? Имхо нереально.. ТОлько если делать денц и проверять баф.. Но как тогда привести того перса к месту?
Походу вы не поняли, че я хочу :)
Тяжело вот так объяснить... Надо не местоположение пати мембера проверять, а своё. Короче как-то связать эти две проверки
!IsMember(Vasya)
и
PosInRange(xxx,xxx,xxx,range)

Если кого-то из мембера нету - идём по такому сценарию, если мы не в PosInRange, в случае если нас ГМ проверяем ТПшками, то делаем такое...
Воощем скрипт переписал более удобно, а то реально там слишком жёстко было, щас тут буду пытаться сделать... :cool:

Во, пришла idea :D
LABEL(tests)
CALL(partymemberchek) !IsMember {JMP(nomember) } RETURN()
CALL(gmtpchek) PosInRange(xxx,xxx,xxx,range) {JMP(gm_tp_warning)} RETURN()
JMP(tests)



LABEL(begin)
CALL(alloff)
CALL(defconf)
CALL(dead)
CALL(position)

LABEL(posincity)
CALL(leaveparty)
CALL(grocery)
CALL(movetocats)

LABEL(posincats)
CALL(dead)
CALL(meeting_point)
CALL(partyconfig)
CALL(enableparty)
CALL(partychek)
CALL(loadconfig)
CALL(l2wenable)
CALL(beginofroom)


LABEL(posinroom)
CALL(fightstart)
CALL(fightpartychek)

LABEL(nomemberordead)
CALL(gohome)
JMP(begin)

LABEL(norange)
EXIT()

Acmilan
19.03.2010, 23:59
Надо не местоположение пати мембера проверять, а своё. Короче как-то связать эти две проверки
То есть у каждого мембера будет проверка на рэндж и проверка целостности пати? Тогда в чем проблема?

00077k
20.03.2010, 00:13
То есть у каждого мембера будет проверка на рэндж и проверка целостности пати? Тогда в чем проблема?
Да уже ни в чем...Не знаю чего-то ступил... :confused:

Acmilan
20.03.2010, 00:42
:p

Nokaari
25.03.2010, 23:54
Сорри за оффтоп, ниразу не сталкивался ГМ ТП, куда ГМ может телепортировать и можно ли оттуда сое?

oblo4ko
26.03.2010, 10:35
Сорри за оффтоп, ниразу не сталкивался ГМ ТП, куда ГМ может телепортировать и можно ли оттуда сое?

он портает на дистанцию 100-600.
P.S. Хз как ты собираешься проверять ГМ ТП если он портает 1 раз и через 1-2секунды уже нечего непроисходит.
Тоесть у тебя шанс примерно 5% неппасть под бан.
Или тебе надо всех ставить без *прицепок* к другим чарам и у каждого свой квадрат(неважно).

Anzorik
26.03.2010, 10:45
Проверка на тп гм безполезная вещь.

Elastica
26.03.2010, 17:46
Кстати рейнджер твой сейчас несчадно палится! Причем почище волкера. Причем тянет это на пермобан)
Вот тема о банах за ренжер:
http://zranger.net/forum/index.php/topic,2146.0.html
У ренжера гораздо более богатый функционал чем у пешехода, в частности есть событие "телепорт", хз правда, как оно работает с гм тп. В общем все что есть в пешеходе можно реализовать и в ренжере, но намного сложнее. Поэтому лучше использовать их связку.