Saltar al contenido

Más en DLAN: Nuestras Traducciones | Otras Traducciones | Mods y modding | Revisiones y Guías | Videojuegos | Arte | Literatura | Rol y Rol por foro e IRC | Mapa de la web
Foto

Ayuda con los "Tailoring model" (variables)


1 respuesta al tema

#1 Zoraga

Zoraga

    Ancillae

  • Miembro
  • PipPipPip
  • 254 posts

Posteado 28 May 2020 - 10:31 PM

Saludos gente, pensé que era bastante simple, pero como soy ñurdo para el inglés, necesito ayuda para entender un script, se trata de uno que usan la mayoría de servidores, lo he tratado de modificar para obtener los valores de precios por modificar apariencias de ropas.

El NPC tiene una lista de variables, y entiendo que debo modificar el valor de la variable "Cloth_Value_Copy" para modificar precios, pero el script no me da a entender con claridad que valores tengo que modificar para ello, aquí me salen 6 casos, donde supongo debo colocar uno de estos números para decirle al script que quiero hacer, el script que determina esto es el siguiente:

tlr_copycost:

 

//::///////////////////////////////////////////////

//:: Tailoring - Copy Cost
//:: tlr_copycost.nss
//:: Copyright © 2003 Jake E. Fitch
//:://////////////////////////////////////////////
/*
 
*/
//:://////////////////////////////////////////////
//:: Created By: Jake E. Fitch (Milambus Mandragon)
//:: Created On: March 9, 2004
//-- bloodsong:  added base cost for adjusting price ranges.
//:://////////////////////////////////////////////
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    int BaseCost = 100; //-- change this to raise your base prices.
    float BaseDivider = 0.2; //-- mil default
 
    object oNPCItem = GetItemInSlot(INVENTORY_SLOT_CHEST, OBJECT_SELF);
    object oPCItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
 
    int iModifier=GetLocalInt(OBJECT_SELF, "Cloth_Mod_Copy");
    int iValue=GetLocalInt(OBJECT_SELF, "Cloth_Value_Copy");
    int iCost = BaseCost + GetGoldPieceValue(oNPCItem) + FloatToInt(IntToFloat(GetGoldPieceValue(oPCItem)) * BaseDivider);
 
 
    switch (iModifier)
    {
       case 0: //Variable-set price modifying is OFF
           iCost = BaseCost + GetGoldPieceValue(oNPCItem) + FloatToInt(IntToFloat(GetGoldPieceValue(oPCItem)) * BaseDivider);
           break;
 
       case 1: //Variable "Value" will be used to ADD to the price
           iCost = iCost+iValue;
           break;
 
       case 2: //Variable "Value" will be used to SUBTRACT from the price
           iCost = iCost-iValue;
           break;
 
       case 3: //Variable "Value" will be used to MULTIPLY by the price
           iCost = iCost*iValue;
           break;
 
       case 4: //Variable "Value" will be used to DIVIDE by the price
           if (iValue!=0)
              iCost = iCost/iValue;
 
           else iCost = BaseCost + GetGoldPieceValue(oNPCItem) + FloatToInt(IntToFloat(GetGoldPieceValue(oPCItem)) * BaseDivider);
           break;
 
      case 5: //Variable "Value" will be used to SET the price
           iCost = iValue;
           break;
 
    }
 
    int iAC = GetItemACValue(oNPCItem);
 
    string sOut = "Valor: " + IntToString(iCost) + " monedas.\n";
    sOut += "AC: " + IntToString(iAC) + "\n";
    sOut += "(Nota: Solo puedes copiar el aspecto de una armadura cuyo valor de CA sea el mismo de la que llevas equipada en el momento.)\n";
    sOut += "\n¿Continúas con la transferencia del aspecto?";
 
    SetCustomToken(9876, sOut);
    //-- this is called to check if the pc has the money to buy
    SetLocalInt(OBJECT_SELF, "CURRENTPRICE", iCost);
 
    return TRUE;
}

  

 

Lo que me doy cuenta es que en todas las opciones posibles me pone como valor base, el valor del item + 100, y a partir de eso sale opcion de sumar, restar, multiplicar, dividir, etc. pero mi intención es que solo me cobre 100 sin importar el valor del item, o almenos encontrar la forma que me cobre solo un 10% del valor del item y no un precio mayor. También me gustaría poner que me cobre 0 en otro NPC (area de personajes nuevos).

¿Alguno entiende mas o menos como va este script? cualquier aporte se agradece.


Colaborando en:



Nombre servidor: ES) Rebelión del Submundo
Tipo de servidor: rol/acción/jvj
Jugadores: 1-25
Niveles: 1-30
Base literaria: Reinos Olvidados
IP (conectar directamente): sombrasdefaerun.no-ip.org
Foro: http://usn-rol.foroes.org/



 


#2 Zoraga

Zoraga

    Ancillae

  • Miembro
  • PipPipPip
  • 254 posts

Posteado 28 May 2020 - 11:36 PM

Sorry, acabo de solucionarlo, resulta que el valor del precio como tal iba en Cloth_Value_Copy y mi elección del caso en Cloth_Mod_Copy.


Colaborando en:



Nombre servidor: ES) Rebelión del Submundo
Tipo de servidor: rol/acción/jvj
Jugadores: 1-25
Niveles: 1-30
Base literaria: Reinos Olvidados
IP (conectar directamente): sombrasdefaerun.no-ip.org
Foro: http://usn-rol.foroes.org/



 




Responder



  


A Bragol. Tus amigos te echan de menos.