Jump to content

Omnipotent

Members
  • Content Count

    17
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Omnipotent


  1. Try to debug it.
    Change:

    	mes "The seal seems to be dormant.";
    	mes "There is a fragment missing from the crest of the Seal.";
    	mes "Surely I saw a familiar fragment before...";
    

    to:

    	mes "The seal seems to be dormant.";
    	mes "There is a fragment missing from the crest of the Seal.";
    	mes "Surely I saw a familiar fragment before...";
    	mes "You have to put ^ff0000Fragment of "+.@j$ +"^000000";
    	mes "And have the item "+ getitemname ( .@i[0] ) +".";
    

    If nothing appears in the item part, then it's a problem with the .@seal var. If something appears, you did something wrong.


  2. Note: I have no idea if this will work, because of the st struct.

     

    src/map/npc.c:

     

    // MvP tomb [GreenBox]
    void run_tomb(struct map_session_data* sd, struct npc_data* nd) {
        char buffer[200];
        char time[10];
     
        nullpo_retv(nd);
        strftime(time, sizeof(time), "%H:%M", localtime(&nd->u.tomb.kill_time));
     
        // TODO: Find exact color?
        snprintf(buffer, sizeof(buffer), msg_sd(sd,857), nd->u.tomb.md->db->name); // "[ ^EE0000%s^000000 ]"
        clif->scriptmes(sd, nd->bl.id, buffer);
     
        clif->scriptmes(sd, nd->bl.id, msg_sd(sd,858)); // "Has met its demise"
     
        snprintf(buffer, sizeof(buffer), msg_sd(sd,859), time); // "Time of death : ^EE0000%s^000000"
        clif->scriptmes(sd, nd->bl.id, buffer);
     
        clif->scriptmes(sd, nd->bl.id, msg_sd(sd,860)); // "Defeated by"
     
        snprintf(buffer, sizeof(buffer), msg_sd(sd,861), nd->u.tomb.killer_name[0] ? nd->u.tomb.killer_name : msg_sd(sd,15)); // "[^EE0000%s^000000]" / "Unknown"
        clif->scriptmes(sd, nd->bl.id, buffer);
     
        clif->scriptclose(sd, nd->bl.id);
    
    
    To:
    // MvP tomb [GreenBox]
    void run_tomb(struct map_session_data* sd, struct npc_data* nd) {
    	char buffer[200];
    	char time[10];
    
    	nullpo_retv(nd);
    	strftime(time, sizeof(time), "%H:%M", localtime(&nd->u.tomb.kill_time));
    
    	st->state = RERUNLINE;
    	st->sleep.tick = 5000;
    
    	// TODO: Find exact color?
    	snprintf(buffer, sizeof(buffer), msg_sd(sd,857), nd->u.tomb.md->db->name); // "[ ^EE0000%s^000000 ]"
    	clif->scriptmes(sd, nd->bl.id, buffer);
    
    	clif->scriptmes(sd, nd->bl.id, msg_sd(sd,858)); // "Has met its demise"
    
    	snprintf(buffer, sizeof(buffer), msg_sd(sd,859), time); // "Time of death : ^EE0000%s^000000"
    	clif->scriptmes(sd, nd->bl.id, buffer);
    
    	clif->scriptmes(sd, nd->bl.id, msg_sd(sd,860)); // "Defeated by"
    
    	snprintf(buffer, sizeof(buffer), msg_sd(sd,861), nd->u.tomb.killer_name[0] ? nd->u.tomb.killer_name : msg_sd(sd,15)); // "[^EE0000%s^000000]" / "Unknown"
    	clif->scriptmes(sd, nd->bl.id, buffer);
    
    	clif->scriptclose(sd, nd->bl.id);
    }

  3. conf/map/battle.conf:

     

    // Determines max number of characters that can stack within a single cell.
    // Official - Only affects the walking routines of characters, including monsters.
    // If a unit stops walking and is on a cell with more than stack limit
    // characters on it, it will walk to the closest free cell.
    // Custom - This variation will make every full cell to be considered a wall.
    // NOTE: For this setting to take effect you have to use a server compiled
    // with Cell Stack Limit support (see src/map/map.h)
    official_cell_stack_limit: 1
    custom_cell_stack_limit: 1
    

  4. Pairs Game

     

     

     

    Hello! This is the very known "pairs" game.

     

    What does this script do?

    Basically this: https://en.wikipedia.org/wiki/Concentration_(game)
    You play the pairs game with another player, that's it. Not much to say.

     

     

    How to configure?

    You can change the coordinates of the script by modifying #1_memo. The script will calculate the other coordinates automatically. If you want to change the map as well, you can use the Replace function in Notepad with prontera,1,1,4 to yournewmap,1,1,4

     

    If you think the separation between NPCs isn't enough or is too much, you can change this part:

     

        .@x+= 3*((.@i - 1)%6);
        .@y-= 3*((.@i - 1)/6);
     

    If you don't want to have extra turns edit .@extra var to 0.

     

     

     

    Screenshots

    3xP34Qi.jpgA8gaZfV.jpg

     

     

    Mirror: http://pastebin.com/download/14MRyCZq

    Pairs.txt


  5. Item Evolution System

     

     

    Hello! It has been a lot of time since I don't make a release. One of the most important reasons is my laziness to do a topic. But I tried to fight against it and here I am.
    This is an old script. It was very ugly in the past (now it's just ugly and has been optimised). I tested it a good amount of times and I didn't found any bugs in my tests.

     

     

    What does this script do?

    It can evolve equips when you kill an amount of monsters, or gather experience from them. You can request aditional types if you want. I could update this... probably.

     

     

    How to configure?

    Well, I like to think the config is easy, but I don't really know. You can add items by using callsub Ids. The structure is like this:

    callsub Ids, ID 1, evolution mode 1, mob id 1, amount to advance 1%, ID 2..., mob id 2... and so. Every entry is a different evolving line which can consist of... 10 items if you like (i.e. Poring Wings -> Super Poring Wings -> Mega Poring Wings -> God of Poring Wings, and so).

    The evolution modes, as of now, are the next:

    • 1 = Every X amount of mobs
    • 2 = Every x amount of experience

    You can also define if the evolution itself is handled by the system or you have some quest in mind with the .auto variable.

     

     

     

    ScreenshotsKRQIu63.jpg

    qfzbfn1.jpg

    WLbLmiI.jpg

    mYOWb0n.jpg

     

     

     

    So, enjoy the script.

     

     

    Mirror: http://pastebin.com/dl/6xk49UED

     

     

    Note: the idea itself comes from Pow Supremacy. Credits to them.

    Items_Evo.txt


  6. Sorry, forgot a label and had a little typo.

     

    prontera,100,100,4    script    Thanatos Caller    100,{    setarray .@item[0], 512, 1;    if ( mobcount ( "this", "Thanatos Caller::OnThan" ) )	    mes "Thanatos already summoned.";    else if ( gettimetick ( 2 ) - .summon >= 3*60 )    {	    mes "Hi, I have the number of cellphone of Thanatos.";	    mes "I'm the only one who has it. And I can call him if you give me:";	    mes .@item[1] +" "+ getitemname ( .@item[0] );	    if ( countitem ( .@item[0] ) >= .@item[1] )	    {		    select "Summon";		    monster "this", 0, 0, "--ja--", THANATOS, 1, "Thanatos Caller::OnThan";		    delitem .@item[0], .@item[1] ;	    }	    else		    mes "You don't have the required.";    }    else    {	    set .@s, 3*60 - gettimetick ( 2 ) + .summon;	    mes "Please wait "+ .@s/3600 +"h "+ .@s/60 +"m "+ .@s%60 +"s";    }    close;    OnThan:    set .summon, gettimetick ( 2 );    end ;    }

  7.  

    prontera,100,100,4    script    Thanatos Caller    100,{    setarray .@item[0], 512, 1;    if ( mobcount ( "this", "Thanatos Caller::OnThan" ) )        mes "Thanatos already summoned.";    else if ( gettimetick ( 2 ) - .summon < 3*60 )    {        mes "Hi, I have the number of cellphone of Thanatos.";        mes "I'm the only one who has it. And I can call him if you give me:";        mes .@item[1] +" "+ getitemname ( .@item[0] );        if ( countitem ( .@item[0] ) >= .@item[1] )        {            select "Summon";            monster "this", 0, 0, "--ja--", THANATOS, 1, "Thanatos Caller::OnThan";            delitem .@item[0], .@item[1] ;        }        else            mes "You don't have the required.";    }    else    {        set .@s, 3*60 - gettimetick ( 2 ) + .summon;        mes "Please wait "+ .@s/3600 +"h "+ .@s/60 +"m "+ .@s%60 +"s";    }    close;    }

  8. Cuando diffeas el exe con —recomiendo— NEMO, está la opción de Allow Multiple Windows. Simplemente la deshabilitas.
    Y el script:

     

    -    script    double_ip    -1,{OnPCLoginEvent:    if ( query_sql ( "SELECT `account_id` FROM `login` WHERE `last_ip` = '"+ getcharip ( ) +"' LEFT JOIN `char` ON `login.account_id` = `char.account_id` WHERE `char.online` = '1'", .@a ) > 1 )    {        message strcharinfo ( 0 ), "Doble IP detectada. Serás expulsado en breve.";        sleep2 3000 ;        atcommand "@kick "+ strcharinfo ( 0 );    }    }
×
×
  • Create New...

Important Information

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