SA-MP Forums Archive
Пара вопросов - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Пара вопросов (/showthread.php?tid=465402)



Пара вопросов - Tee7even - 22.09.2013

Приветствую. У меня есть пара вопросов и касаются они в общем вариантов реализации того или иного.

1)Вот есть у меня инвентарь, при выборе слота отображается окошко с описанием, предметы создаются подобным методом:
Код:
DefineItem(здесь название, здесь описание);
Как можно сделать так, чтобы в описание можно было бы вставлять например значение переменной количества данного слота?
Вот так например:
Код:
DefineItem("Канистра", "В этой канистре %a литров!");
2)Телефоны. Как возможно сделать чтобы выдавлись те номера, которые не находятся в использовании?
Еще с учетом того, что игрок может выкинуть свой телефон, купить новый и т.д. Есть одна идея, но в ней, когда будут использованы все 899999 номеров, некуда будет шагать, кроме как пускать заново сервер.


Re: Пара вопросов - =KempeR= - 22.09.2013

1)
Код:
new someString[32];
format(someString, sizeof someString, "В этой канистре %a литров!", amount);
DefineItem("Канистра", someString);
2) Что мешает раздавать номера телефонов по порядку?


Re: Пара вопросов - Tee7even - 22.09.2013

Quote:
Originally Posted by =KempeR=
Посмотреть сообщение
1)
Код:
new someString[32];
format(someString, sizeof someString, "В этой канистре %a литров!", amount);
DefineItem("Канистра", someString);
Ага, так не получится, откуда мы возьмем при создании предмета его количество у какого-то игрока, которого нет?
Quote:

2) Что мешает раздавать номера телефонов по порядку?

Я написал в первом сообщении


Re: Пара вопросов - DiSE - 22.09.2013

[EAKWARP]учи мат.часть[/EAKWARP]

Tee7even так первый купивший номер, будет с номером 1, другой(второй) с 2. А если первый решит удалить номер телефона, то другой купивший не сможет быть с таким же номером, который был у первого. И сам первый не сможет его купить. Не это ли тебе нужно было?


Re: Пара вопросов - Tee7even - 22.09.2013

Quote:
Originally Posted by DiSE
Посмотреть сообщение
[EAKWARP]учи мат.часть[/EAKWARP]

Tee7even так первый купивший номер, будет с номером 1, другой с 2. А если первый решит удалить номер телефона, то другой купивший не сможет быть с таким же номер, который был у первого. И сам первый не сможет его купить. Не это ли тебе нужно было?



Re: Пара вопросов - =KempeR= - 22.09.2013

Quote:
Originally Posted by Tee7even
Посмотреть сообщение
Ага, так не получится, откуда мы возьмем при создании предмета его количество у какого-то игрока, которого нет?
Я написал в первом сообщении
Так изменяй это описание там, где мы знаем кол-во!


Re: Пара вопросов - Tee7even - 22.09.2013

Quote:
Originally Posted by =KempeR=
Посмотреть сообщение
Так изменяй это описание там, где мы знаем кол-во!

Код:
DefineItem(НАЗВАНИЕ, ШАБЛОН /*!!!!*/ ОПИСАНИЯ);
Нужно, чтобы в шаблон можно было вставлять значение переменной кол-ва и т.д..
Насчет этого нашел свой способ.


Re: Пара вопросов - Mutha_X - 22.09.2013

Tee7even, а я понял, что дайз имел ввиду, однако, до него эту идею высказал =KempeR=.
Ваш


Re: Пара вопросов - Tee7even - 22.09.2013

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
Tee7even, а я понял, что дайз имел ввиду, однако, до него эту идею высказал =KempeR=.
Ваш
Ну а в целом, в том-то и дело, что было бы лучше, если не используемые номера выдавались снова, можно и по порядку. Все вопросов нет.


Re: Пара вопросов - -Stranger- - 24.09.2013

Tee7even, ещё вариант, более сложный, но более интересный.
Генерируйте случайный номер, или по определённому алгоритму (допустим в разных магазинах свой префикс). Дальше делаете запрос к MySQL и проверяете занятость этого номера: Если занят, то генерим новый и проверяем заново, если свободен, то выдаём номер и добавляем запись в БД.
Раз в день делаем чистку базы, и удаляем номера, которыми не пользовались например 30 дней.
Формат базы примерно такой:
id | number | player | buy | use
Ну а дальше включаем фантазию и придумываем разные фишки, на основе этого.