ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

^Место доступно для покупки - 4000 руб/мес^

Новости

17-апр
30-дек
29-дек
26-дек

5 страниц V  « 2 3 4 »

Склад маленького кода

, мелочь пузатая
Статус пользователя Stimul1
сообщение 28.8.2014, 15:33
Сообщение #41


Стаж: 4 года 11 месяцев

Сообщений: 223
Благодарностей: 258
Полезность: 978

Код
DropWithoutShield()
===>
Код
DropWithoutShield(id)


Отредактировал: Stimul1, - 28.8.2014, 19:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 28.8.2014, 16:13
Сообщение #42
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

Поправил.
Только замени у себя тэг pawn на code и старайся не использовать его, если в посте до твоего есть спойлер. Почему - открой мой спойлер и увидишь ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.9.2014, 23:51
Сообщение #43
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

Код просто 4fun ;)

Выставлением оффсетов заставляем игру думать, что по дефолту у игрока 200 hp, что игрок задыхался под водой и что сейчас ему нужно регенировать здоровье; игра сама восстанавливает по 10 hp каждые 2 секунды:
Код
#include <fakemeta>

const m_idrowndmg = 345
const m_idrownrestored = 346
const m_bitsDamageType = 76

#define MAX_HP 200
set_pev( id, pev_max_health, MAX_HP.0 )
set_pdata_int( id, m_idrowndmg, MAX_HP - get_user_health(id) )
set_pdata_int( id, m_idrownrestored, 0 )
set_pdata_int( id, m_bitsDamageType, get_pdata_int( id, m_bitsDamageType ) | DMG_DROWNRECOVER )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя soroka-beloboka
сообщение 15.9.2014, 7:25
Сообщение #44
Стаж: 5 лет 11 месяцев

Сообщений: 257
Благодарностей: 47
Полезность: 32

думаю аналогично будет если использовать DMG_RAD? В HL вроде восстанавливается после него

Отредактировал: soroka-beloboka, - 15.9.2014, 7:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 15.9.2014, 7:38
Сообщение #45
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

soroka-beloboka, нет) Только после утопления hp восстанавливаются.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 15.9.2014, 10:39
Сообщение #46
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

Цитата(Safety1st @ 15.9.2014, 1:51) *
Код просто 4fun ;)

Offset'ы вписать забыл.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gavrilyuc
сообщение 30.3.2015, 18:49
Сообщение #47
Стаж: 3 года 6 месяцев

Сообщений: 36
Благодарностей: 6
Полезность: 129

Цитата(Safety1st @ 17.6.2014, 11:45) *
Смена слота для оружия
Простейший плагин-пример на смену слота для glock'а. Без понятия, где это может пригодиться.


Все необходимые комментарии присутствуют в sma.
v0.1 17.06.2014 г. [attachment=26101:change_glock_slot.sma]

Таким образом можно добавить на слот бомбы, например, гранату?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 30.3.2015, 19:21
Сообщение #48
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

Можно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ellome
сообщение 8.4.2015, 15:46
Сообщение #49
Стаж: 4 года 7 месяцев

Сообщений: 40
Благодарностей: 55
Полезность: 555

Инклюд для правильного русского окончания времени/даты. Входное значение - минуты.

Использование:

Код:

new len, time_str[32];
len = get_rutime_length( id, 1440, time_str, charsmax( time_str ) );


rutime.inc
Код:
#if defined _rutime_included
#endinput
#endif
#define _rutime_included

stock get_rutime_length(client, minutes, output[], outputLen)
{

new hours;
new days;
new lang_name[10];
new len;

hours = minutes / 60;
minutes %= 60;

days = hours / 24;
hours %= 24;

if (days)
{

format( lang_name, charsmax( lang_name ), "DAYS_%d", PluralType( days ) );

len += format( output[ len ], outputLen - len, "%s%d %L", len ? ", " : "", days, client, lang_name );

}

if (hours)
{

format( lang_name, charsmax( lang_name ), "HOURS_%d", PluralType( hours ) );

len += format( output[ len ], outputLen - len, "%s%d %L", len ? ", " : "", hours, client, lang_name );

}

if (minutes)
{

format( lang_name, charsmax( lang_name ), "MINUTES_%d", PluralType( minutes ) );

len += format( output[ len ], outputLen - len, "%s%d %L", len ? ", " : "", minutes, client, lang_name );

}

return len;

}

stock PluralType(n)
{

return (n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2));

}


