Witma,
Pokażę wam jak w prosty sposób dodać do tego pluginu http://amxx.pl/topic...ersja-4-update/ , Misje "Zabij klase x Razy"
Pomógł mi przy Tym radim dzięki wielkie
OK to przechodzimy to pluginu, pokażę wam to na przykładzie Snajper:
do enum dodajemy:
SNAJPER = 7 // jeśli cyfra 7 jest już zajęta dodajemy 8 lub 9
a powinno wyglądać tak
-
enum { NONE = 0, KILL = 1, SUBSTRATES = 2, DISARM = 3, HEADSHOT = 4, RESUCE_HOSTAGES = 5, DMG = 6, SNAJPER = 7 }
do new QuestInfoMessage dodajemy:
"Musisz zabic jeszcze %i osob z klasa Snajper"
powinno wyglądać tak:
new QuestInfoMessage[][] = {
"Brak Questa %i",
"Musisz zabic jeszcze %i osob",
"Musisz podlozyc bombe jeszcze %i razy",
"Musisz rozbroic bombe jeszcze %i razy",
"Musisz zabic jeszcze %i osob headshotem",
"Musisz uratowac jeszcze %i razy hosty",
"Musisz zadac jeszcze %i obrazen",
"Musisz zabic jeszcze %i osob z klasa Snajper"
}
Do public DeathMsg dodajemy:
case SNAJPER:
{
if(cod_get_user_class(vid) == cod_get_classid("Snajper")) add_progress(id, 1);
}
powinno całość wyglądać tak:
public DeathMsg()
{
new id = read_data(1);
new vid = read_data(2);
new hs = read_data(3);
new knife = read_data(4);
if( is_user_connected(id) && get_user_team(id) != get_user_team(vid) )
{
if( ePlayerQuestType[id] )
{
switch(ePlayerQuestType[id])
{
case KILL:
{
add_progress(id, 1)
}
case HEADSHOT:
{
if(hs) add_progress(id, 1);
}
case KNIFE:
{
if(knife) add_progress(id, 1);
}
case SNAJPER:
{
if(cod_get_user_class(vid) == cod_get_classid("Snajper")) add_progress(id, 1);
}
}
}
}
}
do public menu_first_handle dodajemy:
case SNAJPER: formatex(formats, 127, "Zabij %i Snajperow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
całość powinna wyglądać tak:
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))
case SNAJPER: formatex(formats, 127, "Zabij %i Snajperow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
}
menu_additem(menu2, formats);
}
}
iPlayerPrzedzial[id] = item;
menu_setprop(menu2, MPROP_PERPAGE, 7);
menu_display(id,menu2,0)
menu_destroy(menu);
return PLUGIN_HANDLED
}
Jest to mój pierwszy poradnik więc proszę o wyrozumiałość, sądzę że może się komuś przydać
Testowałem te rozwiązanie i nalicza normalnie i nie ma żadnych bugów ani errorów .


Dodatki SourceMod







cod_quests.amxx






