Jump to content

ρixєℓ

Members
  • Content Count

    65
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by ρixєℓ


  1. @@Dian Mande uma PM para o Functor o plano básico dele custa 150 dólares porém é uma licença vitalícia.

     

    Para testar tem um servidor que está entre os 10 melhores no TOP BR(Não vou falar o nome pois acho que não pode fazer divulgação) que usa o Gepard shield, baixe e faça os testes, eu pelo menos não consegui usar nenhum programa ilegal com o shield.


  2. Julio sou o Fou-lu do NeoRagnarok e estou pensando seriamente em sair do Harmony e passar pra algum shield novo que está em desenvolvimento como o Gepard. O Harmony está sem atualização desde 2013 e não tem nada que mostre que o projeto voltará, por este motivo dele está desatualizado você não pode utilizar hexeds acima de 2012-04-10 pq o sistema não aceita.

     

    Não pretendo o HaShield pq já foi anunciado a descontinuação dele e estou saindo do Harmony pelo fato de está descontinuado. E venho pesquisando sobre o Gepard Shield e o Husky Shield.

     

    Gepard Shield:

     

    O Gepard é mais famoso, ou pelo menos mais conhecido aqui no ocidente. Já pude testar ele em servidores que possuem este shield e realmente o Bot passa por ele. Mas é aquilo que já falaram, qualquer shield é possível passar Bot e tbm existe vários tipos de Bot.

     

    Obs: Tive contato com o dono e tive retorno dele dizendo que o projeto é pra longo prazo e que ele trabalha para a criação do site e painel de controle dos usuários.

     

    Husky Shield:

     

    O Husky apresenta já um site e segundo ele o sistema do shield está todo pronto (informação do site), mas ainda não encontrei nenhum servidor que utilize ele, talvez ele seja mais famoso lá na Tailândia, pois o desenvolvedor dele é de lá. https://huskyshield.org/

     

    Obs: Tentei contato com o dono por Skype e FaceBook e não tive retorno.

     

     

    Experiência com Harmony:

     

    Quando comecei usar ele já estava descontinuado por final de 2013. Desde então o seu desenvolvedor nunca deu a cara no Fórum interno do Harmony. O ambiente é bem abandonado e vazio e creio eu que ele não vai responder seu contato nunca. Maioria dos Hacks já ultrapassam o Harmony, nunca peguei um bot nele, mas acredito existir sim Bots especiais para ultrapassar ele.

     

    É como disse, a opção mais viável no momento é o Gepard, que está tendo atualizações e você vai ter um suporte, contra bots a forma mais eficaz ainda é o report de jogadores e você procurando nos mapas mais "utilizados" já que hoje em dia existe teclados e mouses com sistemas próprios de macros e nesse caso apenas pegando no "flagra" para poder aplicar a punição.


  3. Quando se trata de itens desse tipo, você também precisa adicionar as sprites dos itens no arquivo num2itemresnametable.txt da pasta data, caso se trate de clientes 2014+ deve adicionar no item accname.lua na parte do item não identificado, exemplo:

     

    Clients inferior ao 2013.

     

     

    data/num2itemresnametable.txt

     

    Adicione em baixo:

     

     

    ID_DO_ITEM#NOME_DA_SPRITE_DO_ITEM#

     

    Para clientes 2014+.

     

     

    System/accname.lua

     

     


        [20830] = {

            unidentifiedDisplayName = "Essência da Interrupção",
            unidentifiedResourceName = "º°ÀÇÈå´À³¦",
            unidentifiedDescriptionName = {
                "^FFA500Essência que faz com que a conjuração de magias não seja interrompida.^000000",
                "^FF0000Encantamento^000000"
            },
            identifiedDisplayName = "Essência da Interrupção",
            identifiedResourceName = "º°ÀÇÈå´À³¦",
            identifiedDescriptionName = {
                "^FFA500Essência que faz com que a conjuração de magias não seja interrompida.^000000",
                "^FF0000Encantamento^000000"
            },
            slotCount = 0,
            ClassNum = 0
        },
     
    O item acima é apenas um exemplo de um enchant que eu uso no meu servidor.

  4. I have a problem to build an emulator because it shows the error:

    ./configure: /bin/sh^M: bad interpreter: No such file or directory

    I tried using the command:

    chmod a+x configure./configure

    and yum install dos2unixdos2unix ./configure

    but I got this error:

    Loaded plugins: fastestmirror
    Setting up Install Process
    Loading mirror speeds from cached hostfile
    * base: mirror.raystedman.net
    * extras: mirror-centos.hostingswift.com
    * updates: repos.dfw.quadranet.com
    No package dos2unixdos2unix available.
    No package ./configure available.
    Error: Nothing to do

     

    OBS: Using CentOS

    know how to solve?

    Thx.


  5.  

     

    Utilize:

     

    *getitem2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};
    *getitem2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};

    Thanks!

    and now how i use that like a rental item ?

     

    As far as I know there is no such way to item2, but if the item last only minutes or hours you can use command-time.


  6. Use:

     

    *getitem2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};
    *getitem2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};

  7. That's where the problem lies, the hercules updated and the file is in the right directory.

     

    03Up7x4.png

     

     

    @edit.

     

    Guys, solve fixed lines "../" in all .h(#include) files in the src folder.

     

    Ex:

     

     

    #include "config/core.h"

    #include "common/cbasetypes.h"
     
    Switch:
     

    #include "../config/core.h"

    #include "../common/cbasetypes.h"

     
    Do this on all files (must be some easier way to solve but my knowledge in src is low). 
     
     
    Thx for help  ;)

  8. Troque:

     

     

       if(select("Ligar evento.:Entrar no evento.") == 1) callsub OnStart;    mes "[Evento Pandaring]";    mes "Divirta-se!";    next;    warp "poring_c01", 100, 100;    end;         Onclock0200: callsub OnEventStart;        Onclock0030: callsub OnEventStart;        OnClock1630: callsub OnEventStart;        OnClock0500: callsub OnEventStart;        OnClock2000: callsub OnEventStart;        OnClock1900: callsub OnEventStart;         OnEventStart:            announce "[Evento Pandaring]: Gente, é hora do evento. Falem comigo para entrar.",0;            initnpctimer;            monster "poring_c01",0,0,"Pandaring",3500,1,strnpcinfo(0)+"::OnMobKilled";            monster "poring_c01",0,0,"Pamdaring",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandarimg",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"P@andaring",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Panndarin",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pendaring",3500,5,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandaryng",3500,1,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandarlng",3500,1,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandarng",3500,1,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandring",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"P4ndring",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandaryng",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Panring",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pandring",3500,10,strnpcinfo(0)+"::OnWrongKilled";            monster "poring_c01",0,0,"Pamdring",3500,1,strnpcinfo(0)+"::OnWrongKilled";            set .pandaringcatch,1;            end;            return;

     

    Por:

     

     

       switch(select("Entrar no evento:Ligar Evento")){

     
    case 1:
     
        mes "[Evento Pandaring]";
        mes "Divirta-se!";
        next;
        warp "poring_c01", 100, 100;
        end;
     
    case 2:
    goto OnEventStart;
    close;
    }
     
            Onclock0200: callsub OnEventStart;
            Onclock0030: callsub OnEventStart;
            OnClock1630: callsub OnEventStart;
            OnClock0500: callsub OnEventStart;
            OnClock2000: callsub OnEventStart;
            OnClock1900: callsub OnEventStart;
     
            OnEventStart:
                announce "[Evento Pandaring]: Gente, é hora do evento. Falem comigo para entrar.",0;
                initnpctimer;
                monster "poring_c01",0,0,"Pandaring",3500,1,strnpcinfo(0)+"::OnMobKilled";
                monster "poring_c01",0,0,"Pamdaring",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandarimg",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"P@andaring",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Panndarin",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pendaring",3500,5,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandaryng",3500,1,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandarlng",3500,1,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandarng",3500,1,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandring",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"P4ndring",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandaryng",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Panring",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pandring",3500,10,strnpcinfo(0)+"::OnWrongKilled";
                monster "poring_c01",0,0,"Pamdring",3500,1,strnpcinfo(0)+"::OnWrongKilled";
                set .pandaringcatch,1;
                end;
                return;

     
    Sobre o estilista basta renomear a label "L_end" para L_End", e os outros npcs, pode postar novamente? ficou meio zoado.

  9.  

    Hello, I need a help with this npc, how can I let the team 1 team not attack 2? I've tried all ways but it still fails.

     

     

    //Author Goddameit

    //Version 2012/06/09 - ''flag_event'' map

    //Web http://bit.ly/Ja4udH

    guild_room,236,283,4 script CTF Premiador 100,{

     

    if($ctfevt == 0){ dispbottom "[CTF] Desculpe mais não tenho nara para você."; warp "SavePoint",0,0; end; }

     

    query_sql "UPDATE `login` SET `ppoints` = `ppoints` +20 WHERE `account_id`='"+getcharid(3)+"'";

    dispbottom "[CTF] Você acaba de ganhar 20 Peace Points";

    warp "SavePoint",0,0;

    end;

    }

    prontera,150,185,4 script CTF -1,{

     

    OnInit:

    bindatcmd ("CTF", "CTF::OnAtcmd_CTF");

    set $ctfevt,0;

    end;

     

    OnClock0900: callsub EventoCTF;

    OnClock1300: callsub EventoCTF;

    OnClock1700: callsub EventoCTF;

    OnClock0000: callsub EventoCTF;

     

     

    EventoCTF:

    announce "[CTF] A captura pela bandeira vai começar em 5 minutos, digite @ctf para se registrar.",8;

    set $ctfevt,1;

    initnpctimer;

    end;

    OnAtcmd_CTF:

    if($ctfevt == 0){ dispbottom "[CTF] A captura pela bandeira não começou"; end; }

    function c_flagon {

    while(set(.@i,.@i+1)<=6)

    {

    if(getd("$@flag"+.@i+"_a")==getarg(0))

    return .@i;

    }

    return 0;

    }

    dispbottom "[CTF] Você acaba de se registrar, espere até ser chamado.";

    set @ctf_tid,.join==0?1:.join==1?2:.join%2;

    setd ".join_j"+.join,getcharid(3);

    set .join,.join+1;

    close;

     

    OnTimer600000:

    set .w,0;

    if(.ctf_tp1!=.ctf_tp2)

    {

    announce "[CTF] O Time "+set(.w,(.ctf_tp1>.ctf_tp2?1:2))+" capturou mais bandeiras e venceu.",0;

    for(set .@io,0;.@io<=.join;set .@io,.@io+1)

    {

    if(attachrid(getd(".join_j"+.@io)))

    {

    getmapxy(@cm$,@cx,@cy,0);

    if(@cm$=="flag_event")

    {

    if(.w==@ctf_tid)

    {

    warp "guild_room",236,283;

    }else

    warp "prontera",150,180;

    }

    setd ".join_j"+.@io,0;

    deltimer "FlagTimer::OnTimerStart";

    }

    }

    set .join,0;

    }

    mapwarp "flag_event","prontera",150,180;

    mapannounce "flag_event","[CTF] Fim de jogo.",0;

    end;

    OnTimer1:

    OnStart:

    set .game,1;

    set .join,0;

    set .ctf_tn1,0;

    set .ctf_tn2,0;

    set .ctf_tp1,0;

    set .ctf_tp2,0;

    sleep2 300000;

    set .game,2;

    set $ctfevt,0;

    setmapflag "flag_event",mf_pvp;

    setmapflag "flag_event",mf_pvp_noguild;

    removemapflag "flag_event",mf_gvg;

    announce "[CTF] A captura pela bandeira começou.",0;

    for(set .@io,0;.@io<=.join;set .@io,.@io+1)

    {

    if(attachrid(getd(".join_j"+.@io)))

    {

    if(@ctf_tid==2)

    warp "flag_event",180,87;

    else

    warp "flag_event",33,93;

    }

    }

    initnpctimer "CTF-Point#1";

    initnpctimer "CTF-Point#2";

    end;

    OnPCDieEvent:

    getmapxy(@cm$,@cx,@cy,0);

    if(@cm$!="flag_event"||.game!=2) // ||!@ctf_tid

    end;

    addtimer 5000,"CTF-Point#"+@ctf_tid+"::OnDie";

    OnPCEnd:

    OnPCLogoutEvent:

    set @ctf_tu,0;

    set @CTF,0;

    if(set(.@i,c_flagon(getcharid(0))))

    {

    deltimer "FlagTimer::OnTimerStart";

    callfunc "CTF_LimitSkillWhenCareFlag",0;

    getmapxy(.@cm$,.@cx,.@cy,0);

    hideoffnpc "Flag#"+.@i;

    stopnpctimer "Flag#"+.@i;

    setd "$@flag"+.@i+"_a",0;

    movenpc "Flag#"+.@i,.@cx,.@cy;

    if(@ctf_xt&&@ctf_tid)

    {

    specialeffect2 666;

    set @ctf_xt,0;

    mapannounce "flag_event","[CTF] Time "+@ctf_tid+" +1 Ponto.",0;

    setd ".ctf_tp"+@ctf_tid,getd(".ctf_tp"+@ctf_tid)+1;

    mapannounce "flag_event","[CTF] Time 1 ["+.ctf_tp1+"] Pontos : Time 2 ["+.ctf_tp2+"] Pontos",0;

    movenpc "Flag#"+.@i,107,90;

    getmapxy(getvariableofnpc(.cm$,"Flag#"+.@i),getvariableofnpc(.cx,"Flag#"+.@i),getvariableofnpc(.cy,"Flag#"+.@i),1,"Flag#"+.@i);

    }

    end;

    }

    set @ctf_xt,0;

    end;

    }

    flag_event,107,90,4 script Flag#1 722,{

    if(getvariableofnpc(.game,"CTF")!=2) // ||!@ctf_tid

    end;

    function flag_tid {

    if(getarg(0)<4)

    return 1;

    else

    return 2;

    }

    set .k,atoi(strnpcinfo(2));

    getmapxy(.cm$,.cx,.cy,1);

    getmapxy(.@cm$,.@cx,.@cy,0);

    if(pow(.cx-.@cx,2)>9||pow(.cy-.@cy,2)>9)

    {

    message strcharinfo(0),"Chegue mais perto oras.."+rand(1000)+""+rand(1000);

    end;

    }

    if(@CTF)

    end;

    set @CTF,1;

    setd "$@flag"+.k+"_a",getcharid(0);

    hideonnpc strnpcinfo(0);

    callfunc "CTF_LimitSkillWhenCareFlag",1;

    addtimer 500,"FlagTimer::OnTimerStart";

    end;

    }

    - script FlagTimer -,{

     

    OnTimerStart:

    set @ctf_tu,@ctf_tu+1;

    if(@ctf_tu>120)

    {

    unitskilluseid getcharid(3),173,1;

    doevent "CTF::OnPCEnd";

    end;

    }

    specialeffect2 589;

    addtimer 500,"FlagTimer::OnTimerStart";

    end;

    }

     

    flag_event,33,93,4 script CTF-Point#1 111,3,3,{

    end;

     

    OnDie:

    if(@ctf_tid==2)

    warp "flag_event",180,87;

    else

    warp "flag_event",33,93;

    end;

    OnTouch:

    if(getvariableofnpc(.game,"CTF")!=2||!@ctf_tid)

    end;

    if(@ctf_tid!=atoi(strnpcinfo(2)))

    end;

    set @ctf_xt,1;

    doevent "CTF::OnPCEnd";

    end;

     

    OnTimer500:

    specialeffect 225;

    sleep(500);

    specialeffect 236;

    sleep(500);

    specialeffect 237;

    sleep(500);

    specialeffect 238;

    initnpctimer;

    end;

    }

    flag_event,180,87,4 duplicate(CTF-Point#1) CTF-Point#2 45,3,3

    flag_event mapflag nowarpto

    flag_event mapflag nosave

    flag_event mapflag nobranch

    flag_event mapflag nopenalty

    flag_event mapflag noreturn

    flag_event mapflag nowarp

    flag_event mapflag noicewall

    flag_event mapflag nomemo

    flag_event mapflag pvp

    guild_room mapflag nowarpto

    guild_room mapflag nosave

    guild_room mapflag nobranch

    guild_room mapflag noreturn

    guild_room mapflag nowarp

    guild_room mapflag nomemo

     

     

    http://pastebin.com/PHLvbBV4

    BG is suited for it, make them join in 2 teams of bg.

    Other options are, if they are on same party/guild, you can have gvg mapflag and so on..

     

    Yes, the problem is that I do not want the player to stand still in a chat in order to enter, want him to be free, and there is no command to the npc create two groups or two guilds to enter the event.


  10. Hello, I need a help with this npc, how can I let the team 1 team not attack 2? I've tried all ways but it still fails.

     

     

    //Author Goddameit

    //Version 2012/06/09 - ''flag_event'' map
    guild_room,236,283,4 script CTF Premiador 100,{
     
    if($ctfevt == 0){ dispbottom "[CTF] Desculpe mais não tenho nara para você."; warp "SavePoint",0,0; end; }
     
    query_sql "UPDATE `login` SET `ppoints` = `ppoints` +20 WHERE `account_id`='"+getcharid(3)+"'";
    dispbottom "[CTF] Você acaba de ganhar 20 Peace Points";
    warp "SavePoint",0,0;
    end;
    }
    prontera,150,185,4 script CTF -1,{
     
    OnInit:
    bindatcmd ("CTF", "CTF::OnAtcmd_CTF");
    set $ctfevt,0;
    end;
     
    OnClock0900: callsub EventoCTF;
    OnClock1300: callsub EventoCTF;
    OnClock1700: callsub EventoCTF;
    OnClock0000: callsub EventoCTF;
     
     
    EventoCTF:
    announce "[CTF] A captura pela bandeira vai começar em 5 minutos, digite @ctf para se registrar.",8;
    set $ctfevt,1;
    initnpctimer;
    end;
    OnAtcmd_CTF:
    if($ctfevt == 0){ dispbottom "[CTF] A captura pela bandeira não começou"; end; }
    function c_flagon {
    while(set(.@i,.@i+1)<=6)
    {
    if(getd("$@flag"+.@i+"_a")==getarg(0))
    return .@i;
    }
    return 0;
    }
    dispbottom "[CTF] Você acaba de se registrar, espere até ser chamado.";
    set @ctf_tid,.join==0?1:.join==1?2:.join%2;
    setd ".join_j"+.join,getcharid(3);
    set .join,.join+1;
    close;
     
    OnTimer600000:
    set .w,0;
    if(.ctf_tp1!=.ctf_tp2)
    {
    announce "[CTF] O Time "+set(.w,(.ctf_tp1>.ctf_tp2?1:2))+" capturou mais bandeiras e venceu.",0;
    for(set .@io,0;.@io<=.join;set .@io,.@io+1)
    {
    if(attachrid(getd(".join_j"+.@io)))
    {
    getmapxy(@cm$,@cx,@cy,0);
    if(@cm$=="flag_event")
    {
    if(.w==@ctf_tid)
    {
    warp "guild_room",236,283;
    }else
    warp "prontera",150,180;
    }
    setd ".join_j"+.@io,0;
    deltimer "FlagTimer::OnTimerStart";
    }
    }
    set .join,0;
    }
    mapwarp "flag_event","prontera",150,180;
    mapannounce "flag_event","[CTF] Fim de jogo.",0;
    end;
    OnTimer1:
    OnStart:
    set .game,1;
    set .join,0;
    set .ctf_tn1,0;
    set .ctf_tn2,0;
    set .ctf_tp1,0;
    set .ctf_tp2,0;
    sleep2 300000;
    set .game,2;
    set $ctfevt,0;
    setmapflag "flag_event",mf_pvp;
    setmapflag "flag_event",mf_pvp_noguild;
    removemapflag "flag_event",mf_gvg;
    announce "[CTF] A captura pela bandeira começou.",0;
    for(set .@io,0;.@io<=.join;set .@io,.@io+1)
    {
    if(attachrid(getd(".join_j"+.@io)))
    {
    if(@ctf_tid==2)
    warp "flag_event",180,87;
    else
    warp "flag_event",33,93;
    }
    }
    initnpctimer "CTF-Point#1";
    initnpctimer "CTF-Point#2";
    end;
    OnPCDieEvent:
    getmapxy(@cm$,@cx,@cy,0);
    if(@cm$!="flag_event"||.game!=2) // ||!@ctf_tid
    end;
    addtimer 5000,"CTF-Point#"+@ctf_tid+"::OnDie";
    OnPCEnd:
    OnPCLogoutEvent:
    set @ctf_tu,0;
    set @CTF,0;
    if(set(.@i,c_flagon(getcharid(0))))
    {
    deltimer "FlagTimer::OnTimerStart";
    callfunc "CTF_LimitSkillWhenCareFlag",0;
    getmapxy(.@cm$,.@cx,.@cy,0);
    hideoffnpc "Flag#"+.@i;
    stopnpctimer "Flag#"+.@i;
    setd "$@flag"+.@i+"_a",0;
    movenpc "Flag#"+.@i,.@cx,.@cy;
    if(@ctf_xt&&@ctf_tid)
    {
    specialeffect2 666;
    set @ctf_xt,0;
    mapannounce "flag_event","[CTF] Time "+@ctf_tid+" +1 Ponto.",0;
    setd ".ctf_tp"+@ctf_tid,getd(".ctf_tp"+@ctf_tid)+1;
    mapannounce "flag_event","[CTF] Time 1 ["+.ctf_tp1+"] Pontos : Time 2 ["+.ctf_tp2+"] Pontos",0;
    movenpc "Flag#"+.@i,107,90;
    getmapxy(getvariableofnpc(.cm$,"Flag#"+.@i),getvariableofnpc(.cx,"Flag#"+.@i),getvariableofnpc(.cy,"Flag#"+.@i),1,"Flag#"+.@i);
    }
    end;
    }
    set @ctf_xt,0;
    end;
    }
    flag_event,107,90,4 script Flag#1 722,{
    if(getvariableofnpc(.game,"CTF")!=2) // ||!@ctf_tid
    end;
    function flag_tid {
    if(getarg(0)<4)
    return 1;
    else
    return 2;
    }
    set .k,atoi(strnpcinfo(2));
    getmapxy(.cm$,.cx,.cy,1);
    getmapxy(.@cm$,.@cx,.@cy,0);
    if(pow(.cx-.@cx,2)>9||pow(.cy-.@cy,2)>9)
    {
    message strcharinfo(0),"Chegue mais perto oras.."+rand(1000)+""+rand(1000);
    end;
    }
    if(@CTF)
    end;
    set @CTF,1;
    setd "$@flag"+.k+"_a",getcharid(0);
    hideonnpc strnpcinfo(0);
    callfunc "CTF_LimitSkillWhenCareFlag",1;
    addtimer 500,"FlagTimer::OnTimerStart";
    end;
    }
    - script FlagTimer -,{
     
    OnTimerStart:
    set @ctf_tu,@ctf_tu+1;
    if(@ctf_tu>120)
    {
    unitskilluseid getcharid(3),173,1;
    doevent "CTF::OnPCEnd";
    end;
    }
    specialeffect2 589;
    addtimer 500,"FlagTimer::OnTimerStart";
    end;
    }
     
    flag_event,33,93,4 script CTF-Point#1 111,3,3,{
    end;
     
    OnDie:
    if(@ctf_tid==2)
    warp "flag_event",180,87;
    else
    warp "flag_event",33,93;
    end;
    OnTouch:
    if(getvariableofnpc(.game,"CTF")!=2||!@ctf_tid)
    end;
    if(@ctf_tid!=atoi(strnpcinfo(2)))
    end;
    set @ctf_xt,1;
    doevent "CTF::OnPCEnd";
    end;
     
    OnTimer500:
    specialeffect 225;
    sleep(500);
    specialeffect 236;
    sleep(500);
    specialeffect 237;
    sleep(500);
    specialeffect 238;
    initnpctimer;
    end;
    }
    flag_event,180,87,4 duplicate(CTF-Point#1) CTF-Point#2 45,3,3
    flag_event mapflag nowarpto
    flag_event mapflag nosave
    flag_event mapflag nobranch
    flag_event mapflag nopenalty
    flag_event mapflag noreturn
    flag_event mapflag nowarp
    flag_event mapflag noicewall
    flag_event mapflag nomemo
    flag_event mapflag pvp
    guild_room mapflag nowarpto
    guild_room mapflag nosave
    guild_room mapflag nobranch
    guild_room mapflag noreturn
    guild_room mapflag nowarp
    guild_room mapflag nomemo

     
×
×
  • Create New...

Important Information

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