rutime.txt
Код
[en]
SECONDS_0 = секунда
SECONDS_1 = секунды
SECONDS_2 = секунд
MINUTES_0 =минута
MINUTES_1 =минуты
MINUTES_2 =минут
HOURS_0 =час
HOURS_1 =часа
HOURS_2 =часов
DAYS_0 =день
DAYS_1 =дня
DAYS_2 =дней
MONTHS_0 = месяц
MONTHS_1 = месяца
MONTHS_2 = месяцев
YEARS_0 = год
YEARS_1 = года
YEARS_2 = лет

[ru]
SECONDS_0 = секунда
SECONDS_1 = секунды
SECONDS_2 = секунд
MINUTES_0 =минута
MINUTES_1 =минуты
MINUTES_2 =минут
HOURS_0 =час
HOURS_1 =часа
HOURS_2 =часов
DAYS_0 =день
DAYS_1 =дня
DAYS_2 =дней
MONTHS_0 = месяц
MONTHS_1 = месяца
MONTHS_2 = месяцев
YEARS_0 = год
YEARS_1 = года
YEARS_2 = лет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя Sanlerus
сообщение 5.5.2015, 18:19
Сообщение #50


Стаж: 3 года 7 месяцев

Сообщений: 132
Благодарностей: 70
Полезность: 34

Транслит, новый алгоритм замены символов.
Код:
static const iChar1[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ' ', '!', 208, '#', '$',
' ', '?', 209, '(', ')', '*', '+', 208, '-', 209, '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 208, 208,
208, '=', 208, ',', '^"', 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 209, '\', 209, ':', '_', 209, 209, 208, 209, 208, 209, 208, 208, 209, 209,
208, 208, 208, 209, 209, 209, 208, 208, 208, 209, 208, 208, 208, 209, 209, 208, 209, 208,'/', 208, 208};
static const iChar2[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0, 173, 0, 0, 0, 0,
141, 0, 0, 0, 0, 177, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 182, 145, 0, 174, 0, 0, 164, 152, 161, 146, 163,
144, 159, 160, 168, 158, 155, 148, 172, 162, 169, 151, 153, 154, 171, 149, 147, 156, 166, 167, 157, 175, 133, 0, 138,
0, 0, 145, 132, 184, 129, 178, 131, 176, 191, 128, 136, 190, 187, 180, 140, 130, 137, 183, 185, 186, 139, 181, 179,
188, 134, 135, 189, 143, 165, 0, 170, 129};

