» TeamX (Архив Форума)«


Форум TeamX » Тех. поддержка » Скрипты (Все вопросы по скриптингу - сюда)

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ] Все собщения

 
Mynah
Модератор

Откуда: Пермь
Регистрация: Окт. 2004

Всего: 469 сообщений

binyan
Зачем ремувить-то из инвентаря?
Просто сделай проверку в переборе оружия.

Код:
procedure check_forbidden_weapon(varibale pid) begin 
variable i:=0;
variable tmp_out:=1;

 while i<frbdn_wpn_cnt+1 do begin
  i+=1;
  if forbidden_weapon_pid_array(i)==pid then tmp_out:=0;
 end
 
 return tmp_out;
end

-----
 if check_forbidden_weapon(x) then .....
-----



PS: Слушай, чей скрипт-то получается? Мой или твой?;)

-----
Scio me nihil scire

Отправлено: 12:27 - 24 Окт., 2005
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

Ты меня чуть чуть опередил с проверкой =) Я это(ну не совсем, но что-то вроде) сделал дома =) А скрипт ? Общественное достояние =)) Мне его много людей помогало писать =)

-----
...выражая озадаченность, граничащую с озабоченностью..

Отправлено: 23:03 - 24 Окт., 2005
Zarkon
Пользователь

Откуда: Россия. Саратов.
Регистрация: Окт. 2005

Всего: 2 сообщения

Помогите разобраться!
Обьясните(если кто может)  как создать скрипт для ПРОСТОГО ТОРГОВЦА, которому можно сказать: "Торговать" и "Выход". ???

Отправлено: 11:53 - 26 Окт., 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

Всего: 368 сообщений

Zarkon
Для простого торговца - есть масса простых оригинальных скриптов, которые можно взять за основу. Все оригиналы скриптов есть на этом сайте. Если у тебя действительно будут вопросы, в которых нужна будет помощь - пости, а пока: RTFM.

ЗЫ: для простого торговца достаточно вообще сказать в диалоге "привет-пока" и в прошке поставить бартер. Тогда кнопка бартера будет активна и сможешь спокойно торговаться.

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 12:06 - 26 Окт., 2005
Sokil
Пользователь

Откуда: Омск
Регистрация: Март 2004

Всего: 120 сообщений

2Zarkon
По пробуй сделать свой скрипт на основе хотя бы скрипта Тубби из Дена. Для изучения тебе понадобятся файлы dctubby.ssl, ditubbox.ssl,  command.h и конечно же bis_help. Еще может понадобиться den.h и кое что по мелочи. Вообще, на папку HEADERS стоит обратить особое внимание.

Отправлено: 13:10 - 26 Окт., 2005
Zarkon
Пользователь

Откуда: Россия. Саратов.
Регистрация: Окт. 2005

Всего: 2 сообщения

Попробовал, ничего неполучилось...
Можете написать что конкретно и где печатать надо?

-----
(_|_)

Отправлено: 17:24 - 26 Окт., 2005
Mynah
Модератор

Откуда: Пермь
Регистрация: Окт. 2004

Всего: 469 сообщений

Zarkon,
Писать надо много. Скачивай документацию. Изучай. "Что конкретно и где" - это вопрос не сюда.

ЗЫ: а конкретный примерчик могу только один дать.

пуск->выполнить->cmd->shutdown -s -t 00


-----
Scio me nihil scire

Отправлено: 18:52 - 26 Окт., 2005
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

Собственно возвращаюсь к своему скрипту. С побитовой записью, гвару можно использовать только для простых квестов (да-нет). А вот таким способом, гвару можно использовать для множества квестов с 9 значениями для каждого.
procedure degree(variable num, variable degree) begin
variable i:=1;
variable temp;
while(i<degree) do begin
num:=num*num;
i+=1;
end
temp:=num;
if degree==0 then temp:=1;
return temp;
end

Procedure Hide_forbidden_weapon begin
variable i;
set_local_var(LVAR_forbidden_weapon,0);
while(i<amount_forbidden_weapon) do begin
if(obj_carrying_pid_obj(self_obj,forbidden_weapon_pid_array(i))!=0)then
begin
remove_from_inventory(forbidden_weapon_pid_array(i));
set_local_var(LVAR_forbidden_weapon,((local_var(LVAR_forbidden_weapon)*10)+1 ));
end
else set_local_var(LVAR_forbidden_weapon,(local_var(LVAR_forbidden_weapon)*10+2));
i+=1;
end
end

Procedure Show_forbidden_weapon begin
variable i;
variable j:=0;
variable g:=1;
i:=(amount_forbidden_weapon-1);
if((local_var(LVAR_forbidden_weapon)/degree(10,i))==1) then add_to_inventory(forbidden_weapon_pid_array(j));
while(i>=0) do begin
i-=1;
j+=1;
if(((local_var(LVAR_forbidden_weapon)/degree(10,i))%degree(10,g))==1) then add_to_inventory(forbidden_weapon_pid_array(j));
g+=1;
end
end
Вот...информация для размышлений


-----
...выражая озадаченность, граничащую с озабоченностью..

Отправлено: 1:18 - 27 Окт., 2005
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

2Zarkon В ФАК. И не вылезай оттуда, пока не перестанешь задавать настолько гениальные вопросы.

Отправлено: 11:10 - 27 Окт., 2005
Fozzy
Пользователь

Откуда: Украина,Киев
Регистрация: Апр. 2004

Всего: 81 сообщение

Значит у мну появилась вот такая идея создания масивов в языке ssl.
Код:
 
#define mass[y]:=x set_local_var(y, x)
#define :=mass[y] local_var(y)


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

Недостатки:
1. Самый большой, мы не можем использовать название масива, вместо этого приходится зарезервировать слово mass что не есть гуд.

Возможности:
1. Можно воспользоватся алгоритмом сортировки методом "пузырька".
Код:
 
procedure sort(variable max)
variable i;
variable y;
variable temp;
begin
 while i <= max - 1 do // Так как в язык не понимает цыклы for приходится юзать while
   begin
     while y != i do
       begin
        if i < y then //Если i проходит по условию с y меняем местами значения в переменных. Можно изменить знак в зависимости от того как сортировать. (По возростанию < (по убыванию >
         begin
          temp:=mass;
          mass:=mass[y];
          mass[y]:=temp;
         end
        y:=y+1;
       end
    i:=i+1;
end
end


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

-----
Последний патрон в поржавевшем стволе - Остаток надежды на то что бы выжить.
И две банки джета в моем рюкзаке - Реальность, которой уже не увижу. (С)Fozzy

Отправлено: 17:38 - 23 Ноября, 2005
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com