Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
Lt.RAT » 09 авг 2011, 21:58
noo00oob писал(а):Fedcomp писал(а):И вообще будут ли целесообразны эти функции?
Для чего? Искать в имень игрока подстроку "ggf", и если такая нашлась давать ему безсмертие?
iddqd искать надо
один inc это мало, надо уж сразу несколько с группировкой по функционалу, файлы, пакеты, строки, цветной чат итп итд...
-
Lt.RAT
-
- Сообщения: 301
- Зарегистрирован: 30 сен 2009, 01:44
- Благодарил (а): 4 раз.
- Поблагодарили: 151 раз.
- Языки программирования: Counter-Strike 1.6
-
Fedcomp » 09 авг 2011, 23:15
Вполне можно сделать несколько библиотечек. Никто же не мешает.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.
"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
-
Fedcomp
-
- Сообщения: 4936
- Зарегистрирован: 28 авг 2009, 20:47
- Благодарил (а): 815 раз.
- Поблагодарили: 1317 раз.
- Языки программирования: =>
pawn / php / python / ruby
javascript / rust
PRoSToTeM@ » 10 авг 2011, 00:07
Fedcomp писал(а):- Функция для получения подстроки имея начальное и конечное число, т.е 'lolhammerwut' нам нужно получить строку 'hammer' задав допустим substr(3 (начало), 8 (конец), строку_приемник, длину_строки_приемника)
- Код: Выделить всё
GetStringByStartAndEnd(const szString[], iStart, iEnd, szOut[], iLenOut)
{
if (iStart > iEnd)
return 0;
new iMax = strlen(szString);
if (iStart >= iMax || iEnd >= iMax)
return 0;
return copy(szOut, min(iLenOut, (iEnd - iStart) + 1), szString[iStart]);
}
Добавлено спустя 1 минуту 37 секунд:Особо не тестировал.
Добавлено спустя 3 минуты 39 секунд:Fedcomp писал(а):- Функцию для поиска первого совпадения в строке поданой подстроки которая возвращает число начиная с которого идет подстрока (искать в строке 'lolwut' подстроку 'lwut' equal выдает только true/false)
Contain?
Последний раз редактировалось
PRoSToTeM@ 10 авг 2011, 02:22, всего редактировалось 2 раз(а).
-
PRoSToTeM@
-
- Сообщения: 2498
- Зарегистрирован: 26 мар 2010, 00:12
- Благодарил (а): 438 раз.
- Поблагодарили: 1125 раз.
KORD_12.7 » 10 авг 2011, 03:11
Для строк вот интерестный инклюдник:
Вы должны зарегистрироваться, чтобы видеть ссылки.Мб кому-то пригодится:
- Код: Выделить всё
stock UTIL_DecalTrace(const pTrace, const szDecalName[])
{
new entityIndex
new index
new message
if ((index = get_decal_index(szDecalName)) < 0)
return
new flFraction
get_tr2(pTrace, TR_flFraction, flFraction)
if (flFraction == 1.0)
return
new pHit = get_tr2(pTrace, TR_pHit);
if (pev_valid(pHit))
{
if (pHit && !((pev(pHit, pev_solid) == SOLID_BSP) || (pev(pHit, pev_movetype) == MOVETYPE_PUSHSTEP)))
return
entityIndex = pHit;
}
else
entityIndex = 0;
message = TE_DECAL;
if ( entityIndex != 0 )
{
if ( index > 255 )
{
message = TE_DECALHIGH;
index -= 256;
}
}
else
{
message = TE_WORLDDECAL;
if ( index > 255 )
{
message = TE_WORLDDECALHIGH;
index -= 256;
}
}
new Float: vecEndPos[3]
get_tr2(pTrace, TR_vecEndPos, vecEndPos)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(message)
engfunc(EngFunc_WriteCoord, vecEndPos[0])
engfunc(EngFunc_WriteCoord, vecEndPos[1])
engfunc(EngFunc_WriteCoord, vecEndPos[2])
write_byte(index)
if (entityIndex)
write_short(entityIndex);
message_end;
}
_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
-
KORD_12.7
-
- Сообщения: 298
- Зарегистрирован: 28 сен 2009, 10:14
- Откуда: Владивосток
- Благодарил (а): 142 раз.
- Поблагодарили: 257 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike
-
Fedcomp » 10 авг 2011, 19:46
А что это?)
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.
"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
-
Fedcomp
-
- Сообщения: 4936
- Зарегистрирован: 28 авг 2009, 20:47
- Благодарил (а): 815 раз.
- Поблагодарили: 1317 раз.
- Языки программирования: =>
pawn / php / python / ruby
javascript / rust
noo00oob » 10 авг 2011, 19:59
Декаль рисует на конце трассы.
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
-
noo00oob
-
- Сообщения: 1061
- Зарегистрирован: 09 янв 2010, 21:52
- Благодарил (а): 258 раз.
- Поблагодарили: 395 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Counter-Strike 1.6
Half-Life
PRoSToTeM@ » 10 авг 2011, 20:44
GetStringByStartAndEnd нужен?
-
PRoSToTeM@
-
- Сообщения: 2498
- Зарегистрирован: 26 мар 2010, 00:12
- Благодарил (а): 438 раз.
- Поблагодарили: 1125 раз.
noo00oob » 10 авг 2011, 20:49
Мдэ, интересная операция, тогда уж так:
Да, как это интересно, возвращать не еденицу, а еденицу!
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
-
noo00oob
-
- Сообщения: 1061
- Зарегистрирован: 09 янв 2010, 21:52
- Благодарил (а): 258 раз.
- Поблагодарили: 395 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Counter-Strike 1.6
Half-Life
Fedcomp » 10 авг 2011, 20:57
PRoSToTeM@ писал(а):GetStringByStartAndEnd нужен?
Уже дали ссылку на allied
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.
"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
-
Fedcomp
-
- Сообщения: 4936
- Зарегистрирован: 28 авг 2009, 20:47
- Благодарил (а): 815 раз.
- Поблагодарили: 1317 раз.
- Языки программирования: =>
pawn / php / python / ruby
javascript / rust
PRoSToTeM@ » 12 авг 2011, 12:18
- Код: Выделить всё
- Код: Выделить всё
stock GetPlayerActiveWeaponId(pId)
{
new pActiveItem = get_pdata_cbase(pId, m_pActiveItem, XO_MONSTER);
if (pActiveItem <= 0)
return 0;
return get_pdata_int(pActiveItem, m_iId, XO_WEAPON);
}
Добавлено спустя 47 секунд:- Код: Выделить всё
stock GetPlayerProtocol(pId)
{
static cvarDpProtocol;
if (!cvarDpProtocol && !(cvarDpProtocol = get_cvar_pointer("dp_r_protocol")))
return 0;
server_cmd("dp_clientinfo %d", pId);
server_exec();
return get_pcvar_num(cvarDpProtocol);
}
GetPlayerActiveWeaponId - Берёт текущее оружие игрока причём безошибочно.
GetPlayerProtocol - Берёт протокол CS игрока.
-
PRoSToTeM@
-
- Сообщения: 2498
- Зарегистрирован: 26 мар 2010, 00:12
- Благодарил (а): 438 раз.
- Поблагодарили: 1125 раз.
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9