new szMessage[192], szBuffer[256], iStrLen;
read_args(szMessage, charsmax(szMessage));
remove_quotes(szMessage);
iStrLen = strlen(szMessage);
for(new i, j; i < iStrLen; i++)
{
if(szMessage[i] < 0) szBuffer[j++] = szMessage[i] + 256;
else if(' ' <= szMessage[i] <= '~')
{
szBuffer[j++] = iChar1[szMessage[i]];
if(iChar2[szMessage[i]]) szBuffer[j++] = iChar2[szMessage[i]];
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Safety1st
сообщение 5.5.2015, 18:34
Сообщение #51
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

Здесь бы комментарии точно не помешали...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Sanlerus
сообщение 5.5.2015, 18:36
Сообщение #52


Стаж: 3 года 7 месяцев

Сообщений: 132
Благодарностей: 70
Полезность: 34

Цитата(Safety1st @ 5.5.2015, 21:34) *
Здесь бы комментарии точно не помешали...

Что именно не понятно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 5.5.2015, 18:51
Сообщение #53
Стаж: 5 лет 9 месяцев

Сообщений: 6823
Благодарностей: 7783
Полезность: 718

Алгоритм в целом + суть превращений внутри цикла, за исключением строчки
Код:
if(szMessage[i] < 0) szBuffer[j++] = szMessage[i] + 256
где, видимо, исправляется баг в обработке строк AMXX'ом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sanlerus
сообщение 5.5.2015, 19:19
Сообщение #54


Стаж: 3 года 7 месяцев

Сообщений: 132
Благодарностей: 70
Полезность: 34

Цитата(Safety1st @ 5.5.2015, 21:51) *
Алгоритм в целом + суть превращений внутри цикла, за исключением строчки
Код:
if(szMessage[i] < 0) szBuffer[j++] = szMessage[i] + 256
где, видимо, исправляется баг в обработке строк AMXX'ом.

Это строчка превращает русские символы, в русские символы которые понимает амхх.
п,с. Остальное позже.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sanlerus
сообщение 5.5.2015, 23:13
Сообщение #55


Стаж: 3 года 7 месяцев

Сообщений: 132
Благодарностей: 70
Полезность: 34

Код:
static const iChar1[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ' ', '!', 208, '#', '$',
' ', '?', 209, '(', ')', '*', '+', 208, '-', 209, '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 208, 208,
208, '=', 208, ',', '^"', 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 209, '\', 209, ':', '_', 209, 209, 208, 209, 208, 209, 208, 208, 209, 209,
208, 208, 208, 209, 209, 209, 208, 208, 208, 209, 208, 208, 208, 209, 209, 208, 209, 208,'/', 208, 208};
static const iChar2[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0, 173, 0, 0, 0, 0,
141, 0, 0, 0, 0, 177, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 182, 145, 0, 174, 0, 0, 164, 152, 161, 146, 163,
144, 159, 160, 168, 158, 155, 148, 172, 162, 169, 151, 153, 154, 171, 149, 147, 156, 166, 167, 157, 175, 133, 0, 138,
0, 0, 145, 132, 184, 129, 178, 131, 176, 191, 128, 136, 190, 187, 180, 140, 130, 137, 183, 185, 186, 139, 181, 179,
188, 134, 135, 189, 143, 165, 0, 170, 129};
// Эти два массива содержат символы и русские буквы, так как русские буквы занимают два байта, по этому массива два.
new szMessage[192], szBuffer[256], iStrLen; // думаю и так понятно...
read_args(szMessage, charsmax(szMessage));
remove_quotes(szMessage);
iStrLen = strlen(szMessage);
for(new i, j; i < iStrLen; i++)
{
if(szMessage[i] < 0) szBuffer[j++] = szMessage[i] + 256; // от стима или сборки с юникодом, русские буквы приходят с отрицательными значениями, чтобы мы смогли этот текст в будущем обрабатывать в амхх, нужно сделать сдвиг для каждого байта русской буквы.
else if(' ' <= szMessage[i] <= '~') // тут мы проверяем что буква или символ находится в валидной зоне, что это значит? То что эти символы можно читать и они используются в кс, все остальные мы игнорируем, помните какой-то баг с помощью которого игроки делали себе зелёный чат?
{
szBuffer[j++] = iChar1[szMessage[i]]; // копируем первый байт в новый массив, для указателя на ячейку используем саму английскую букву.
if(iChar2[szMessage[i]]) szBuffer[j++] = iChar2[szMessage[i]]; // проверяем, если во втором массиве ячейка не равна нулю, так же её записываем, вы ведь не забыли что русские буквы занимают две ячейки?
}
}

Думаю понятно объяснил.

Отредактировал: Sanlerus, - 5.5.2015, 23:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 15.5.2015, 12:01
Сообщение #56
Стаж: 5 лет

Сообщений: 1512
Благодарностей: 1021
Полезность: 724

gudaus, как ты сравниваешь сток и инклуд? В инклуде стока не может быть что ли?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 15.5.2015, 12:02
Сообщение #57


Стаж: 5 лет 3 месяца

Сообщений: 1569
Благодарностей: 1207
Полезность: 737

Цитата([WPMG]PRoSToTeM@ @ 15.5.2015, 13:01) *

gudaus, как ты сравниваешь сток и инклуд? В инклуде стока не может быть что ли?

Может, но это редкость. Я спрашиваю для определённых вещей, для колорчата, например. Что предпочтительней.

Отредактировал: gudaus, - 15.5.2015, 12:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 15.5.2015, 12:06
Сообщение #58
Стаж: 5 лет

Сообщений: 1512
Благодарностей: 1021
Полезность: 724

gudaus, как ты сравниваешь две разные вещи сток (функцию) и инклуд (файл)?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 15.5.2015, 12:09
Сообщение #59


Стаж: 5 лет 3 месяца

Сообщений: 1569
Благодарностей: 1207
Полезность: 737

Цитата([WPMG]PRoSToTeM@ @ 15.5.2015, 13:06) *

gudaus, как ты сравниваешь две разные вещи сток (функцию) и инклуд (файл)?

Я одно и то же могу реализовать как при помощи инклуда, так и при помощи функции. Вот и спрашиваю, как лучше? При чём тут сравнение?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 15.5.2015, 12:13
Сообщение #60
Стаж: 5 лет

Сообщений: 1512
Благодарностей: 1021
Полезность: 724

gudaus, ну дык в инклуде тебе тоже придётся использовать функцию.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
5 страниц V  « 2 3 4 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: