Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
ChKOChKO » 26 ноя 2016, 14:43
Добрый день, сижу кубатурю и не могу понять, как добавить в "старое меню" страницу?
- Код: Выделить всё
public menu_buy_upg(id, page){
static i, keys, pos, upg, price, max, cache[1024]
pos = 0
keys = 0
if(page*8>=g_enabled_upgs)
page = 0
g_p_menu_page[id] = page
max = (g_enabled_upgs-1)/7+1
if(max<1)
max=1
pos += format(cache[pos], 1023-pos, "\y[\rRPG mod\y]^n\wКупить улучшения^n^n\d[%d/%d]\w[Кредиты: \y%d\w]^n\wn. \d[ \wlvl\d ][\wцена\d]\wулучшение^n^n", page+1, max, g_p_credits[id])
max = g_enabled_upgs - page*7
if(max>8)
max=8
for(i=0; i<7; i++){
if(i>=max){
pos += formatex(cache[pos], 1023-pos, "\d%d.^n", i+1)
continue
}
upg = g_enabled_list[i+page*7]
price = g_upg_sp[upg] + g_upg_ip[upg]*g_p_upg[id][upg]
if(g_p_upg[id][upg] >= g_upg_maxlvl[upg]){
pos += formatex(cache[pos], 1023-pos, "\d%d. [\rmax\d][-----]%s^n", i+1, g_upg_name[upg])
}else if(price > g_p_credits[id]){
pos += formatex(cache[pos], 1023-pos, "\d%d. [%4d ][\r%5d \d]%s^n", i+1, g_p_upg[id][upg]+1, price, g_upg_name[upg])
}else{
pos += formatex(cache[pos], 1023-pos, "\r%d\y. \d[\w%4d \d][\y%5d \d]\w%s^n", i+1, g_p_upg[id][upg]+1, price, g_upg_name[upg])
keys = keys|(1<<i)
}
}
pos += formatex(cache[pos], 1023-pos, "^n%sБольше...^n", g_enabled_upgs>8 ? "\r9\y. \w" : "\d")
keys = keys|(1<<8)|(1<<9)
pos += formatex(cache[pos], 1023-pos, "\r0\y. \wНазад^n")
show_menu( id, keys, cache, -1)
return PLUGIN_HANDLED
}
public hnd_menu_buy_upg(id,key){
static upg
if(key<7){
upg = g_enabled_list[g_p_menu_page[id]*7+key]
g_p_credits[id] -= g_upg_sp[upg] + g_upg_ip[upg]*g_p_upg[id][upg]
g_p_upg[id][upg]++
upgrade_change(id, upg)
menu_buy_upg(id, g_p_menu_page[id])
}else if(key==8){
menu_buy_upg(id, g_p_menu_page[id]+1)
}else{
menu_main(id)
}
return PLUGIN_HANDLED
}
-
ChKOChKO
-
- Сообщения: 7
- Зарегистрирован: 08 фев 2016, 12:27
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Counter-Strike 1.6
Subb98 » 26 ноя 2016, 14:57
Вот пример:
Вы должны зарегистрироваться, чтобы видеть ссылки.. Правда, там пример с игроками, но и для предметов алгоритм аналогичный.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
ChKOChKO » 26 ноя 2016, 15:14
Subb98, Т.е. это?
- Код: Выделить всё
ShowMenu(id, ++g_Position[id]);
если так, то есть по-моему:
- Код: Выделить всё
menu_buy_upg(id, g_p_menu_page[id]+1)
p.s. Открываются только первые 3 страницы, а четвертая нет. Хотя в этой строке правильно показывает [1/4]
- Код: Выделить всё
pos += format(cache[pos], 1023-pos, "\y[\rRPG mod\y]^n\wКупить улучшения^n^n\d[%d/%d]\w[Кредиты: \y%d\w]^n\wn. \d[ \wlvl\d ][\wцена\d]\wулучшение^n^n", page+1, max, g_p_credits[id])
-
ChKOChKO
-
- Сообщения: 7
- Зарегистрирован: 08 фев 2016, 12:27
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Counter-Strike 1.6
KPOCT » 04 дек 2016, 04:40
- Код: Выделить всё
if(page*8>=g_enabled_upgs)
--->
- Код: Выделить всё
if(page*7>=g_enabled_upgs)
(2*b) || !(2*b)
-
KPOCT
-
- Сообщения: 65
- Зарегистрирован: 21 фев 2016, 23:33
- Благодарил (а): 21 раз.
- Поблагодарили: 7 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: C, C++, C#, Pawn, VBS, PHP, JS
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10