AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Zombie Plague 4.3 Missions System (https://forums.alliedmods.net/showthread.php?t=324242)

allame61 05-10-2020 08:15

Zombie Plague 4.3 Missions System
 
Hi, I wanna add some new missions, Could you guys help me ?

Code:

#include <amxmodx>
#include <zombieplague>
#include <hamsandwich>

#define TAG "ZP"
new bmOlmedenZombiOldur[33],bmOlmedenZombiYap[33],bmNemesisOldur[33];
new bmGorev[3][33];

public plugin_init() {
  register_plugin
  ("Gorev Menu",
  "1.0",
  "Berk");
 
  RegisterHam(Ham_Killed, "player", "beAO");
  register_clcmd("say /gorev","beGorevMenu");
}
public client_putinserver(bmID){
  bmOlmedenZombiOldur[bmID] = 0;
  bmOlmedenZombiYap[bmID] = 0;
  bmNemesisOldur[bmID] = 0;
 
  for(new i; i < 3; i++){
      bmGorev[i][bmID] = 0;
  }
}
public beAO(bmVictim, bmAttacker){
  if(zp_get_user_nemesis(bmVictim) && !zp_get_user_nemesis(bmAttacker)){
      bmNemesisOldur[bmAttacker]++;
  }
  else if(zp_get_user_zombie(bmVictim) && !zp_get_user_zombie(bmAttacker)){
      bmOlmedenZombiOldur[bmAttacker]++;
      bmOlmedenZombiYap[bmVictim] = 0;
  }
}
public zp_fw_core_infect(bmID, bmAttacker){
  bmOlmedenZombiOldur[bmID] = 0;
  bmOlmedenZombiYap[bmAttacker]++;
}
public beGorevMenu(bmID){
  new menuz;
  static amenu[512];
  formatex(amenu,charsmax(amenu),"\r{\wZombie Plague 4.3 Fix5a\r} \yGorev Menu (Gorevler)");
  menuz = menu_create(amenu,"beGorevMenu_devam");
  if(bmGorev[0][bmID] == 0 || bmGorev[1][bmID] == 0 || bmGorev[2][bmID] == 0){
      if(bmGorev[0][bmID] != 1){
          formatex(amenu,charsmax(amenu),"\yOlmeden 5 Zombi Yap \d[\w%i\r/\w5]",bmOlmedenZombiYap[bmID]);
          menu_additem(menuz,amenu,"1");
      }
      else{
          formatex(amenu,charsmax(amenu),"\yOlmeden 5 Zombi Yap [ALINDI]");
          menu_additem(menuz,amenu,"1");     
      }
     
      if(bmGorev[1][bmID] != 1){
          formatex(amenu,charsmax(amenu),"\yOlmeden 5 Zombi Oldur \d[\w%i\r/\w5]",bmOlmedenZombiOldur[bmID]);
          menu_additem(menuz,amenu,"2");
      }
      else{
          formatex(amenu,charsmax(amenu),"\yOlmeden 5 Zombi Oldur [ALINDI]");
          menu_additem(menuz,amenu,"2"); 
      }
     
      if(bmGorev[2][bmID] != 1){
          formatex(amenu,charsmax(amenu),"\yNemesis Oldur \d[\w%i\r/\w1]",bmNemesisOldur[bmID]);
          menu_additem(menuz,amenu,"3");
      }
      else{
          formatex(amenu,charsmax(amenu),"\yNemesis Oldur [ALINDI]");
          menu_additem(menuz,amenu,"3"); 
      }
  }
  else{
      renkli_yazi(bmID,"!n[ !tGorevMenu !n] !gTum gorevler bitmis gozukuyor")
  }
 
 
  menu_setprop(menuz,MPROP_EXITNAME,"\rCikis");
  menu_setprop(menuz,MPROP_EXIT,MEXIT_ALL);
  menu_display(bmID,menuz,0);
}
public beGorevMenu_devam(bmID,menu,item){
  if(item == MENU_EXIT){
      menu_destroy(menu);
      return PLUGIN_HANDLED;
  }
  new access,callback,data[6],iname[64];
  menu_item_getinfo(menu,item,access,data,5,iname,63,callback);
  new key = str_to_num(data);
  switch(key){
      case 1 : {
          if(bmGorev[0][bmID] != 1){
              if(bmOlmedenZombiYap[bmID] >= 5){
                  bmGorev[0][bmID] = 1;
                  zp_set_user_ammo_packs(bmID,zp_get_user_ammo_packs(bmID) + 20);
                  renkli_yazi(bmID,"!n[ !t%s !n] !gGorev basarili bir sekilde tamamlandi",TAG)
              }
              else{
                  renkli_yazi(bmID,"!n[ !t%s !n] !gGorev icin gerekli kosullari saglamiyorsun",TAG);
              }
          }
          else{
              renkli_yazi(bmID,"!n[ !t%s !n] !gBu gorevi zaten tamamladin",TAG);
          }
      }
      case 2 : {
          if(bmGorev[1][bmID] != 1){
              if(bmOlmedenZombiOldur[bmID] >= 5){
                  bmGorev[1][bmID] = 1;
                  zp_set_user_ammo_packs(bmID,zp_get_user_ammo_packs(bmID) + 25);
                  renkli_yazi(bmID,"!n[ !t%s !n] !gGorev basarili bir sekilde tamamlandi",TAG)
              }
              else{
                  renkli_yazi(bmID,"!n[ !t%s !n] !gGorev icin gerekli kosullari saglamiyorsun",TAG);
              }
          }
          else{
              renkli_yazi(bmID,"!n[ !t%s!n] !gBu gorevi zaten tamamladin",TAG);
          }         
      }
      case 3 : {
          if(bmGorev[2][bmID] != 1){
              if(bmNemesisOldur[bmID] >= 1){
                  bmGorev[2][bmID] = 1;
                  zp_set_user_ammo_packs(bmID,zp_get_user_ammo_packs(bmID) + 50);
                  renkli_yazi(bmID,"!n[ !t%s !n] !gGorev basarili bir sekilde tamamlandi",TAG)
              }
              else{
                  renkli_yazi(bmID,"!n[ !t%s !n] !gGorev icin gerekli kosullari saglamiyorsun",TAG);
              }
          }
          else{
              renkli_yazi(bmID,"!n[ !t%s !n] !gBu gorevi zaten tamamladin",TAG);
          }         
      }
  } 
  zp_set_user_ammo_packs(bmID,zp_get_user_ammo_packs(bmID) + 20);
  menu_destroy(menu);
  return PLUGIN_HANDLED;
}
stock renkli_yazi(const id, const input[], any:...)
{
  new count = 1, players[32];
  static msg[191];
  vformat(msg, 190, input, 3);
 
  replace_all(msg, 190, "!n", "^x01"); // Default Renk(Sarı)
  replace_all(msg, 190, "!g", "^x04"); // Yeşil Renk
  replace_all(msg, 190, "!t", "^x03"); // Takım Renk( CT mavi , T kırmızı )
 
  if (id) players[0] = id; else get_players(players, count, "ch");{
      for (new i = 0; i < count; i++)
      {
          if (is_user_connected(players[i]))
          {
             
              message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
              write_byte(players[i]);
              write_string(msg);
              message_end();
          }
         
      }
  }
 
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

Kill Survivor 0/1
Kill 3 Humans Without Dying In Plague Mode 0/3
Kill 3 Zombies Without Dying In Plague Mode 0/3
Kill 3 Humans Without Dying In Swarm Mode 0/3
Kill 3 Zombies Without Dying In Swarm Mode 0/3
Infect 5 Humans Without Dying In Multiple Infection 0/5


All times are GMT -4. The time now is 17:13.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.