Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 18.09.2015, 03:43   #1
Новичок
 
Регистрация: 18.09.2015
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
xxx00xxx пока неопределено
По умолчанию Переменная и ее чтение с заменой значений(вопрос)

Суть такова

есть 2 значения

var
i:integer;
b:integer;

i:=1;
b:=1;


begin
buf:=#$XX;
WriteS('текст if i=100 +inttostr(b))тут продолжения текста'+inttostr(i))
SendToServer;
inc(i);
inc(b);

суть такова нужно что бы значение b в середине текста прибавлялось на +1 и каждое сотое значение i которое в конце строки текста сбрасывалось снова на 1.

пример
текст1текст1,2,3,4,5,..
текст1текст100
текст2текст1...

И возможно ли это ?

не могу собразить как это реализировать . Как правильно создать эти переменные и как считать это значение .

Последний раз редактировалось xxx00xxx, 18.09.2015 в 03:48.
xxx00xxx вне форума   Ответить с цитированием
Старый 18.09.2015, 16:43   #2
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 190
Сказал Спасибо: 4
Имеет 42 спасибок в 40 сообщенях
ScythLab пока неопределено
По умолчанию

Я раз 5 перечитал код и текст, мозг сломан, но понимания нет
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием
Старый 18.09.2015, 17:10   #3
Новичок
 
Регистрация: 18.09.2015
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
xxx00xxx пока неопределено
По умолчанию

Код:
var 
i,b,c:integer;
Stream:TFileStream;
procedure Init; //Вызывается при включении скрипта
begin;
i:=1;
b:=1;
try //пытаемся создать файл, но если такой существует то открываем его
Stream := TFileStream.Create('d:\id2.txt', fmOpenReadWrite);
except
Stream := TFileStream.Create('d:\id2.txt', fmCreate);
end;
end;
procedure Free; //Вызывается при выключении скрипта
begin
Stream.free;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromClient and (pck[1]=#$56) then
begin
pck:='';
buf:=#$23;
end;
begin
c:=ReadD(i);
if ((ReadD(i)<100)) then begin
b:=b+1;
end;
WriteS('menu_select?ask='+inttostr(b)+'&reply='+inttostr(i));
SendToServer; 
inc(i);
inc(b); 
end;
  if FromServer and (pck[1]=#$D0) then
Stream.Write(inttostr(Readd(2))+' ',10);
end.
вот сам скрипт . Смысл скрипта - Перменная B не меняется , пока переменная I не достигнет значения 100 выше 100. как Переменная i достигает значения выше 100. Меняется число переменной б +1. И еще задача что бы переменная I сбросилась на 0, после как переменная B прибавит к себе +1.
как не пытаюсь все это провернуть , получаю какието рандом значения .

Последний раз редактировалось xxx00xxx, 18.09.2015 в 17:13.
xxx00xxx вне форума   Ответить с цитированием
Старый 18.09.2015, 17:31   #4
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 190
Сказал Спасибо: 4
Имеет 42 спасибок в 40 сообщенях
ScythLab пока неопределено
По умолчанию

До конца в сакральный смыл вникать нет желания, но задачу можно решить кучей способов, выбери подходящий для себя и доработай.
Код:
  if (i = 100) then
  begin
    Inc(b);
    i := 0;
  end;
  Write(...)
Код:
  if (i = 100) then
    Inc(b);
  Write(...);
  if (i = 100) then
    i := 0;
Код:
  WriteS('menu_select?ask='+IntTosTr(i div 100)+'&reply='+IntTosTr(i mod 100));
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием
Старый 18.09.2015, 18:18   #5
Новичок
 
Регистрация: 18.09.2015
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
xxx00xxx пока неопределено
По умолчанию

Код:
var 
i,b,c:integer;
Stream:TFileStream;
procedure Init; //Вызывается при включении скрипта
begin;
i:=1;
b:=1;
try //пытаемся создать файл, но если такой существует то открываем его
Stream := TFileStream.Create('d:\id2.txt', fmOpenReadWrite);
except
Stream := TFileStream.Create('d:\id2.txt', fmCreate);
end;
end;
procedure Free; //Вызывается при выключении скрипта
begin
Stream.free;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromClient and (pck[1]=#$56) then
begin
pck:='';
buf:=#$23;
end;
begin
if (i > 100) then
Inc(b);
end;
WriteS('menu_select?ask='+IntTosTr(b)+'&reply='+IntTosTr(i));
SendToServer; 
inc(i);
begin
if (i > 100) then
i:=1; 
end;
  if FromServer and (pck[1]=#$D0) then
Stream.Write(inttostr(Readd(2))+' ',10);
end.

в итоге всеравно не работает имею вот такой косяк
0002 s Command: menu_select?ask=1&reply=97
0002 s Command: menu_select?ask=1&reply=29

это пакеты идут по порядку , но прибавке к +1 нету , также и значения идут не 1,2,3,5 а сразу скачат непонятно почему

Последний раз редактировалось xxx00xxx, 18.09.2015 в 18:19. Причина: Добавлено сообщение
xxx00xxx вне форума   Ответить с цитированием
Старый 19.09.2015, 11:00   #6
Пользователь
 
Регистрация: 11.02.2009
Сообщений: 95
Сказал Спасибо: 36
Имеет 6 спасибок в 6 сообщенях
xixi пока неопределено
По умолчанию

Задать переменную нужно явно при старте. У меня была такая фигня. Помогло это....
xixi вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:50.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!