Русское сообщество по скриптингу

Добавление страниц в меню (RPG)  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Добавление страниц в меню (RPG)

Сообщение ChKOChKO » 26 ноя 2016, 14:43

Добрый день, сижу кубатурю и не могу понять, как добавить в "старое меню" страницу?


Код: Выделить всё
public menu_buy_upg(idpage){
    static 
ikeysposupgpricemaxcache[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+1maxg_p_credits[id])
    
max g_enabled_upgs page*7
    
if(max>8)
        
max=8
    
for(i=0i<7i++){
        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+1g_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+1g_p_upg[id][upg]+1priceg_upg_name[upg])
        }else{
            
pos += formatex(cache[pos], 1023-pos"\r%d\y.  \d[\w%4d \d][\y%5d \d]\w%s^n"i+1g_p_upg[id][upg]+1priceg_upg_name[upg])
            
keys keys|(1<<i)
        }
    }
    
pos += formatex(cache[pos], 1023-pos"^n%sБольше...^n"g_enabled_upgs>"\r9\y. \w" "\d")
    
keys keys|(1<<8)|(1<<9)
    
pos += formatex(cache[pos], 1023-pos"\r0\y. \wНазад^n")
    
show_menuidkeyscache, -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(idupg)
        
menu_buy_upg(idg_p_menu_page[id])
    }else if(
key==8){
        
menu_buy_upg(idg_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

Re: Добавление страниц в меню (RPG)

Сообщение Subb98 » 26 ноя 2016, 14:57

Вот пример: Вы должны зарегистрироваться, чтобы видеть ссылки.. Правда, там пример с игроками, но и для предметов алгоритм аналогичный.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Добавление страниц в меню (RPG)

Сообщение ChKOChKO » 26 ноя 2016, 15:14

Subb98, Т.е. это?
Код: Выделить всё
ShowMenu(id, ++g_Position[id]); 


если так, то есть по-моему:
Код: Выделить всё
menu_buy_upg(idg_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+1maxg_p_credits[id]) 
Аватара пользователя
ChKOChKO
 
Сообщения: 7
Зарегистрирован: 08 фев 2016, 12:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Counter-Strike 1.6

Re: Добавление страниц в меню (RPG)  [Решено]

Сообщение 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