Jump to content

Shindu

Members
  • Posts

    28
  • Joined

  • Last visited

Posts posted by Shindu

  1. okay this is what i have;

    -	script	battle_castle#bbase	-1,{
    	OnTouch:
    		sc_end sc_all;
    		percentheal 100,100;
    		specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10;
    		specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10;
    		dispbottom "AGI/BLESS Complete - HP/SP Fully Regenerated 100%";
    		if(Class == 4049)
    			sc_start4 SC_SPIRIT,240000,5,461,0,0;
    		else if(Class == 4018)
    			sc_start4 SC_SPIRIT,240000,5,456,0,0;
    		end;
    }
    

    I got the bless, agi and heal but i didint get the soul link.


    nvm, its working :)

    -	script	battle_castle#bbase	-1,{
    	OnTouch:
    		sc_end sc_all;
    		percentheal 100,100;
    		sc_start SC_BLESSING,240000,10;
    		sc_start SC_INCREASEAGI,240000,10;
    		dispbottom "AGI/BLESS Complete - HP/SP Fully Regenerated 100%";
    		switch( Class ) {	
    			case /*Job_Stalker	*/4018:
    				set(.@SL,456);
    				break;
    			case /*Job_Soul_Linker	*/4049:
    				set(.@SL,461);
    		}
    		if(!.@SL) end;
    		sc_start4 sc_spirit, 240000, 5, .@SL, 0, 0;
    		skilleffect .@SL, 5;
    		end;
    }
    
  2. Hey, so i have this;

    -	script	battle#base	-1,{
    	OnTouch:
    		sc_end sc_all;
    }
    
    schg_cas06,1,1,6	duplicate(battle#base)	battle#1	-1,1000,1000
    

    I want it to dispell everything except bles and agi.

     

    I also want it to link only soul linkers and stalkers after the dispell.

     

    Can someone please help with this?

  3. I get this when compiling;

     

     

    vending.c: In function âvending_purchasereqâ:
    vending.c:321: warning: âitem_nameâ may be used uninitialized in this function

     

    Line 321 =

    		const char *item_name;
    

    Im using latest rAthena GIT, Any suggestions?


    Also;

     

    +// Extended Vending system [Lilith]
    +700: You do not have enough CashPoint
    +701: You do not have enough items
    +702: Seller has not enough space in your inventory
    +703: Seller can not take all the item
    +704: You have selected: %s
    +705: You've opened %s's shop. Sale is carried out: %s
    +706: Current Currency: %s
    +707: %s has bought '%

     

    Thats all the V.I.P stuff, so it wont read this.

  4. Hey guys, so ive modified my src/map/atcommand.c file.

     

    Ive disabled some @go numbers since im pre-renewal, i dont want them being able to get to them maps.

     

    Normally when i use @go on its own it brings up a list of numbers with maps etc

     

    After the edit, when i do @go it just takes me straight to prontera, i get no list and then i get this warning message via SSH / Putty.
     

    [Warning]: script:implode: array length = 0

     

    Anything ive done wrong?

     

    Here is what ive edited.

     

    src/map/atcommand.c

    /*==========================================
     * @go [city_number or city_name] - Updated by Harbin
     *------------------------------------------*/
    ACMD_FUNC(go)
    {
    	int i;
    	int town;
    	char map_name[MAP_NAME_LENGTH];
    	int16 m;
    
    	const struct {
    		char map[MAP_NAME_LENGTH];
    		int x, y;
    	} data[] = {
    		{ MAP_PRONTERA,    156, 191 }, //  0=Prontera
    		{ MAP_MORROC,      156,  93 }, //  1=Morroc
    		{ MAP_GEFFEN,      120,  67 }, //  2=Geffen
    		{ MAP_PAYON,       172, 100 }, //  3=Payon
    		{ MAP_ALBERTA,     28, 235 }, //  4=Alberta
    #ifdef RENEWAL
    		{ MAP_IZLUDE,      128, 146 }, //  5=Izlude (Renewal)
    #else
    		{ MAP_IZLUDE,      128, 96 }, //  5=Izlude
    #endif
    		{ MAP_ALDEBARAN,   140, 116 }, //  6=Al de Baran
    		{ MAP_LUTIE,       147, 134 }, //  7=Lutie
    		{ MAP_COMODO,      189, 159 }, //  8=Comodo
    		{ MAP_YUNO,        158,  181 }, //  9=Yuno
    		{ MAP_AMATSU,      111,  152 }, // 10=Amatsu
    		{ MAP_GONRYUN,     160, 121 }, // 11=Gonryun
    		{ MAP_UMBALA,       123, 133 }, // 12=Umbala
    		{ MAP_NIFLHEIM,     194, 185 }, // 13=Niflheim
    		{ MAP_LOUYANG,     217,  98 }, // 14=Louyang
    		//{ MAP_NOVICE,       53, 111 }, // 15=Training Grounds
    		{ MAP_JAIL,         23,  61 }, // 15=Prison
    		//{ MAP_JAWAII,      249, 127 }, // 17=Jawaii
    		{ MAP_AYOTHAYA,    218, 175 }, // 16=Ayothaya
    		{ MAP_EINBROCH,     158, 311 }, // 17=Einbroch
    		{ MAP_LIGHTHALZEN, 159,  95 }, // 18=Lighthalzen
    		{ MAP_EINBECH,      43,  208 }, // 19=Einbech
    		{ MAP_HUGEL,        96, 115 }, // 20=Hugel
    		{ MAP_RACHEL,      130, 102 }, // 21=Rachel
    		{ MAP_VEINS,       218, 129 }, // 22=Veins
    		{ MAP_MOSCOVIA,    223, 187 }, // 23=Moscovia
    		{ MAP_MIDCAMP,     180, 240 }, // 24=Midgard Camp
    		{ MAP_MANUK,       311, 180 }, // 25=Manuk
    		{ MAP_SPLENDIDE,   198, 175 }, // 26=Splendide
    		//{ MAP_BRASILIS,    182, 239 }, // 29=Brasilis
    		//{ MAP_DICASTES,    198, 187 }, // 30=El Dicastes
    		//{ MAP_MORA,         44, 151 }, // 31=Mora
    		//{ MAP_DEWATA,      200, 180 }, // 32=Dewata
    		//{ MAP_MALANGDO,    140, 114 }, // 33=Malangdo Island
    		//{ MAP_MALAYA,      242, 211 }, // 34=Malaya Port
    		//{ MAP_ECLAGE,      110,  39 }, // 35=Eclage
    	};
    
    	nullpo_retr(-1, sd);
    
    	if( map[sd->bl.m].flag.nogo && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE) ) {
    		clif_displaymessage(sd->fd,msg_txt(sd,995)); // You cannot use @go on this map.
    		return 0;
    	}
    
    	memset(map_name, '\0', sizeof(map_name));
    	memset(atcmd_output, '\0', sizeof(atcmd_output));
    
    	// get the number
    	town = atoi(message);
    
    	if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data))
    	{// no value matched so send the list of locations
    		const char* text;
    
    		// attempt to find the text help string
    		text = atcommand_help_string( command );
    
    		clif_displaymessage(fd, msg_txt(sd,38)); // Invalid location number, or name.
    
    		if( text )
    		{// send the text to the client
    			clif_displaymessage( fd, text );
    		}
    
    		return -1;
    	}
    
    	// get possible name of the city
    	map_name[MAP_NAME_LENGTH-1] = '\0';
    	for (i = 0; map_name[i]; i++)
    		map_name[i] = TOLOWER(map_name[i]);
    	// try to identify the map name
    	if (strncmp(map_name, "prontera", 3) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "morocc", 4) == 0 ||
    	           strncmp(map_name, "morroc", 4) == 0) {
    		town = 1;
    	} else if (strncmp(map_name, "geffen", 3) == 0) {
    		town = 2;
    	} else if (strncmp(map_name, "payon", 3) == 0) {
    		town = 3;
    	} else if (strncmp(map_name, "alberta", 3) == 0) {
    		town = 4;
    	} else if (strncmp(map_name, "izlude", 3) == 0) {
    		town = 5;
    	} else if (strncmp(map_name, "aldebaran", 3) == 0) {
    		town = 6;
    	} else if (strncmp(map_name, "lutie", 3) == 0 ||
    	           strcmp(map_name,  "christmas") == 0 ||
    	           strncmp(map_name, "xmas", 3) == 0 ||
    	           strncmp(map_name, "x-mas", 3) == 0) {
    		town = 7;
    	} else if (strncmp(map_name, "comodo", 3) == 0) {
    		town = 8;
    	} else if (strncmp(map_name, "juno", 3) == 0 ||
    	           strncmp(map_name, "yuno", 3) == 0) {
    		town = 9;
    	} else if (strncmp(map_name, "amatsu", 3) == 0) {
    		town = 10;
    	} else if (strncmp(map_name, "kunlun", 3) == 0 ||
    	           strncmp(map_name, "gonryun", 3) == 0) {
    		town = 11;
    	} else if (strncmp(map_name, "umbala", 3) == 0) {
    		town = 12;
    	} else if (strncmp(map_name, "niflheim", 3) == 0) {
    		town = 13;
    	} else if (strncmp(map_name, "louyang", 3) == 0) {
    		town = 14;
    	} else if (strncmp(map_name, "new_1-1", 3) == 0 ||
    	           strncmp(map_name, "startpoint", 3) == 0 ||
    	           strncmp(map_name, "beginning", 3) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "sec_pri", 3) == 0 ||
    	           strncmp(map_name, "prison", 3) == 0 ||
    	           strncmp(map_name, "jail", 3) == 0) {
    		town = 15;
    	} else if (strncmp(map_name, "jawaii", 3) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "ayothaya", 3) == 0) {
    		town = 16;
    	} else if (strncmp(map_name, "einbroch", 5) == 0) {
    		town = 17;
    	} else if (strncmp(map_name, "lighthalzen", 3) == 0) {
    		town = 18;
    	} else if (strncmp(map_name, "einbech", 5) == 0) {
    		town = 19;
    	} else if (strncmp(map_name, "hugel", 3) == 0) {
    		town = 20;
    	} else if (strncmp(map_name, "rachel", 3) == 0) {
    		town = 21;
    	} else if (strncmp(map_name, "veins", 3) == 0) {
    		town = 22;
    	} else if (strncmp(map_name, "moscovia", 3) == 0) {
    		town = 23;
    	} else if (strncmp(map_name, "mid_camp", 3) == 0) {
    		town = 24;
    	} else if (strncmp(map_name, "manuk", 3) == 0) {
    		town = 25;
    	} else if (strncmp(map_name, "splendide", 3) == 0) {
    		town = 26;
    	} else if (strncmp(map_name, "brasilis", 3) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "dicastes01", 3) == 0) {
    		town = 0;
    	} else if (strcmp(map_name,  "mora") == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "dewata", 3) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "malangdo", 5) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "malaya", 5) == 0) {
    		town = 0;
    	} else if (strncmp(map_name, "eclage", 3) == 0) {
    		town = 0;
    	}
    

    conf/help.txt

    go: "Params: <city name|number>\n" "Warps you to a city.\n"
    	"  -3: (Memo point 2)  14: louyang\n"
    	"  -2: (Memo point 1)  15: prison/jail\n"
    	"  -1: (Memo point 0)  16: ayothaya\n"
    	"   0: prontera              17: einbroch\n"
    	"   1: morocc                18: lighthalzen\n"
    	"   2: geffen                  19: einbech\n"
    	"   3: payon                  20: hugel\n"
    	"   4: alberta                 21: rachel\n"
    	"   5: izlude                   22: veins\n"
    	"   6: aldebaran           23: moscovia\n"
    	"   7: xmas (lutie)        24: midgard camp\n"
    	"   8: comodo               25: manuk\n"
    	"   9: yuno                     26: splendide\n"
    	"  10: amatsu\n"
    	"  11: gonryun\n"
    	"  12: umbala\n"
    	"  13: niflheim\n"
    
  5. Hey guys, so i have this script i found for a Private DB room.

     

    Works great however i want to include a few mods to this script and wondering if you can help me.

    prontera,146,164,6	script	Dead Branch Room	721,{
    setarray $@maps$[1], "ordeal_1-1", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08";
    setarray .@price[1], 200, 2000000, 2000000, 2000000, 2000000, 2000000, 2000000, 2000000, 2000000;
    for(set .@b,1; .@b < getarraysize($@maps$); set .@b,.@b + 1) {
    	if(.@b==1){ set .@menu$, .@menu$  + "Public- "+((getmapusers($@maps$[.@b])>=30)?"^CD0000Closed^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; } else { set .@menu$, .@menu$  + "Private["+(.@b-1)+"]- "+((getmapusers(""+$@maps$[.@b]+"")>=5)?"^CD0000Closed^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; }
    }
    if(select(.@menu$)) {
    	if(Zeny<.@price[@menu]){mes "I'm sorry but you don't have enough Zeny, please come back later."; close;}
    	if(getmapusers($@maps$[@menu])<=30&&@menu==1){
    		set Zeny,Zeny-.@price[@menu];
    		set $@maps$,$@maps$[@menu];
    		setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],150,148; end;
    	}
    	if(!getmapusers($@maps$[@menu])){
    		mes "Input a new password.";
    		input($password$[@menu]);
    		set Zeny,Zeny-.@price[@menu];
    		set $@maps$,$@maps$[@menu];
    		next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end;
    	}
    	if(getmapusers($@maps$[@menu])<=5&&@menu!=1) {
    		mes "This room is password protected please input the password now.";
    		input(@name$);
    		if(@name$==$password$[@menu]){
    			set Zeny,Zeny-.@price[@menu];
    			set $@maps$,$@maps$[@menu];
    			mes "correct!"; next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end;
    		} else {
    			mes "Incorrect!";
    			close;
    		}
    	} else {
    		mes "I'm sorry this room is full.";
    		close;
    	}
    }
    
    OnTimer3600000:
    if(strcharinfo(3)==$@maps$){
    	warp "prontera",156,181;
    	end;
    }
    }
    

    I want it to only accept the 2 million zeny payment once and only by the player setting the room password.

     

    All other players that obtain the password enter for free.

     

    Also a 1 hour time limit, after 1 hour all players are warped out, all monster on the map are killed and the room becomes live again with no password.

     

    Is this possible to add onto this script?

     

    Thank you.

  6. Hey guys.

     

    So I'm wanting to add an Anti AFK system that effects Homunculus.

     

    Now i know there is the idle time limit to not obtain EXP or loot, i have that enabled.

     

    Is there a way to also have an idle time for Homunculus to stop attacking monsters and leveling up that works the same way?

  7. Okay i figured it all out.

     

    I get this.

     

     

    npc/mapflag/nobranch.txt: needs merge
    npc/other/mail.txt: needs merge
    npc/mapflag/nobranch.txt: needs merge
    npc/other/mail.txt: needs merge
    npc/mapflag/nobranch.txt: unmerged (c4f30f67698d458d58affaf6bc580ffd72d5e55f)
    npc/mapflag/nobranch.txt: unmerged (ad2cc37a209733749ed7f7394cbb42529206a881)
    npc/mapflag/nobranch.txt: unmerged (612eb9e6b791f2be5bda1e0326634aab9b55e756)
    npc/other/mail.txt: unmerged (2d3805780ce850d1aad3aeca49106adf8e4c427a)
    npc/other/mail.txt: unmerged (0da502d70a3448ee7dfd73950f1d1c58d58453ef)
    npc/other/mail.txt: unmerged (1c777ef41ec1af5979cdd8abe12f2aef2ec668e8)

     

    Anyone help me on how to fix this? ive opened the files and removed the

     

    <<<<<<<

    =======

    >>>>>>>

     

    but still keeps failing to merge.


    NVM fixed :)

  8. Hey guys i get this when i use command "git pull"

     

    Updating a3dbbe2..d569d28
    error: Your local changes to 'npc/cities/prontera.txt' would be overwritten by merge.  Aborting.
    Please, commit your changes or stash them before you can merge.

     

    How do you update without it doing this?

  9. I ran this command

     

    UPDATE item_db SET TYPE = !(TYPE -4) +4 WHERE TYPE = 4 OR TYPE = 5;
    

     

    I did this live while the server was online and did @reloaditemdb, this should work right?

     

    Once i did it the storage was okay however players were complaining that they lost a lot of damage.

     

    Is there somthing else that needs to be done or does the server need to be offline before i run the command?

  10. okay i changed this;

     

     

    A simple fix would be to alter packet_db.txt and change line 1020 from

    0x0288,10,cashshopbuy,2:4:6

    to

    0x0288,10,cashshopbuy,2:4:6:10

     

    Rebooted the server.

     

    Im still getting the same error;

     

     

    [Warning]: Player 150000 sent incorrect cash shop buy packet (len 14:10)!


    Here are my details;

     

    rAthena Version : SVN r17690

     

    db/packet_db.txt : packet_db_ver: default

     

    src/common/mmo.h : PACKETVER 20101116

     

    clientinfo.xml :

          <version>25</version>
          <langtype>1</langtype>
    

    NVM i fixed the issue :)

  11. Hey guys.

     

    I want to give an item out to new players when they connect to the server however i only want it to be given out once per IP.

     

    Obviously this will need to save there IP in the SQL database and check if the IP has already been added and deny the player getting the item.

     

    Any suggestions on the best way to do this?

     

     

×
×
  • Create New...