Jump to content

cumbe11

Members
  • Content Count

    42
  • Joined

  • Last visited

Posts posted by cumbe11




  1. dar erro de sinxtax

    [Error]:  Loading NPC file: npc/strikero/tax.txt
    script error on npc/strikero/tax.txt line 71
        parse_line: need ';'
        66 :                for(set .@i,0; .@i < getarraysize( @bought_nameid ); set .@i,.@i+1)
        67 :                        getitem @bought_nameid[.@i],@bought_quantity[.@i];
        68 :
        69 :                // Atribui a quantia de imposto igualmente a outras Guildas.
        70 :                for( set .@i,0; .@i < getarraysize( .CastleMap$ ); set .@i,.@i + 1 ) {
    *   71 :                        set .@castleGuild, getguildid'('getguildname(getcastledata(.CastleMap$[.@i],1)));
        72 :                        set .@guildCastles, 0; // Counter for guild-owned castles
        73 :                        // Count guild-owned castles
        74 :                        for( set .@j, 0; .@j < getarraysize(.CastleMap$); set .@j, .@j + 1) {
        75 :                                if(getguildid(getguildname(getcastledata(.CastleMap$[.@j],1))) == .@castleGuild) {
        76 :                                        set .@guildCastles, .@guildCastles + 1;
     

     


  2. I have this script that calculates 10% of the store sales and divides them equally among the leaders of guilds that own castles registered in the NPC. It works very well; however, the only issue is that if the same guild owns more than one castle, the system doesn't divide the tax correctly, granting only one portion of the division, even if the guild owns two castles, for example.

     

     


  3. Olá, eu queria entender a formula da velocidade da movimetação do asura...    more precisely that part     

    ud->canmove_tick+=7*speed/5; 

     

    I wanted to make the movement of the asura faster, I wanted to know where I have to modify it for that ....

     

    src/skill.c

    
     
    
                struct unit_data *ud = unit_bl2ud(src);
                short dx,dy;
                int i,speed;
                i = skillid == MO_EXTREMITYFIST?1:2; //Move 2 cells for Issen, 1 for Asura
                dx = bl->x - src->x;
                dy = bl->y - src->y;
                if (dx < 0) dx-=i;
                else if (dx > 0) dx+=i;
                if (dy < 0) dy-=i;
                else if (dy > 0) dy+=i;
                if (!dx && !dy) dy++;
                if (map_getcell(src->m, src->x+dx, src->y+dy, CELL_CHKNOPASS))
                {
                    dx = bl->x;
                    dy = bl->y;
                } else {
                    dx = src->x + dx;
                    dy = src->y + dy;
                }
    
                skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
    
                if(unit_walktoxy(src, dx, dy, 2) && ud) {
                    //Increase can't walk delay to not alter your walk path
                    ud->canmove_tick = tick;
                    speed = status_get_speed(src);
                    for (i = 0; i < ud->walkpath.path_len; i ++)
                    {
                        if(ud->walkpath.path[i]&1)
                            ud->canmove_tick+=7*speed/5;
                        else
                            ud->canmove_tick+=speed;
                    }
                }
            }
            break;
    
    

     

     

     


  4. Hello, I wanted to change use an old emulator, Freya, but when I go to build the hundreds this error ..

     

    ./configure
     

    Checking for platform... Linux
    Checking whether build environment is sane...
    Checking whether make sets $(MAKE) ... yes
    Checking for gcc... ./configure: line 323: which: command not found
    ./configure: line 323: which: command not found
    ./configure: line 323: which: command not found
    ./configure: line 323: which: command not found
    ./configure: line 323: which: command not found
    ./configure: line 323: which: command not found
    not found
    -bash-3.2#
     
     
    line 323:
    fi
    if [ x$CC != x ]; then
        CCLIST="$CC $CCLIST"
    fi
    CC=""
    for foo in $CCLIST; do
        XCC=`which $foo`
        if [ x$XCC = x ]; then
            :
        else
            CC="$XCC"
            echo $CC
            break 2
        fi
    done
    if [ x$CC = x ]; then
     
    if anyone can help me I will be very grateful
     
    gethub:

  5.  I tried to put this mod on my eAthena emulator but give error when will compile .. could someone help me?

    Diff

    Index: conf/msg_conf/map_msg.conf
    ===================================================================
    --- conf/msg_conf/map_msg.conf (revision 17251)
    +++ conf/msg_conf/map_msg.conf (working copy)
    @@ -1457,5 +1457,10 @@
     1434: You're already in the '%s' channel.
     1435: You're now in the '#%s' channel for '%s'.
     
    +// ----- @partybuff / @spb ----- //
    +1450: You're not in a party.
    +1451: Displaying party member's buffs disabled.
    +1452: Displaying party member's buffs enabled.
    +
     //Custom translations
     //import: conf/msg_conf/import/map_msg_eng_conf.txt
    Index: src/map/atcommand.c
    ===================================================================
    --- src/map/atcommand.c (revision 17251)
    +++ src/map/atcommand.c (working copy)
    @@ -9100,6 +9100,29 @@
      return 0;
     }
     
    +ACMD_FUNC(partybuff)
    +{
    + struct party_data* p = NULL;
    + nullpo_retr(-1, sd);
    +
    +    if( !sd->status.party_id ) {
    +     clif_displaymessage(fd, msg_txt(sd,1450)); // You're not in a party.
    +     return -1;
    +    }
    +
    + p = party_search(sd->status.party_id);
    +
    + if( sd->state.spb ) {
    + sd->state.spb = 0;
    +     clif_displaymessage(fd, msg_txt(sd,1451)); // Displaying party member's buffs disabled.
    + } else {
    + sd->state.spb = 1;
    +     clif_displaymessage(fd, msg_txt(sd,1452)); // Displaying party member's buffs enabled.
    + }
    +
    + clif_party_info(p,sd);
    + return 0;
    +}
     /**
      * Fills the reference of available commands in atcommand DBMap
      **/
    @@ -9111,6 +9134,8 @@
      **/
      AtCommandInfo atcommand_base[] = {
      ACMD_DEF2("warp", mapmove),
    + ACMD_DEF(partybuff),
    + ACMD_DEF2("spb", partybuff),
      ACMD_DEF(where),
      ACMD_DEF(jumpto),
      ACMD_DEF(jump),
    Index: src/map/clif.c
    ===================================================================
    --- src/map/clif.c (revision 17251)
    +++ src/map/clif.c (working copy)
    @@ -455,6 +455,7 @@
      case PARTY_WOS:
      case PARTY_SAMEMAP:
      case PARTY_SAMEMAP_WOS:
    + case PARTY_BUFF_INFO:
      if (sd && sd->status.party_id)
      p = party_search(sd->status.party_id);
     
    @@ -469,12 +470,15 @@
      if( sd->bl.id == bl->id && (type == PARTY_WOS || type == PARTY_SAMEMAP_WOS || type == PARTY_AREA_WOS) )
      continue;
     
    - if( type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m )
    + if( type != PARTY_BUFF_INFO && type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m )
      continue;
     
      if( (type == PARTY_AREA || type == PARTY_AREA_WOS) && (sd->bl.x < x0 || sd->bl.y < y0 || sd->bl.x > x1 || sd->bl.y > y1) )
      continue;
     
    + if( type == PARTY_BUFF_INFO && !sd->state.spb )
    + continue;
    +
      if( packet_db[sd->packet_ver][RBUFW(buf,0)].len )
      { // packet must exist for the client version
      WFIFOHEAD(fd,len);
    @@ -6557,8 +6561,9 @@
     void clif_party_info(struct party_data* p, struct map_session_data *sd)
     {
      unsigned char buf[2+2+NAME_LENGTH+(4+NAME_LENGTH+MAP_NAME_LENGTH_EXT+1+1)*MAX_PARTY];
    - struct map_session_data* party_sd = NULL;
    + struct map_session_data* party_sd = NULL, *target = NULL;
      int i, c;
    + char output[NAME_LENGTH+10];
     
      nullpo_retv(p);
     
    @@ -6585,6 +6590,33 @@
      } else if (party_sd) { // send to whole party
      clif_send(buf, WBUFW(buf,2), &party_sd->bl, PARTY);
      }
    +
    + for(i = 0; i < MAX_PARTY; i++)
    + {
    + if( (target = p->data[i].sd) )
    + {
    + strcpy(output, "[");
    + if( target->sc.data[SC_BLESSING] ) strcat(output,"B");
    + else strcat(output,"_");
    + if( target->sc.data[SC_INCREASEAGI] ) strcat(output,"A");
    + else strcat(output,"_");
    + if( target->sc.data[SC_CP_WEAPON] && target->sc.data[SC_CP_SHIELD] &&
    + target->sc.data[SC_CP_ARMOR] && target->sc.data[SC_CP_HELM] ) strcat(output,"F");
    + else strcat(output,"_");
    + if( target->sc.data[SC_SPIRIT] ) strcat(output,"S");
    + else strcat(output,"_");
    + if( target->sc.data[SC_DEVOTION] ) strcat(output,"+");
    + else strcat(output,"_");
    + strcat(output, "]");
    + strncat(output, p->data[i].sd->status.name, NAME_LENGTH);
    + safestrncpy((char*)WBUFP(buf,28+i*46+4), output, NAME_LENGTH);
    + }
    + }
    +
    + if( sd && sd->state.spb )
    + clif_send(buf, WBUFW(buf,2), &sd->bl, SELF);
    + else if( party_sd )
    + clif_send(buf, WBUFW(buf,2), &party_sd->bl, PARTY_BUFF_INFO);
     }
     
     
    Index: src/map/clif.h
    ===================================================================
    --- src/map/clif.h (revision 17251)
    +++ src/map/clif.h (working copy)
    @@ -65,6 +65,7 @@
      PARTY_SAMEMAP_WOS,
      PARTY_AREA,
      PARTY_AREA_WOS,
    + PARTY_BUFF_INFO,
      GUILD,
      GUILD_WOS,
      GUILD_SAMEMAP,
    Index: src/map/party.c
    ===================================================================
    --- src/map/party.c (revision 17251)
    +++ src/map/party.c (working copy)
    @@ -563,12 +563,17 @@
      memset(&p->data[i], 0, sizeof(p->data[0]));
      p->party.count--;
      party_check_state(p);
    + clif_party_info(p, NULL);
      }
      }
     
      if( sd && sd->status.party_id == party_id && sd->status.char_id == char_id )
      {
      sd->status.party_id = 0;
    + if( sd->state.spb ) {
    + sd->state.spb = 0;
    + clif_displaymessage(sd->fd, msg_txt(sd,1451));
    + }
      clif_charnameupdate(sd); //Update name display [Skotlex]
      //TODO: hp bars should be cleared too
      if( p->instance_id )
    Index: src/map/pc.h
    ===================================================================
    --- src/map/pc.h (revision 17251)
    +++ src/map/pc.h (working copy)
    @@ -164,6 +164,7 @@
      struct guild *gmaster_flag;
      unsigned int prevend : 1;//used to flag wheather you've spent 40sp to open the vending or not.
      unsigned int warping : 1;//states whether you're in the middle of a warp processing
    + unsigned int spb : 1; // @spb / @partybuff
      unsigned int permanent_speed : 1; // When 1, speed cannot be changed through status_calc_pc().
      } state;
      struct {
    Index: src/map/status.c
    ===================================================================
    --- src/map/status.c (revision 17251)
    +++ src/map/status.c (working copy)
    @@ -31,6 +31,7 @@
     #include "mercenary.h"
     #include "elemental.h"
     #include "vending.h"
    +#include "party.h"
     
     #include <time.h>
     #include <stdio.h>
    @@ -9113,6 +9114,15 @@
      if( opt_flag&2 && sd && sd->touching_id )
      npc_touchnext_areanpc(sd,false); // run OnTouch_ on next char in range
     
    + if( sd && sd->status.party_id && (
    + type == SC_BLESSING || type == SC_INCREASEAGI || type == SC_CP_WEAPON || type == SC_CP_SHIELD ||
    + type == SC_CP_ARMOR || type == SC_CP_HELM || type == SC_SPIRIT || type == SC_DEVOTION )
    + )
    + {
    + struct party_data *p = party_search(sd->status.party_id);
    + clif_party_info(p, NULL);
    + }
    +
      return 1;
     }
     
    @@ -9884,6 +9894,15 @@
      if(opt_flag&2 && sd && map_getcell(bl->m,bl->x,bl->y,CELL_CHKNPC))
      npc_touch_areanpc(sd,bl->m,bl->x,bl->y); //Trigger on-touch event.
     
    + if( sd && sd->status.party_id && (
    + type == SC_BLESSING || type == SC_INCREASEAGI || type == SC_CP_WEAPON || type == SC_CP_SHIELD ||
    + type == SC_CP_ARMOR || type == SC_CP_HELM || type == SC_SPIRIT || type == SC_DEVOTION )
    + )
    + {
    + struct party_data *p = party_search(sd->status.party_id);
    + clif_party_info(p, NULL);
    + }
    +
      ers_free(sc_data_ers, sce);
      return 1;
     }
    

     

    [erro console compiler]

     

    clif.c: In function 'clif_bl_type':
    clif.c:443: warning: comparison is always true due to limited range of data type
    clif.c:445: warning: comparison is always true due to limited range of data type
    clif.c: In function 'clif_setdisguise':
    clif.c:1469: warning: comparison is always true due to limited range of data type
    clif.c: At top level:
    clif.c:6670: error: expected identifier or '(' before 'for'
    clif.c:6670: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
    clif.c:6670: error: expected '=', ',', ';', 'asm' or '__attribute__' before '++' token
    clif.c:6692: error: expected identifier or '(' before 'if'
    clif.c:6694: error: expected identifier or '(' before 'else'
    clif.c:6697: error: expected identifier or '(' before 'return'
    clif.c:6698: error: expected identifier or '(' before '}' token
    make[1]: *** [obj_sql/clif.o] Error 1
    make[1]: Leaving directory `/home/emulador/src/map'
    make: *** [map_sql] Error 2
    -bash-3.2#
    -bash-3.2#
    

  6. Here is this change?
     
     
     
    @partybuff (@spb) can display party member's special buffs in party list (Alt+Z)
    Buffs are:
    Quote

    B - Blessing
    A - Agility Up
    F - Full Chemical Protection
    S - Soul Link
    + - Devotion

    Look like
    [BAFS+]Player name


  7. I did not leave anything .. just your ctrl + c and ctrl + v

     

     

     

    Erros de console

    [Error]:  Loading NPC file: npc/strikero/Arena x1.txtscript error on npc/strikero/Arena x1.txt line 18    parse_line: expect command, missing function name or calling undeclared function    16 : {    17 : OnInit:*   18 :        '.'minplayer2start = 2;      // minimum players to start (ex. if 3vs3, set to 3)    19 :        .eventlasting    = 20*60;  // event duration before auto-reset (20 minutes * seconds)    20 :        setarray .rewarditem[0],   // rewards for the winning team: <item>,<amount>,...    21 :                501, 10;    22 :        end;    23 : OnStart:   [Error]: script:getvariableofnpc: can't find npc bg_pvp#control[Debug]: Source (NPC): Blue Team#bg_pvp at prontera (154,178)[Error]: script:getvariableofnpc: can't find npc bg_pvp#control[Debug]: Source (NPC): Red Team#bg_pvp at prontera (152,178)  


  8. Thank you so much..
     
    I also wanted something else ..
     
    my BG when two players register in the blue team and the red team the system sends one to each side .. I queri not to do it .. if two people to register on the same team they stayed in a queue until 2 more players register with another

  9. Hello, I have this to BG which to choose blue or red side usingjoinbg ... wanted to show the amount of people in line ..

    003.jpg

     

     

     

    // ==============================================================================// BattleGround System - Common NPCs// ============================================================================== // MapFlags// ********************************************************************* bat_room	mapflag	nomemobat_room	mapflag	nowarptobat_room	mapflag	nobranchbat_room	mapflag	nopenaltybat_room	mapflag	noteleportbat_room	mapflag	nosave	SavePointbat_room	mapflag	allow_bg_items// Mapflag Town is required to Join BG Queuesbat_room	mapflag	town // Battleground Queue Admin// *********************************************************************-	script	BG_Queue_Join	-1,{	end; OnInit:	// Configuration	// *****************************************************	// Battleground Rotation - Main NPC name	setarray .BG_Arenas$[0],	     "Conquest";	// Battleground Arena Name - for announcements	setarray .BG_Names$[0],		"Conquest";	// Minimum Players to start the BG	setarray .BG_Min[0],	                         5;	// Maximum Players per Team	setarray .BG_Max[0],	                        30;	// BG Message Colors	setarray .BG_Color$[0],	                "0xFFA500";	// Team Building Mode : 0 = Lineal | 1 = Random | 2 = Class Priority | 3 = Faction Mode | 4 = Team Color ( by script set Bat_Team,N; )	set .TeamMode, 0;	// Main Code	// *****************************************************	set .BG_Count, getarraysize(.BG_Arenas$);	set .BG_Queue, bg_queue_create("Battleground Arena","BG_Queue_Join::OnJoinEvent",80);	set .VS_Queue, bg_queue_create("Free For All Arena","BG_Queue_Join::OnVersusJoin",80);	// Move to Next Arena	if( $BG_Index >= .BG_Count ) set $BG_Index,1; // Restart Rotation	set .BG_Arena$,.BG_Arenas$[$BG_Index];	set .Ready, 1;	donpcevent "BG_Queue_Join::OnDoHappyHour";	initnpctimer; // Rotation if BG don't start... Comment if you don't want to use this method	 // Comment the next two lines if you don't want to allow @joinbg and @leavebg commands.	bindatcmd "joinbg","BG_Queue_Join::OnDoJoin",0,200;	bindatcmd "leavebg","BG_Queue_Join::OnDoLeave",0,200;	end; 

  10.  I got this 1x1 style pvp BG .. I want to make it 2x2 and give awards 1 badge war the winners

     

     

     

     

     

    // ============================================================================== // BattleGround System - KvM 1~59 // ==============================================================================   // Registration NPC's // *********************************************************************   prontera,158,208,5	script	Time Guillaume::KvM04R_Guillaume	418,{ // KvM Guillaume	 mes "[^0000FFGuillaume^000000]";	 mes "^0000FFEntre no Chat^000000 para duelar contra outro jogador.";	 close;   OnInit:	 waitingroom "Duelo! [1x1]",1,"KvM04_BG::OnGuillaumeJoin",1;	 end;	  OnEnterBG:	 set $@KvM04BG_id1, waitingroom2bg("bat_c04",53,128,0,"KvM04_BG::OnGuillaumeQuit","KvM04_BG::OnGuillaumeDie");	 end; }   prontera,153,208,5	script	Time Croix::KvM04R_Croix	414,{ // KvM Croix	 mes "[^FF0000Croix^000000]";	 mes "^FF0000Entre no Chat^000000 para duelar contra outro jogador.";	 close;   OnInit:	 waitingroom "Duelo! [1x1]",1,"KvM04_BG::OnCroixJoin",1;	 end;   OnEnterBG:	 set $@KvM04BG_id2, waitingroom2bg("bat_c04",146,55,1,"KvM04_BG::OnCroixQuit","KvM04_BG::OnCroixDie");	 end; }   // Light Effects // *********************************************************************   bat_c04,54,123,0	script	#bat_c04a	111,{	 end;   OnKvM04LightA: misceffect 54; end; OnKvM04LightB: misceffect 55; end; OnKvM04LightC: misceffect 56; end; }   bat_c04,56,125,0	duplicate(#bat_c04a)	#bat_c04b	111 bat_c04,58,127,0	duplicate(#bat_c04a)	#bat_c04c	111 bat_c04,141,56,0	duplicate(#bat_c04a)	#bat_c04d	111 bat_c04,143,58,0	duplicate(#bat_c04a)	#bat_c04e	111 bat_c04,145,60,0	duplicate(#bat_c04a)	#bat_c04f	111   // Battleground Engine // *********************************************************************   -	script	KvM04_BG	-1,{	 end;   OnInit:	 setwall "bat_c04",54,122,6,7,0,"batc04wall_a";	 setwall "bat_c04",55,122,5,7,0,"batc04wall_b";	 setwall "bat_c04",140,56,6,7,0,"batc04wall_c";	 setwall "bat_c04",140,57,5,7,0,"batc04wall_d";	 disablenpc "TherapistKvM04a";	 disablenpc "TherapistKvM04b";	 disablenpc "VintenarKvM04a";	 disablenpc "VintenarKvM04b";	 end;   OnGuillaumeJoin: OnCroixJoin:	 donpcevent "KvM04_BG::OnReadyCheck";	 end;   OnGuillaumeQuit: OnGuillaumeDie:	 if( $@KvM04BG == 2 )	 {		 getmapxy .@m$, .@x, .@y, 0;		 if( .@m$ != "bat_c04" || (.@x >= 50 && .@x <= 58 && .@y >= 123 && .@y <= 131) )			 end; // Killed/Logout on Cementery or outside the map?		   set .Guillaume_Count, .Guillaume_Count - 1;		 set .Croix_Score, .Croix_Score + 1;		 bg_updatescore "bat_c04",.Guillaume_Score,.Croix_Score;		 if( .Guillaume_Count < 1 ) donpcevent "KvM04_BG::OnCroixWin";	 }	 end;   OnCroixQuit: OnCroixDie:	 if( $@KvM04BG == 2 )	 {		 getmapxy .@m$, .@x, .@y, 0;		 if( .@m$ != "bat_c04" || (.@x >= 141 && .@x <= 149 && .@y >= 52 && .@y <= 60) )			 end; // Killed/Logout on Cementery or outside the map?		   set .Croix_Count, .Croix_Count - 1;		 set .Guillaume_Score, .Guillaume_Score + 1;		 bg_updatescore "bat_c04",.Guillaume_Score,.Croix_Score;		 if( .Croix_Count < 1 ) donpcevent "KvM04_BG::OnGuillaumeWin";	 }	 end;   OnReadyCheck:	 if( $@KvM04BG )		 end;   //	if( gettime(3) < 16 || gettime(3) > 22 ) //		end; // 4 to 11 p.m.	   if( set(.@Guillaume, getwaitingroomstate(6,"KvM04R_Guillaume")) > 0 )		 set $@KvM04_GU$, $@waitingroommembers$[0];	 if( set(.@[member=Croix], getwaitingroomstate(6,"KvM04R_Croix")) > 0 )		 set $@KvM04_CU$, $@waitingroommembers$[0];	   if( .@Guillaume < 1 || .@[member=Croix] < 1 )	 { // Not enough players to start		 set .@Announce$, "Duelo! [1x1] - ";		 if( .@Guillaume )			 set .@Announce$, .@Announce$ + "<" + $@KvM04_GU$ + "> VS <       >";		 else if( .@[member=Croix] )			 set .@Announce$, .@Announce$ + "<       > VS <" + $@KvM04_CU$ + ">";		 else			 set .@Announce$, .@Announce$ + "A Arena está liberada.";		   if( !agitcheck() && $@KvM_Flood < gettimetick(2) )		 {			 announce .@Announce$,0,0xffff00;			 set $@KvM_Flood, gettimetick(2) + 15;		 }		 else			 mapannounce .@Announce$,1,0xffff00;		 end;	 }	   set $@KvM04BG, 1; // Starting	 donpcevent "KvM04R_Croix::OnEnterBG";	 donpcevent "KvM04R_Guillaume::OnEnterBG";	 donpcevent "KvM04_BG::OnStart";	 end;   OnStart:	 announce "Duelo! [1x1]  <" + $@KvM04_GU$ + "> VS <" + $@KvM04_CU$ + "> começou!",0,0xffff00;	 enablenpc "TherapistKvM04a";	 enablenpc "TherapistKvM04b";	 disablenpc "VintenarKvM04a";	 disablenpc "VintenarKvM04b";	 set $@KvM04BG_Victory, 0;	 sleep 2000;	 // Warp Teams	 bg_warp $@KvM04BG_id1,"bat_c04",53,128;	 bg_warp $@KvM04BG_id2,"bat_c04",146,55;	 // ScoreBoard	 set .Guillaume_Score, 0;	 set .Croix_Score, 0;	 initnpctimer;	 end;   OnTimer5000:	 areapercentheal "bat_c04",50,123,58,131,100,100;	 areapercentheal "bat_c04",141,52,149,60,100,100;	 mapannounce "bat_c04","Duelo! [1x1] - A Batalha começará em 25 segundos!",1,0xffff00;	 end;   OnTimer26000:	 mapannounce "bat_c04","Duelo! [1x1] - A Batalha começará em 4 segundos!",1,0xffff00;	 end;   OnTimer27000:	 donpcevent "::OnKvM04LightA";	 end;   OnTimer28000:	 donpcevent "::OnKvM04LightB";	 end;	  OnTimer29000:	 donpcevent "::OnKvM04LightC";	 end;   OnTimer30000:	 // Team Members	 set .Guillaume_Count, bg_get_data($@KvM04BG_id1, 0);	 set .Croix_Count, bg_get_data($@KvM04BG_id2, 0);	 if( .Guillaume_Count < 1 || .Croix_Count < 1 )	 {		 set $@KvM04BG_Victory, 3;		 set $@KvM04BG, 3;				  set .@Announce$, "Duelo! [1x1] - ";		 if( .Guillaume_Count < 1 && .Croix_Count < 1 )			 set .@Announce$, "<" + $@KvM04_GU$ + "> VS <" + $@KvM04_CU$ + "> cancelado.";		 else if( .Guillaume_Count < 1 )			 set .@Announce$, "<" + $@KvM04_CU$ + "> está com medo de <" + $@KvM04_GU$ + ">...";		 else if( .Croix_Count < 1 )			 set .@Announce$, "<" + $@KvM04_GU$ + "> está com medo de <" + $@KvM04_CU$ + ">...";		   announce .@Announce$,0,0xffff00;		 stopnpctimer;		 sleep 2000;		 donpcevent "KvM04_BG::OnStop";		 end;	 }	   set $@KvM04BG, 2; // Playing	 areapercentheal "bat_c04",50,123,58,131,100,100;	 bg_warp $@KvM04BG_id1,"bat_c04",62,119;	 areapercentheal "bat_c04",141,52,149,60,100,100;	 bg_warp $@KvM04BG_id2,"bat_c04",137,64;	 end;   OnTimer32000:	 mapannounce "bat_c04","Duelo! [1x1] começou!!",1,0xffff00;	 end;   OnTimer300000:	 mapannounce "bat_c04","Duelo! [1x1] - A Batalha acabará em 30 segundos.",1,0xffff00;	 end;   OnTimer330000:	 if( .Croix_Count > .Guillaume_Count )		 donpcevent "KvM04_BG::OnCroixWin";	 else if( .Croix_Count < .Guillaume_Count )		 donpcevent "KvM04_BG::OnGuillaumeWin";	 else	 { // Draw Game		 set $@KvM04BG, 3;		 set $@KvM04BG_Victory, 3;		   stopnpctimer;		 sleep 2000;		 announce "Duelo! [1x1] - <" + $@KvM04_GU$ + "> VS <" + $@KvM04_CU$ + "> terminou em EMPATE.",0,0xffff00;		 donpcevent "KvM04_BG::OnStop";	 }	 end;   OnGuillaumeWin:	 set $@KvM04BG, 3;	 set $@KvM04BG_Victory, 1;		  stopnpctimer;	 sleep 2000;	 announce "Duelo! [1x1] - <" + $@KvM04_GU$ + "> foi o VENCEDOR! <" + $@KvM04_CU$ + "> perdeu.",0,0xffff00;	 donpcevent "KvM04_BG::OnStop";	 end;   OnCroixWin:	 set $@KvM04BG, 3;	 set $@KvM04BG_Victory, 2;	   stopnpctimer;	 sleep 2000;	 announce "Duelo! [1x1] - <" + $@KvM04_CU$ + "> foi o VENCEDOR! <" + $@KvM04_GU$ + "> perdeu.",0,0xffff00;	 donpcevent "KvM04_BG::OnStop";	 end;   OnStop:	 disablenpc "TherapistKvM04a";	 disablenpc "TherapistKvM04b";	 enablenpc "VintenarKvM04a";	 enablenpc "VintenarKvM04b";	 // Warp Teams	 bg_warp $@KvM04BG_id1,"bat_c04",53,128;	 bg_warp $@KvM04BG_id2,"bat_c04",146,55;	 donpcevent "KvM04_BG_Out::OnBegin";	 end;   OnReset:	 stopnpctimer;	 stopnpctimer "KvM04_BG_Out";	 set .Croix_Count, 0;	 set .Guillaume_Count, 0;	 set .Croix_Score, 0;	 set .Guillaume_Score, 0;	 set $@KvM04_GU$, "";	 set $@KvM04_CU$, "";	 set $@KvM04BG_Victory, 0;	 if( $@KvM04BG_id1 ) { bg_destroy $@KvM04BG_id1; set $@KvM04BG_id1, 0; }	 if( $@KvM04BG_id2 ) { bg_destroy $@KvM04BG_id2; set $@KvM04BG_id2, 0; }	 disablenpc "TherapistKvM04a";	 disablenpc "TherapistKvM04b";	 disablenpc "VintenarKvM04a";	 disablenpc "VintenarKvM04b";	 sleep 1000;	 mapwarp "bat_c04","prontera",155,181;	 sleep 2000;	 maprespawnguildid "bat_c04",0,3; // Just in case someone else	 bg_updatescore "bat_c04",0,0;	 sleep 2000;	 set $@KvM04BG, 0;	 donpcevent "KvM04_BG::OnReadyCheck"; // Maybe a game is ready to start	 end; }   -	script	KvM04_BG_Out	-1,{	 end;   OnBegin:	 initnpctimer;	 end;   OnTimer3000:	 mapannounce "bat_c04","Duelo! [1x1] fechará em 2 minutos!",1,0xffff00;	 end; OnTimer90000:	 mapannounce "bat_c04","Duelo! [1x1] fechará em 30 segundos!",1,0xffff00;	 end; OnTimer110000:	 mapannounce "bat_c04","Duelo! [1x1] fechará em 10 segundos!",1,0xffff00;	 end; OnTimer120000: OnClock1600:	 donpcevent "KvM04_BG::OnReset";	 end; }   // Battleground Therapist // *********************************************************************   bat_c04,51,130,5	script	Treinador::TherapistKvM04a	95,{	 mes "[Treinador]";	 mes "Apenas respire fundo e lute. Você conseguirá vencer!";	 specialeffect2 312;	 close; }   bat_c04,148,53,1	script	Treinador::TherapistKvM04b	95,{	 mes "[Treinador]";	 mes "Apenas respire fundo e lute. Você conseguirá vencer!";	 specialeffect2 312;	 close; }   // Battleground rewards // *********************************************************************   bat_c04,51,130,5	script	Guillaume Vintenar::VintenarKvM04a	419,{	 if( $@KvM04BG_Victory )	 {		 if( $@KvM04BG_Victory == 3 )		 {			 bg_leave;			 warp "prontera",134,120;			 end;		 }		 else if( $@KvM04BG_Victory == Bat_Team )		 { // Victory			 bg_leave;			 warp "prontera",155,181;			 end;		 }		 else		 { //			  bg_leave;			 warp "prontera",155,181;			 end;		 }		   bg_leave;		 warp "prontera",155,181;		 end;	 }	 end; }   bat_c04,148,53,1	script	Croix Vintenar::VintenarKvM04b	415,{	 if( $@KvM04BG_Victory )	 {		 if( $@KvM04BG_Victory == 3 )		 {			 bg_leave;			 warp "prontera",155,181;			 end;		 }		 else if( $@KvM04BG_Victory == Bat_Team )		 { // Victory			 bg_leave;			 warp "prontera",155,181;			 end;		 }		 else		 { //			  bg_leave;			 warp "prontera",155,181;			 end;		 }		   bg_leave;		 warp "prontera",155,181;		 end;	 }	 end; }   // MapFlags // *********************************************************************   bat_c04	mapflag	battleground	2 bat_c04	mapflag	nomemo bat_c04	mapflag	nosave	SavePoint bat_c04	mapflag	noteleport bat_c04	mapflag	nowarp bat_c04	mapflag	nowarpto bat_c04	mapflag	noreturn bat_c04	mapflag	nobranch bat_c04	mapflag	nopenalty
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.