Tambik, скрипт полезный, свое спасибо уже оставил.
Но интересует такой вопрос...какую строку надо изменить чтобы перс nyb не флагался об перса gm и воскрешался не просто в городе а в КХ?
TAMBIK, Подскажи, как полностью настроить данный скрипт,
как я понимаю,мне нужно 2 чара, у каждого должен быть прописан данный скрипт, у GM должно быть нное колчисво ресов, правильно?
И где прописывать нужный лвл сливаемого чара? в пати? не понятно, просто цифры накатать или нужно писать какую команду?
Под мой сервер пришлось чуть переделать (хроники, судя по написаному на сайте - Final, а там - хз) Оффтоп
PHP код:
//выделил цель, удалил рес, бафнул мейном селф, лвл, запуск // автор TAMBIK const nyb='xxx';// кого убивают gm='xxx';// кто убивает var timer1: TTimer; timer2: TTimer; mytext:string; Name,Namegm, Bypass,Message:string; Level,Levelup,textID,textlvl:integer; nybID,gmID,Attaka,slivlvl,i:integer; gmmm, gmX,gmY,gmZ,nybX,nybY,nybZ:integer; ItemID,objectID:integer; status,start:Boolean; procedure SendMsg2(msg:string); begin buf:=#$4A; WriteD(0); WriteD(10); WriteS(''); WriteS(msg); SendToClientEx(nyb); end; procedure RequestActionUse; begin CASE ReadD(2) OF 24:begin if (start=false) then SendMsg2(' незадан свиток Воскрешения'); if (slivlvl=0) then SendMsg2(' не задан Л В Л '); if start and (slivlvl>0) then begin SendMsg2(' ПУСК '); SendMsg2('сливаем до '+IntToStr(textlvl)+' '+Name+''); timer1.enabled:=true; status:=true; pck:=''; exit; end; end; 25:begin status:=false; timer1.enabled:=false; timer2.enabled:=false; SendMsg2(' С Т О П '); pck:=''; exit; end; end; end; procedure Attakagm; begin buf:=#$01; WriteD(nybID); WriteD(gmX); WriteD(gmY); WriteD(gmZ); WriteC(0); SendToServerEx(gm); SendMsg2('сливаю nyb '+Name+''); end; procedure Targetnyb; begin buf:=#$1F; WriteD(gmID); WriteD(nybX); WriteD(nybY); WriteD(nybZ); SendToServerEx(nyb); end; procedure Attakanyb; begin buf:=#$01; WriteD(gmID); WriteD(nybX); WriteD(nybY); WriteD(nybZ); WriteC(0); SendToServerEx(nyb); SendMsg2('атакую '+Namegm+''); end; procedure OnTimer1(Sender: TObject); begin Targetnyb; Attakanyb; if ( Attaka=1) then begin Attakagm; end; end; procedure Action; begin nybID:=ReadD(2); nybX:=ReadD(6); nybY:=ReadD(10); nybZ:=ReadD(14); SendMsg2('цель '+Name+'вижу'); end; procedure UserInfogm; begin gmX:=ReadD(2); gmY:=ReadD(6); gmZ:=ReadD(10); gmmm:=ReadD(14); gmID:=ReadD(18); Namegm:=ReadS(22); sendmsg2('coords gm read '+inttostr(gmx)+' '+inttostr(gmy)+' '+inttostr(gmz)+' ') end; procedure UserInfonyb; begin i:=22; Name:=ReadS(i); i:=i+12; Level:= ReadD(i); Message:=' lVl='+inttostr(Level); SendMsg2(Name+':'+Message); if status and (Level<=slivlvl) then begin timer1.enabled:=false; nybID:= 0; gmID:=0; gmX:=0; gmY:=0; gmZ:=0; Attaka:=0; SendMsg2('Поздравляю '+Name+' вы достигли указаного лвл'); SendMsg2(''+Name+' благодарит TAMBIKa'); SendMsg2(' О С Т А Н О В Л Е Н О'); status:=false; timer1.enabled:=false; timer2.enabled:=false; Levelup:=0;//атака nyb end; end; procedure Init; begin timer1:=TTimer.Create(nil); timer1.OnTimer:=@OnTimer1; timer1.enabled:=false; timer1.interval:=2000; timer2:=TTimer.Create(nil); timer2.OnTimer:=@OnTimer2; timer2.enabled:=false; timer2.interval:=3000; status:=false; start:=false; slivlvl:=0; Attaka:=0; Levelup:=1; SendMsg2(' выбросить свиток Воскрешения из инвенторя'); SendMsg2(' скрипт запомнит objectID свитка Воскрешения '); SendMsg2(' пуск соцдейство ДА '); SendMsg2(' стоп соцдейство НЕТ '); end; procedure Free; begin timer1.free; timer2.free; end; procedure OnTimer2(Sender: TObject); begin buf:=#$19; WriteD(objectID); WriteD(0); SendToServerEx(gm); SendMsg2(''+Namegm+' ресает '+Name+''); timer2.enabled:=false; end; begin if pck = '' then exit; if fromserver and (ConnectName=gm) and (pck[1]=#$21) and (ReadD(12)=737)then begin objectID:=ReadD(8); ItemID:=ReadD(12); if ( start=false) then SendMsg2('Свиток Воскрешения ID '+IntToStr(ItemID)+' objectID: '+IntToStr(objectID)+''); start:=true; end; if FromServer and (pck[1]=#$33) and (ConnectName=nyb) then Attaka:=1; if fromserver and (pck[1]=#$32) and (ConnectName=gm) then UserInfogm; if fromserver and (pck[1]=#$32) and (ReadD(18)=nybID) then UserInfonyb; if fromserver and (pck[1]=#$00) and (ReadD(2)=nybID) then begin timer1.enabled:=false; SendMsg2(''+Namegm+' убил:'+Name+''); Attaka:=0; timer2.enabled:=true; end; begin if fromserver and (pck[1]=#$F3) then begin buf:=hstr('C6 E6 05 00 00 01 00 00 00 00 00 00 00 '); SendToServerEx(nyb); if status and (Levelup=1) then begin timer1.enabled:=true;// запуск таймера атака SendMsg2('Продолжаю Атаковать '+Namegm+''); end; end; begin if FromClient and (pck[1]=#$56) then RequestActionUse; if FromClient and (pck[1]=#$1F) and (ConnectName=gm) then Action; if FromClient and (pck[1]=#$49) then begin i:=2; mytext:=ReadS(i); textID:=ReadD(i); textlvl:=StrToInt(mytext); if (textID=3) then begin slivlvl:=StrToInt(mytext); SendMsg2( 'Слив до: '+IntToStr(textlvl) ); pck:=''; exit; end; end; end; end; end.
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 13.04.2010 в 06:31.