Maese Fys12/02/2006 14:05:28Necesito saber cual es el comando que se introduce en el script para que una subraza empiece en un sitio determinado-.Asias Fys 12/02/2006 17:19:20Aqui tienes un script de ejemplo, donde se realizan saltos apuntos de ruta segun raza y subraza y se modifican los comportamientos de las facciones con el PJ.[code:1:9ae7daefc6] //****************************************************************************** // Nombre: area_onenter_pj // Descripcion: Script para que cuando un PJ entre al mundo sea conducido a su // portal que le dara acceso a ciertas partes del mundo segun su // raza. Tambien ajustara su reputacion con las distintas // facciones. // Autor: Tomas Gomez //****************************************************************************** #include "sdr_inc" #include "sistemas_ro_cfg" #include "nw_i0_tool" void main() { object oPC = GetEnteringObject(); int nRace = GetRacialType(oPC); //************************************************************************** //* Sistema de entrada personalizado //************************************************************************** object oObjetoSEP = GetItemPossessedBy(oPC, "sep"); if(GetIsObjectValid(oObjetoSEP)) { string sResRefSEP = GetResRef(oObjetoSEP); object theWaypoint = GetWaypointByTag("CF_PE_Especiales"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); if(GetSubString(sResRefSEP, 5, 3) == "nnt") return; //Neutral a todo } //************************************************************************** //Dungeon Master if(GetIsDM(oPC)) { object theWaypoint = GetWaypointByTag("NW_POSDM"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); } //Enanos Escudos, Dorados y por defecto. if ((nRace == RACIAL_TYPE_DWARF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 6) == "escudo") || (nRace == RACIAL_TYPE_DWARF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 6) == "dorado") || (nRace == RACIAL_TYPE_DWARF && GetSubRace(oPC) == "")) { object theWaypoint = GetWaypointByTag("NW_POSTEnanos"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Enanos buenos y neutrales les salen hostiles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //Enanos Duergar. if (nRace == RACIAL_TYPE_DWARF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 7) == "duergar") { object theWaypoint = GetWaypointByTag("NW_POSTDuergars"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Duergars malvados y neutrales les salen hostiles los guardias de superficie PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensor"),-100); } } //Elfos Lunares, Solares, Salvajes, del Bosque y por defecto. if ((nRace == RACIAL_TYPE_ELF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 5) == "lunar") || (nRace == RACIAL_TYPE_ELF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 5) == "solar") || (nRace == RACIAL_TYPE_ELF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 7) == "salvaje") || (nRace == RACIAL_TYPE_ELF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 6) == "bosque") || (nRace == RACIAL_TYPE_ELF && GetSubRace(oPC) == "")) { object theWaypoint = GetWaypointByTag("NW_POSTElfos"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Elfos les salen hostiles todos los Drows PNJs AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } //Elfos Drow. if (nRace == RACIAL_TYPE_ELF && GetStringLowerCase(GetSubRace(oPC)) == "drow") { object theWaypoint = GetWaypointByTag("NW_POSTDrows"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Elfos Drows malvados y neutrales les salen hostiles guardias superficie PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL /*|| GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL*/) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensor"),-100); } } //Gnomos de las Rocas y por defecto. if ((nRace == RACIAL_TYPE_GNOME && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 4) == "roca") || (nRace == RACIAL_TYPE_GNOME && GetSubRace(oPC) == "")) { object theWaypoint = GetWaypointByTag("NW_POSTGnomos"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Gnomos buenos y neutrales les salen hostiles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //Gnomos de las Profundidades. if (nRace == RACIAL_TYPE_GNOME && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 11) == "svirfneblin") { object theWaypoint = GetWaypointByTag("NW_POSTSwirfneblin"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Gnomos de las Profundidades buenos y neutrales les salen hostiles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //Semielfo Drow y por defecto if ((nRace == RACIAL_TYPE_HALFELF && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 9) == "mediodrow") || (nRace == RACIAL_TYPE_HALFELF && GetSubRace(oPC) == "")) { object theWaypoint = GetWaypointByTag("NW_POSTSemielfos"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Semielfo Drow y por defecto buenos y neutrales les salen hostiles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //Mediano Piesligeros, Fantasagaz, Fortecores y por defecto. if ((nRace == RACIAL_TYPE_HALFLING && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 11) == "piesligeros") || (nRace == RACIAL_TYPE_HALFLING && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 10) == "fantasagaz") || (nRace == RACIAL_TYPE_HALFLING && GetStringLeft(GetStringLowerCase(GetSubRace(oPC)), 10) == "fortecores") || (nRace == RACIAL_TYPE_HALFLING && GetSubRace(oPC) == "")) { object theWaypoint = GetWaypointByTag("NW_POSTMediano"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Todos los medianos buenos y neutrales les salen hositles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //Semiorcos por defecto. if (nRace == RACIAL_TYPE_HALFORC && GetSubRace(oPC) == "") { object theWaypoint = GetWaypointByTag("NW_POSTSemiorcos"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Todos los semiorcos buenos y neutrales les salen hositles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //Humanos por defecto. if (nRace == RACIAL_TYPE_HUMAN && GetSubRace(oPC) == "") { object theWaypoint = GetWaypointByTag("NW_POSTHumanos"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); //Todos los humanos buenos y neutrales les salen hositles todos los Drows PNJs if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD || GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"),-100); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"),-100); } } //*********************** Razas Especiales ********************************* //Avariel if (nRace == RACIAL_TYPE_ELF && GetStringLowerCase(GetSubRace(oPC)) == "avariel") { object theWaypoint = GetWaypointByTag("CF_PE_Especiales"); AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint))); } //****************************************************************************** //* Saltos especiales //****************************************************************************** //Si es un renegado salta al punto de cpmienzo de los humanos if(HasItem(oPC, "Renegado")) { object theWaypoint = GetWaypointByTag("NW_POSTHumanos"); DelayCommand(0.5, AssignCommand(oPC, JumpToLocation(GetLocation(theWaypoint)))); } //****************************************************************************** //* Condiciones especiales //****************************************************************************** // if(HasItem(oPC, "NoHostilidades")) { AdjustReputation(oPC,GetObjectByTag("FaccionDefensorDrow"), 50); AdjustReputation(oPC,GetObjectByTag("FaccionFaenTlabbar"), 50); AdjustReputation(oPC,GetObjectByTag("FaccionOblodra"), 50); AdjustReputation(oPC,GetObjectByTag("FaccionDefensor"), 50); } } [/code:1:9ae7daefc6] Maese Fys13/02/2006 01:49:07Muchas gracias al, que el dia de san Valentin te llegue una rosita de agradecimiento desde Madrid.Saludos Fys 13/02/2006 16:17:02Ahora que me fijo es un poco largo el script espero que te aclares :P y te ayude en algo.Maese Fys13/02/2006 20:40:39Estoy intentando aprender, al fin y al cabo C++ no es tan complicado, jeje, si necesito alguna aclaracion ya te pregunta via mp o por aqui por el foro, asias de todos modos alFys MenelvagorII24/02/2006 22:27:27Oye una cosa, y no podrías meter en ese scrip que las mejoras fueran no un bonificador, como si fuera un objeto, sino copiar el scrip original del nver que sube las características de manera permanente, vease un enano con su constitu, y su carísma redudicido.. porque así sería más a corde a la raza...25/02/2006 14:33:11Eso supone meterse a modificar 2das y varias cosas mas, y aun asi creo que no es sencillo, estube probando uno qu hiba asi, en la lista de razas que tienes al hacerte el personaje aparecian tambien el resto, como drow y demas pero al final te aplicaba una piel con lo que estabas igual.Si nadie lo ha hecho hasta ahora es que no se puede, creo yo. Maese Fys25/02/2006 15:55:47Tp creo que sea tan necesario XD |