|
Member
Join Date: Dec 2012
Location: Slovakia
|

01-05-2019
, 13:11
Re: if item is in vault --> item in menu = \d
|
#3
|
Yeah, this is the code I would like to edit.
Code:
public Menu_Questow(id)
{
if( ! ePlayerQuestType[id] )
{
new menu = menu_create("\yWybierz Rozdzial:", "menu_first_handle")
new formats[128]
for(new i; i < sizeof(QuestyPrzedzial); i++)
{
if( cod_get_user_level(id) >= QuestyPrzedzial[i][0]){
formatex(formats,127,"Rozdzial \r%s \y(od %i do %i Lv.)",QuestRozdzial[i], QuestyPrzedzial[i][0], QuestyPrzedzial[i][1]);
menu_additem(menu,formats)
}else{
formatex(formats,127,"\dRozdzial %s (od %i do %i Lv.)",QuestRozdzial[i], QuestyPrzedzial[i][0], QuestyPrzedzial[i][1]);
menu_additem(menu,formats, _, _, MenuCallback)
}
}
menu_display(id,menu,0)
}else{
QuestMessage(id, "Wykonaj najpierw poprzedni quest");
}
}
public menu_first_handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new menu2 = menu_create("Wybierz Quest:","menu_handle")
new formats[128]
for(new i = 0;i<MaxQuest;i++)
{
if(ArrayGetCell(gPrzedzial, i) == item)
{
switch(ArrayGetCell(gTyp, i))
{
case KILL: formatex(formats, 127, "Zabij %i osob Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case HEADSHOT: formatex(formats, 127, "Jebnij %i HeadShotow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case SUBSTRATES: formatex(formats, 127, "Podloz %i bomb Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case RESUCE_HOSTAGES: formatex(formats, 127, "Uratuj %i razy hosty Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case DISARM: formatex(formats, 127, "Rozbroj %i bomb Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case DMG: formatex(formats, 127, "Zadaj %i obrazen Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
}
menu_additem(menu2, formats);
}
}
iPlayerPrzedzial[id] = item;
menu_setprop(menu2, MPROP_PERPAGE, 6);
menu_display(id,menu2,0)
menu_destroy(menu);
return PLUGIN_HANDLED
}
public menu_handle(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new ile = 0;
for(new i = 0;i<MaxQuest;i++){
if(ArrayGetCell(gPrzedzial, i) != iPlayerPrzedzial[id])
continue;
if(ile == item)
{
item = i;
break;
}
ile++;
}
if(LoadQuest(id, item)){
QuestMessage(id, "Juz wykonywales tego Questa!. Wybierz Innego.");
Menu_Questow(id);
return PLUGIN_HANDLED;
}
ResetQuest(id)
iPlayerQuestID[id] = item;
ePlayerQuestType[id] = ArrayGetCell(gTyp, item)
QuestMessage(id, "Rozpoczales Quest. Powodzenia!");
menu_destroy(menu)
return PLUGIN_HANDLED
}
And what do I need?
There is function
Code:
menu_first_handle(id, menu, item)
Under it there are these cases
Code:
case KILL: formatex(formats, 127, "Zabij %i osob Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case HEADSHOT: formatex(formats, 127, "Jebnij %i HeadShotow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case SUBSTRATES: formatex(formats, 127, "Podloz %i bomb Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case RESUCE_HOSTAGES: formatex(formats, 127, "Uratuj %i razy hosty Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case DISARM: formatex(formats, 127, "Rozbroj %i bomb Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
case DMG: formatex(formats, 127, "Zadaj %i obrazen Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
Right now I have this situation. Once you completed one "case", it is still shown in menu, but when you click it, it calls this
Code:
if(LoadQuest(id, item)){
QuestMessage(id, "Juz wykonywales tego Questa!. Wybierz Innego.");
Menu_Questow(id);
return PLUGIN_HANDLED;
}
which is under
Code:
public menu_handle(id, menu, item)
My question is, how can I make a case in menu look like \d color, once you completed it? I believe it has something to do with
Code:
public menu_handle(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new ile = 0;
for(new i = 0;i<MaxQuest;i++){
if(ArrayGetCell(gPrzedzial, i) != iPlayerPrzedzial[id])
continue;
if(ile == item)
{
item = i;
break;
}
ile++;
}
if(LoadQuest(id, item)){
QuestMessage(id, "Juz wykonywales tego Questa!. Wybierz Innego.");
Menu_Questow(id);
return PLUGIN_HANDLED;
}
ResetQuest(id)
iPlayerQuestID[id] = item;
ePlayerQuestType[id] = ArrayGetCell(gTyp, item)
QuestMessage(id, "Rozpoczales Quest. Powodzenia!");
menu_destroy(menu)
return PLUGIN_HANDLED
}
but i could not figure out what is it. I tried to put
Code:
if(LoadQuest(id, item)){
before each case, but it did not work that way.
Last edited by TheBladerX; 01-05-2019 at 13:12.
|
|