Hola amigos aquí les dejo un evento simple que me pidieron para la fuente posteada:
#include "StdAfx.h"
NEWNPC gNpc;
void LOADNEWNPC()
{
gNpc.Switch = GetPrivateProfileIntA("NEWNPC", "SWITCH", NULL, "..\\Aminyuz\\NewNpc.ini");
gNpc.RewardCant = GetPrivateProfileIntA("NEWNPC", "CANTIDAD_PREMIO", NULL, "..\\Aminyuz\\NewNpc.ini");
gNpc.RewardType = GetPrivateProfileIntA("NEWNPC", "TYPE_PREMIO", NULL, "..\\Aminyuz\\NewNpc.ini");
gNpc.RewardIndex = GetPrivateProfileIntA("NEWNPC", "INDEX_PREMIO", NULL, "..\\Aminyuz\\NewNpc.ini");
gNpc.RewardLevel = GetPrivateProfileIntA("NEWNPC", "LEVEL_PREMIO", NULL, "..\\Aminyuz\\NewNpc.ini");
gNpc.ReqCantidad = GetPrivateProfileIntA("NEWNPC", "CANTIDAD_REQUERIDO", NULL, "..\\Aminyuz\\NewNpc.ini");
}
void CLICKNEWNPC(LPOBJ gObj, LPOBJ gObjNPC, int aIndex)
{
if(gNpc.Switch != 0)
{
NEWNPCs(gObj, gObjNPC,aIndex);
}
else
{
MsgOutput(aIndex,"[NPCNEW]No estoy de servico, vuelva mas tarde.");
}
}
void NEWNPCs(LPOBJ gObj, LPOBJ NpcObj, int aIndex)
{
int REWARD = ITEMGET(gNpc.RewardType,gNpc.RewardIndex);
int RENAID = ITEMGET(14,21);
if(GetInventoryItemCount(aIndex,RENAID,0) < gNpc.ReqCantidad)
{
MsgOutput(aIndex,"[NPCNEW]No tienes los items Necesarios");
return;
}
for(char x = 0; x < gNpc.RewardCant; x++)
{
ItemSerialCreateSend(aIndex, gObj->MapNumber, gObj->X, gObj->Y,REWARD,gNpc.RewardLevel,0,0,0,0,aIndex,0);
continue;
}
gObjDeleteItemsCount(aIndex, RENAID, 0, gNpc.ReqCantidad);
MsgOutput(aIndex,"[NPCNEW]Premio en el suelo...");
return;
}
#ifndef NEWNPC_H
#define NEWNPC_H
struct NEWNPC
{
int Switch;
int RewardType;
int RewardIndex;
int RewardCant;
int RewardLevel;
int ReqCantidad;
//char PQuery1[100];
};
extern NEWNPC gNpc;
void LOADNEWNPC();
void CLICKNEWNPC(LPOBJ gObj, LPOBJ gObjNPC, int aIndex);
void NEWNPCs(LPOBJ gObj, LPOBJ NpcObj, int aIndex);
#endif