Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Posts posted by jaBote


  1. Si quieres que un GM pueda gestionar objetos del juego sin ningún tipo de problema, puedes probar a darle permisos can_trade en /conf/groups.conf. Simplemente busca el group ID que le tienes asignado a tus GMs (generalmente grupos de ID 4 o 10, aunque el grupo 10 hereda el valor de configuración del 4). Si quieres tener más información sobre qué son los permisos y para qué sirven, mira en doc/permissions.txt

     


     

    Sobre tu otro problema (permitir trade de items), puedes simplemente ir a tu copia local de db/{re o pre-re}/item_db.conf, buscar el item sobre el que quieras permitir el trade y cambiar el valor de notrade de true (verdadero, o sí) a false (falso, o no). Por ejemplo, si quieres permitir solo el trade del Satanic Ring, buscas su entrada en la base de datos:

    {	Id: 2761	AegisName: "Satanic_Ring"	Name: "Satanic Ring"	Type: 5	Buy: 0	Upper: 63	Loc: 136	Refine: false	Trade: {		nodrop: true		notrade: true		noselltonpc: true		nocart: true		nostorage: true		nogstorage: true		nomail: true		noauction: true	}	Script: <" bonus2 bExpAddRace,RC_Angel,15; ">},

     

    Y cambias notrade por false.

     

     

    Espero haber ayudado.


  2. You can block them using it on these restricted places as nostafuz said. If you do also want them not to enter in a place, use a script like this one:

     

    -	script	nomercenaries	-1,{OnPCLoadMapEvent:	if (getmercinfo(0)) { // Don't check anything else if user has no mercenary		.@map$ = strcharinfo(PC_MAP); // This saves some time on next check		if (getmapflag(.@map$,mf_gvg_castle) || getmapflag(.@map$,mf_battleground)) {			warp "SavePoint",0,0; // kick him			announce "You may NOT have a Mercenary on WoE or Battleground maps.",bc_self;		}	}	end;}

    This should kick them from these maps when entering with a mercenary. On current scripting, there's no way to terminate a mercenary's contract via a script command to the best of my knowledge.

     

    Note: You should also add mapflag loadevent on all the maps you want to restrict it beforehand!


  3. The script Dastgir made has a small mistake on the code:

    			if (attachrid($@partymemberaid[.@i]){				getitem 969,1;				warp "prontera",156,184;				end;			}

    This means that when one gets the prizes, others won't since the execution of the script will get stopped there.

     

    Try placing that end; at the end of the script, like this:

    OnMobKilled3:	if(!mobcount("que_qaru01",strnpcinfo(0)+"::OnMobKilled3")) {		sleep2 2000;		mapannounce "que_qaru01","Boss-Monster is now dead!",0;		sleep2 2000;		announce "Your party finished this monster battle, good job!",0;		sleep2 2000;		getpartymember getcharid(1),2;		for(.@i = 0; .@i<$@partymembercount; .@i++){			if (attachrid($@partymemberaid[.@i]){				getitem 969,1;				warp "prontera",156,184;			}		}	}	end;

     

    Test and comment please ;)


  4. I mean you can't reverse the passwords into legible state unless you spend hundreds or thousands of hours (depends on your server processing capability) of full server processing time trying to guess we each password via their MD5 digest. And multiply for each individual password you mean to recover.


  5. Oh, true. You get respawned because you still belong to a BG team.

     

    Look on your src/map/pc.c for something like this inside your pc_dead function:

     

    	//GvG	if( map_flag_gvg2(sd->bl.m) ) {		timer->add(tick+1, pc->respawn_timer, sd->bl.id, 0);		return 1|8;	} else if( sd->bg_id ) {		struct battleground_data *bgd = bg->team_search(sd->bg_id);		if( bgd && bgd->mapindex > 0 ) { // Respawn by BG			timer->add(tick+1000, pc->respawn_timer, sd->bl.id, 0);			return 1|8;		}	}

     

    Comment the following lines:

     

    	} else if( sd->bg_id ) {		struct battleground_data *bgd = bg->team_search(sd->bg_id);		if( bgd && bgd->mapindex > 0 ) { // Respawn by BG			timer->add(tick+1000, pc->respawn_timer, sd->bl.id, 0);			return 1|8;		}

     

    And recompile. Now none of your BGs will do the automatic warp out, but you should ask them not to "go back to savepoint" because that will cause them to abandon BG.


  6.  

     

    Si ya usas el thor patcher ya tienes actualizador.

    O eso o no te he entendido bien.

    Realmente era respecto a eso, teniendo el thor ya estaria entonces el actualizador? o.o.. el tema seria, que cada vez que implemente una actualizacion a mi servidor no tener que estar cada una de esas veces subiendo archivos nuevos para los usuarios

    Es que el actualizador funciona así: subes archivos para que el actualizador los baje por los usuarios y aplique el parche en sus clientes. Si no quieres subir los archivos tú mismo, prueba a sincronizar la carpeta con Dropbox o similares, aunque bueno...


  7. No configs can change that AFAIK. @whodrops is limited by MAX_SEARCH constant in source, which is set in src/map/itemdb.h if I recall correctly. Either change that value from that file (which could also change any other feature in which it's used) or go to src/map/atcommand.c and go change MAX_SEARCH parameter to whatever number you want.


  8. Dunno if that's actually a bug or a feature. It says recallall, which to my understanding means everybody no matter what. I think maybe it should accept an optional parameter to specify whether you want different kinds of AFK to be called or not, for example vendings, autotraders, chatting people, afk timer greater than X or so.


    1. We don't have access to DreameRO, especially its databases and scripts.
    2. You've got enough documentation to do this since I believe they didn't use any special documentation other than programming basics you can learn through the Internet and this manual.

    Try to teach yourself, is the best answer I can give you.

×
×
  • Create New...

Important Information

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