Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Commands [Base : GS 1.00.18]  (Visto 1828 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline DeilanSasame Posteado: July 06, 2017, 02:21:51 PM | Modificado: July 06, 2017, 02:24:24 PM by DeilanSasame

  • 3D Maker
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 308
  • Gracias recibida: 1532
  • ar
Buenas Aqui Les dejo Algunos Commandos para su Server
Echos en Base Al GS 1.00.18

Requisitos: Tener conocimientos basicos de C++ y SQL

/pkclear:
Code: [Select]
//========================================================================================================================
// PK Clear Command
//========================================================================================================================
void PkClearCommand(int aIndex, char* Message)
{
    // pkclear Enabled Comand
    if(conf.commands.pkclearenabled == 0)
    {
        // Disable Command MSG
        GCServerMsgStringSend("[Pk Clear]: Disabled Command.",aIndex,1);
        return;
    }
   
    // LVL Requirement
    if((int)gObjGetInt(aIndex,gObjLvl)< conf.commands.pkclearlvl)
    {
        MsgOutput(aIndex,"[Pk Clear]: The Command can be used at Level [%d].",conf.commands.pkclearlvl);
        return;
    }

    // Zen Requirement
    // Initiate :
    if(conf.commands.pkclearcost == 1)
    {
        if((int)gObjGetInt(aIndex,gObjZen)< conf.commands.pkclearzen)
        {
            if(conf.commands.pkclearcost > 0)
            {
                MsgOutput(aIndex,"[PK Clear]: You need [%ld] zen to use the command",conf.commands.pkclearzen);
                return;
            }
            else
            {
                GCServerMsgStringSend("[Pk Clear]: !Incorrect configuration in the DSF_Commands.ini",aIndex,1);
                return;
            }
        }
    }

            if(conf.commands.pkclearcost == 1)
            {
                if((int)gObjGetInt(aIndex,gObjZen) >= conf.commands.pkclearzen)
                {
                    if(conf.commands.pkclearzen > 0)
                    {
                        gObjWrite(aIndex,gObjZen,gObjGetInt(aIndex,gObjZen) - conf.commands.pkclearzen);
                        GCMoneySend(aIndex,gObjGetInt(aIndex,gObjZen));
                    }
                }
            }
        // End

    // Detects if you are PK or No
    if(gObj[aIndex].m_PK_Level < 4)
    {
        GCServerMsgStringSend("[Pk Clear]: You are already a Commoner.",aIndex,1);
        return;
    }
    else
    {

    // Cleared Pk Status

        gObjWrite(aIndex,gObjPK,3);
        GCPkLevelSend(aIndex,3);
        gObj[aIndex].m_PK_Count = 0;
        gObj[aIndex].m_PK_Time = 0;
        GCServerMsgStringSend("[PK Clear]: PK status successfully cleared.",aIndex,1);
        return;
    }


}

/post:
Code: [Select]
//========================================================================================================================
// Post Command
//========================================================================================================================
void PostCommand(int aIndex,char* Message)
{
    gObjGetNick(aIndex,Character);

    if(conf.commands.postenabled == 0)
    {
        return;
    }

    if(!_strcmpi("/post",Message))
    {
        GCServerMsgStringSend("[Post]: Syntax : /post <msg>.",aIndex,1);
        return;
    }

    if(strlen(Message) < 1)
    {
        GCServerMsgStringSend("[Post]: Syntax : /post <msg>.",aIndex,1);
        return;
    }

    if((int)gObjGetInt(aIndex,gObjLvl) < conf.commands.postlevel)
    {
        MsgOutput(aIndex,"[Post]: The Command can be used at Level [%d].",conf.commands.postlevel);
        return;
    }

    if(conf.commands.postcostzen == 1)
    {
        if((int)gObjGetInt(aIndex,gObjZen) < conf.commands.postpricezen)
        {
            if(conf.commands.postpricezen > 0)
            {
                GCServerMsgStringSend("[Post]: You need [%ld] Zen to execute Command.",aIndex,1);
                return;
            }
            else
            {
                GCServerMsgStringSend("[Post]: !Incorrect configuration in the DSF_Commands.ini",aIndex,1);
                return;
            }
        }
    }

    int Muted = MuDB.CheckMute(gObj[aIndex].Name);

    if(Muted == 1)
    {
        GCServerMsgStringSend("[Post]: Post function temporarily mute from global.",aIndex,1);
        return;
    }

    switch(2)
    {
    case 0:
        {
            ServerMsgSendYellow(aIndex,"[Post]","%s:%s",Character,Message);
        }
        break;
    case 1:
        {
            ServerMsgSendBlue(aIndex,"[Post]","%s:%s",Character,Message);
        }
        break;
    case 2:
        {
            ServerMsgSendOrange(aIndex,"[Post]","%s:%s",Character,Message);
        }
        break;
    case 3:
        {
            ServerMsgSendGreen(aIndex,"[Post]","%s:%s",Character,Message);
        }
        break;
    default:
        break;
    }

    if(conf.commands.postloguse == 1)
    {
        Log.AddTime("Use Command -> [ %s ]\t[ %s ] : %s",gObj[aIndex].AccountID,gObj[aIndex].Name,"Post");
        Log.Command("Use Command -> [ %s ] [ %s ] : %s\n",gObj[aIndex].AccountID,gObj[aIndex].Name,"Post");
    }

    if(conf.commands.postsave == 1)
    {
        Log.Post("%s: %s\n",gObj[aIndex].Name,Message);
    }

    if(conf.commands.postcostzen == 1)
    {
        if((int)gObjGetInt(aIndex,gObjZen) >= conf.commands.postpricezen)
        {
            if(conf.commands.postpricezen > 0)
            {
                gObjWrite(aIndex,gObjZen,gObjGetInt(aIndex,gObjZen) - conf.commands.postpricezen);
                GCMoneySend(aIndex,gObjGetInt(aIndex,gObjZen));
            }
        }
    }
}

/add:
Code: [Select]
//========================================================================================================================
// Add Command
//========================================================================================================================
void AddCommand(int aIndex,LPCSTR Buffer,int Type)
{
    if(conf.commands.addenabled == 0)
    {
        return;
    }

    if((int)gObjGetInt(aIndex,gObjLvl) < conf.commands.addlevel)
    {
        MsgOutput(aIndex,"[Add Points]:You have not met the required level [%d].",conf.commands.addlevel);
        return;
    }

    if(conf.commands.addcost == 1)
    {
        if((int)gObjGetInt(aIndex,gObjZen) < conf.commands.addprice)
        {
            if(conf.commands.addprice > 0)
            {
                MsgOutput(aIndex,"[Add Points]:You need [%d] zen to execute Command.",conf.commands.addprice);
                return;
            }
            else
            {
                GCServerMsgStringSend("[Add Points]:Incorrect configuration in the DSF_Commands.ini!",aIndex,1);
                return;
            }
        }
    }

    if(Type == gObjCommand && gObj[aIndex].DbClass != 64)
    {
        GCServerMsgStringSend("[Add Points]:For DarkLord or LordEmperor",aIndex,1);
        return;
    }

    int AddPoints = atoi(Buffer);

    if(gObj[aIndex].LevelUpPoint < AddPoints)
    {
        GCServerMsgStringSend("[Add Points]:You do not have enough points to add.",aIndex,1);
        return;
    }

    if(!AddPoints)
    {
        GCServerMsgStringSend("[Add Points]:Syntax Error. Command needs a number.",aIndex,1);
        return;
    }

    DWORD OldValue = *(DWORD*)(aIndex * OBJECT_SIZE + OBJECT_BASE + Type);

    switch(Type)
    {
    case gObjStrength:
        if(((gObj[aIndex].Strength + AddPoints) >= conf.stats.playermaxstats) || ((gObj[aIndex].Strength + AddPoints) >= MaxStats[gObj[aIndex].Class][0]))
        {
            MsgOutput(aIndex,"[Add Points]: Maximum Possible Strengt is %d",conf.stats.playermaxstats);
            return;
        }
        break;
    case gObjAgility:
        if(((gObj[aIndex].Dexterity + AddPoints) >= conf.stats.playermaxstats) || ((gObj[aIndex].Dexterity + AddPoints) >= MaxStats[gObj[aIndex].Class][1]))
        {
            MsgOutput(aIndex,"[Add Points]: Maximum Possible Agility is %d",conf.stats.playermaxstats);
            return;
        }
        break;
    case gObjVitality:
        if(((gObj[aIndex].Vitality + AddPoints) >= conf.stats.playermaxstats) || ((gObj[aIndex].Vitality + AddPoints) >= MaxStats[gObj[aIndex].Class][2]))
        {
            MsgOutput(aIndex,"[Add Points]: Maximum Possible Energi is %d",conf.stats.playermaxstats);
            return;
        }
        break;
    case gObjEnergy:
        if(((gObj[aIndex].Energy + AddPoints) >= conf.stats.playermaxstats) || ((gObj[aIndex].Energy + AddPoints) >= MaxStats[gObj[aIndex].Class][3]))
        {
            MsgOutput(aIndex,"[Add Points]: Maximum Possible Energy is %d",conf.stats.playermaxstats);
            return;
        }
        break;
    case gObjCommand:
        if(gObj[aIndex].Class == 4)
        {
            if(((gObj[aIndex].Leadership + AddPoints) >= conf.stats.playermaxstats) || ((gObj[aIndex].Leadership + AddPoints) >= MaxStats[gObj[aIndex].Class][4]))
            {
                MsgOutput(aIndex,"[Add Points]: Maximum Possible Command is %d",conf.stats.playermaxstats);
                return;
            }
        }
        else
        {
            return;
        }
        break;
    }

    *(DWORD*)(aIndex * OBJECT_SIZE + OBJECT_BASE + Type)= OldValue + AddPoints;       
    *(DWORD*)(aIndex * OBJECT_SIZE + OBJECT_BASE + gObjLvlPoint) = gObj[aIndex].LevelUpPoint - AddPoints;

    GCLevelUpMsgSend(aIndex,0x01);

    MsgOutput(aIndex,"[%d] Point(s) were added successfully",AddPoints);

    if(conf.commands.addloguse == 1)
    {
        Log.AddTime("Use Command -> [ %s ]\t[ %s ] : %s",gObj[aIndex].AccountID,gObj[aIndex].Name,"Add");
        Log.Command("Use Command -> [ %s ] [ %s ] : %s\n",gObj[aIndex].AccountID,gObj[aIndex].Name,"Add");
    }

    if(conf.commands.addcost == 1)
    {
        if((int)gObjGetInt(aIndex,gObjZen) >= conf.commands.addprice)
        {
            if(conf.commands.addprice > 0)
            {
                gObjWrite(aIndex,gObjZen,gObjGetInt(aIndex,gObjZen) - conf.commands.addprice);
                GCMoneySend(aIndex,gObjGetInt(aIndex,gObjZen));
            }
        }
    }
}



/gg + Prefix GM/ADMIN/MOD

Code: [Select]
void GgCommand(int aIndex,char* Message)
{
    gObjGetNick(aIndex,Character);

    if(conf.commands.ggenabled == 0)
    {
        GCServerMsgStringSend(StgStc.MSG_DISABLED,aIndex,1);
        return;
    }
   
    if(VerifyGM(aIndex) == false)
    {
        return;
    }

    if(*(short int*)(aIndex * OBJECT_SIZE + OBJECT_BASE + gObjCtl) == 32)
    {
            char sBuff[255]={0};
            wsprintf(sBuff,"[GM]%s: %s",Character,Message);
            MsgOutputGlobal(aIndex,sBuff);

            Log.AddTime("Use GM Command -> [ %s ]\t[ %s ]\t[ %s ] : %s",gObj[aIndex].Ip_addr,gObj[aIndex].AccountID,gObj[aIndex].Name,"gg");
            Log.GM("Use GM Command -> [ %s ]\t[ %s ]\t[ %s ] : %s\n",gObj[aIndex].Ip_addr,gObj[aIndex].AccountID,gObj[aIndex].Name,"gg");
    }

    else if(*(short int*)(aIndex * OBJECT_SIZE + OBJECT_BASE + gObjCtl) == 8)
    {
            char sBuff[255]={0};
            wsprintf(sBuff,"[ADMIN]%s: %s",Character,Message);
            MsgOutputGlobal(aIndex,sBuff);

            Log.AddTime("Use GM Command -> [ %s ]\t[ %s ]\t[ %s ] : %s",gObj[aIndex].Ip_addr,gObj[aIndex].AccountID,gObj[aIndex].Name,"gg");
            Log.GM("Use GM Command -> [ %s ]\t[ %s ]\t[ %s ] : %s\n",gObj[aIndex].Ip_addr,gObj[aIndex].AccountID,gObj[aIndex].Name,"gg");
    }
    else if(*(short int*)(aIndex * OBJECT_SIZE + OBJECT_BASE + gObjCtl) == 12)
    {
        char sBuff[255] = { 0 };
        wsprintf(sBuff, "[MOD]%s: %s", Character, Message);
        MsgOutputGlobal(aIndex, sBuff);

        Log.AddTime("Use GM Command -> [ %s ]\t[ %s ]\t[ %s ] : %s", gObj[aIndex].Ip_addr, gObj[aIndex].AccountID, gObj[aIndex].Name, "gg");
        Log.GM("Use GM Command -> [ %s ]\t[ %s ]\t[ %s ] : %s\n", gObj[aIndex].Ip_addr, gObj[aIndex].AccountID, gObj[aIndex].Name, "gg");
    }

}


/zen
Code: [Select]
void ZenCommand(int aIndex, char *ChatMSG)
{
    if(conf.commands.zenaddenabled == 0)
    {
        GCServerMsgStringSend(StgStc.MSG_DISABLED,aIndex,1);
        return;
    }

    int Amount = 0;
    sscanf(ChatMSG,"%d",&Amount);

    if(!Amount || Amount > 2000000000 || Amount < 0)
            {
                GCServerMsgStringSend("Error, please re-check the string you gave.",aIndex,1);
                GCServerMsgStringSend("Reminder: max possible money is 2,000,000,000.",aIndex,1);
                return;
            }
    gObjWrite(aIndex, gObjZen,gObjGetInt(aIndex,gObjZen) + Amount);
    GCMoneySend(aIndex, gObjGetInt(aIndex,gObjZen)+ Amount);
    MsgOutput(aIndex,"[AddZen]:Added %d From Zen Successful!",Amount);
       
}

By Deilan Sasame
Agradecer no Cuesta Nada

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
12 Replies
5127 Views
Last post June 04, 2016, 04:43:33 PM
by GunWell
8 Replies
3055 Views
Last post August 26, 2017, 02:15:09 AM
by louis
1 Replies
833 Views
Last post January 28, 2019, 05:04:09 PM
by cobyzero
0 Replies
575 Views
Last post February 10, 2019, 08:27:11 PM
by Judas
1 Replies
1137 Views
Last post June 09, 2020, 01:06:23 PM
by TheHerous