PDA

Просмотр полной версии : Нужна помощь в написании скрипта


xakep14
28.01.2012, 12:14
Доброе утро.Собственно решил написать скрипт,но самостоятельно не справляюсь,вот в этом моменте:
begin
if FromClient and (pck[1]=#$56) then pck:=HStr('1A 05 EF 20 48')
end.
then
begin
if FromClient and (ConnectName='3aDpoT') and (pck=#$1A)
then
begin
pck:=#$55;
SendToServerEx('Adakema');
pck:='';
end;
end.
end.
С первой частью все нормально,трейд кидает,а вот второй перс не хочет его принимать,что неправильно написал?

goodvin1709
28.01.2012, 14:14
begin
if FromClient and (pck[1]=#$56) then pck:=HStr('1A 05 EF 20 48') then
begin
if FromClient and (ConnectName='3aDpoT') and (pck=#$1A) then
begin
pck:=#$55;
SendToServerEx('Adakema');
pck:='';
end;
end;
end.

Скрипт сам по себе неправильний напишы что он должен делать по шагово.

xakep14
28.01.2012, 15:36
begin
if FromClient and (pck[1]=#$56) then pck:=HStr('1A 05 EF 20 48') then
begin
if FromClient and (ConnectName='3aDpoT') and (pck=#$1A) then
begin
pck:=#$55;
SendToServerEx('Adakema');
pck:='';
end;
end;
end.

Скрипт сам по себе неправильний напишы что он должен делать по шагово.
Это только начало скрипта начал писать.В общем 3 перса задействовано.
1-й перс при нажатии соц. действия кидает трейд 2-му,2-й принимает,1-й кладет определенное количество итемов в трейд,3-й перс посылает пакет продажи 1 итема,после этого трейд закроется,затем 1-й юзитем,юзскилл,юзитем,продажа определенного количество итемов,после продажи должен 1-й сам уже нажать соц. действие.Короче замкнуть по итогу,чтобы само по кругу делало.

Добавлено через 6 минут

begin
if FromClient and (pck[1]=#$56) then pck:=HStr('1A 05 EF 20 48') then
begin
if FromClient and (ConnectName='3aDpoT') and (pck=#$1A) then
begin
pck:=#$55;
SendToServerEx('Adakema');
pck:='';
end;
end;
end.

Скрипт сам по себе неправильний напишы что он должен делать по шагово.
Твоя вариант не работает,в пакетнике слово then подсвечивает

Добавлено через 1 час 4 минуты
Заменил then на else,ошибка в синтаксисе пропала,но работать все равно не стало

controller
28.01.2012, 16:22
Заменил then на else,ошибка в синтаксисе пропала,но работать все равно не стало

Да ты мужик..........)))))))

xakep14
28.01.2012, 19:35
Да ты мужик..........)))))))
:D

Добавлено через 45 минут
Проблема все еще актуальна.

Добавлено через 2 часа 24 минуты
Готов заплатить за помощь в написании скрипта.

SeregaZ
28.01.2012, 22:01
кто что понял из написанного? :)))))

controller
28.01.2012, 22:03
А что не понятного ?
then заменил на else и все огонь

xakep14
28.01.2012, 22:05
кто что понял из написанного? :)))))
Давайте поясню,что именно не понятно? :)

SeregaZ
28.01.2012, 22:51
1-й перс при нажатии соц. действия кидает трейд 2-му
а просто торг нельзя кинуть?

дальше понятно, понятно, доходит до:
3-й перс посылает пакет продажи 1 итема
какой такой пакет продажи? что продает кому продает куда продает?

после этого трейд закроется
с чего вдруг он будет закрываться? от продажи чего-то тем третьим чаром? хорошо. как именно он должен закрываться с подтверждением торга или с отменой?

1-й юзитем,юзскилл,юзитем,продажа определенного количество итемов
какой скил, какой итем, опять продажа - кому чего? :)

это не скрипт... это черная дыра :)

xakep14
29.01.2012, 01:14
Скрипт почти дописан,осталось написать действие так,чтобы перс сам продавал итем НПЦ,как это сделать?

Добавлено через 4 минуты
1-й перс при нажатии соц. действия кидает трейд 2-му
а просто торг нельзя кинуть?

