у кого-нибуть есть табличка скилов для сумонеров? я о скилах управления сумонами - они ж управляются через...RequestActionUse: (например) 56 16 00 00 00 01 00 00 00 00 - атака....А вручную ее рисовать - да я столько сумонов не переберу, чтоб составить ее вручную
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Кстати на счет того что через макросы бан чата идет... Я сделал так что бы в макрос писало не просто текст, а команду /dismiss после которой через пробел пишется id скила и поставил вместо обработки пакета 45, 49 пакет (RequestOustPartyMember). В итоге получается что за большое количество запросов команды бан за флуд не дается и все юзается
Последний раз редактировалось Kilatif, 26.07.2010 в 17:09.
Ок, спасибо) Чето я о таком и не додумался вовсе) переделаю под такой вариант использования. Чуть позже правленый вариант выложу, с возможностью подключения сумонера с сумоном
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 26.07.2010 в 18:57.
Еще есть 1 вариант... Немного сложноват в реализации, но зато намного привычнее и удобнее. Пока нет времени, что бы попробовать сделать, потом может займусь. В общем.. Вот как говорил supernewbie, можно перетащить скилы с одной панели на другую. Т.е. что бы были видны именно иконки и названия скилов одного чара в окне другого. Ну все это можно делать лишь для того что бы пользователю было легче.. но все же) Так вот... Можно сделать так, что бы перетаскивались не все скилы, а только те, которые нам нужны. Например из панели 10 одного перса на панель 10 другого перса. Но неудобство тут в том, что во-первых, нужно перетаскивать эти скилы еще и из скила листов от одного другому (для того что бы при нажатии от клиента отправлялся пакет использования скила), во-вторых, если с такой панели скил удалять (именно удалять, при перемещении между панелями все нормально), то опять же присылается ShortCutInit, который удаляет "чужие" скилы. Это же происходит если открывать панель скилов и инвентарь (если используешь еще и итемы), но если немного повозиться, то можно придумать обход всему этому
З.Ы. Извиняюсь за бардак в выражении моей мысли) Спешу просто очень))
Ну все это вполне возможно миновать - сохранив нужные наборы в нескольких массивах, и, при приходе пакета инит - подменять его на требуемое. Дело будет в возне с объединением скилллистов
А у меня в данный момент возня со скилами сумонов
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Ну я тогда пока помучаюсь со своей идеей, потом выложу сюда скрипт полностью. Скрипт буду писать свой, но некоторые куски буду брать твои, мне так легче. Надеюсь ты не против?)
Добавлено через 7 часов 34 минуты
Ну начерно каркас набросал примерно вот такой: Оффтоп
delphi Код:
//запустить скрипт,в окне donor-переместить ярлык
соц.действ:Greeting-временно вернуть первоначальный вид листа (повторный вызов - выведет опять модифицированный)//Victory - сбросить все к первоначальному видуConst
rec='';
donor='';
var
SKkolvo,j,i,ii,iii,isPas,lvl,sID,n:integer;
Slot,SKID:Integer;
Pskill:array[1..12] ofstring;
proba:array [1..30000,1..2] ofstring; //небольшой массив для индикации свой\чужой
NewPS:Boolean;
values:array[0..100] ofvariant;
pckSL:string; //пакет с итемлист
pckSLm,Temp:string; //его модыprocedure Init;
begin
pckSL:='';
Temp:='';
for i:=1to30000dobegin
proba[i,1]:='';
proba[i,2]:='';
end;
buf:=#$50;
Sendtoserverex(rec);
end;
procedure Free;
beginend;
begin//формируем первоначальный массив со скиламиif fromserver and(pck[1]=#$5F)and(connectname=rec)and(Temp='')thenbegin
pckSL:=pck; //исходный вид для возможной последующей отмены
pckSLm:=Strtohex(pckSL);
SKkolvo:=ReadD(2);
j:=6;
for i:= 1to Skkolvo dobegin
isPas:=ReadD(j);
lvl:=ReadD(j);
sID:=ReadD(j);
n:=ReadC(j);
if(proba[sID,1]='')thenbegin
proba[sID,1]:=rec;
proba[sID,2]:=inttostr(lvl);
SendMSG(inttostr(sID)+' '+proba[sID,1]+' '+proba[sID,2]);
NewPS:=False;
end;
end;
endelsebeginif fromserver and(pck[1]=#$5F)and(connectname=rec)and(Temp<>'')thenbegin//избегаем случайного отката
pck:=Temp; // скилл листаend;
end;
//добавляем в массив скилы, пришедшие с пакетом SkillListif fromserver and(pck[1]=#$45)and(connectname=donor)thenbegin
i:=(ReadD(2)); //kol-vo Skills
Sendmsg('Kol-vo Skills: '+Inttostr(i));
ii:=6;
for iii:=1to i dobegincase(ReadD(ii))of1:begin//item
ReadMask('ddddddhh',2,values);
ii:=ii+28;
end;
2:begin//skill
Slot:=ReadD(ii);
SKID:=ReadD(ii);
lvl:=ReadD(ii);
ReadC(ii);
ReadD(ii);
if(slot>107)thenbegin//Запись только с 10ой панелькиif(proba[skID,1]='')thenbegin//d - пассивен\нет, d - лвл, d - ид, c - 0
proba[skID,1]:=donor;
proba[skID,2]:=inttostr(lvl);
SendMSG(inttostr(skID)+' '+proba[skID,1]+' '+proba[skID,2]);
NewPS:=False;
buf:=Hstr(pckSLm);
WriteD(0);
WriteD(lvl);
WriteD(skID);
WriteC(0);
pckSLm:=StrtoHex(buf);
//SendMsg(StrtoHex(buf));
skKolvo:=skKolvo+1;
end;
end;
end;
3:begin//social action
ReadMask('ddd',2,values);
ii:=ii+12;
end;
4:begin//macro
ReadMask('ddd',2,values);
ii:=ii+12;
end;
5:begin//recipe
ReadMask('ddd',2,values);
ii:=ii+12;
end;
end;
end;
if(temp='')thenbegin
Temp:=Copy(buf,6,(Length(buf)-5));
buf:=#$5F;
WriteD(skKolvo); //создание пакета SkillList
buf:=buf+Temp;
SendMsg('105: '+StrtoHex(buf));
Temp:=buf;
Sendtoclientex(rec);
end;
end;
if fromclient and(pck[1]+pck[2]=#$56#$0c)and(connectname=rec)thenbegin
SendMsg('------Clear Skills--------'); //Greeting - временная очистка скилл-листа
buf:=pckSL;// ну глянуть может там скилы свои, чтоб не путаться...
Sendtoclientex(rec);
end;
if fromclient and(pck[1]+pck[2]=#$56#$0D)and(connectname=rec)thenbegin
SendMsg('--Rebuild Skills--');//Victory - очистка существующего массива
Temp:='';//для требуемой переделки набора скилов
buf:=pckSL;
pckSL:='';
for i:=1to30000dobegin//очистка
proba[i,1]:='';
proba[i,2]:='';
skKolvo:=0;
end;
Sendtoclientex(rec);
buf:=#$50;
Sendtoserverex(rec);
end;
end.
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 27.07.2010 в 08:23.
Причина: Добавлено сообщение
За это сообщение Breadfan нажился 2 спасибками от:
Массив там вставил на 30000 (с запасом ) - для хранения ID скила и ника персонажа, с которого был считан, чтоб не перебирать его проверками при решении от кого именно слать активацию скила....
Вот наспех бег подключил и ассист.
Управление скилами - не через чат и не через макросы - все свободным остается.
Реагирует на нажатие Ctrl
Пока обкатывается лишь с одним прицепом, да и сам листинг не особо читаем (как же нехватает еще одного монитора НАД основным...или двух...), но дело - движется Обновлено: добавлена опция управления чужим сумоном. Оффтоп
//каркас, у донора на панельках - только скилы и ничего кроме них!!!
//у donora на 9ую панель поместить ярлыки управления сумоном (если есть)
//на 10ую скилы которые переносить...
//порядок: запустить скрипт, в окне Rec - переместить ярлык на панельке - с одной
//ячейки в другую,
//в окне donor - переместить ярлык 2 раза (считывается за 2 прохода - 1)обычные
//скилы с панели, 2) Ярлыки управления сумоном\ярлыки соц.действий
//принять donor в пати.
//соц.действия: Greeting - временно вернуть первоначальный вид листа (повторный
//вызов - выведет опять модифицированный)
//Victory - сбросить все к первоначальному виду.
//Yes\NO +- разбега при движении
//Bow - вкл\выкл "у donor Ctrl всегда вкл.". (не распространяется на сумона)
//
//Advance - включить\выключить управление чужим сумоном - только при его включении
// будут работать перенесенные ярлыки управления - так же все неиспользуемые скриптом соц.действия будут передаваться от имени donor
-------------------------------
Обновлено: NewGrab4IL - избавился от большого массива, немного поправлены алгоритмы поиска скилов, блок управления сумоном - "состояние неизвестно..." Правда есть нюанс - при лагах и включенном battle-режиме - запекашить самого себя - секундное дело
Добавил проверку состояния "в касте" - по идее спамить пакетом MagicSkillUse должен прекратить
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 18.08.2010 в 20:19.
За это сообщение Breadfan нажился 2 спасибками от:
Складывается ощущение, что память выделяемая на массив - после выключения скрипта - не освобождается (после нескольких циклов включить-выключить скрипт, время старта скрипта значительно увеличивается, но запоминание пакетов отключено) - я прав? если да - лечится ли это?
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?