Jump to content

Eross

Members
  • Posts

    378
  • Joined

  • Last visited

Posts posted by Eross

  1. Good day ^_^ ! Today , Im trying to make an NPC that work just like the normal floating rates .. The only modification is it will require certain amount of donation to function ... 

     

    * Players will donate zeny by inputing the amount 

    * While, the NPC has a target amount of donation like 5,000,000z

    * if ($serverdonation >= 5000000) ~> The NPC Will announce that the floating rate will be activated for 24hours (Changing rates every OnMinute0000 )

    * And also it has to have a timer that will end after 24hours 

     

    Now the thing is .. I dont know how to trigger It every hour while the event is active ... I can only trigger it ONCE by donating 5m Zeny 

     

     

     

    Here's my unfinished edit

    Quote

    //===== rAthena Script =======================================
    //= Floating Server Rates
    //===== By: ==================================================
    //= Lupus
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= It's a simply example of setbattleflag
    //= This script will change your server rates from 1x to 1.5x every 6 hours
    //= Note: It doesn't affect Card granted drops, MVP & Treasure Chests drops ^_-
    //=       It also doesn't affect CARD drops, because they are just 0.01%
    //===== Additional Comments: =================================
    //= You can make incredible scripts with 'setbattleflag'!
    //============================================================

    //-    script    FloatingRates    -1,{
    prontera,123,209,6    script    Broker#FloatingRates    84,{
        mes "[Broker]";
        mes "Our server's current fund is:";
        mes "" + callfunc("F_InsertComma",$fr_zeny) + " Zeny";
        next;
        mes "[Broker]";
        mes "Would you like to make a donation?";
        next;
        switch(select("Yes:No")) {
            case 1:
            Change_Amount:            
                mes "[Broker]";
                mes "Please input your donation amount.";
                next;
                input .@fr_zeny;
                if (.@fr_zeny < 1){
                    mes "[Broker]";
                    mes "Input number greater than 0.";
                    end;        
                }    
                    mes "[Broker]";
                    mes "Please confirm Zeny transfer..";
                    next;
                    switch(select("Cancel:Change Amount:Confirm")) {
                        case 1: 
                            end;
                        
                        case 2: 
                            set .@fr_zeny,0;
                            next;
                            goto Change_Amount;
                            
                        case 3:    
                            if (Zeny < .@fr_zeny) {
                                mes "[Broker]";
                                mes "Sorry, but you don't have enough";
                                mes "zeny to proceed on payment.";
                                end;
                            }
                                mes "[Broker]";
                                mes "Zeny has succesfully transfered.";
                                $fr_zeny += .@fr_zeny;
                                    if ($fr_zeny >= .@fr_targetdonation) {
                                        
                                    }
                                end;                        
                    
                    }

            
            case 2:
        
        }


    OnMinute00:
    //-------------------
        set $@brate,rand(500,800);
        set $@jrate,rand(500,599);
        //set $@drate,rand(100,150);
        //Base exp
        setbattleflag("base_exp_rate",$@brate);
        //Job exp
        setbattleflag("job_exp_rate",$@jrate);
        set $@brateminus, ($@brate/100) * 100;
        set $@jrateminus, ($@jrate/100) * 100;
        announce "Current rates are: "+($@brate/100)+"."+($@brate-$@brateminus)+"x "+($@jrate/100)+"."+($@jrate-$@jrateminus)+"x ",bc_all,0xFF6060;
        end;


    OnInit:
        set .@fr_targetdonation, 5000;
        end;
    }


     

     

  2. Hi!! Is it posible to have a use *setnpcdisplay "<npc name",MOB ID .. But the monster is set to stone cursed status ?? Its quite annoying hearing soundeffects ..I just want to make an NPC that changes into monster sprite every hour but doesnt move or make any noise ...thanks

  3. On 5/11/2021 at 2:36 AM, Mastagoon said:

    What client version are you using? and is it hexed ? if so please share your NEMO hex profile.

    Seems like a client-side problem. Basically your server is not receiving the correct packets from the client. I don't have alot of expertise in this area, but first you should make sure the client version you're using matches the PACKETVER constant on your server side.

    Hi ! thankyou for your answer .. here's my diff list 

     

    Quote

    1 Use Tilde for Matk
    3 Chat Flood Remove Limit
    8 Custom Window Title
    9 Disable 1rag1 type parameters (Recommended)
    13 Disable Ragexe Filename Check (Recommended)
    15 Disable HShield (Recommended)
    16 Disable Swear Filter
    17 Enable Official Custom Fonts
    19 Enable Title Bar Menu
    20 Extend Chat Box
    21 Extend Chat Room Box
    22 Extend PM Box
    23 Enable /who command (Recommended)
    24 Fix Camera Angles (Recommended)
    28 Increase Headgear ViewID
    30 Increase Zoom Out 50%
    33 Always Call SelectKoreaClientInfo() (Recommended)
    291 Hide packets from peek (Recommended)
    35 Read Data Folder First
    36 Read msgstringtable.txt (Recommended)
    37 Read questid2display.txt (Recommended)
    38 Remove Gravity Ads (Recommended)
    39 Remove Gravity Logo (Recommended)
    40 Restore Login Window (Recommended)
    41 Disable Nagle Algorithm (Recommended)
    43 Always Use Email for Char Deletion
    44 Translate Client (Recommended)
    46 Use Normal Guild Brackets (Recommended)
    48 Use Plain Text Descriptions (Recommended)
    53 Use Ascii on All LangTypes (Recommended)
    64 @ Bug Fix (Recommended)
    67 Disable Quake skill effect
    68 Enable 64k Hairstyle
    69 Extend Npc Dialog Box
    73 Remove Hourly Announce (Recommended)
    75 Enable Flag Emoticons
    84 Remove Serial Display (Recommended)
    88 Allow space in guild name
    90 Enable DNS Support (Recommended)
    97 Cancel to Login Window (Recommended)
    200 Enable Multiple GRFs - Embedded
    207 Resize Font
    209 Enable Mail Box for All LangTypes
    213 Disable Help Message on Login (Recommended)
    216 Hide Cash Shop
    225 Show Register Button
     

     

     

    On 5/11/2021 at 4:45 AM, Tokei said:

    Heya,

    The issue is from your char-server. "intif" is for "interserver" and "interface", intif_parse_StorageReceived (which is for all storages, including inventory, etc) is a packet the char-server sends to the map-server, type 3 is TABLE_STORAGE. Long story short, it means it failed to load the storage data for your character. The char-server logs should give you more information about the issue, though. The... fact that you aren't seeing more information is strange. It's not an invalid storage index as you'd get an error such as "Invalid storage with id #". So this only leaves an invalid SQL query. Your storage table doesn't seem to match what the char-server is expecting. Make sure your storage table matches with what rAthena is using. You should have received an SQL error, though.

    Hi sir ! actually after my first run using this fresh rathena I got multiple SQL error related on storages that asking for ENCHANTGRADE and on my `login` table that is asking for WEB_AUTH_TOKEN .. so I deleted all the tables and replace them from my main.sql ... Do I need to change anything ?? since there are no error visible on my map, char and logserv unless I login which is ntif_parse_StorageReceived .. I dont know how to fix this ,, please help Thankyou so much

     

    AFTER CHECKING I NOTICED THAT MY `STORAGE` TABLE IS NOT ACTUALLY MATCHED AND I MANAGED TO CHANGE IT WITH THIS
     

    After checking my `storage` table I noticed that it is not actually matched ! ... I replaced it with this 

    Quote

    CREATE TABLE IF NOT EXISTS `storage` (
      `id` int(11) unsigned NOT NULL auto_increment,
      `account_id` int(11) unsigned NOT NULL default '0',
      `nameid` int(10) unsigned NOT NULL default '0',
      `amount` smallint(11) unsigned NOT NULL default '0',
      `equip` int(11) unsigned NOT NULL default '0',
      `identify` smallint(6) unsigned NOT NULL default '0',
      `refine` tinyint(3) unsigned NOT NULL default '0',
      `attribute` tinyint(4) unsigned NOT NULL default '0',
      `card0` int(10) unsigned NOT NULL default '0',
      `card1` int(10) unsigned NOT NULL default '0',
      `card2` int(10) unsigned NOT NULL default '0',
      `card3` int(10) unsigned NOT NULL default '0',
      `option_id0` smallint(5) NOT NULL default '0',
      `option_val0` smallint(5) NOT NULL default '0',
      `option_parm0` tinyint(3) NOT NULL default '0',
      `option_id1` smallint(5) NOT NULL default '0',
      `option_val1` smallint(5) NOT NULL default '0',
      `option_parm1` tinyint(3) NOT NULL default '0',
      `option_id2` smallint(5) NOT NULL default '0',
      `option_val2` smallint(5) NOT NULL default '0',
      `option_parm2` tinyint(3) NOT NULL default '0',
      `option_id3` smallint(5) NOT NULL default '0',
      `option_val3` smallint(5) NOT NULL default '0',
      `option_parm3` tinyint(3) NOT NULL default '0',
      `option_id4` smallint(5) NOT NULL default '0',
      `option_val4` smallint(5) NOT NULL default '0',
      `option_parm4` tinyint(3) NOT NULL default '0',
      `expire_time` int(11) unsigned NOT NULL default '0',
      `bound` tinyint(3) unsigned NOT NULL default '0',
      `unique_id` bigint(20) unsigned NOT NULL default '0',
      `enchantgrade` tinyint unsigned NOT NULL default '0',
      PRIMARY KEY  (`id`),
      KEY `account_id` (`account_id`)
    ) ENGINE=MyISAM;

     

  4. Hi I got so many errors 

    image.thumb.png.98713ff9340f52b9bccc1fe941d35d5a.png ..can someone help me ?

     

    On 2/11/2021 at 5:14 AM, grenat50 said:

    @JinYuichi Which rAthena version are you using ? It works on the latest version. Ideally, it is better to add it manually with caution, it's a good lesson to learn as well. Thanks to let me know about the maps, I forgot to mention in the installation process that you need to recompile your map_cache with the new maps already installed in the directory/grf the server reads to compile it.

    Hi! What do you mean about this ? Im having same problem can you help me

  5. 5 hours ago, Balfear said:

    Need to add check

    
            case 1:
                query_sql("SELECT `balance` FROM `" + escape_sql(.redeemTable$) + "` WHERE `account_id` = " + getcharid(3), .@credits);
                if (.@credits > 0){
                mes "How many Donation Credits do you wish to redeem?";
                next;
                mes .npcName$;
                input .@withdrawCredits,1,.@credits;
                if(.@withdrawCredits > .@credits) {
                  	mes "You don't have enough credits.";
                  	close;
                }
                query_sql("UPDATE `" + escape_sql(.redeemTable$) + "` SET `balance` = `balance` - " + .@withdrawCredits + " WHERE `account_id` = " + getcharid(3) + "");
                set #CASHPOINTS,#CASHPOINTS + .@withdrawCredits;
                mes .@withdrawCredits + "x " ;
                } else {
                    mes "My records indicate that there are no rewards awaiting to be redeemed.";
                    mes "My deepest apologies for the misunderstanding.";
                }
            break;

     

    Hi sir ! Ive tested it but doesnt work ? Im just curious tho sir .. what those this mean ? 

    input .@withdrawCredits,1,.@credits;

    Why add ,1 after the .@withdrawcredits ?? when it has to be only .@credits ?

  6. Good day Rathena ! I need support here regarding @sikiro's Flux CP NPC Script .. This is use to redeam Donation Credits and convert into #CASHPOINTS ... Im having a little problem since I want to add restriction here ... 

    1. Lets say I have 500 Donation credits.. The NPC will ask HOW MUCH donation credits I want to convert into CASHPOINTS .. If I input 501 the NPC will not allow me to convert since it has bigger amount than my existing credit amount ... Im not that good in SQL ,... Please help 

     

    FULL SCRIPT:

    Quote

    prontera,139,182,4    script    Donor Rewards Redeemer    987,{
        // ----------------- NPC Settings -----------------
        // --- SET THESE BEFORE LOADING THE SCRIPT! ---
        
        // Server Name
        set .serverName$,"rAthena";
        
        // NPC Name to display during chat.
        // Default: "[Donor Rewards Redeemer]"
        set .npcName$,"[Donor Rewards Redeemer]";
        
        // DO NOT CHANGE THIS!
        // Default: "cp_redeemlog"
        set .redeemTable$,"cp_credits";
        set .itemTable$,"cp_redeemlog";
        
        // Display Credits to FluxCP Creators?
        // Help promote our product if its useful.
        // 0 = Disable. 1 = Enable.
        // Default: 1
        set .showCredits,0;
        
        // Max number of unique items to redeem at a time.
        // DO NOT RAISE THIS VALUE ABOVE 128 WITHOUT
        // MAKING THE NECESSARY SCRIPT ENGINE MODS
        // FOR SCRIPT ARRAY SIZING! DANGEROUS!
        // Default: 128
        set .numRedemptionsSimul,128; 
        // --------------- End NPC Settings ---------------

        // ----------------- Begin Script -----------------
        mes .npcName$;
        mes "Well hello there " + (Sex ? "good sir!" : "young madam!");
        mes "How may I be of assistance to you on this fine day?";
        next;
        prompt("I wish to redeem My Credits:Collect My items :Check my balance.");
        mes .npcName$;
    switch(@menu) {
            case 1:
                query_sql("SELECT `balance` FROM `" + escape_sql(.redeemTable$) + "` WHERE `account_id` = " + getcharid(3) + " LIMIT 0,30", .@credits);
                if (.@credits > 0){
                mes "How many Donation Credits do you wish to redeem?";
                next;
                mes .npcName$;
                input .@withdrawCredits,1,.@credits;
                query_sql("UPDATE `" + escape_sql(.redeemTable$) + "` SET `balance` = `balance` - " + .@withdrawCredits + " WHERE `account_id` = " + getcharid(3) + "");
                set #CASHPOINTS,#CASHPOINTS + .@withdrawCredits;
                mes .@withdrawCredits + "x " ;
                } else {
                    mes "My records indicate that there are no rewards awaiting to be redeemed.";
                    mes "My deepest apologies for the misunderstanding.";
                }
            break;
            case 2:
                query_sql "SELECT `id`, `nameid`, `quantity` FROM `" + escape_sql(.itemTable$) + "` WHERE `account_id` = " + getcharid(3) + " AND `redeemed` = 0 LIMIT " + .numRedemptionsSimul,.@id,.@nameid,.@quantity;
                if (getarraysize(.@id) > 0) {
                    mes "Items Pending Redemption: " + getarraysize(.@id);
                    for (set .@i,0; .@i < getarraysize(.@id); set .@i,.@i+1)
                        if (checkweight(.@nameid[.@i],.@quantity[.@i]) == 0) {
                            mes "I'm terribly sorry, but you are carrying too much to accept " + (.@i ? "any more of " : " ") + "your rewards at this time.";
                            mes "Please come back with fewer items.";
                        } else {
                            query_sql "UPDATE `" + escape_sql(.itemTable$) + "` SET `char_id` = " + getcharid(0) + ", `redeemed` = 1, `redemption_date` = NOW() WHERE `id` = " + .@id[.@i];
                            getitem .@nameid[.@i],.@quantity[.@i];
                            mes .@quantity[.@i] + "x " + getitemname(.@nameid[.@i]);
                        }
                    if (.@i == getarraysize(.@id)) {
                        mes "Thank you for your patronage " + (Sex ? "fine sir." : "ma'am.");
                        mes "Please enjoy your stay on " + .serverName$ + "!";
                    }
                    if (.showCredits)
                        callfunc "F_FluxCredits";
                } else {
                    mes "My records indicate that there are no rewards awaiting to be redeemed.";
                    mes "My deepest apologies for the misunderstanding.";
                }
            break;
            case 3:
                query_sql("SELECT `balance` FROM `" + escape_sql(.redeemTable$) + "` WHERE `account_id` = " + getcharid(3) + " LIMIT 0,30", .@credits);
                mes "You currently have " + .@credits + " donation credits.";
            break;
        }
        close;
        // ------------------ End Script ------------------
    }

    // ------------ Credits to FluxCP Creators ------------
    // - Please do not modify or delete this function or  -
    // - its contents. To disable the credits from being  -
    // - shown, set .showCredits to 0 in the NPC Settings -
    // - at the top of this file.                         -
    // ----------------------------------------------------

    function    script    F_FluxCredits    {
        mes "-----------------------------------";
        mes "Powered by Flux Control Panel.";
        mes "Copyright © 2008-2012 Matthew Harris and Nikunj Mehta.";
        mes "http://fluxcp.googlecode.com/";
        return;
    }
     

    The line that I need to modify:

     

    Quote

            case 1:
                query_sql("SELECT `balance` FROM `" + escape_sql(.redeemTable$) + "` WHERE `account_id` = " + getcharid(3) + " LIMIT 0,30", .@credits);
                if (.@credits > 0){
                mes "How many Donation Credits do you wish to redeem?";
                next;
                mes .npcName$;
                input .@withdrawCredits,1,.@credits;
                query_sql("UPDATE `" + escape_sql(.redeemTable$) + "` SET `balance` = `balance` - " + .@withdrawCredits + " WHERE `account_id` = " + getcharid(3) + "");
                set #CASHPOINTS,#CASHPOINTS + .@withdrawCredits;
                mes .@withdrawCredits + "x " ;
                } else {
                    mes "My records indicate that there are no rewards awaiting to be redeemed.";
                    mes "My deepest apologies for the misunderstanding.";
                }
            break;

    THANKYOU !!!

  7. 20 minutes ago, Rytech said:

    I would say its a possible issue with your msgstringtable.txt file but your not likely using one so outdated that issues with a 2012 client like that would appear. But I could be wrong. Make sure all your translation files are up-to-date.

    Hi sir @Rytech Ive fixed the problem an hour ago ... I diffed it using nemo and translate ... actually I have one more problem with my map in 2012 

     

    Did you encounter this one ? squares on floor

     

    image.png.92b29544b1964e2e11550f6c498edb79.png

  8. 5 hours ago, WhiteEagle said:

    Try this. (Change MvP-ROOM to your map name. If you have more maps, make a array.)

    add:

    
    if ( getmapxy(BL_PC) == "MvP-ROOM") end;

    before:

    
    setarray.mvpid[0],1916,1511,1785,1630,1039,1272,1719,1046,1389,1112,1115,1418,1252,1086,1885,1492,1734,1688,1373,2131,1147,1059,1150,1087,1190,1038,1157,1159,1623,1583,1312,1685,1658,1871,1768,1832,1779,2022,1708,1874,1751,1917,1647,1649,1651,1646,1650,1648,1120,1204,1259,1283,1289,1302,1307,1388,1582,1829,1830; setarray .minibossid[0],1120,1289,1302,1307,1388,1582;

     

    its not working sir

  9. Good day ! I have a script here that gives a player 60% chance to get an event coin for killing an MVP monster ... the problem here is I also have an MVP Room ... How will I make it disable on MVP Room maps ??? Please help because players are abusing it ,,Thankyou ! 

    -	script	wztokens	-1,{
    OnNPCKillEvent:
    setarray .mvpid[0],1916,1511,1785,1630,1039,1272,1719,1046,1389,1112,1115,1418,1252,1086,1885,1492,1734,1688,1373,2131,1147,1059,1150,1087,1190,1038,1157,1159,1623,1583,1312,1685,1658,1871,1768,1832,1779,2022,1708,1874,1751,1917,1647,1649,1651,1646,1650,1648,1120,1204,1259,1283,1289,1302,1307,1388,1582,1829,1830;
    setarray .minibossid[0],1120,1289,1302,1307,1388,1582;
    //setarray .minibossid[0],1090,1091,1092,1093,1096, 1120,1198,1203,1204,1205,1259,1262,1283,1289,1295,1302,1307,1320,1388,1582,1681,1700,1701,1702,1703,1704,1705,1706,1707,1720,1754,1755,1783,1829,1830,1831,1833,1839,1870;
    
    
    set .@mvpchance, 650; // 500 = 5.00%	
    set .@minichance, 200; // 500 = 5.00%	
    //set .@mobchance,  2; // 500 = 5.00%	
    set .@rand, rand(1000); // Random Rate
    
    	for (set .@c, 0; .@c < getarraysize(.mvpid); set .@c, .@c + 1){
    		if (( killedrid == .mvpid[.@c] ) && .@rand < .@mvpchance ) {
    			//getmapxy .@map$, .@x, .@y, BL_PC;
    			//makeitem 677, 1, .@map$, .@x + 0, .@y + 0;
    			getitem 7539, 1;
    			//message strcharinfo(0), "Obtained 1 Roulette Token for killing MVP monster ("+.@mvpchance /10+"% chance)";
    			announce "["+strcharinfo(0)+"] has obtained 1 WZ Token for killing an MVP/Boss monster",bc_all;
    			end;
    			}
    	if (( killedrid == .mvpid[.@c] ) && vip_status(1) ) {
    			getitem 7539, 1;
    			//message strcharinfo(0), "Obtained 1 Roulette Token for killing MVP monster ("+.@mvpchance /10+"% chance)";
    			announce "["+strcharinfo(0)+"] has obtained 1 WZ Token for killing an MVP/Boss monster",bc_all;
    			end;
    			}
    		}
    	}

     

  10. Hi ! recently i used Devil Square event ... But all my players are using duals to abuse rewards ... I just want to make a warp/portal that will restrict dual char to enter the area by checking its Gepard ID ... If no same ID the player will warp into reward area but if it has It will kick out the dual player ...Thankyou !

  11. 7 hours ago, Boss Robs said:
    
    /*==========================================
     *
     *------------------------------------------*/
    ACMD_FUNC(monster)
    {
    	char name[NAME_LENGTH];
    	char monster[NAME_LENGTH];
    	char eventname[EVENT_NAME_LENGTH] = "";
    	int mob_id;
    	int number = 0;
    	int count;
    	int i, range;
    	short mx, my;
    	unsigned int size;
    	nullpo_retr(-1, sd);
    
    	memset(name, '\0', sizeof(name));
    	memset(monster, '\0', sizeof(monster));
    	memset(atcmd_output, '\0', sizeof(atcmd_output));
    
    	if (!message || !*message) {
    			clif_displaymessage(fd, msg_txt(sd,80)); // Give the display name or monster name/id please.
    			return -1;
    	}
    	if (sscanf(message, "\"%23[^\"]\" %23s %11d", name, monster, &number) > 1 ||
    		sscanf(message, "%23s \"%23[^\"]\" %11d", monster, name, &number) > 1) {
    		//All data can be left as it is.
    	} else if ((count=sscanf(message, "%23s %11d %23s", monster, &number, name)) > 1) {
    		//Here, it is possible name was not given and we are using monster for it.
    		if (count < 3) //Blank mob's name.
    			name[0] = '\0';
    	} else if (sscanf(message, "%23s %23s %11d", name, monster, &number) > 1) {
    		//All data can be left as it is.
    	} else if (sscanf(message, "%23s", monster) > 0) {
    		//As before, name may be already filled.
    		name[0] = '\0';
    	} else {
    		clif_displaymessage(fd, msg_txt(sd,80)); // Give a display name and monster name/id please.
    		return -1;
    	}
    
    	if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
    		mob_id = mobdb_checkid(atoi(monster));
    
    	if (mob_id == 0) {
    		clif_displaymessage(fd, msg_txt(sd,40)); // Invalid monster ID or name.
    		return -1;
    	}
    
    	if (mob_id == MOBID_EMPERIUM) {
    		clif_displaymessage(fd, msg_txt(sd,83)); // Monster 'Emperium' cannot be spawned.
    		return -1;
    	}
    
    	if (number <= 0)
    		number = 1;
    
    	if( !name[0] )
    		strcpy(name, "--ja--");
    
    	// If value of atcommand_spawn_quantity_limit directive is greater than or equal to 1 and quantity of monsters is greater than value of the directive
    	if (battle_config.atc_spawn_quantity_limit && number > battle_config.atc_spawn_quantity_limit)
    		number = battle_config.atc_spawn_quantity_limit;
    
    	parent_cmd = atcommand_alias_db.checkAlias(command+1);
    
    	if (strcmp(parent_cmd, "monstersmall") == 0)
    		size = SZ_MEDIUM; // This is just gorgeous [mkbu95]
    	else if (strcmp(parent_cmd, "monsterbig") == 0)
    		size = SZ_BIG;
    	else
    		size = SZ_SMALL;
    
    	if (battle_config.etc_log)
    		ShowInfo("%s monster='%s' name='%s' id=%d count=%d (%d,%d)\n", command, monster, name, mob_id, number, sd->bl.x, sd->bl.y);
    
    	count = 0;
    	range = (int)sqrt((float)number) +2; // calculation of an odd number (+ 4 area around)
    	for (i = 0; i < number; i++) {
    		int k;
    		map_search_freecell(&sd->bl, 0, &mx,  &my, range, range, 0);
    		k = mob_once_spawn(sd, sd->bl.m, mx, my, name, mob_id, 1, eventname, size, AI_NONE);
    		if(k) {
    			//mapreg_setreg(reference_uid(add_str("$@mobid"), i),k); //retain created mobid in array uncomment if needed
    			count ++;
    		}
    	}
    
    	if (count != 0)
    		if (number == count){
    		if(pc_get_group_level(sd)==99){ // Checks if the GM level is below 99 Announcement is made [Vengeance]
    			clif_displaymessage(fd, msg_txt(sd,39)); // All monster summoned!
    		}
    		else {
    			sprintf(atcmd_output, "%s summoned %d %s in %s,%d,%d", sd->status.name,number, monster, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y);
    			//sprintf(atcmd_output, msg_txt(sd,240), count); // %d monster(s) summoned! // <-- ORIG CODE
    			//clif_displaymessage(fd, atcmd_output);
    			intif_broadcast(atcmd_output, strlen(atcmd_output) + 1, 0);
    			clif_displaymessage(fd, msg_txt(sd,39)); // All monster summoned!		
    	}
    }
    	else {
    		sprintf(atcmd_output, "%s summoned %d %s in %s,%d,%d", sd->status.name,number, monster, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y);
    		intif_broadcast(atcmd_output, strlen(atcmd_output) + 1, 0);
    		sprintf(atcmd_output, msg_txt(sd,240), count); // %d monster(s) summoned!
    		//clif_displaymessage(fd, atcmd_output);
    	}
    	else {
    		clif_displaymessage(fd, msg_txt(sd,40)); // Invalid monster ID or name.
    		return -1;
    	}
    	return 0;
    }

    Working in the latest git just replace the Monster Command at 

    /src/map/atcommand.cpp ?

    Tried and tested

    6VSni1P.png

    Hi thankyou ! may I ask if its possible also on Recall command ??

  12. 8 minutes ago, Kreustoo said:

    Hello,

    I checked the src and the bonus is only working on normal dropped items, same for bubble gum. Normal drops and mvp drops are in 2 totally seperates check.

     

    thankyou !!

×
×
  • Create New...