|
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
|
|
|
|