Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
артист666 » 17 окт 2017, 17:15
Это не нужно:
- Код: Выделить всё
replace_all(String:string[], len, String:what[], String:with[])
{
new pos = 0;
new var1 = contain(string, what);
pos = var1;
if (var1 == -1)
{
return 0;
}
new total = 0;
new with_len = strlen(with);
new diff = strlen(what) - with_len;
new total_len = strlen(string);
new temp_pos = 0;
while (replace(string[pos], len - pos, what, with))
{
pos = with_len + pos;
total_len -= diff;
if (pos >= total_len)
{
return total;
}
else
{
temp_pos = contain(string[pos], what);
if (temp_pos == -1)
{
return total;
}
else
{
pos = temp_pos + pos;
total++;
}
return total;
}
return total;
}
return total;
}
public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
{
!!! Removed Phi
if (func != -1 && callfunc_begin_i(func, -1) == 1)
{
callfunc_push_int(id);
callfunc_push_int(err);
callfunc_push_str(reason, false);
if (callfunc_end() == 1)
{
fail = 0;
}
}
if (fail)
{
set_fail_state(reason);
}
return 0;
}
Это вот так выглядит:
- Код: Выделить всё
new var3 = g_iDoubleJump;
new var1;
if (var3[id][0][0])
{
new var4 = g_iDoubleJump[id];
var4 = 0;
var1 = var4;
}
else
{
var1 = var3;
}
>>>
- Код: Выделить всё
if(g_iDoubleJump[id]) g_iDoubleJump[id] = false
Или просто:
- Код: Выделить всё
public EventRoundStart()
{
new id = 0, iNum = -1
while (++id <= g_iMaxPlayers)
{
while (++iNum < 10)
{
if (g_iLimitChoice[id][iNum]) g_iLimitChoice[id][iNum]--
}
g_iDoubleJump[id] = false
g_bResetSpeed[id] = false
}
}
И так везде.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
oReo » 19 окт 2017, 13:32
артист666, щас попробую.
деструктор решает все проблемы: нет переменной - нет проблемы (с) Subb98
-
oReo
-
- Сообщения: 165
- Зарегистрирован: 24 май 2017, 05:59
- Благодарил (а): 10 раз.
- Поблагодарили: 5 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11