Jump to content

IsabelaFernandez

Members
  • Posts

    354
  • Joined

  • Last visited

Posts posted by IsabelaFernandez

  1. 5 hours ago, Winterfox said:

    You can use the last parameter of bindatcmd. The default of charcommand level is 100 so that it basically is disabled by default. If you set it to a group level someone has, you should be able to use that command like a char command.

    bindatcmd "<command>","<NPC object name>::<event label>"{,<atcommand level>,<charcommand level>};

     

    worked, thank you!
    Another question, how do I receive a message that the item has been created? with @ it normally appears "item created" but with # it does not appear, although it is working

  2. Hi everyone. currently my script only works with @. I would like it to work so I can send it to another player, that is, with the introduction of the #. Could any of the script masters help me with my script?

    My Script:

    Spoiler

    -    script    atcmd_example    -1,{
    OnInit:
        bindatcmd("rentitem", strnpcinfo(3)+"::OnAtcommand");
        end;
    OnAtcommand:
        .@itemid = atoi(.@atcmd_parameters$[0]);
        if (getitemname(.@itemid) != "null") {
            if (getiteminfo(.@itemid, 2) != IT_CARD) {
                rentitem .@itemid, (24 * 60 * 60); // 1 day
            }
            else {
                dispbottom .@atcmd_command$+" - You cant rent "+getitemname(.@itemid);
            }
        }
        else {
            dispbottom .@atcmd_command$+" - invalid item #"+.@itemid;
        }
        end;
    }

     

  3. This simple script is not announcing the pvp entry for all players to see, I did the test and not even the player who enters the arena sees the announcement. only those who are already inside the arena

     

    Spoiler

    prontera,155,189,5    script    Arena PvP    801,{
        for (.@i = 0; .@i < .map_size; .@i++) 
            .@menu$ = .@menu$ + .map$[.@i] + "  ("+getmapusers(.map$[.@i])+" Player Online)" + ":";
        .@i = select(.@menu$) - 1;
        mapannounce .map$[.@i], strcharinfo(0)+ " entrou no PvP.", bc_all;
        warp .map$[.@i], 0, 0;
        end;
        
        OnInit:
            setarray .map$, 
                "pvp_y_1-2", 
                "guild_vs3"; 
            .map_size = getarraysize(.map$);
            end;
    }

     

  4. Hi friends. I would like the help of a scripter who can save me from viewing this script that doesn't work, I select it to see but it doesn't show the ranking.

     

    Spoiler

    //  ______________________________________________________________________
    // /                                                                      \
    // |            _           _   _   _                                      |
    // |           | |__  _ __ / \ | |_| |__   ___ _ __   __ _                 |
    // |           | '_ \| '__/ _ \| __| '_ \ / _ \ '_ \ / _` |                |
    // |           | |_) | | / ___ \ |_| | | |  __/ | | | (_| |                |
    // |           |_.__/|_|/_/   \_\__|_| |_|\___|_| |_|\__,_|                |
    // |                                                                       |
    // |                         brAthena Script                               |
    // |-----------------------------------------------------------------------|
    // | Nome do Script: Sistema PvP 1.5 [SQL]                                 |
    // |-----------------------------------------------------------------------|
    // | Criado por: eA/brA Dev. Team                                          |
    // |-----------------------------------------------------------------------|
    // | Versão brA: 1.5                                                       |
    // |-----------------------------------------------------------------------|
    // | Descrição:                                                            |
    // | Um sistema PvP com várias arenas                                      |
    // |-----------------------------------------------------------------------|
    // | Changelog:                                                            |
    // | 1.0 Modificação [brAthena]                                            |
    // | [brA]Floozie [Criador]                                                |
    // 1.1 Relocorido
    // 1.2 Adicionado novos Sons
    // 1.3 Almentada Ranking
    // \_______________________________________________________________________/
    //============================================================
    -    script    PvP_InitFunc    -1,{
    OnInit:
    //= Mapas ====================================================
    set $@map$[1],"guild_vs3";
    set $@map$[2],"pvp_y_1-2";
    //= SoundList ================================================
    set $@Sounds$[1], "First Blood";
    set $@Sounds$[2], "Double Kill";
    set $@Sounds$[3], "Triple Kill";
    set $@Sounds$[4], "Monster Kill";
    set $@Sounds$[5], "Mega Kill";
    //============================================================
    }
    prontera,155,185,3    script    Arena    512,{

    set .@n$, "[ ^cc0000Porteiro PvP^000000 ]";
    INICIO:
    mes .@n$;
    mes "Arena 01 : ^0000FFPVP Arena^000000";
    mes "Arena 02 : ^FF0000PVP Izlude^000000";
    mes "O que você gostaria de fazer ?";
    next;
    switch(select("^3366FFEscolher Arena^000000:^800080Visualizar Ranking^000000:^00FF00Ver Minha Posição^000000:Sair")){
    case 1:
    mes "Escolha a Arena que gostaria de entrar";
    mes "Arena 01 : ^0000FFPVP Arena^000000";
    mes "Arena 02 : ^FF0000PVP Izlude^000000";
    next;
    switch(select("- ^0000FFArena Fechada^000000 [ "+getmapusers($@map$[1])+" ]:- ^FF0000Arena Izlude^000000 [ "+getmapusers($@map$[2])+" ]:- Nenhuma")){

    case 1:
    warp $@map$[1],0,0;
    announce ""+strcharinfo(0)+" Entrou na Arena 1 onde os fracos não tem vez!",bc,0xBAB9B9;
    end;

    case 2:
    warp $@map$[2],0,0;
    announce ""+strcharinfo(0)+" Entrou no PvP 2, chama PT ou Alt F4?",bc,0xBAB9B9;
    end;

    close;
    }
    }
    }
    warp $@map$[4],0,0;
    end;

    case 5:
    if(Class < 4023 || Class > 4045){
    mes .@n$;
    mes "Só babys podem entrar nesse PvP !";
    close;
    }
    warp $@map$[5],128,114;
    end;

    case 6:
    close;
    }

    case 2:
    mes .@n$;
    mes "Escolha a Arena do Rank:";
    next;
    switch(select("- Rank ^0000FFArena 01^000000:- Rank ^FF0000Arena 02^000000:- Voltar")){

    case 1: callfunc("PvPS_Func","Ranking_Arena",1);close;
    case 2: callfunc("PvPS_Func","Ranking_Arena",2);close;
    case 6: goto INICIO;end;

    }

    case 3:
    mes .@n$;
    mes "Escolha o Tipo de PVP:";
    next;
    switch(select("- ^0000FFArena 01^000000:- ^FF0000Arena 02^000000:- Voltar")){

    case 1: callfunc("PvPS_Func","MeuRanking",1);close;
    case 2: callfunc("PvPS_Func","MeuRanking",2);close;
    case 6: goto INICIO;end;
    }
    close;
    }

    }

    -    script    ArenaPvP#Events    -1,{

    OnPCKillEvent:
    getmapxy(@mapa$,@x,@y,0);
    for(set @i,1;( @i <= getarraysize($@map$)-1);set @i,@i+1)
    {
    if($@map$[@i] == @mapa$) callfunc("PvPS_Func","KillEvent",@i);
    }
    OnPCDieEvent:
    getmapxy(@mapa$,@x,@y,0);
    for(set @i,1;@i < getarraysize($@map$);set @i,@i+1)
    {
    if($@map$[@i] == @mapa$) callfunc("PvPS_Func","DieEvent",@i);
    }
    }

    function    script    PvPS_Func    {
    if(getarg(0) == "Ranking_Arena")
    {
    query_sql "SELECT `nome`, `matou`, `morreu`, `pontos` FROM `pvp_arenas` WHERE `id`="+getarg(1)+" ORDER BY `pontos` DESC LIMIT 10",@nome$,@matou,@morreu,@pontos;
    mes "(Nome - ^3366FFMatou^000000 - ^FF9900Morreu^000000 - ^FF0000Saldo^000000)";
    for(set @i,0;@i <= 99;set @i,@i+1){
    mes "["+(@i+1)+"] - "+@nome$[@i]+" - ^3366FF"+@matou[@i]+"^000000 - ^FF9900"+@morreu[@i]+"^000000 - ^FF0000"+@pontos[@i]+"^000000";
    }
    return;
    }

    if(getarg(0) == "MeuRanking")
    {
    query_sql "SELECT `nome`, `matou`, `morreu`, `pontos` FROM `pvp_arenas` WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'",@nome$,@matou,@morreu,@pontos;
    if(@nome$ == ""){
    mes .@n$;
    mes "Você nunca participou dessa arena !";
    close;
    }
    mes .@n$;
    mes "Você Matou: ^3366FF"+@matou+" ^000000Vezes";
    mes "Você Morreu: ^FF9900"+@morreu+" ^000000Vezes";
    mes "Seu Saldo: ^FF0000"+@pontos+" ^000000Vezes";
    return;
    }

    if(getarg(0) == "KillEvent")
    {
    set @nome$,"";
    set @PvPPoints,0;
    query_sql "SELECT `nome`,`matou` FROM `pvp_arenas` WHERE `id` = "+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'",@nome$,@PvPPoints;
    if(@nome$ == "") query_sql "INSERT INTO `pvp_arenas` (`id`, `nome`, `matou`, `pontos`) VALUES ("+getarg(1)+",'"+strcharinfo(0)+"',1,1)"; else
    query_sql "UPDATE `pvp_arenas` SET `matou` = `matou`+1, `pontos` = `pontos`+1 WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'";
    set @PvPPoints, @PvPPoints+1;
    dispbottom "Pontos: "+@PvPPoints;
    set @soundKills,@soundKills+1;
    if(@soundKills >= getarraysize($@Sounds$)) set @soundKills,@soundKills-1;
    announce "O Jogador [ "+strcharinfo(O)+" ] matou [ "+rid2name(killedrid)+" ] e está em "+$@Sounds$[@soundKills]+" !",bc_map,0xD20000;
    soundeffectall $@Sounds$[@soundKills]+".wav",0,@mapa$;
    end;
    }

    if(getarg(0) == "DieEvent")
    {
    set @soundKills,0;
    set @nome$,"";
    query_sql "SELECT `nome` FROM `pvp_arenas` WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'",@nome$;
    if(@nome$ == "") query_sql "INSERT INTO `pvp_arenas` (`id`, `nome`, `morreu`, `pontos`) VALUES ("+getarg(1)+",'"+strcharinfo(0)+"',1,-1)"; else
    query_sql "UPDATE `pvp_arenas` SET `morreu` = `morreu`+1, `pontos` = `pontos`-1 WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'";
    end;
    }
    }

    //=== MapFlags - Arenas =================================
    // Não mude isso caso não saiba o que está fazendo !
    //- Arena 01 --------------------------------------------
    guild_vs1    mapflag    gvg    off
    guild_vs1    mapflag    nowarp
    guild_vs1    mapflag    noteleport
    guild_vs1    mapflag    nowarpto
    guild_vs1    mapflag    nobranch
    guild_vs1    mapflag    nosave    SavePoint
    guild_vs1    mapflag    nomemo
    guild_vs1    mapflag    nopenalty
    guild_vs1    mapflag    pvp

    //- Arena 02 --------------------------------------------
    guild_vs2    mapflag    gvg    off
    guild_vs2    mapflag    nowarp
    guild_vs2    mapflag    noteleport
    guild_vs2    mapflag    nowarpto
    guild_vs2    mapflag    nobranch
    guild_vs2    mapflag    nosave    SavePoint
    guild_vs2    mapflag    nomemo
    guild_vs2    mapflag    nopenalty
    guild_vs2    mapflag    pvp
    guild_vs2    mapflag    noexp

    guild_vs3    mapflag    noexp

    //- Arena 03 --------------------------------------------
    guild_vs5    mapflag    gvg    off
    guild_vs5    mapflag    nowarp
    guild_vs5    mapflag    noteleport
    guild_vs5    mapflag    nowarpto
    guild_vs5    mapflag    nobranch
    guild_vs5    mapflag    nosave    SavePoint
    guild_vs5    mapflag    nomemo
    guild_vs5    mapflag    nopenalty
    guild_vs5    mapflag    pvp
    guild_vs5    mapflag    noexp
    //- Arena 04 --------------------------------------------
    pvp_n_1-5    mapflag    gvg    off
    pvp_n_1-5    mapflag    nowarp
    pvp_n_1-5    mapflag    noteleport
    pvp_n_1-5    mapflag    nowarpto
    pvp_n_1-5    mapflag    nobranch
    pvp_n_1-5    mapflag    nosave    SavePoint
    pvp_n_1-5    mapflag    nomemo
    pvp_n_1-5    mapflag    nopenalty
    pvp_n_1-5    mapflag    pvp
    pvp_n_1-5    mapflag    noexp

    guild_vs2,65,64,2    script    Sair do PvP    10009,{

    mes "[Teleportador]";
    mes "Você quer sair do PvP?";
    next;
    menu "Sim",sim,"Não",cancelar;

    sim:
    mes "[Teleportador]";
    mes "Até Logo!";
    next;
    warp "prontera",156,181;
    close;

    cancelar:
    mes "[Teleportador]";
    mes "Tudo bem, ^5566FF"+strcharinfo(0)+"^000000, fale comigo quando quiser sair.";
    close;
    waitingroom "PvP Warper ",0;        //
    end;
    }
     

     

  5. I would like to change the payment method for the item with ID 7420 for example. currently the script is working ok, but it is only for zeny

    thanks guys, much love ❤️ 

     

    Spoiler

    ayothaya.gat,150,158,4    script    Equipamentos Campais    691,{
        mes "Equipamentos Campais";
        mes "Olá!";
        mes "Gostaria de olhar nossa loja Campal?";
        next;
        switch(select("Armas:Acessórios:Variados:Hoje não")) {
            case 1: // Pet Food
                mes "Vou mostrar as armas Campais para você.";
                close2; // Closes the NPC dialog without ending the script
                callshop "PetFoodShop",1; // Only Sell window
                end; // We end the script just after opening the shop so no need to break
            case 2: // Pet Armor
                mes "Vou mostrar os acessórios Campais para você.";
                callshop "PetArmorShop",1;
                end;
            case 3: // Taming Items
                mes "empty.";
                callshop "TamingItemsShop",1;
                end;
            default: // Any other case not covered above. "Not today" in this example.
                mes "Te vejo em breve.!";
                close; // This statement closes and ends the script so no need to end again
        }
        // No need to close or end anything at this point
    }

    // Please add yourself the items you want to sell, last one doesn't need a comma
    -    shop    PetFoodShop    -1,13036:-1,13411:-1,
    -    shop    PetArmorShop    -1,2720:-1,2721:-1,
    -    shop    TamingItemsShop    -1,

     

  6. 22 hours ago, Winterfox said:
    function	script	randombox	{
    	setarray(.@box_items, 501, 505, 522);
    
    	.@item = .@box_items[rand(getarraysize(.@box_items))];
    
    	getitem(.@item, 1);
    	announce(strcharinfo(0) + " got a " + getitemname(.@item) + "!", );
    
    	return;
    }

     

    Spoiler


    script error on npc/custom/albummvp.txt line 7
        parse_simpleexpr: unexpected character
         2 :        setarray(.@box_items, 501, 505, 522);
         3 :
         4 :        .@item = .@box_items[rand(getarraysize(.@box_items))];
         5 :
         6 :        getitem(.@item, 1);
    *    7 :        announce(strcharinfo(0) + " got a " + getitemname(.@item) + "!", ')';
         8 :
         9 : return;
        10 : }
     

     

  7. Hi friends. I would like to add a global message for everyone to see which item the player received from this script

    Spoiler

    function    script    randombox    {
    setarray .BoxItems[0],501,505,522;


    set .Random, rand( getarraysize( .BoxItems ) );
    getitem .BoxItems[ .Random ], 1;
    end;
    }

     

  8. Hi people. I recently added items to the cash shop and apparently there is an item limit. I would like to know if it actually exists or not. If yes, how do I increase it? because it only shows 1/5 tabs and I put a lot more than that.

  9.  

    Hi people. I got this script and it works normally with the exception of baby 3rd

     

    Spoiler

    //####################################################
    //#                              ™ #
    //#   ####### ######  ###   ### ###   ### ###   ###  #
    //#   ###    ###  ###  ### ###   ### ###   ### ###   #
    //#   #####  ###  ###   ####      ####      #####    #
    //#   ##     ###  ###  ### ###   ### ###     ###     #
    //#   ##      ######  ###   ### ###   ###   ###      #
    //#                                                  #
    //####################################################
    //v1.0: Allows changing suits to 3rd classes;        #
    //v1.1: Added Xmas and Summer suits;                 #
    //v1.2: Added support to baby 3rd class suits.       #
    //####################################################
    que_temsky,49,133,5    script    Class Suits    485,{
     
    OnCommand:
     
        if(!vip_status(VIP_STATUS_ACTIVE)) {
            message strcharinfo(0),"This service is only avaiaible to VIP players.";
            end;
        }
     
        mes "[^00FF00Acesso VIP^000000]";
        mes "Então, deseja mudar sua aparência?";
        menu "Mudar para aparência 3rd.",thirdclass,"Mudar para aparência 3rd baby.",babythirdclass,"Second class",secondclass,"Voltar para o normal.",reset;
     
    thirdclass:
        .@eac = eaclass();
        .@to_class = roclass(.@eac|EAJL_THIRD);
        if(.@to_class >= 0)
            changebase .@to_class;
        else
            mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
        close;
     
    babythirdclass:
        .@eac = eaclass();
        .@to_class = roclass(.@eac|EAJL_THIRD|EAJL_BABY);
        if(.@to_class >= 0)
            changebase .@to_class;
        else
            mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
        close;
     
    secondclass:
     
        .@eac = eaclass();
        .@to_class = roclass(.@eac&EAJ_UPPERMASK);
        if(.@to_class < 0)
            .@to_class = roclass(.@eac|JOBL_2_1);
        if(BaseJob == Job_Ninja)
            .@to_class = ((Sex)? Job_Kagerou : Job_Oboro);
        id(.@to_class < 0)
            mes "[Suit Provider]", "I'm sorry, but your class is not supported.";
        close;
     
    reset:
        changebase Class;
        close;
     
    miscsuits:
        next;
        mes "[Suit Provider]";
        mes "Which of the suits would you like to use?";
        menu "Xmas suit",xmas,"Summer suit",summer;
     
    xmas:
        changebase 26;
        close;
     
    summer:
        changebase 27;
        close;
     
    OnInit:
     
        bindatcmd "visual","Class Suits::OnCommand";
        end;
     
    }

     

  10. Hi people. When I request to see my ranking, the function simply freezes. otherwise the script is functional. thank you all

    Spoiler

    //  ______________________________________________________________________
    // /                                                                      \
    // |            _           _   _   _                                      |
    // |           | |__  _ __ / \ | |_| |__   ___ _ __   __ _                 |
    // |           | '_ \| '__/ _ \| __| '_ \ / _ \ '_ \ / _` |                |
    // |           | |_) | | / ___ \ |_| | | |  __/ | | | (_| |                |
    // |           |_.__/|_|/_/   \_\__|_| |_|\___|_| |_|\__,_|                |
    // |                                                                       |
    // |                         brAthena Script                               |
    // |-----------------------------------------------------------------------|
    // | Nome do Script: Sistema PvP 1.5 [SQL]                                 |
    // |-----------------------------------------------------------------------|
    // | Criado por: eA/brA Dev. Team                                          |
    // |-----------------------------------------------------------------------|
    // | Versão brA: 1.5                                                       |
    // |-----------------------------------------------------------------------|
    // | Descrição:                                                            |
    // | Um sistema PvP com várias arenas                                      |
    // |-----------------------------------------------------------------------|
    // | Changelog:                                                            |
    // | 1.0 Modificação [brAthena]                                            |
    // | [brA]Floozie [Criador]                                                |
    // 1.1 Relocorido
    // 1.2 Adicionado novos Sons
    // 1.3 Almentada Ranking
    // \_______________________________________________________________________/
    //============================================================
    -    script    PvP_InitFunc    -1,{
    OnInit:
    //= Mapas ====================================================
    set $@map$[1],"guild_vs3";
    set $@map$[2],"pvp_y_1-2";
    //= SoundList ================================================
    set $@Sounds$[1], "First Blood";
    set $@Sounds$[2], "Double Kill";
    set $@Sounds$[3], "Triple Kill";
    set $@Sounds$[4], "Monster Kill";
    set $@Sounds$[5], "Mega Kill";
    //============================================================
    }
    prontera,162,193,5    script    Entrada PvP        943,{

    set .@n$, "[ ^cc0000Porteiro PvP^000000 ]";
    INICIO:
    mes .@n$;
    mes "Arena 01 : ^0000FFPVP Arena^000000";
    mes "Arena 02 : ^FF0000PVP Izlude^000000";
    mes "O que você gostaria de fazer ?";
    next;
    switch(select("^3366FFEscolher Arena^000000:^800080Visualizar Ranking^000000:^00FF00Ver Minha Posição^000000:Sair")){
    case 1:
    mes "Escolha a Arena que gostaria de entrar";
    mes "Arena 01 : ^0000FFPVP Arena^000000";
    mes "Arena 02 : ^FF0000PVP Izlude^000000";
    next;
    switch(select("- ^0000FFArena Fechada^000000 [ "+getmapusers($@map$[1])+" ]:- ^FF0000Arena Izlude^000000 [ "+getmapusers($@map$[2])+" ]:- Nenhuma")){

    case 1:
    warp $@map$[1],0,0;
    announce ""+strcharinfo(0)+" Entrou no PvP 1!!",bc,0xBAB9B9;
    end;

    case 2:
    warp $@map$[2],0,0;
    announce ""+strcharinfo(0)+" Entrou no PvP for All Room !!",bc,0xBAB9B9;
    end;

    close;
    }
    }
    }
    warp $@map$[4],0,0;
    end;

    case 5:
    if(Class < 4023 || Class > 4045){
    mes .@n$;
    mes "Só babys podem entrar nesse PvP !";
    close;
    }
    warp $@map$[5],128,114;
    end;

    case 6:
    close;
    }

    case 2:
    mes .@n$;
    mes "Escolha a Arena do Rank:";
    next;
    switch(select("- Rank ^0000FFArena 01^000000:- Rank ^FF0000Arena 02^000000:- Voltar")){

    case 1: callfunc("PvPS_Func","Ranking_Arena",1);close;
    case 2: callfunc("PvPS_Func","Ranking_Arena",2);close;
    case 6: goto INICIO;end;

    }

    case 3:
    mes .@n$;
    mes "Escolha o Tipo de PVP:";
    next;
    switch(select("- ^0000FFArena 01^000000:- ^FF0000Arena 02^000000:- Voltar")){

    case 1: callfunc("PvPS_Func","MeuRanking",1);close;
    case 2: callfunc("PvPS_Func","MeuRanking",2);close;
    case 6: goto INICIO;end;
    }
    close;
    }

    }

    -    script    ArenaPvP#Events    -1,{

    OnPCKillEvent:
    getmapxy(@mapa$,@x,@y,0);
    for(set @i,1;( @i <= getarraysize($@map$)-1);set @i,@i+1)
    {
    if($@map$[@i] == @mapa$) callfunc("PvPS_Func","KillEvent",@i);
    }
    OnPCDieEvent:
    getmapxy(@mapa$,@x,@y,0);
    for(set @i,1;@i < getarraysize($@map$);set @i,@i+1)
    {
    if($@map$[@i] == @mapa$) callfunc("PvPS_Func","DieEvent",@i);
    }
    }

    function    script    PvPS_Func    {
    if(getarg(0) == "Ranking_Arena")
    {
    query_sql "SELECT `nome`, `matou`, `morreu`, `pontos` FROM `pvp_arenas` WHERE `id`="+getarg(1)+" ORDER BY `pontos` DESC LIMIT 10",@nome$,@matou,@morreu,@pontos;
    mes "(Nome - ^3366FFMatou^000000 - ^FF9900Morreu^000000 - ^FF0000Saldo^000000)";
    for(set @i,0;@i <= 99;set @i,@i+1){
    mes "["+(@i+1)+"] - "+@nome$[@i]+" - ^3366FF"+@matou[@i]+"^000000 - ^FF9900"+@morreu[@i]+"^000000 - ^FF0000"+@pontos[@i]+"^000000";
    }
    return;
    }

    if(getarg(0) == "MeuRanking")
    {
    query_sql "SELECT `nome`, `matou`, `morreu`, `pontos` FROM `pvp_arenas` WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'",@nome$,@matou,@morreu,@pontos;
    if(@nome$ == ""){
    mes .@n$;
    mes "Você nunca participou dessa arena !";
    close;
    }
    mes .@n$;
    mes "Você Matou: ^3366FF"+@matou+" ^000000Vezes";
    mes "Você Morreu: ^FF9900"+@morreu+" ^000000Vezes";
    mes "Seu Saldo: ^FF0000"+@pontos+" ^000000Vezes";
    return;
    }

    if(getarg(0) == "KillEvent")
    {
    set @nome$,"";
    set @PvPPoints,0;
    query_sql "SELECT `nome`,`matou` FROM `pvp_arenas` WHERE `id` = "+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'",@nome$,@PvPPoints;
    if(@nome$ == "") query_sql "INSERT INTO `pvp_arenas` (`id`, `nome`, `matou`, `pontos`) VALUES ("+getarg(1)+",'"+strcharinfo(0)+"',1,1)"; else
    query_sql "UPDATE `pvp_arenas` SET `matou` = `matou`+1, `pontos` = `pontos`+1 WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'";
    set @PvPPoints, @PvPPoints+1;
    dispbottom "Pontos: "+@PvPPoints;
    set @soundKills,@soundKills+1;
    if(@soundKills >= getarraysize($@Sounds$)) set @soundKills,@soundKills-1;
    announce "O Jogador [ "+strcharinfo(O)+" ] matou [ "+rid2name(killedrid)+" ] e está em "+$@Sounds$[@soundKills]+" !",bc_map,0xD20000;
    soundeffectall $@Sounds$[@soundKills]+".wav",0,@mapa$;
    end;
    }

    if(getarg(0) == "DieEvent")
    {
    set @soundKills,0;
    set @nome$,"";
    query_sql "SELECT `nome` FROM `pvp_arenas` WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'",@nome$;
    if(@nome$ == "") query_sql "INSERT INTO `pvp_arenas` (`id`, `nome`, `morreu`, `pontos`) VALUES ("+getarg(1)+",'"+strcharinfo(0)+"',1,-1)"; else
    query_sql "UPDATE `pvp_arenas` SET `morreu` = `morreu`+1, `pontos` = `pontos`-1 WHERE `id`="+getarg(1)+" AND `nome` = '"+strcharinfo(0)+"'";
    end;
    }
    }

    //=== MapFlags - Arenas =================================
    // Não mude isso caso não saiba o que está fazendo !
    //- Arena 01 --------------------------------------------
    guild_vs1    mapflag    gvg    off
    guild_vs1    mapflag    nowarp
    guild_vs1    mapflag    noteleport
    guild_vs1    mapflag    nowarpto
    guild_vs1    mapflag    nobranch
    guild_vs1    mapflag    nosave    SavePoint
    guild_vs1    mapflag    nomemo
    guild_vs1    mapflag    nopenalty
    guild_vs1    mapflag    pvp

    //- Arena 02 --------------------------------------------
    guild_vs2    mapflag    gvg    off
    guild_vs2    mapflag    nowarp
    guild_vs2    mapflag    noteleport
    guild_vs2    mapflag    nowarpto
    guild_vs2    mapflag    nobranch
    guild_vs2    mapflag    nosave    SavePoint
    guild_vs2    mapflag    nomemo
    guild_vs2    mapflag    nopenalty
    guild_vs2    mapflag    pvp
    guild_vs2    mapflag    noexp

    guild_vs3    mapflag    noexp

    //- Arena 03 --------------------------------------------
    guild_vs5    mapflag    gvg    off
    guild_vs5    mapflag    nowarp
    guild_vs5    mapflag    noteleport
    guild_vs5    mapflag    nowarpto
    guild_vs5    mapflag    nobranch
    guild_vs5    mapflag    nosave    SavePoint
    guild_vs5    mapflag    nomemo
    guild_vs5    mapflag    nopenalty
    guild_vs5    mapflag    pvp
    guild_vs5    mapflag    noexp
    //- Arena 04 --------------------------------------------
    pvp_n_1-5    mapflag    gvg    off
    pvp_n_1-5    mapflag    nowarp
    pvp_n_1-5    mapflag    noteleport
    pvp_n_1-5    mapflag    nowarpto
    pvp_n_1-5    mapflag    nobranch
    pvp_n_1-5    mapflag    nosave    SavePoint
    pvp_n_1-5    mapflag    nomemo
    pvp_n_1-5    mapflag    nopenalty
    pvp_n_1-5    mapflag    pvp
    pvp_n_1-5    mapflag    noexp

    guild_vs2,65,64,2    script    Sair do PvP    837,{

    mes "[Teleportador]";
    mes "Você quer sair do PvP?";
    next;
    menu "Sim",sim,"Não",cancelar;

    sim:
    mes "[Teleportador]";
    mes "Até Logo!";
    next;
    warp "prontera",156,181;
    close;

    cancelar:
    mes "[Teleportador]";
    mes "Tudo bem, ^5566FF"+strcharinfo(0)+"^000000, fale comigo quando quiser sair.";
    close;

    }
     

     

     

  11. Hi people. I have this script for changing groups but I check the database and the char remains in the default group 0, I used it on an item and the message appears in the game that it was active but nothing is changed in the DB.

    script:

    Spoiler

    -    script    vip_group_free    -1,{
        OnSetVIP:
            #TEMP_GROUP_V  = gettimetick(2) + (7 * 24 * 60 * 60);//time in seconds
        OnPCLoginEvent:
            if (#TEMP_GROUP_V > gettimetick(2)) {
                atcommand "@adjgroupid 5";
                .@second = #TEMP_GROUP_V - gettimetick(2);
                addtimer (.@second * 1000), strnpcinfo(3)+"::OnExpire";
                dispbottom "Seu VIP expira em: "+gettimestr("%Y-%m/%d %H:%M:%S",21,#TEMP_GROUP_V);
            }
            end;
            
        OnExpire:
            atcommand "@adjgroupid 0";
            end;
    }

    item_db_usable.yml:

    Spoiler

      - Id: 7551
        AegisName: Ticket02
        Name: 6.18 Ticket
        Type: Usable
        Buy: 20
        Weight: 10
        Trade:
          NoDrop: true
          NoTrade: true
          NoCart: true
          NoStorage: true
          NoGuildStorage: true
          NoMail: true
          NoAuction: true
        Script: |
          doevent "vip_group_free::OnSetVIP";

     

  12. 1 hour ago, Winterfox said:
    prontera,142,173,5	script	Recompensas Diarias	911,{
    	.@cd = 60 * 60 * 24; // 24 hrs
    	.@time = gettimetick(2);
       
    	if ( #DAILYRENTREWARD + .@cd > .@time ) {
    		mes "Volte novamente em " + Time2Str(#DAILYRENTREWARD + .@cd) + " para pegar sua recompensa!";
    		close;
    	}
       
    	mes "Aqui está sua recompensa, aproveite-a!";
    	close2;
    
    	// Pick one item index randomly as reference.
    	.@reward_item_index = rand(getarraysize(.reward_items));
    
    	// Use the reference to get the item id and duration of the referenced item.
    	rentitem(.reward_items[.@reward_item_index], .reward_item_durations[.@reward_item_index]);
    
    	#DAILYRENTREWARD = .@time;
    	end;
    
    	OnInit:
    		// Set the list of possible items and how long they should be rentable.
    		setarray(.reward_items, 4302, 720);
    		setarray(.reward_item_durations, 7200, 7200);
    }

     

    Perfect my friend, thank you very much! I have a question, I tried to copy my old script to deliver rentitem gifts to a random NPC and another to give several rentitems but it didn't work, is it due to the 24h waiting time? I thought creating another NPC wouldn't count

    your script:

    Spoiler

    prontera,142,173,5    script    Recompensas Diarias    911,{
        .@cd = 60 * 60 * 24; // 24 hrs
        .@time = gettimetick(2);
       
        if ( #DAILYRENTREWARD + .@cd > .@time ) {
            mes "Volte novamente em " + Time2Str(#DAILYRENTREWARD + .@cd) + " para pegar sua recompensa!";
            close;
        }
       
        mes "Aqui está sua recompensa, aproveite-a!";
        close2;

        // Pick one item index randomly as reference.
        .@reward_item_index = rand(getarraysize(.reward_items));

        // Use the reference to get the item id and duration of the referenced item.
        rentitem(.reward_items[.@reward_item_index], .reward_item_durations[.@reward_item_index]);

        #DAILYRENTREWARD = .@time;
        end;

        OnInit:
            // Set the list of possible items and how long they should be rentable.
            setarray(.reward_items, 30023,30024,30025,30026,30027,30028,30029,30030,30031);
            setarray(.reward_item_durations, 10800,10800,10800,10800,10800,10800,10800,10800);
    }

    Mine:

    Spoiler

    prontera,139,173,5    script    Recompensas Diarias    911,{
    .@cd = 60*60*24; // 24 hrs
    .@time = gettimetick(2);
    if ( #DAILYRENTREWARD+.@cd > .@time ) {
    mes "Volte novamente em "+Time2Str(#DAILYRENTREWARD+.@cd)+" para pegar sua recompensa!";
    close;
    }
    mes "Aqui está sua recompensa, aproveite-a!";
    close2;
    rentitem 30023, 10800; // <id>, <time in seconds>
    rentitem 30024, 10800;
    rentitem 30025, 10800;
    rentitem 30026, 10800;
    rentitem 30027, 10800;
    rentitem 30028, 10800;
    rentitem 30029, 10800;
    rentitem 30030, 10800;
    rentitem 30031, 10800;
    #DAILYRENTREWARD = .@time;
    end;
    }

     

  13. Hi friends. I'm having trouble getting this gift script to randomly deliver just one rentitem.

    Spoiler
    1. prontera,142,173,5 script Recompensas Diarias 911,{
    2. .@cd = 60*60*24; // 24 hrs
    3. .@time = gettimetick(2);
    4. if ( #DAILYRENTREWARD+.@cd > .@time ) {
    5. mes "Volte novamente em "+Time2Str(#DAILYRENTREWARD+.@cd)+" para pegar sua recompensa!";
    6. close;
    7. }
    8. mes "Aqui está sua recompensa, aproveite-a!";
    9. close2;
    10. rentitem 4302, 7200; // <id>, <time in seconds>
    11. rentitem 4403, 7200;
    12. #DAILYRENTREWARD = .@time;
    13. end;
    14. }

     

  14. Hi people. I've already downloaded all the palettes.grf available here on the forum but they all still have very strange black colors.
    min_cloth_color: 0
    max_cloth_color: 553
    I already tried to change it to 34 of a specific grf but I was also unsuccessful... and neither was the Official Cloth Palettes diff option... I think it could be something related to the fact that it is Pre-Renewal. Any idea? please

    blackcolor.png

  15. 30 minutes ago, Nyaniverse said:

    Ah yes, sorry it was my mistake, please edit this line
     

    if(inarray(.@blacklist[0],.@items[.@i]) != -1){

    to this
     

    if(inarray(.@blacklist[0],getequipid(.@items[.@i])) != -1){

     

    worked perfectly! However, I noticed that if the block list item ID is there the NPC refines the shoes "ID 64 @refine", is there any way to block any refinement until the blocked list item is not equipped?

    thank you my friend

×
×
  • Create New...