Joomla Template Membership Club

Голосуй

  • Голосовать
  • Статистика

     
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Unreal Tornament(TM)
    WOlFДата: Понедельник, 16.03.2009, 08:58 | Сообщение # 1
    Анубис
    Группа: Администраторы
    Сообщений: 136
    Репутация: 1
    Статус: Offline
    Code

    // Capture The Flag Script
    // Part of the Arcade Games Suite
    // Copyright 2006 � Eternal Rising Project
    // Programmed by [Lance]

    guild_vs4.gat    mapflag    nomemo
    guild_vs4.gat    mapflag    pvp
    guild_vs4.gat    mapflag    noreturn

    guild_vs4.gat,0,0,0    script    ctf_sys    -1,{
       end ;

    OnBlueScore:
       soundeffectall "DominationWin.wav", 0, ALL_SAMEMAP;
       mapannounce "guild_vs4.gat", "Blue Team Scores!",bc_map,0x0000FF;
       if(.team[2] == .team[1])
        soundeffectall "BlueTeamTakesTheLead.wav", 0, ALL_SAMEMAP;
       else if(.team[2] > .team[1])
        soundeffectall "BlueTeamIncreases.wav", 0, ALL_SAMEMAP;
       else
        soundeffectall "BlueTeamScores.wav", 0, ALL_SAMEMAP;
       set .team[2], .team[2] + 1;
       goto OnStart;

    OnRedScore:
       soundeffectall "DominationWin.wav", 0, ALL_SAMEMAP;
       mapannounce "guild_vs4.gat", "Red Team Scores!",bc_map,0xFF0000;
       if(.team[1] == .team[2])
        soundeffectall "RedTeamTakesTheLead.wav", 0, ALL_SAMEMAP;
       else if(.team[1] > .team[2])
        soundeffectall "RedTeamIncreases.wav", 0, ALL_SAMEMAP;
       else
        soundeffectall "RedTeamScores.wav", 0, ALL_SAMEMAP;
       set .team[1], .team[1] + 1;

    OnStart:
       if($@ctfevent_start >= $@ctf_rnd && .team[2] != .team[1]) goto L_Stop;
       set $@ctfevent_start, $@ctfevent_start + 1;
       set $@ctf_fb, 0;
       set .@total, getarraysize($@ctf_db_1);
       enablenpc "ctf_rflag";
       enablenpc "ctf_bflag";
       movenpc "ctf_bflag", 91, 49;
       movenpc "ctf_rflag", 7, 49;
       set $@ctf_rtaken, 0;
       set $@ctf_btaken, 0;
       for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
        attachrid getelementofarray($@ctf_db_1, .@i);
        dispbottom "Capture The Flag is commencing soon. You are part of Red Team.";
        dispbottom "Attempt to steal the Blue Flag on the East.";
        warp "guild_vs4.gat",49,91;
        savepoint "guild_vs4.gat",49,91;
        detachrid;
       }
       set .@total, getarraysize($@ctf_db_2);
       for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
        attachrid getelementofarray($@ctf_db_2, .@i);
        dispbottom "Capture The Flag is commencing soon. You are part of Blue Team.";
        dispbottom "Attempt to steal the Red Flag on the West.";
        warp "guild_vs4.gat",50,7;
        savepoint "guild_vs4.gat",50,7;
        detachrid;
       }
       sleep 5000;
       soundeffectall "NewRound.wav", 0, ALL_SAMEMAP;
       mapannounce "guild_vs4.gat", "[Round " + $@ctfevent_start + "] Starting in ...", 16;
       initnpctimer;
       end;

    L_Stop:
       if(.team[1] > .team[2]){
        mapannounce "guild_vs4.gat", "Game Point! Red Team has won the match!", bc_map,0xFF0000;
        set .@total, getarraysize($@ctf_db_1);
        for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
         attachrid getelementofarray($@ctf_db_1, .@i);
         soundeffect "YouHaveWonTheMatch.wav", 0;
         set Zeny, Zeny + $@ctf_rew;
         set @ctf, 0;
         set @ctf_com, 0;
         set @ctf_kill, 0;
         set @ctf_time, 0;
         set @ctf_taker, 0;
         savepoint "prontera.gat",180,200;
         detachrid;
        }
        set .@total, getarraysize($@ctf_db_2);
        for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
         attachrid getelementofarray($@ctf_db_2, .@i);
         soundeffect "YouHaveLostTheMatch.wav", 0;
         set @ctf, 0;
         set @ctf_com, 0;
         set @ctf_kill, 0;
         set @ctf_time, 0;
         set @ctf_taker, 0;
         savepoint "prontera.gat",180,200;
         detachrid;
        }
       }else{
        mapannounce "guild_vs4.gat", "Game Point! Blue Team has won the match!",bc_map,0x0000FF;
        set .@total, getarraysize($@ctf_db_1);
        for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
         attachrid getelementofarray($@ctf_db_1, .@i);
         set @ctf, 0;
         set @ctf_com, 0;
         set @ctf_kill, 0;
         soundeffect "YouHaveLostTheMatch.wav", 0;
         set @ctf_time, 0;
         set @ctf_taker, 0;
         savepoint "prontera.gat",180,200;
         detachrid;
        }
        set .@total, getarraysize($@ctf_db_2);
       for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
                  attachrid getelementofarray($@ctf_db_1, .@i);
                  set @ctf, 0;
                  set @ctf_com, 0;
                  set @ctf_kill, 0;
                  soundeffect "YouHaveLostTheMatch.wav", 0;
                  set @ctf_time, 0;
                  set @ctf_taker, 0;
                  savepoint "prontera.gat",180,200;
                  detachrid;
              }
              set .@total, getarraysize($@ctf_db_2);
              for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
                  attachrid getelementofarray($@ctf_db_2, .@i);
                  set @ctf, 0;
                  set @ctf_com, 0;
                  set @ctf_kill, 0;
                  soundeffect "YouHaveWonTheMatch.wav", 0;
                  set Zeny, Zeny + $@ctf_rew;
                  set @ctf_time, 0;
                  savepoint "prontera.gat",180,200;
                  set @ctf_taker, 0;
                  detachrid;
              }
       }
    L_Clean:
       set $@ctfevent_start, 0;
       deletearray $@ctf_db_1, getarraysize($@ctf_db_1);
       deletearray $@ctf_db_2, getarraysize($@ctf_db_2);
       deletearray .team, getarraysize(.team);
       set $@ctf_fb, 0;
       sleep 5000;
       mapwarp "guild_vs4.gat", "prontera.gat", 180, 200;
       end;

    OnTimer4000:
       mapannounce "guild_vs4.gat", "5!",16;
       soundeffectall "5.wav", 0, ALL_SAMEMAP;
       end;
    OnTimer5000:
       mapannounce "guild_vs4.gat", "4!",16;
       soundeffectall "4.wav", 0, ALL_SAMEMAP;
       end;
    OnTimer6000:
       mapannounce "guild_vs4.gat", "3!",16;
       soundeffectall "3.wav", 0, ALL_SAMEMAP;
       end;
    OnTimer7000:
       mapannounce "guild_vs4.gat", "2!",16;
       soundeffectall "2.wav", 0, ALL_SAMEMAP;
       end;
    OnTimer8000:
       mapannounce "guild_vs4.gat", "1!",16;
       soundeffectall "1.wav", 0, ALL_SAMEMAP;
       end;
    OnTimer9000:
       set .@total, getarraysize($@ctf_db_1);
       for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
        pcblockmove getelementofarray($@ctf_db_1, .@i),0;
       }
       set .@total, getarraysize($@ctf_db_2);
       for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
        pcblockmove getelementofarray($@ctf_db_2, .@i),0;
       }
       soundeffectall "Play.wav", 0, ALL_SAMEMAP;
       end;

    OnInit:
       set $@ctf_max, 1;
       set $@ctf_rnd, 1;
       set $@ctf_rew, 10000;
       end;

    OnPCKillEvent:
       if(@ctf && $@ctfevent_start){
        if($@ctf_fb == 0){
         set $@ctf_fb, 1;
         mapannounce "guild_vs4.gat", strcharinfo(0) + " drew the FIRST BLOOD!", 16;
         soundeffectall "FirstBlood.wav", 0, ALL_SAMEMAP;
        }
        set @ctf_kill, @ctf_kill + 1;
        if(gettimetick(2) - @ctf_time < 10){
         set @ctf_time, gettimetick(2);
         set @ctf_com, @ctf_com + 1;
         switch(@ctf_com){
          case 1: // 2 kills
           announce "Double Kill!", bc_self;
           soundeffect "DoubleKill.wav",  0;
           break;
          case 2:
           announce "Triple Kill!", bc_self;
           soundeffect "TripleKill.wav", 0;
           break;
          case 3:
           announce "Multi Kill!", bc_self;
           soundeffect "MultiKill.wav", 0;
           break;
          case 4:
           announce "Ultra Kill!", bc_self;
           soundeffect "UltraKill.wav", 0;
           break;
          case 5:
           announce "Mega Kill!", bc_self;
           soundeffect "MegaKill.wav", 0;
           break;
          case 6:
           announce "MOOOOOOOONSTER Kill!", bc_self;
           soundeffect "MonsterKill.wav", 0;
           break;
          case 7:
           announce "LLLLLLLLUUUUDDDRRICCOOOOUSS Kill!", bc_self;
           soundeffect "LudricousKill.wav", 0;
           break;
          default: // Holy shit!
           announce "HOLY SHIT!", bc_self;
           soundeffect "HolyShit.wav", 0;
           break;
         }
         sleep2 3000;
        } else {
         set @ctf_time, gettimetick(2);
         set @ctf_com, 0;
        }
        if(@ctf_kill > 30){
         announce "WICKED SICK!", bc_self;
         soundeffect "WickedSick.wav", 0;
        } else if(@ctf_kill > 25){
         announce "GODLIKE!", bc_self;
         soundeffect "Godlike.wav", 0;
        } else if(@ctf_kill > 20){
         announce "DOMINATING!", bc_self;
         soundeffect "Dominating.wav", 0;
        } else if(@ctf_kill > 15){
         announce "UNSTOPPABLE!", bc_self;
         soundeffect "Unstoppable.wav", 0;
        } else if(@ctf_kill > 10){
         announce "RAMPAGE!", bc_self;
         soundeffect "Rampage.wav", 0;
        } else if(@ctf_kill > 5){
         mapannounce "guild_vs4.gat", strcharinfo(0) + " has pwned " + rid2name(killedid) + " is now on a Killing Spree!",16;
         soundeffect "KillingSpree.wav", 0;
        }
       }
       end;

    OnPCDieEvent:
       if(@ctf && $@ctfevent_start){
        set @ctf_com, 0;
        set @ctf_time, 0;
        if(@ctf_kill> 5){
         mapannounce "guild_vs4.gat", rid2name(killerrid) + " has ended " + strcharinfo(0) + "'s Killing Spree!",16;
        }
        set @ctf_kill,0;
        if(@ctf_taker){
         if(getmapxy(.@m$,.@x,.@y,0) != 0)
          end;
         if(@ctf == 1){
          enablenpc "ctf_bflag";
          movenpc "ctf_bflag", .@x, .@y;
          mapannounce "guild_vs4.gat", "Blue Flag Dropped!",bc_map,0x0000FF;
          soundeffectall "BlueFlagDropped.wav", 0, ALL_SAMEMAP;
         }else{
          enablenpc "ctf_rflag";
          movenpc "ctf_rflag", .@x, .@y;
          mapannounce "guild_vs4.gat", "Red Flag Dropped!",bc_map,0xFF0000;
          soundeffectall "RedFlagDropped.wav", 0, ALL_SAMEMAP;
         }
         set @ctf_taker, 0;
        }
       }
       end;

    OnPCLogoutEvent:
       if(@ctf){
        set ctf_li, 1;
        savepoint "prontera.gat",180,200;
        callfunc "ctf_rem", getd("$@ctf_db_" + @ctf), playerattached();
        if(@ctf_taker){
         if(getmapxy(.@m$,.@x,.@y,0) != 0)
          end;
         if(@ctf == 1){
          enablenpc "ctf_bflag";
          movenpc "ctf_bflag", .@x, .@y;
          mapannounce "guild_vs4.gat", "Blue Flag Dropped!",bc_map,0x0000FF;
          soundeffectall "BlueFlagDropped.wav", 0, ALL_SAMEMAP;
         }else{
          enablenpc "ctf_rflag";
          movenpc "ctf_rflag", .@x, .@y;
          mapannounce "guild_vs4.gat", "Red Flag Dropped!",bc_map,0xFF0000;
          soundeffectall "RedFlagDropped.wav", 0, ALL_SAMEMAP;
         }
        }
        if(getarraysize($@ctf_db_1) == 0 && getarraysize($@ctf_db_2) == 0) goto L_Clean;
       }
       end;

    OnPCLoadMapEvent:
       if(ctf_li){
        set ctf_li, 0;
        warp "prontera.gat",180,200;
       }
       end;
    }

    function    script    ctf_rem    {
          set .@total, getarraysize(getarg(0));
          for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
              if(getelementofarray(getarg(0), .@i) == getarg(1))
                  break;
          }
          if(.@i < .@total)
              deletearray getelementofarray(getarg(0), .@i), 1;
          return;
    }

    guild_vs4,7,49,4    script    Red Flag::ctf_rflag    722,2,2{
    end;
    OnTouch:
       if(@ctf && $@ctfevent_start){
        if(@ctf == 1){
         if($@ctf_rtaken != 0){
          movenpc "ctf_rflag", 7, 49;
          mapannounce "guild_vs4.gat", "Red Flag Returned!",bc_map,0xFF0000;
          soundeffectall "RedFlagReturned.wav", 0, ALL_SAMEMAP;
          set $@ctf_rtaken, 0;
         }
         end;
        }
        set $@ctf_rtaken, 1;
        set @ctf_taker, 1;
        mapannounce "guild_vs4.gat", "Red Flag Taken!",bc_map,0xFF0000;
        soundeffectall "RedFlagTaken.wav", 0, ALL_SAMEMAP;
        disablenpc "ctf_rflag";
       }
       end;
    }

    guild_vs4,91,49,4    script    Blue Flag::ctf_bflag    722,2,2{
    end;
    OnTouch:
       if(@ctf && $@ctfevent_start){
        if(@ctf == 2){
         if($@ctf_btaken != 0){
          movenpc "ctf_bflag", 91, 49;
          mapannounce "guild_vs4.gat", "Blue Flag Returned!",bc_map,0x0000FF;
          soundeffectall "BlueFlagReturned.wav", 0, ALL_SAMEMAP;
          set $@ctf_btaken, 0;
         }
         end;
        }
        set $@ctf_btaken, 1;
        set @ctf_taker, 1;
        mapannounce "guild_vs4.gat", "Blue Flag Taken!",bc_map,0x0000FF;
        soundeffectall "BlueFlagTaken.wav", 0, ALL_SAMEMAP;
        disablenpc "ctf_bflag";
       }
       end;
    }

    guild_vs4,50,91,4,    script    Red Base::ctf_rbase    45,2,2{
       end;
    OnTouch:
       if(@ctf && $@ctfevent_start){
        if(@ctf == 1){
         percentheal 100,100;
         end;
        }
        if(@ctf_taker && $@ctf_btaken == 0){
         set @ctf_taker, 0;
         donpcevent "ctf_sys::OnBlueScore";
        }
       }
       end;
    }

    guild_vs4,49,8,4,    script    Blue Base::ctf_bbase    45,2,2{
       end;
    OnTouch:
       if(@ctf && $@ctfevent_start){
        if(@ctf == 2){
         percentheal 100,100;
         end;
        }
        if(@ctf_taker && $@ctf_rtaken == 0){
         set @ctf_taker, 0;
         donpcevent "ctf_sys::OnRedScore";
        }
       }
       end;
    }

    function    script    ctf_reg    {
    if(getgmlevel() == 99){
       switch(select("Configure","Continue")){
        case 1:
         mes "$@ctf_max";
         input $@ctf_max;
         mes "$@ctf_rnd";
         input $@ctf_rnd;
         mes "$@ctf_rew";
         input $@ctf_rew;
         next;
        default:
         break;
       }
    }
    L_menu:
       mes "[Capture The Flag]";
       mes "^FF0000Red Team^000000 - " + getarraysize($@ctf_db_1) + " / " + $@ctf_max;
       mes "^0000FFBlue Team^000000 - " + getarraysize($@ctf_db_2) + " / " + $@ctf_max;
       switch(select("Register","View Team Members","Information")){
        case 1:
         next;
         if(Zeny < ($@ctf_rew/2)){
          mes "[Capture The Flag]";
          mes "Sorry, you have insufficient funds.";
          close;
         }
         if(@ctf || @ddomination){
          mes "[Capture The Flag]";
          mes "Sorry, you cannot join twice.";
          close;
         }
         set .@size1, getarraysize($@ctf_db_1);
         set .@size2, getarraysize($@ctf_db_2);
         if($@ctf_max > .@size1){
          if(.@size1 < .@size2){
           callfunc "ctf_sign", 1, playerattached();
          } else {
           callfunc "ctf_sign", 2, playerattached();
          }
         } else {
          if($@ctf_max > .@size2){
           callfunc "ctf_sign", 2, playerattached();
          } else {
           mes "[Capture The Flag]";
           mes "Sorry, registration is full at the moment.";
           close;
          }
         }
         break;
        case 2:
         select "^FF0000Red Team^000000","^0000FFBlue Team^000000";
         next;
                  set .@total, getarraysize(getd("$@ctf_db_" + @menu));
         for(set .@i, 0; .@i < .@total; set .@i, .@i + 1){
          mes rid2name(getelementofarray(getd("$@ctf_db_" + @menu), .@i));
         }
         next;
         goto L_menu;
        case 3:
         next;
         mes "[Capture The Flag]";
         mes "Capture The Flag will need teams steal opponent's flags while defending their own flags.";
         next;
         goto L_menu;
       }
       close;
    }

    function    script    ctf_sign    {
    set Zeny, Zeny - ($@ctf_rew/2);
    set getd("$@ctf_db_" + getarg(0) + "[" + getarraysize(getd("$@ctf_db_" + getarg(0))) + "]"), getarg(1);
    set @ctf, getarg(0);
    mes "[Capture The Flag]";
    if(@ctf == 1)
    mes "Sei entrato nella ^FF0000Squadra Rossa^000000.";
    else
    mes "Sei entrato nella ^0000FFSquadra Blu^000000.";
    close2;
    debugmes getarraysize($@ctf_db_1) + " " + getarraysize($@ctf_db_2);
    set .@size, getarraysize($@ctf_db_1);
    if(.@size == getarraysize($@ctf_db_2) && .@size == $@ctf_max && $@ctfevent_start == 0)
    donpcevent "ctf_sys::OnStart";
    end;
    }
    prontera.gat,177,200,4    script    Capture The Flag    107,{
       callfunc "ctf_reg";
       end;
    }
     
    • Страница 1 из 1
    • 1
    Поиск:

    Опрос

    Оцените мой сайт
    Всего ответов: 108

    Авторизация

    Среда
    07.01.2026
    06:06

    Адаптация EvilDM,Сайт WOlF ©