Jump to content

Pride

Members
  • Posts

    41
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Pride

  1. mes "Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?";
    next;
    switch(select(
    	( .@party_id && .@is_leader && !.@has_instance )? "Generate dungeon "+.@md_name$+": ",
    	( .@party_id && .@has_instance )? "Enter the dungeon: ",
    	"Return to Alberta",
    	"Cancel"
    )){
    	// Cases go here
    }

     

  2. Run these (adjust bs= and count= to the amount of swap you want)
     

    sudo dd if=/dev/zero of=/swapfile bs=64M count=16
    sudo mkswap /swapfile
    sudo swapon /swapfile

    That should let you compile your code. But make sure you then revert the swapon after compilation, with these:
     

    sudo swapoff /swapfile
    sudo rm /swapfile

     

  3. conf/battle/guild.conf 

    // Is changing the guild leader allowed during WoE?
    // Default: no
    guild_leaderchange_woe: no 


    In /src/map/clif.cpp
    search for 
    void clif_parse_GuildBreak(int fd, struct map_session_data *sd)

     

    void clif_parse_GuildBreak(int fd, struct map_session_data *sd)
    {
    	if( map_getmapflag(sd->bl.m, MF_GUILDLOCK) ) { //Guild locked.
    		clif_displaymessage(fd, msg_txt(sd,228));
    		return;
    	}
    	guild_break(sd,RFIFOCP(fd,packet_db[RFIFOW(fd,0)].pos[0]));
    }

    Change to 
     

    void clif_parse_GuildBreak(int fd, struct map_session_data *sd)
    {
        if( map_getmapflag(sd->bl.m, MF_GUILDLOCK) ) { //Guild locked.
            clif_displaymessage(fd, msg_txt(sd,228));
            return;
        }
        if (agit_flag || agit2_flag)
    {
        clif_displaymessage(fd, "You can't break guild during WoE.");
        return;
    }
        guild_break(sd,RFIFOCP(fd,packet_db[RFIFOW(fd,0)].pos[0]));
    }

     

    • Upvote 2
  4. 4 hours ago, iconrag said:

    hello guys, i have a problem with OnPCLoadMapEvent
    so. one of my script is this one removing status effect in GVG Map ( aldeg_cas01, etc )
     

    -	script	remove_assumptio	-1,{
    OnPCLoadMapEvent:
    		sc_end SC_MINDBREAKER;
    		sc_end SC_ASSUMPTIO;
    		sc_end SC_SPIRIT;
    	end;
    }
    
    aldeg_cas01	mapflag	loadevent
    aldeg_cas02	mapflag	loadevent
    aldeg_cas03	mapflag	loadevent

    and the other one is this on pvp ladder NPC Script

     

    OnPCLoadMapEvent:
    	if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) {
    		if ( .maptrigger$ != "all" ) {
    			getmapxy .@map$, .@x, .@y, 1;
    			for ( set .@i, 0; .@i < .maptriggersize; set .@i, .@i +1 ) {
    				if ( .@map$ == .maptrigger$[.@i] ) break;
    			}
    			if ( .@i == .maptriggersize ) end;
    		}
    		query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime;
    	}
    	if ( getcharid(2) && getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) {
    		query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), .@c, .@h, .@t;
    		setd ".dota_sql_"+ getcharid(2) +"_c", .@c;
    		setd ".dota_sql_"+ getcharid(2) +"_h", .@h;
    		setd ".dota_sql_"+ getcharid(2) +"_t", .@t;
    	}
    	end;
    }
    
    pvp_y_2-2	mapflag	loadevent


    The problem is, The pvp_y_2-2 Map now reads OnPCLoadMapEvent that removes status effect, so when players enters pvp_y_2-2. the assumpio, spirit, and mind breaker is removed

    Can someone please help? thank you !

    just mention the maps u want this script to work

    -	script	remove_assumptio	-1,{
    OnPCLoadMapEvent:
    		if(strcharinfo(3)=="aldeg_cas01" || strcharinfo(3)=="aldeg_cas02" strcharinfo(3)=="aldeg_cas03") {
    		sc_end SC_MINDBREAKER;
    		sc_end SC_ASSUMPTIO;
    		sc_end SC_SPIRIT;
    	end;
    }
    }
  5. Just now, GM Winter said:

    if i delete  this part the new skill copied didnt refresh

    and everytime i change the skill copy that error appears 
    "[Error]: pc_checkskill: Invalid skill id 0" btw thank you for your effort sir
     

    ofc it wont refresh because thats not how you copy skills to the character. If your emulator is old then maybe try to update your emulator. try refer other posts on Stalker Skill copy there is this source code that allows u to copy skill directly as you wanted. im gonna drop the link here.

    also on [Error]: pc_checkskill: Invalid skill id 0

    try refer Github 
     
    Some sage skill provoke a error : pc_checkskill: Invalid skill id 0 · Issue #1154 · rathena/rathena · GitHub

     

    • Upvote 1
  6. 19 minutes ago, GM Winter said:

    hello sir its now disabling other job to use this npc the next question is this error appears

    "[Error]: pc_checkskill: Invalid skill id 0"

    also everytime a rogue copy a skill it was kick on the server

    can u use the codebox to send ur script please will check it once

  7. 	if (!getskilllv("RG_PLAGIARISM")) {
    		mes "You must have Plagiarism learned.";
    		close;
    	}

    just add this in the beginning of the code so it checks if player has Plagiarism skill. if they dont have the skill it will display  that they need the skill inorder to use the NPC

    • Upvote 1
  8. //===== rAthena Script =======================================
    //= Black Jack
    //===== By: ==================================================
    //= kobra_k88
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= Black Jack card game.  Gameplay based off standard casino
    //= black jack rules.  Dealer must have at least 17 to stay and will
    //= automatically stay at 17 and up.  Player must have at least
    //= 13 to stay.  Aces counted as 11 or 1.  Option to "Double Down".
    //= Currently does not allow for "insurance", or "splitting"
    //= of pairs.
    //===== Additional Comments: =================================
    //= 1.0 First version.
    //============================================================
    
    cmd_in02,188,89,1	script	Black Jack Dealer	57,{
    	mes "[Dealer]";
    	mes "Hello there! Would you like to play a game of Black Jack?";
    M_Menu:
    	next;
    	menu "What are the rules?",M_0, "I want to play.",L_Play, "No thanks.",M_End;
    
    M_0:
    	mes "[Dealer]";
    	mes "What would you like to know?";
    sM_Menu0:
    	next;
    	menu "The basics.",sM_0a, "Winning and loosing.",sM_0b, "'Double Down'.",sM_0c,
    	"Ace value.",sM_0d, "Nothing.",M_Menu;
    
    sM_0a:
    	mes "[Dealer]";
    	mes "Black Jack is a card game in which the goal is to get 21, or as";
    	mes "close to 21 points as possible, without going over 21.";
    	next;
    	mes "[Dealer]";
    	mes "Before the game starts, the player must make a bet.  Once the bet";
    	mes "has been made, both the dealer and the player are dealt 2 cards";
    	mes "each.  Depending on what cards you have, you can choose to ^5533FF'stay'^000000,";
    	mes "or you can choose to ^5533FF'pull'^000000.";
    	next;
    	mes "[Dealer]";
    	mes "When you choose to 'stay', you are telling the dealer that you don't";
    	mes "need anymore cards.  This allows the dealer to pull if he/she";
    	mes "wants to.  In order to stay, you must have ^FF3355at least 13 points^000000. The";
    	mes "dealer can only stay when he/she has^FF3355 17 points or more^000000.";
    	next;
    	mes "[Dealer]";
    	mes "When you choose to 'pull', you are telling the dealer that you want";
    	mes "another card.  By pulling more cards you can increase your point";
    	mes "total.  As long has you have ^FF3355less than 21^000000 points you can pull a";
    	mes "card from the deck.";
    	goto sM_Menu0;
    sM_0b:
    	mes "[Dealer]";
    	mes "There are 3 ways to win and loose at Black Jack.";
    	next;
    	mes "[Dealer]";
    	mes "1.) At the end of a Black Jack round, if you have more points";
    	mes "than the dealer you will win the round.  Conversely if you have";
    	mes "less points than the dealer you will loose.";
    	next;
    	mes "[Dealer]";
    	mes "2.) If you pull a card that makes your point total go over 21 you";
    	mes "will automatically loose the round.  This is called a ^5533FF'bust'^000000.  If";
    	mes "the dealer busts then you will win the round.";
    	next;
    	mes "[Dealer]";
    	mes "3.) If you have a point total of 21 with the first 2 cards, you";
    	mes "will automatically win the round.  This is called a ^5533FF'Black Jack'^000000";
    	mes "and happens when you get an 'Ace' and a '10 valued' card. If the";
    	mes "dealer gets a Black Jack he/she will automatically win the round.";
    	next;
    	mes "[Dealer]";
    	mes "4.) Besides winning and loosing, you can tie with the dealer.  If";
    	mes "both you and the dealer have the same point total at the end of a";
    	mes "round, this will result in a tie with no winner and no loss or gain";
    	mes "in money.";
    	next;
    	mes "[Dealer]";
    	mes "This is called a ^5533FF'push'^000000 with the dealer.  This also";
    	mes "applies to both you and the dealer having Black Jack at the same";
    	mes "time.";
    	goto sM_Menu0;
    sM_0c:
    	mes "[Dealer]";
    	mes "The 'Double Down' option allows you to double your current bet,";
    	mes "but with the drawback that you will only be able to pull one";
    	mes "additional card.  This option is only available at the beginning of";
    	mes "each round.";
    	next;
    	mes "[Dealer]";
    	mes "An example of when doubling down is useful, is when";
    	mes "your first 2 cards give you a point total of 11.  You have a good";
    	mes "chance of getting 21 or 20 with the next card that you draw.  This";
    	mes "would be a good hand to double down on.";
    	goto sM_Menu0;
    sM_0d:
    	mes "[Dealer]";
    	mes "The 'Ace' card is a unique card in the game of Black Jack because";
    	mes "it can have 2 values.  An Ace can be counted as either 11 points,";
    	mes "or just 1 point.  For example if you had an Ace and a 4, that would";
    	mes "give you either 15 or 5 points.";
    	next;
    	mes "[Dealer]";
    	mes "If you decided to stay, the Ace would automatically be counted as";
    	mes "11 points to give you 15 points total.";
    	next;
    	mes "[Dealer]";
    	mes "If you had decided to pull and received a 9, the ace would";
    	mes "automatically be counted as 1 point to give you a total of 14";
    	mes "points.  If the Ace was counted as 11 points, you would have a";
    	mes "point total over 21 and would have lost.";
    	next;
    	mes "[Dealer]";
    	mes "It is because of the flexibility you have with the 'Ace' that makes";
    	mes "it the most powerful card in the game.";
    	goto sM_Menu0;
    M_End:
    	mes "[Dealer]";
    	mes "Feel free to come back anytime";
    	close;
    
    //================
    L_Play:
    	mes "[Dealer]";
    	mes "Please place your bets...";
    	next;
    	menu "2 Gold coins",M_1a, "10 Gold coins",M_1b, "20 Gold Coins",M_1c, "100 Gold coins",M_1d, "Too rich for my blood....",M_End;
    
    M_1a:
    	if(countitem(671) < 2) goto sL_NotEnuf;
    	delitem 671,2;
    	set @bet, 2;
    	goto L_Cont0;
    M_1b:
    	if(countitem(671) < 10) goto sL_NotEnuf;
    	delitem 671,10;
    	set @bet, 10;
    	goto L_Cont0;
    M_1c:
    	if(countitem(671) < 20) goto sL_NotEnuf;
    	delitem 671,20;
    	set @bet, 20;
    	goto L_Cont0;
    M_1d:
    	if(countitem(671) < 100) goto sL_NotEnuf;
    	delitem 671,100;
    	set @bet, 100;
    	goto L_Cont0;
    
    sL_NotEnuf:
    	mes "[Dealer]";
    	mes "I'm sorry but you don't have enough Gold coin to make that bet.";
    	close;
    
    L_Cont0:
    	mes "(the cards are being dealt)";
    	next;
    	deletearray $@card[0],13;
    	set @dealerTurn, 0;
    	set @numP, 0;
    	set @numD, 0;
    	set @pAce, 0;
    	set @dAce, 0;
    	callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
    	callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
    	callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
    	callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
    
    //==============
    L_Start:
    	callsub sF_GetTot;
    
    	mes "- Here are the ^FF5533DEALER'S^000000 cards:";
    	if (@numD==2) callsub sF_D2cards;
    	if (@numD==3) callsub sF_D3cards;
    	if (@numD==4) callsub sF_D4cards;
    	if (@numD==5) callsub sF_D5cards;
    	mes "    The DEALER has: ^FF5533"+@dealTot+"^000000";
    	mes " ";
    	mes "- Here are ^5533FFYOUR^000000 cards:";
    	if (@numP==2) callsub sF_P2cards;
    	if (@numP==3) callsub sF_P3cards;
    	if (@numP==4) callsub sF_P4cards;
    	if (@numP==5) callsub sF_P5cards;
    	if(@pAce != 1 || @playTot == 21) mes "    YOU have: ^5533FF" +@playTot+ "^000000";
    	if(@pAce == 1 && @playTot != 21) mes "    You have: ^5533FF" +@playTot+ "^000000, or ^5533FF" +(@playTot-10)+ "^000000";
    	next;
    	if(@playTot==21 && @dealTot==21) goto sL_Push;
    	if(@numP==2 && @playTot == 21) goto sL_Win;
    	if(@numD==2 && @dealTot == 21) goto sL_Lose;
    	if(@playTot > 21) goto sL_Lose;
    	if(@dealTot > 21) goto sL_Win;
    	if(@numP==2 && @dealerTurn==0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay, "Double Down",M_Double;
    	if(@dealerTurn == 0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay;
    
    M_Stay:
    	mes "[Dealer]";
    	if(@playTot < 13) goto sL_PlayToLow;
    	if(@dealTot > 16) mes "The Dealer stays.";
    	if(@dealTot > 16 || @numD == 5) goto L_Check;
    	mes "The Dealer is going to pull";
    	next;
    	callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
    	set @dealerTurn, 1;
    	goto L_Start;
    
    sL_PlayToLow:
    	mes "I'm sorry but you do not have a high enough total to stay.  You must pull.";
    	next;
    	goto M_Hit;
    
    M_Hit:
    	if(@numP == 5) goto M_Stay;
    	callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
    	goto L_Start;
    M_Double:
    	mes "[Dealer]";
    	mes "Player has chosen to Double Down.  You're current bet will be";
    	mes "doubled, and you will only be able to pull 1 extra card.";
    	next;
    	set @dealerTurn, 1;
    	delitem 671,@bet;
    	set @bet, @bet*2;
    	callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
    	goto L_Start;
    
    //=============
    L_Check:
    	next;
    	if(@playTot < @dealTot) goto sL_Lose;
    	if(@playTot == @dealTot) goto sL_Push;
    
    sL_Win:
    	mes "[Dealer]";
    	mes "Congratulations, you've won!";
    	next;
    	getitem 671,2*@bet;
    	goto L_Play;
    sL_Lose:
    	mes "[Dealer]";
    	mes "I'm sorry but you've lost.";
    	next;
    	goto L_Play;
    sL_Push:
    	mes "[Dealer]";
    	mes "Its a push.  You tied with the Dealer.";
    	getitem 671,@bet;
    	next;
    	goto L_Play;
    
    
    //==================================
    	// Sub function for dealing/pulling the cards
    sF_GetCards:
    	set @rnd, rand(1,13);
    	if($@card[@rnd] == 4) goto sF_GetCards;
    	set $@card[@rnd], $@card[@rnd] + 1;
    	set getarg(1), @rnd;
    	if(getarg(1) > 10) set getarg(1), 10;
    	if(getarg(1) == 1 && getarg(3) < 1) set getarg(1), 11;
    	if(getarg(1) == 11) set getarg(3), 1;
    	set getarg(2), " " + getarg(1) + " ";
    	if(@rnd == 10) set getarg(2), getarg(1);
    	if(@rnd == 1) set getarg(2), " A ";
    	if(@rnd == 11) set getarg(2), " J ";
    	if(@rnd == 12) set getarg(2), " Q ";
    	if(@rnd == 13) set getarg(2), " K ";
    	set getarg(0), getarg(0) + 1;
    	return;
    
    //==================================
    	// Sub function for getting the total score for each hand
    sF_GetTot:
    	set @i, 0;
    	set @dealTot, 0;
    	set @playTot, 0;
    
    GetDealTot:
    	set @dealTot, @dealTot + @dealCard[@i];
    	set @i, @i + 1;
    	if(@i < @numD) goto GetDealTot;
    	if(@dAce == 1 && @dealTot > 21) set @dealTot, @dealTot - 10;
    	set @i, 0;
    GetPlayTot:
    	set @playTot, @playTot + @playCard[@i];
    	set @i, @i + 1;
    	if(@i < @numP) goto GetPlayTot;
    	if(@pAce == 1 && @playTot > 21) set @pAce, 2;
    	if(@pAce > 0 && @playTot > 21) set @playTot, @playTot - 10;
    	return;
    
    //=======================================
    	// Sub function for displaying the Cards
    sF_D2cards:
    	mes "    .-----.   .-----. ";
    	mes "    | "+@dealCard$[0]+" |   | "+@dealCard$[1]+" | ";
    	mes "    '-----'   '-----' ";
    	return;
    sF_P2cards:
    	mes "    .-----.   .-----. ";
    	mes "    | "+@playCard$[0]+" |   | "+@playCard$[1]+" | ";
    	mes "    '-----'   '-----' ";
    	return;
    sF_D3cards:
    	mes "    .-----.   .-----.   .-----. ";
    	mes "    | "+@dealCard$[0]+" |   | "+@dealCard$[1]+" |   | "+@dealCard$[2]+" | ";
    	mes "    '-----'   '-----'    '-----' ";
    	return;
    sF_P3cards:
    	mes "    .-----.   .-----.   .-----. ";
    	mes "    | "+@playCard$[0]+" |   | "+@playCard$[1]+" |   | "+@playCard$[2]+" | ";
    	mes "    '-----'   '-----'    '-----' ";
    	return;
    sF_D4cards:
    	mes " .-----.  .-----.  .-----. ";
    	mes " | "+@dealCard$[0]+" |  | "+@dealCard$[1]+" |  | "+@dealCard$[2]+" | ";
    	mes " '-----'  '-----'   '-----' ";
    	mes "    .-----.  ";
    	mes "    | "+@dealCard$[3]+" |";
    	mes "    '-----'   ";
    	return;
    sF_P4cards:
    	mes " .-----.  .-----.  .-----. ";
    	mes " | "+@playCard$[0]+" |  | "+@playCard$[1]+" |  | "+@playCard$[2]+" |";
    	mes " '-----'  '-----'   '-----' ";
    	mes "    .-----.  ";
    	mes "    | "+@playCard$[3]+" |";
    	mes "    '-----'   ";
    	return;
    sF_D5cards:
    	mes " .-----.  .-----.  .-----. ";
    	mes " | "+@dealCard$[0]+" |  | "+@dealCard$[1]+" |  | "+@dealCard$[2]+" | ";
    	mes " '-----'  '-----'   '-----' ";
    	mes "    .-----.   .-----. ";
    	mes "    | "+@dealCard$[3]+" |   | "+@dealCard$[4]+" | ";
    	mes "    '-----'   '-----' ";
    	return;
    sF_P5cards:
    	mes " .-----.  .-----.  .-----. ";
    	mes " | "+@playCard$[0]+" |  | "+@playCard$[1]+" |  | "+@playCard$[2]+" | ";
    	mes " '-----'  '-----'   '-----' ";
    	mes "    .-----.   .-----. ";
    	mes "    | "+@playCard$[3]+" |   | "+@playCard$[4]+" | ";
    	mes "    '-----'   '-----' ";
    	return;
    }

    I just added gold coin as currency item id 671. since you never mentioned what item you wanted to use on black jack

  9. 5 hours ago, TheKingDino said:

    I've noticed this with Krieg and Stem of Neph, these are the most up-to-date equip ymls as well that have this error. Is this a problem with bAddEffOnSkill in general or how it is written in the item database?

    https://imgur.com/yJUDxpT

      - Id: 1979
        AegisName: Stem_Of_Nepenthes
        Name: Stem of Nepenthes
        Type: Weapon
        SubType: Whip
        Buy: 20
        Weight: 1000
        Attack: 120
        Range: 2
        Slots: 2
        Jobs:
          BardDancer: true
        Classes:
          All_Upper: true
        Gender: Female
        Locations:
          Right_Hand: true
        WeaponLevel: 4
        EquipLevelMin: 60
        Refineable: true
        Script: |
          bonus bInt,2;
          bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,(getrefine()>=9?2000:1000);

     

    Untitled2z.png


        Script: |
         .@rate = (getrefine()>=9)?2000:1000;
          bonus bInt,2;
          bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze, .@rate ;


    Try this once im not sure if it works

  10. //===== eAthena Script ======================================= 
    //= All Cards NPC (All-In-One)
    //===== By: ================================================== 
    //= Choiboy with credits to Katazui Or WanMan for the original script
    //===== Current Version: ===================================== 
    //= 1.0
    //===== Compatible With: ===================================== 
    //= eAthena 7.15 +
    //===== Description: ========================================= 
    //= All Cards NPC 
    //===== Additional Comments: ================================= 
     
    -	shop	A Cards	-1,4140:1000000,4409:1000000,4241:1000000,4244:1000000,4253:1000000,4401:1000000,4402:1000000,4400:1000000,4252:1000000,4245:1000000,4032:1000000,4062:1000000,4387:1000000,4248:1000000,4249:1000000,4043:1000000,4013:1000000,4018:1000000,4234:1000000,4344:1000000,4243:1000000,4138:1000000,4242:1000000,4371:1000000,4240:1000000,4114:1000000,4075:1000000,4347:1000000,4246:1000000,4247:1000000,4425:1000000
    -	shop	B Cards	-1,4023:1000000,4233:1000000,4372:1000000,4438:1000000,4450:1000000,4129:1000000,4119:1000000,4307:1000000,4356:1000000,4074:1000000,4215:1000000,4327:1000000,4320:1000000,4214:1000000,4379:1000000,4212:1000000,4428:1000000,4390:1000000,4213:1000000,4426:1000000
    -	shop	C Cards	-1,4063:1000000,4288:1000000,4290:1000000,4289:1000000,4368:1000000,4447:1000000,4452:1000000,4284:1000000,4300:1000000,4285:1000000,4009:1000000,4235:1000000,4373:1000000,4202:1000000,4299:1000000,4229:1000000,4262:1000000,4041:1000000,4015:1000000,4293:1000000,4448:1000000,4061:1000000,4153:1000000,4296:1000000,4040:1000000,4298:1000000,4297:1000000
    -	shop	D Cards	-1,4272:1000000,4170:1000000,4171:1000000,4449:1000000,4388:1000000,4173:1000000,4082:1000000,4122:1000000,4182:1000000,4370:1000000,4181:1000000,4098:1000000,4444:1000000,4385:1000000,4179:1000000,4178:1000000,4069:1000000,4180:1000000,4004:1000000,4421:1000000,4177:1000000,4176:1000000,4154:1000000,4056:1000000
    -	shop	E Cards	-1,4279:1000000,4118:1000000,4410:1000000,4266:1000000,4070:1000000,4251:1000000,4052:1000000,4217:1000000,4451:1000000,4360:1000000,4349:1000000,4141:1000000,4258:1000000,4250:1000000,4250:1000000,4267:1000000
    -	shop	F Cards	-1,4002:1000000,4316:1000000,4020:1000000,4026:1000000,4160:1000000,4439:1000000,4080:1000000,4319:1000000,4088:1000000,4405:1000000,4151:1000000
    -	shop	G Cards	-1,4152:1000000,4423:1000000,4149:1000000,4323:1000000,4418:1000000,4354:1000000,4280:1000000,4110:1000000,4271:1000000,4270:1000000,4303:1000000,4278:1000000,4087:1000000,4165:1000000,4150:1000000,4060:1000000,4155:1000000,4156:1000000,4378:1000000,4072:1000000,4161:1000000,4283:1000000,4381:1000000,4377:1000000,4355:1000000,4162:1000000,4163:1000000,4164:1000000
    -	shop	H Cards	-1,4325:1000000,4331:1000000,4437:1000000,4232:1000000,4322:1000000,4345:1000000,4453:1000000,4081:1000000,4413:1000000,4343:1000000,4045:1000000,4019:1000000,4103:1000000,4362:1000000,4115:1000000,4035:1000000,4384:1000000,4328:1000000,4321:1000000
    -	shop	I Cards	-1,4417:1000000,4433:1000000,4231:1000000,4269:1000000,4268:1000000,4239:1000000,4412:1000000,4116:1000000
    -	shop	J Cards	-1,4109:1000000,4139:1000000
    -	shop	K Cards	-1,4065:1000000,4287:1000000,4286:1000000,4431:1000000,4366:1000000,4351:1000000,4136:1000000,4301:1000000,4434:1000000,4292:1000000,4091:1000000,4295:1000000,4027:1000000
    -	shop	L Cards	-1,4350:1000000,4184:1000000,4195:1000000,4188:1000000,4265:1000000,4191:1000000,4445:1000000,4193:1000000,4006:1000000
    -	shop	M Cards	-1,4432:1000000,4076:1000000,4131:1000000,4201:1000000,4050:1000000,4030:1000000,4079:1000000,4105:1000000,4112:1000000,4364:1000000,4196:1000000,4084:1000000,4113:1000000,4095:1000000,4046:1000000,4197:1000000,4097:1000000,4124:1000000,4200:1000000,4067:1000000,4199:1000000,4341:1000000,4057:1000000,4205:1000000,4339:1000000,4204:1000000,4126:1000000,4208:1000000,4317:1000000,4036:1000000,4106:1000000,4090:1000000,4420:1000000,4108:1000000,4206:1000000,4207:1000000
    -	shop	N Cards	-1,4440:1000000,4167:1000000,4127:1000000,4166:1000000,4159:1000000,4334:1000000
    -	shop	O Cards	-1,4093:1000000,4392:1000000,4338:1000000,4256:1000000,4375:1000000,4035:1000000,4066:1000000,4071:1000000,4238:1000000,4237:1000000
    -	shop	P Cards	-1,4310:1000000,4309:1000000,4099:1000000,4031:1000000,4007:1000000,4314:1000000,4311:1000000,4315:1000000,4077:1000000,4329:1000000,4008:1000000,4011:1000000,4073:1000000,4335:1000000,4024:1000000,4389:1000000,4048:1000000,4175:1000000,4033:1000000,4337:1000000,4001:1000000,4313:1000000,4003:1000000
    -	shop	Q Cards	-1,4294:1000000
    -	shop	R Cards	-1,4083:1000000,4436:1000000,4186:1000000,4187:1000000,4133:1000000,4380:1000000,4383:1000000,4353:1000000,4104:1000000,4391:1000000,4185:1000000,4021:1000000,4014:1000000,4192:1000000,4422:1000000,4194:1000000
    -	shop	S Cards	-1,4219:1000000,4058:1000000,4427:1000000,4429:1000000,4101:1000000,4005:1000000,4216:1000000,4017:1000000,4078:1000000,4068:1000000,4130:1000000,4326:1000000,4312:1000000,4414:1000000,4358:1000000,4273:1000000,4393:1000000,4230:1000000,4117:1000000,4416:1000000,4406:1000000,4025:1000000,4221:1000000,4222:1000000,4092:1000000,4404:1000000,4158:1000000,4120:1000000,4228:1000000,4044:1000000,4037:1000000,4415:1000000,4100:1000000,4394:1000000,4059:1000000,4086:1000000,4220:1000000,4022:1000000,4227:1000000,4039:1000000,4223:1000000,4424:1000000,4042:1000000,4224:1000000,4226:1000000,4225:1000000,4111:1000000
    -	shop	T Cards	-1,4395:1000000,4396:1000000,4058:1000000,4172:1000000,4016:1000000,4012:1000000,4254:1000000,4306:1000000,4308:1000000
    -	shop	U Cards	-1,4336:1000000,4058:1000000
    -	shop	V Cards	-1,4049:1000000,4183:1000000,4411:1000000,4369:1000000,4333:1000000,4107:1000000,4209:1000000,4053:1000000,4211:1000000
    -	shop	W Cards	-1,4210:1000000,4332:1000000,4102:1000000,4348:1000000,4257:1000000,4010:1000000,4264:1000000,4029:1000000,4259:1000000,4261:1000000,4260:1000000,4034:1000000,4190:1000000,4189:1000000
    -	shop	Y Cards	-1,4382:1000000,4051:1000000
    -	shop	Z Cards	-1,4096:1000000,4064:1000000,4277:1000000,4281:1000000,4038:1000000,4274:1000000,4275:1000000,4435:1000000
    turbo_room,76,125,5	script	All-In-One Cardstore	993,{
    set @name$, "[All-In-One Cardstore]";
    mes @name$;
    mes "Hello there, I sell cards sorted alphabetically. I have every cards you'll ever come across in Rune-Midgard besides the MVP Cards. Now, my friend, choose from the alphabetically catergorized shops below.";
    next;
    switch(select("A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:Y:Z")) {
     
    case 1:
    close2;
    callshop "A Cards",1;
    end;
     
    case 2:
    close2;
    callshop "B Cards",1;
    end;
     
    case 3:
    close2;
    callshop "C Cards",1;
    end;
     
    case 4:
    close2;
    callshop "D Cards",1;
    end;
     
    case 5:
    close2;
    callshop "E Cards",1;
    end;
     
    case 6:
    close2;
    callshop "F Cards",1;
    end;
     
    case 7:
    close2;
    callshop "G Cards",1;
    end;
     
    case 8:
    close2;
    callshop "H Cards",1;
    end;
     
    case 9:
    close2;
    callshop "I Cards",1;
    end;
     
    case 10:
    close2;
    callshop "J Cards",1;
    end;
     
    case 11:
    close2;
    callshop "K Cards",1;
    end;
     
    case 12:
    close2;
    callshop "L Cards",1;
    end;
     
    case 13:
    close2;
    callshop "M Cards",1;
    end;
     
    case 14:
    close2;
    callshop "N Cards",1;
    end;
     
    case 15:
    close2;
    callshop "O Cards",1;
    end;
     
    case 16:
    close2;
    callshop "P Cards",1;
    end;
     
    case 17:
    close2;
    callshop "Q Cards",1;
    end;
     
    case 18:
    close2;
    callshop "R Cards",1;
    end;
     
    case 19:
    close2;
    callshop "S Cards",1;
    end;
     
    case 20:
    close2;
    callshop "T Cards",1;
    end;
     
    case 21:
    close2;
    callshop "U Cards",1;
    end;
     
    case 22:
    close2;
    callshop "V Cards",1;
    end;
     
    case 23:
    close2;
    callshop "W Cards",1;
    end;
     
    case 24:
    close2;
    callshop "Y Cards",1;
    end;
     
    case 25:
    close2;
    callshop "Z Cards",1;
    end;
    }
     
     
    }

    Reposting this Script from 

    i hope this helps you.

  11. prontera,171,170,4	script	Monster Arena	648,{
    cutin "arena_01",2;
    strt:
    mes "[^880000Arena Master^000000]";
    mes "Good day ^008800"+strcharinfo(0)+"^000000 ";
    mes "How may i help you?";
    
    switch(select("^000088Enter Arena^000000:Information")){
    //==========================arena room=======================
    case 1:
    next;
    mes "[^880000Arena Master^000000]";
    if(#Entrytimeticket > gettimetick(2)) {
    mes "You can still Enter this place";
    next;
    warp "bat_b02" ,0,0;
    close;
    end;
    }
    if(#Entrylifetime > gettimetick(2)) {
    mes "You can still Enter this place";
    next;
    warp "bat_b02" ,0,0;
    close;
    end;
    }
    mes "Choose Arena Process";
    next;
    menu "1 Time ticket",-,"Lifetime ticket",L_ticket;
    mes "[^880000Arena Master^000000]";
    mes "Processing ticket...";
    next;
    if(countitem(3618) < 1) goto L_Later;
    mes "[^880000Arena Master^000000]";
    mes "1 Time ticket accepted";
    mes "Lets go!..";
    delitem 3618,1;
    #Entrytimeticket = 10800+ gettimetick(2);
    announce "[Monster Arena] "+strcharinfo(0)+" Has Entered using 1 time ticket.",0,0xFF6600;
    warp "bat_b02" ,0,0;
    close;
    
    L_ticket:
    mes "[^880000Arena Master^000000]";
    mes "Processing ticket...";
    next;
    if(countitem(3619) < 1) goto L_Later;
    mes "[^880000Arena Master^000000]";
    mes "Lifetime ticket accepted";
    mes "Lets go!..";
    delitem 3619,1;
    #Entrylifetime = 86400+ gettimetick(2);
    announce "[Monster Arena] "+strcharinfo(0)+" Has Entered using Lifetime ticket.",0,0xFF6600;
    warp "bat_b02" ,0,0;
    next;
    goto strt;
    
    
    L_Later:
    mes "[^880000Arena Master^000000]";
    mes "Dont waste my time!..";
    next;
    goto strt;
    
    //==========================================information==============================================
    
    case 2:
    next;
    mes "[^880000Arena Master^000000]";
    mes "Monsters Inside The Room:";
    mes "^880000Arena Dark Kades^000000";
    mes "^880000Arena Dark Pyuriel^000000";
    next;
    mes "[^880000Arena Master^000000]";
    mes "Mob Information";
    mes "Element: ^880000Dark (lvl3)^000000";
    mes "Size: ^880000Large^000000";
    mes "Race: ^880000Demon^000000";
    next;
    mes "[^880000Arena Master^000000]";
    mes "MVP Inside The Room";
    mes "MVP: ^880000King Poring^000000";
    mes "Element: ^880000Dark (lvl3)^000000";
    mes "Size: ^880000Large^000000";
    mes "Race: ^880000Demon^000000";
    next;
    goto strt;
    }
    }
    -	script	Timercheck	-1,{
    OnPCLoadMapEvent:
    if( strcharinfo(3) == "bat_b02" && #Entrytimeticket > gettimetick(2) ){
    Timesec = 3*60*60; // 3 hour
    sleep2 1000*Timesec;
    #Entrytimeticket = 0;
    warp "SavePoint",0,0;
    }
    if( strcharinfo(3) == "bat_b02" && #Entrylifetime > gettimetick(2) ){
    Timesec = 24*60*60; // 24 hour
    sleep2 1000*Timesec;
    #Entrylifetime = 0;
    warp "SavePoint",0,0;
    }
    }
    
    
    bat_b02	mapflag	loadevent

    Untested please test it out and let me know.  The Timer counts as soon as the player enters the map and after 3 hours it will kick the person out from the map if hes still on the map. For better working of this script please disable @warp and @jump and other teleport skills

  12. 11 hours ago, Takuyakii said:

    Good day rA,

    can someone help me to make a script that ff:

    i don't know if my title is right, i just don't know what should i call it.

    1. NPC that have will required you an item to enter the map Ex, Red potion.
    2. it has option like 3 hours /1 day access for the map.
    3. the player will automatically kick on that map. 
     (not all player, example Player 1 just availed 3 hours, when the 3 hours come Player 1 will be kicked, and the other player 2 3 4 5 6 can stay because they need to use their availed access)

    i know this is to much to request because of this details. 

     

    i also try to edit some script but im getting nowhere,

    Thank you.

    i can just give a basic idea but the scripting should be done by you since my time is kinda limited 

    1) make map which is not warpable or cannot be accessed by normal player using mapflag
    2) use Variables to apply the ownership of the map then apply a timer, you can try to apply timer to variable as well
    example 
     

    #Entrypass = 10800+ gettimetick(2);
    //before entering the room the NPC checks 
    if(#Entrypass > gettimetick(2)) {
    grant access 
    }
    else {
    sorry rent this area again
    }

    10800 = 3 hours 

    so to better have control over the map on how long the map should be rented i suggest u to make NPC disable and enable for a period of time 
    example every 3 hours NPC appears for 5 mins on the map and then disappears. People need to rent the map within the time limit and then after the said time the npc disappears. when the NPC reappears again the next 3rd hour use OnClock label to kick the players out of the map. This will maintain uniformity of the players renting the map. 

    id wish to help but i have my hands full but ive given u a basic idea. ? sorry again

  13. prontera,190,161,4    script     Coin to Zeny     109,{
    
    // 50 Bronze Coin = How Many Zeny ?
    set .Rates,1000000;
    mes "Select what you want";
    switch( select("Coin to Zeny:Zeny to Coin") ){
    Case 1:
      if( countitem(673) < 50 ){
       mes "You didnt have enough Bronze coin";
       close;
      }else{
       mes "You have "+countitem(673)+" Coins.";
       mes "How many  Coin will be convert to zeny ?";
       mes "You can enter 0 to cancel this deal";
       input .@Amount,50,countitem(673);
       if( !.@Amount || (( .Rates * .@Amount ) + Zeny ) > 1800000000 ){
        mes "Deal Cancelled. your zeny is full .";
    	close;
       }else{
        delitem 673,.@Amount;
        mes "Converted "+.@Amount+" of Coin into Zeny.";
        mes "Gained Total of "+( .Rates * .@Amount )+" of Zeny.";
        set Zeny,Zeny + ( .Rates * .@Amount );
       }
      }
      next;
      break;
    Case 2:
      if( Zeny < .Rates ){
       mes "You don't have enough Zeny.";
       close;
      }else{
       mes "You have "+Zeny+" Zeny.";
       mes "How many Coin do you want ?";
       mes "You can get maximum of "+( Zeny / .Rates )+" Bronze Coin.";
       mes "You can enter 0 to cancel this deal";
       input .@Amount,1,( Zeny / .Rates );
       if( !.@Amount ){
        mes "Deal Cancelled.";
    	close;
       }else{
        set Zeny,Zeny - ( .@Amount * .Rates );
        mes "Converted "+( .@Amount * .Rates )+" Zeny into "+.@Amount+"  Coin.";
        getitem 673,.@Amount;
       }
      }
      next;
      break;
    }
    
    close;
    end;
    }

    Please use code box next time. This code is not tested so tell me if you have any errors

×
×
  • Create New...