Показать сообщение отдельно
Старый 09.06.2015, 23:27   #2095
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

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

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

Код:
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin

  //кончились бабки
  if FromServer and (ConnectName=Name) and (pck=HStr('64 BD 02 00 00 00 00 00 00')) 
  then begin
     iditem:='0';
     a:=1;
     b:=0;
     Timer01.enabled:=false;
     
     buf:=#$4A;
     WriteD(0);
     WriteD(10);
     WriteS('');
     WriteS('бабло кончилось');
     SendToClient;     
  end;

  //блокировка перемещения
  if FromClient and (ConnectName=Name) and (pck[1]=HStr('01')) and (start=1) and (Target='0') 
  then begin 
    pck:='';
   
    
  end;

end.
то есть перед каждым условием а "это" ли это соединение? а от сервера ли пришло? или правильней сделать сначала проверку это ли соединение, потом от сервера и внутри уже фигачить прочие условия?
Код:
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin  
  
  if (ConnectName=Name) then begin
    if FromServer then begin
      
      //кончились бабки
      if (pck=HStr('64 BD 02 00 00 00 00 00 00')) 
      then begin
        iditem:='0';
        a:=1;
        b:=0;
        Timer01.enabled:=false;
     
        buf:=#$4A;
        WriteD(0);
        WriteD(10);
        WriteS('');
        WriteS('бабло кончилось');
        SendToClient;     
      end;

      //еще стописят других условий
      
    end
    else begin //значит фром клиент
      
      //блокировка перемещения
      if (pck[1]=HStr('01')) and (start=1) and (Target='0') 
      then begin
        pck:='';
      end;

       //еще стописят других условий
      
    end;
    
  end;

end.
__________________
хочу картинку в подпись!

Последний раз редактировалось SeregaZ, 09.06.2015 в 23:30. Причина: Добавлено сообщение
SeregaZ вне форума   Ответить с цитированием