Jump to content

Ridley

Administrators
  • Content Count

    1157
  • Joined

  • Last visited

  • Days Won

    86

Posts posted by Ridley


  1. index.php?app=downloads&module=display&section=screenshot&id=240

    File Name: @autores (auto resurrection)

    File Submitter: Ridley

    File Submitted: 21 Feb 2016

    File Category: Utility

     

    @autores <mapname> < X coordinate> < Y coordinate>

     

    eg. @autores prontera 150 150 <-- will revive players at prontera 150/150

     

    Use it for your events, races or whatever :)

     

    Note:

    • only players on the given map are affected. If you set "prontera" as map, only players which die there will be revived. If you set pay_dun00, only players there are affected and so on..
    • It has a 5 second cooldown till it revives you. This is set in line 57 (sleep2 5000;)
    • second use of @autores will disable it again
    • @autorescheck tells you if the system is enabled or disabled
    • Works only at one map at the same time

     

    Click here to download this file


  2.  

    Hello boys'n'girls

     

    The Download counter just hit 12000, thank you for that, even tho I wish there was a little more feedback or anything xD

     

    @@ChaosX2

    If you updated it to date you should be fine. But probably I'm releasing soon a new one.

    Regards

    im waiting for this! :3

     

    the new one is actually done, but not uploaded yet

     

     

    Hey kerbii, does this one function well for the 2014-10-22 client? Thank you :)

     

    no, you will miss some important files. 

    Small side note: downloadcounter is 13420


  3. Untested but should work. And there are plenty ways to optimize that script :|

    prontera,155,143,4	script	Guild Base	722,{
    set .npcname$,"[ ^0000FF Guild Base ^000000 ]";
    set .mapname$,"guild_vs1";
    OnMenu:
    mes .npcname$;
    mes "How may i help you sir ?";
    mes "^FF0000_____________________________^000000";
    mes "Guild Base Owner :";
    if ( $@RoomOwner$ == "0" ){
    mes "It is ^0000FFNOT Assigned^000000 yet.";
    }
    if ( $@RoomOwner$ != "0" ){
    mes "^0000FF"+$@RoomOwner$+"^000000 Guild";
    }
    mes "^FF0000_____________________________^000000";
    next;
    switch(select("^4EEE94Guild Base Information^000000",
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFReturn To Base^000000",
    			( getgmlevel() < 80 || $@RoomOwner$ != "0" )?"":"^0000FFAssign Guild Base Owner^000000",	
    			( getgmlevel() < 80 || $@RoomOwner$ == "0" )?"":"^FF0000Remove Guild Base Owner^000000")) {
    			
    	case 1:
    		mes .npcname$;
    		mes "To get into this Guild Base, The guild leader of your guild must talk with GM Team who incharge of assigning the Guild Base. ";
    		next;
    		mes .npcname$;
    		mes "Inside the Guild Base have alot of facilities to help the Guild who owned the Guild Base.";
    		close;
    	
    	case 2:
    		warp .mapname$,50,48;
    		flagemblem getcharid(2);
    		end;
    	
    	case 3:
    		mes .npcname$;
    		mes "Please input the ^FF0000Name of the Guild^000000, So that the member of that guild can go into the Base.";
    		mes "^FF0000_____________________________^000000";
    		mes "The name is ^FF0000VERY SENSITIVE^000000, please write it ^0000FFCorrectly^000000...";
    		input $@RoomOwner$;
    		next;
    		mes .npcname$;
    		mes "The room has been assigned to ^FF0000"+$@RoomOwner$+"^000000 Guild.";
    		mes "The member for this guild will be warped here by now.";
    		atcommand "@guildrecall "+$@RoomOwner$+"";
    		message strcharinfo(0),"Emblem of Guild Base Holder will be displayed upon the members get into the Base.";
    		next;
    		goto OnMenu;
    	
    	case 4:
    		mes .npcname$;
    		mes "Guild base ownership has been removed.";
    		set $@RoomOwner$,"0";
    		mapannounce .mapname$,"The Guild Base Ownership has been WIPE Off/Changed.",bc_blue;
    		mapwarp .mapname$,"prontera",155,185;
    		next;
    		goto OnMenu;
    	}
    
    OnInit:
    set $@RoomOwner$,"0";
    end;
    }
    
    
    guild_vs1,50,50,5	script	Guild Base Manager	1907,{
    set .npcname$,"[ ^0000FF Guild Base Manager ^000000 ]";
    set .BuffDuration,3600000;
    mes .npcname$;
    mes "How can i help you here ?";
    next;
    switch(select( ( getguildname(getcharid(2)) != $@RoomOwner$ || getcharid(0) != getguildmasterid(getcharid(2)) )?"":"^4EEE94Guild Members Recalling^000000",
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFHeal / Buffs^000000",
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFEquipment Repairing^000000",
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFPVP Room Warp^000000",
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFWOE Castle Warp^000000",
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFMall Room Warp^000000",		
    			( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFRefiner^000000",
    			"^FF0000Close^000000")) {
    			
    	case 1:	goto Guild_Recall;
    	case 2:	goto Healing;
    	case 3:	goto Repairing;
    	case 4:	goto PVP_Warp;
    	case 5:	goto WOE_Warp;
    	case 6:	goto Mall_Room;
    	case 7:	goto Refiner;
    	case 8:	close;
    		}
    		
    Guild_Recall:
    	mes .npcname$;
    	mes "Your guild members has been recalled. They shall arrive here within couple of time.";
    	atcommand "@guildrecall "+$@RoomOwner$+"";
    	close;
    
    Healing:
    	mes .npcname$;
    	mes "Thank you for using our services.";
    	close2;
    	percentheal 100,100;
    	sc_start SC_SPIRIT,.BuffDuration,5;
    	specialeffect2 503,SELF,strcharinfo(0);
    	skilleffect 34,0; sc_start SC_BLESSING,.BuffDuration,10;
    	skilleffect 29,0; sc_start SC_INC_AGI,.BuffDuration,10;
    	skilleffect 66,0; sc_start SC_IMPOSITIO,.BuffDuration,5;
    	skilleffect 67,0; sc_start SC_SUFFRAGIUM,.BuffDuration,3;
    	skilleffect 74,0; sc_start SC_MAGNIFICAT,.BuffDuration,5;
    	skilleffect 361,0; sc_start SC_ASSUMPTIO,.BuffDuration,5;
    	skilleffect 383,0; sc_start SC_WINDWALK,.BuffDuration,10; 
    	skilleffect 543,0; sc_start SC_NJ_NEN,.BuffDuration,5; 
    	skilleffect 357,0; sc_start SC_CONCENTRATION,.BuffDuration,10;
    	skilleffect 380,0; sc_start SC_TRUESIGHT,.BuffDuration,5;
    	skilleffect 114,0; sc_start SC_MAXIMIZEPOWER,.BuffDuration,100;
    	skilleffect 234,0;sc_start SC_PROTECTWEAPON,.BuffDuration,5;
    	skilleffect 235,0;sc_start SC_PROTECTSHIELD,.BuffDuration,5;
    	skilleffect 236,0;sc_start SC_PROTECTARMOR,.BuffDuration,5;
    	skilleffect 237,0;sc_start SC_PROTECTHELM,.BuffDuration,5;
    	skilleffect 355,0; sc_start SC_AURABLADE,.BuffDuration,5;
    	skilleffect 384,0; sc_start SC_MELTDOWN,.BuffDuration,10;
    	skilleffect 378,0; sc_start SC_EDP,.BuffDuration,5;
    	sc_start SC_ATTHASTE_POTION3,.BuffDuration,0;
    	sc_start SC_FOOD_STR,.BuffDuration,10;
    	sc_start SC_FOOD_AGI,.BuffDuration,10;
    	sc_start SC_FOOD_VIT,.BuffDuration,10;
    	sc_start SC_FOOD_INT,.BuffDuration,10;
    	sc_start SC_FOOD_DEX,.BuffDuration,10;
    	sc_start SC_FOOD_LUK,.BuffDuration,10;
    	sc_start SC_FOOD_BASICHIT,.BuffDuration,10;
    	sc_start SC_FOOD_BASICAVOIDANCE,.BuffDuration,10;
    	sc_start SC_BATKFOOD,.BuffDuration,10;
    	sc_start SC_MATKFOOD,.BuffDuration,10;
    	sc_start SC_ATTHASTE_POTION3,.BuffDuration,5;
    	sc_start SC_MOVHASTE_INFINITY,.BuffDuration,0;
    	sc_start SC_CASH_PLUSEXP,.BuffDuration,150;
    	sc_end SC_STONE;
    	sc_end SC_SLOWDOWN;
    	sc_end SC_FREEZE;
    	sc_end SC_SLEEP;
    	sc_end SC_CURSE;
    	sc_end SC_SILENCE;
    	sc_end SC_CONFUSION;
    	sc_end SC_BLIND;
    	sc_end SC_BLOODING;
    	sc_end SC_DEC_AGI;
    	sc_end SC_POISON;
    	sc_end SC_ILLUSION;
    	sc_end SC_NOEQUIPWEAPON;
    	sc_end SC_NOEQUIPARMOR;
    	sc_end SC_NOEQUIPHELM;
    	sc_end SC_NOEQUIPSHIELD;
    	sc_end SC_PROPERTYUNDEAD;
    	sc_end SC_ORCISH;
    	sc_end SC_BERSERK;
    	sc_end SC_SKE;
    	sc_end SC_SWOO;
    	sc_end SC_SKA;
    	end;
    	
    Repairing:
    	mes .npcname$;
    	if ( getbrokenid(1) == 0 ){
    	mes "You have nothing cant be repair by now.";
    	close;
    	}
    	atcommand "@repairall";
    	mes "All the broken equipments has been repaired.";
    	close;
    
    PVP_Warp:
    	warp "prontera",151,181;
    	end;
    	
    Mall_Room:
    	warp "prontera",151,181;
    	end;
    	
    WOE_Warp:
    	mes .npcname$;
    	mes "Please choose your destination...";
    	next;
    	switch(select("^4EEE94Prontera WOE Castle^000000",
    				"^4EEE94Geffen WOE Castle^000000",
    				"^4EEE94Payon WOE Castle^000000",
    				"^4EEE94Yuno WOE Castle^000000",
    				"^4EEE94Aldebaran WOE Castle^000000",
    				"^4EEE94Rachel WOE Castle^000000",
    				"^FF000Close^000000")) {
    				
    		case 1:	callsub	CastleWarp,"prt_gld",159,94;
    		case 2:	callsub	CastleWarp,"gef_fild13",164,243;
    		case 3:	callsub	CastleWarp,"pay_gld",200,173;
    		case 4:	callsub	CastleWarp,"sch_gld",137,79;
    		case 5:	callsub	CastleWarp,"alde_gld",186,155;
    		case 6:	callsub	CastleWarp,"aru_gld",219,219;
    		case 7:	callsub	CastleWarp,"prt_gld",159,94;
    		case 8:	callsub	CastleWarp,"prt_gld",159,94;
    		case 9:	close;
    		}
    		
    CastleWarp:
    	warp getarg(0),getarg(1),getarg(2);
    	end;
    	
    	
    Refiner:
    	mes .npcname$;
    	mes "I am a great refiner.. i can refine all your equipments into +8.";
    	next;
    	switch(select( ( getequipisequiped(EQI_HEAD_TOP) == 0 || getequiprefinerycnt(EQI_HEAD_TOP) > 7 )?"":"Headgear [ ^4EEE94"+getequipname(EQI_HEAD_TOP)+"^000000 ]",
    				( getequipisequiped(EQI_ARMOR) == 0 || getequiprefinerycnt(EQI_ARMOR) > 7 )?"":"Armor [ ^4EEE94"+getequipname(EQI_ARMOR)+"^000000 ]",
    				( getequipisequiped(EQI_HAND_L) == 0 || getequiprefinerycnt(EQI_HAND_L) > 7 )?"":"Left Hand [ ^4EEE94"+getequipname(EQI_HAND_L)+"^000000 ]",
    				( getequipisequiped(EQI_HAND_R) == 0 || getequiprefinerycnt(EQI_HAND_R) > 7 )?"":"Right Hand [ ^4EEE94"+getequipname(EQI_HAND_R)+"^000000 ]",
    				( getequipisequiped(EQI_GARMENT) == 0 || getequiprefinerycnt(EQI_GARMENT) > 7 )?"":"Garment [ ^4EEE94"+getequipname(EQI_GARMENT)+"^000000 ]",
    				( getequipisequiped(EQI_SHOES) == 0 || getequiprefinerycnt(EQI_SHOES) > 7 )?"":"Shoes [ ^4EEE94"+getequipname(EQI_SHOES)+"^000000 ]",
    				"^FF0000Close^000000")) {
    				
    		case 1:	callsub EquipRefine,256,8-getequiprefinerycnt(EQI_HEAD_TOP);
    		case 2:	callsub EquipRefine,16,8-getequiprefinerycnt(EQI_ARMOR);
    		case 3:	callsub EquipRefine,32,8-getequiprefinerycnt(EQI_HAND_L);
    		case 4:	callsub EquipRefine,2,8-getequiprefinerycnt(EQI_HAND_R);
    		case 5:	callsub EquipRefine,4,8-getequiprefinerycnt(EQI_GARMENT);
    		case 6:	callsub EquipRefine,64,8-getequiprefinerycnt(EQI_SHOES);
    		case 7:	close;
    		}
    EquipRefine:
    	mes .npcname$;
    	mes "Your equipment has been refined.";
    	atcommand "@refine "+getarg(0)+" "+getarg(1)+"";
    	next;
    	goto Refiner;
    } 

  4. Off topic:

    I don't know the code of harmony. But how do they do it without the sso launcher?

    Let's say I use rolex. I would still be able to run the game client without it if I provide the exe with my login credentials. So I could avoid my Mac beeing logged


  5. I'm a SVN Fanboy but i thought to give git a try.

    When creating a fork, how can i update it to the latest version? (Using TortoiseGit). :(

    Do i need to create a new remote? I would really appreciate any help with that.


  6. Hello, I would like to request a command that displays all the duals on the map where the command is executed
    example
     
    i use @sameip in prontera
    then display in the chat window 
     
    ---------------List of Same IP in Prontera---------
    User 1<ip> and User 2<ip>
    User 1<ip> and User 3<ip>
     
    User 4<ip> and User 18<ip>
    User 8<ip> and User 22<ip>
     
    (and so on)
     
    instead of "user" it shows the char name 
     
    I got an old src code of this but i hoped someone got an idea about how to make it a plugin or do it via bindatcmd. Anyways, here is the src (eathena)
    /*========================================== * @sameip * List all players on a map currently on the same IP. *------------------------------------------*/ACMD_FUNC(sameip){	int i, j;	int map_id;	char map_name[MAP_NAME_LENGTH];	struct s_mapiterator* iter;	struct map_session_data* ssd;	struct ip_record record[100];	struct same_record same[100];	nullpo_retr(-1, sd);		if (!message || !*message)	{		safestrncpy(map_name, map[sd->bl.m].name, MAP_NAME_LENGTH);	}	else	{		safestrncpy(map_name, message, MAP_NAME_LENGTH);	}	map_id = map_mapname2mapid(map_name);	if (map_id == -1)	{		sprintf(atcmd_output, "The map name '%s' doesn't exist.", map_name);		clif_displaymessage(sd->fd, atcmd_output);		return -1;	}	sprintf(atcmd_output, "---- Listing all players on %s ----", map_name);	clif_displaymessage(sd->fd, atcmd_output);		memset(same, 0, sizeof same);	memset(record, 0, sizeof record);	i = 0;	iter = mapit_getallusers();	for (ssd = (struct map_session_data*)mapit_first(iter); mapit_exists(iter); ssd = (struct map_session_data*)mapit_next(iter))	{		if (ssd == NULL)			continue;		if (ssd->state.autotrade)			continue;		if (ssd->fd < 0 || session[ssd->fd] == NULL)			continue;		if (ssd->bl.m != map_id)			continue;		ARR_FIND(0, 100, j, record[j].ip == session[ssd->fd]->client_addr);		if (j == 100)		{			ARR_FIND(0, 100, j, record[j].account_id == 0);			if (j == 100)				break;						record[j].ip = session[ssd->fd]->client_addr;			record[j].char_id = ssd->status.char_id;			record[j].account_id = ssd->status.account_id;			continue;		}				same[i].ip = session[ssd->fd]->client_addr;		same[i].pl1 = map_id2sd(record[j].account_id);		same[i].pl2 = ssd;		i++;	}	if (i > 0)	{		for (j = 0; i > j; j++)		{			if (same[j].pl1 && same[j].pl2)			{				sprintf(atcmd_output, "- Characters '%s' and '%s' are on the same IP.", same[j].pl1->status.name, same[j].pl2->status.name);				clif_displaymessage(sd->fd, atcmd_output);			}		}	}	sprintf(atcmd_output, "---- Found %d players on the same IP ----", i);	clif_displaymessage(sd->fd, atcmd_output);	mapit_free(iter);	return 0;}

     

     


  7. omg it's annie, i'm fainting *fanboy shout

     

    i remember an issue on eathena with guild skills. 

     

    prontera,164,170,4	script	Guild Bug Fix	864,{	OnWhisperGlobal:	if(guild_reset_progress!=0){		set @check,gettimetick(2);		if(@check-guild_reset_progress < 360){			mes "Please wait 1 hour before using the NPC again";			close;		}	}	mes "This is a npc to be used only by guild masters to rebuild their guilds in case they are bugged";	next;	set @GID,getcharid(2);	if(strcharinfo(0)!=getguildmaster(@GID)){		mes "You are not the guild master.";		close;	}	mes "Let's start with counting your guild skills.";	set @count,0;	for(set @i,10000;@i<10015;set @i,@i+1)		set @count, @count + getgdskilllv(@GID,@i);	next;	mes "Now let's count your remaining points and your guild level.";	query_sql "Select `guild_lv`,`skill_point` from `guild` where `guild_id` = '" + @GID + "'",@guild_level,@skill_point;	set @guild_level,@guild_level-1-@skill_point-@count;	next;	if(@guild_level){		mes "We need to remove "+@guild_level+" guild levels and give it again.";		next;		atcommand "@glevel -"+@guild_level;		atcommand "@glevel "+@guild_level;		mes "Everything should be fine now. You can use the npc again after 1 hour if necessary.";	} else {		mes "Everything seems fine with your guild. You can use the npc again after 1 hour if necessary.";	}	set guild_reset_progress,gettimetick(2);	close;}

     

    But right now i have no real id how to check/read/apply for all skills in the class tree. 


  8. it's already in the script..

     

    CREATE TABLEcustom_storage SELECT * FROM storage;ALTER TABLE `custom_storage` ADD PRIMARY KEY ( `id` );ALTER TABLE `custom_storage` CHANGE `id` `id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT;TRUNCATE TABLE `custom_storage`;

  9. i got a weird problem and can't figure the cause o__O

     

    i added a few new items (i added customs before already and never had problems with it)

     

    so, these are examples of those who work:

     

    iteminfo.lub:

     

    [29102] = {		unidentifiedDisplayName = "Rogue Cape",		unidentifiedResourceName = "rogue_cape",		unidentifiedDescriptionName = {			"Unknown Item, can be identified by [Magnifier]."		},		identifiedDisplayName = "Rogue Cape",		identifiedResourceName = "rogue_cape",		identifiedDescriptionName = {			"^ff0000This is an exlcusive Headgear for active Beta Testers!^000000",			"Class: ^777777Costume^000000",			"Location: ^777777Lower^000000",			"Weight: ^77777710^000000",			"Jobs: ^777777All^000000",			"^990099[WoonRo Custom]^000000"		},		slotCount = 0,		ClassNum = 1250	},	[29103] = {		unidentifiedDisplayName = "Siren",		unidentifiedResourceName = "siren",		unidentifiedDescriptionName = {			"Unknown Item, can be identified by [Magnifier]."		},		identifiedDisplayName = "Siren",		identifiedResourceName = "siren",		identifiedDescriptionName = {			"^ff0000This is an exlcusive Headgear for active Beta Testers!^000000",			"Class: ^777777Costume^000000",			"Location: ^777777Upper^000000",			"Weight: ^77777710^000000",			"Jobs: ^777777All^000000",			"^990099[WoonRo Custom]^000000"		},		slotCount = 0,		ClassNum = 1251	},  

     

     
    accname.lub
    [ACCESSORY_IDs.ACCESSORY_rogue_cape] = "_rogue_cape",  [ACCESSORY_IDs.ACCESSORY_siren] = "_siren",
     
    accessoryid.lub
    ACCESSORY_rogue_cape = 1250,  ACCESSORY_siren = 1251,
     
    And these are the ones who doesn't work:
     

     

    [29104] = {		unidentifiedDisplayName = "Helm of Darkness",		unidentifiedResourceName = "Helm of Darkness",		unidentifiedDescriptionName = {			"Unknown Item, can be identified by [Magnifier]."		},		identifiedDisplayName = "Helm of Darkness",		identifiedResourceName = "Helm of Darkness",		identifiedDescriptionName = {			"A forboding helmet that hides part of the face. People wearing this have the appearance of Beelzebub.",			"Class: ^777777Costume^000000",			"Location: ^777777Upper^000000",			"Weight: ^7777770^000000",			"Jobs: ^777777All^000000",			"^990099[WoonRo Custom]^000000"		},		slotCount = 0,		ClassNum = 1252	},	[29105] = {		unidentifiedDisplayName = "Helm of Darkness Amarillo",		unidentifiedResourceName = "Helm of Darkness Amarillo",		unidentifiedDescriptionName = {			"Unknown Item, can be identified by [Magnifier]."		},		identifiedDisplayName = "Helm of Darkness Amarillo",		identifiedResourceName = "Helm of Darkness Amarillo",		identifiedDescriptionName = {			"A forboding helmet that hides part of the face. People wearing this have the appearance of Beelzebub.",			"Class: ^777777Costume^000000",			"Location: ^777777Upper^000000",			"Weight: ^7777770^000000",			"Jobs: ^777777All^000000",			"^990099[WoonRo Custom]^000000"		},		slotCount = 0,		ClassNum = 1253	}, 

     

     
    accname.lub
     [ACCESSORY_IDs.ACCESSORY_helm_of_darkness] = "_helm_of_darkness",  [ACCESSORY_IDs.ACCESSORY_amarillo] = "_amarillo",,
     
    accessoryid.lub
    ACCESSORY_helm_of_darkness = 1252,  ACCESSORY_amarillo = 1253,

     

    the sprite and file names are correct, all in the correct directiory. 

     

    I tried:

    - switched the siren (1251) with amarillo (1253), Siren still worked, amarillo didn't

    - the files directories are correct

    - when wearing a gear (e.g. siren), then logging out, switching the clientside (make siren ID to amarillo) info files and logging back, i wear the gear, so the files took place in the grf

    - Only thing which doesnt work, is are the collection.bps and inventory sprites. As said the directories are correct and the files are not corrupted. 

    - i didn't reach max. limit

    Anyone got an idea?

    - both issues seem to be in the texture path, which is 

    datatextureÀ¯ÀúÀÎÅÍÆäÀ̽ºcollection

    datatextureÀ¯ÀúÀÎÅÍÆäÀ̽ºitem

    - doesnt neither work with read data folder first.

×
×
  • Create New...

Important Information

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