дальше понятно, понятно, доходит до:
3-й перс посылает пакет продажи 1 итема
какой такой пакет продажи? что продает кому продает куда продает?

после этого трейд закроется
с чего вдруг он будет закрываться? от продажи чего-то тем третьим чаром? хорошо. как именно он должен закрываться с подтверждением торга или с отменой?

1-й юзитем,юзскилл,юзитем,продажа определенного количество итемов
какой скил, какой итем, опять продажа - кому чего? :)

это не скрипт... это черная дыра :)
Просто торг не катит.
3-й перс продает итем персонажу сидящему на скупке.
После того как 3-й перс отправит пакет - трейд автоматически отменится.
Тут тоже все просто,любой скилл,определенный итем.
Нужно продать итемы НПЦ,вот тут я завис.

SeregaZ
29.01.2012, 02:51
как это не катит? :) ты сам себе геморой придумываешь :) накой соц действие, которое надо обработать, запустить торг после этого, а еще заблочить пакет соц действия дабы небыло палева. глупость какую-то придумал :)

насчет продажи - ну так подойди к нпс, таргет нпс, второй таргет нпс - открывается начальный диалог, выбор в диалоге пункта продажи, формирования пакета продажи чего, какой id и сколько штук, отправка этого пакета. все. продано.

и с фигали после химии с 3 персонажем у тех двоих должен торг отменится? он к тем двоим никакого отношения не имеет.

xakep14
29.01.2012, 03:09
Всем спасибо,скрипт дописан.

Добавлено через 3 минуты
как это не катит? :) ты сам себе геморой придумываешь :) накой соц действие, которое надо обработать, запустить торг после этого, а еще заблочить пакет соц действия дабы небыло палева. глупость какую-то придумал :)

насчет продажи - ну так подойди к нпс, таргет нпс, второй таргет нпс - открывается начальный диалог, выбор в диалоге пункта продажи, формирования пакета продажи чего, какой id и сколько штук, отправка этого пакета. все. продано.

и с фигали после химии с 3 персонажем у тех двоих должен торг отменится? он к тем двоим никакого отношения не имеет.
Да,с соц. действием затупил,ты прав ;)
Вот продажу сам не осилил,за меня ее дописали.

joersun
29.01.2012, 18:24
а как брать в таргет моба, если не достаю нексттаргетом?

supernewbie
29.01.2012, 19:40
joersun, пакет Action тебе в помощь

xakep14
29.01.2012, 21:09
Вот скрипт,нужна помощь в написании интервалов между действиями,а то без них при лаге сервера все слетает.

joersun
29.01.2012, 21:16
joersun, пакет Action тебе в помощь
а понятнее ?

xakep14
29.01.2012, 21:33
После этого действия нужно интервал прописать,как это сделать?
if FromServer and (pck[1]=#$14) and (ConnectName='3aDpoT') then
begin
buf:=HStr(putItemPacket); //кладем итем
SendToServer;

joersun
29.01.2012, 21:45
После этого действия нужно интервал прописать,как это сделать?
if FromServer and (pck[1]=#$14) and (ConnectName='3aDpoT') then
begin
buf:=HStr(putItemPacket); //кладем итем
SendToServer;

помоему
if FromServer and (pck[1]=#$14) and (ConnectName='3aDpoT') then
begin
buf:=HStr(putItemPacket); //кладем итем
SendToServer;
timer.interval:= //сколько тебе надо в мс;
timer.enabled:= true;

supernewbie
29.01.2012, 21:45
а понятнее ?
выделяй таргет отправляя пакет Action

SeregaZ
29.01.2012, 22:19
joersun, посмотри составление пакета Action. там простенько. нужен id цели, координаты и флаг шифта. на многих серверах достаточно id - таргет будет наведен, но в пакетном плане сей пакет будет слишком короткий и вызовет подозрения при проверке админом.

xakep14, прикручивай таймер. либо добавляй проверки перед каждой посылкой следующего шага в скрипте. типа проверки: а открылся ли диалог разговора с нпси, а положились ли товары в торг, и так далее.

xakep14
30.01.2012, 01:46
Не актуально.