Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Скриптинг в Stealth для чайников.

тут можно задать вопрос по скриптингу
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Скриптинг в Stealth для чайников.

Post by nah nah »

evDrawObject : [ID] - отрисовка чара (не обязательно нашего!)
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

CloseMenu() закрывает меню, но не закрывает его гамп в клиенте. Есть способ это сделать, кроме отключения menu/gump в настройках?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Скриптинг в Stealth для чайников.

Post by Vizit0r »

нет. Это особенности протокола.
Для этого же и шлется в клиент "'Menu reply sending'". Если бы была возможность закрывать меню как гампы - это бы не требовалось.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Что он хочет? Compiler: [Error] (C:\Games\Stealth\Scripts\Include\LoadXYFromFile.inc at 7:1): 'BEGIN' expected

Code: Select all

function LoadXYFromFile(fileName : string) : array of array of integer;
var
	ind, tileQuantity : integer;
	tileArr : array of array of integer;
	fileText : TStringList;
	
const 
	filePath = 'C:\Games\Stealth\Scripts\';
	
begin
	fileText := TStringList.Create();
	fileText.LoadFromFile(filePath + fileName);
	SetLength(tileArr, fileText.Count / 2, 2);
	for ind := 0 to fileText.Count / 2 - 1 do
	begin
		ClientPrint(tileArr[ind][0] + ' ' + fileText.strings[ind + 1]);
		tileArr[ind][0] := StrToInt(fileText.strings[ind]);
		tileArr[ind][1] := StrToInt(fileText.strings[ind + 1]);
		ind := ind + 1;
	end;
	fileText.free;
	result := tileArr;
end;
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Скриптинг в Stealth для чайников.

Post by Vizit0r »

хз, попробуй коснтанты перед переменными поставить.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Менял, пишет то же самое, что хочет BEGIN прямо там где строка const
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Code: Select all

var
	ind, tileQuantity, arrLength : integer;
	tileArr : array of array of integer;
	fileText : TStringList;
	filePath : string;

begin
	filePath := 'C:\Games\Stealth\Scripts\';
Так работает, видимо это стелс что-то барахлит. Теперь не хочет принимать второе значение длины SetLength(tileArr, 9, 2); где 9 длина массива, 2 длина каждого элемента. Работает только с одним значением SetLength(tileArr, 9), если указать два то выдает Invalid number of parameters
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Константы типа массивов тоже не понимает, пример Const Digits : Array [0..9] Of Char = ('0', '1', '2', '3', '4', '5','6', '7', '8', '9');
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Что ж такое) Если задать var fileArr : array [0..5] of string; то на строке fileArr := ['1.txt', '2.txt', '3.txt', '4.txt', '5.txt', '6.txt']; будет ошибка Type Mismatch. Если задать var fileArr : array of string; то ошибки нет
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Скриптинг в Stealth для чайников.

Post by Vizit0r »

Это работает только для массивов переменной длины.

Такой вот ПС, увы.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

А есть функция для активации окна клиента уо?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Скриптинг в Stealth для чайников.

Post by Vizit0r »

а...зачем?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Удобно когда гм приходит проверять.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Скриптинг в Stealth для чайников.

Post by Vizit0r »

чар для скрипта один. А клиентов подключенных может быть сколько угодно. Какой из них активировать (что значит активировать? Помещать поверх всех окон?)? Первый, последний, все?

И таких вопросов много. Поэтому из скрипта отправка чего-то в в клиент сведена к минимуму.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
DDoS
Novice
Novice
Posts: 53
Joined: 10.04.2018 21:34

Re: Скриптинг в Stealth для чайников.

Post by DDoS »

Для Count/CountEx как рекурсивный поиск включить?
Post Reply