A função strcmpi() é igual a strcmp(), porém sem case-sensitive.
Olá galera.
Seguinte, estou desenvolvendo minha dll aqui, adicionei o /post tudo certinho.. Porém, queria saber como fazer para retirar o Case sensitive.
Se digitar /POST, /Post, /pOsT, /PoST, etc.. funcionar.. Está funcionando apenas /post.
Desde já obrigado.
A função strcmpi() é igual a strcmp(), porém sem case-sensitive.
Depende da função que esteja usando para a verificação da string.
Por exemplo:
Código:if (!strcmp(string, "/post")) case_sensitive; if (!stricmp(string, "/post")) case_insensitive; if (!memcmp(string, "/post", strlen("/post"))) case_sensitive; if (!memicmp(string, "/post", strlen("/post"))) case_insensitive;
Obrigado, vou tentar agora, qualquer coisa posto os resultados.
---------- Post added at 10:58 PM ---------- Previous post was at 09:05 PM ----------
Muito obrigado, muito mesmo. Funcionou perfeitamente
Só tenho mais uma dúvida.
Gostaria de colocar para o próprio usuário determinar a String que será utilizada no comando.
Porém não estou conseguindo.
A declaração da variável usada no GetPrivateProfileString está assim:
Minha função está assim:char PostString[20];
O ChatDataSend está assim:void ComandoPost(DWORD aIndex, char* Message){
int EnablePost, PostReqZen, PostReqLvl, PostColor;
char sprCmdPostReqLvl[200], sprCmdPostReqZen[200];
EnablePost = GetPrivateProfileInt("Comandos","EnablePost",0,Ini Comandos);
PostReqZen = GetPrivateProfileInt("Comandos","PostReqZen",10000 00,IniComandos);
PostReqLvl = GetPrivateProfileInt("Comandos","PostReqLvl",6,Ini Comandos);
PostColor = GetPrivateProfileInt("Comandos","PostColor",1,IniC omandos);
if(EnablePost != 1)
{
GCServerMsgStringSend("[POST] Comando desabilitado pelo administrador!",aIndex,1);
}
else
{
if(strlen(Message) <= 0)return;
OBJECTSTRUCT *gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
if(gObj->Level < PostReqLvl)
{
sprintf_s(sprCmdPostReqLvl,"Você deve possuir level maior que %d para usar o comando!",PostReqLvl);
GCServerMsgStringSend(sprCmdPostReqLvl,aIndex,1);
}
if(gObj->Money < PostReqZen)
{
sprintf_s(sprCmdPostReqZen,"Você precisa de %d Zen's para usar o comando!",PostReqZen);
GCServerMsgStringSend(sprCmdPostReqZen,aIndex,1);
}
else
{
ServerMsgSend(PostColor,0,1,gObj->Name,"[POST] %s",Message);
gObj->Money -= PostReqZen;
GCMoneySend(aIndex, gObj->Money);
}
}
}
Já tentei de tudo, até agora sem sucesso... :/void ChatDataSend(DWORD aIndex,LPBYTE Protocol)
{
GetPrivateProfileString("Comandos","PostString","/post",PostString,20,IniComandos);
if(!memicmp(&Protocol[13],PostString,strlen(PostString)))
{
ComandoPost(aIndex,(char*)Protocol+13+strlen(PostS tring));
}
}
- - - Updated - - -
Problema resolvido.
Era o comentário na linha de cima da .ini que eu não tinha fechado -.-'. Ficando:
PostColor = 1 /* Cor [0]-> Chat normal | [1]-> Whisper | [2]-> Party | [3]-> Guild | [4]-> Aliança "Faltou o */ aqui".
PostString = "/post" /* String do Comando /post */
Obrigado a todos que me ajudaram.
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Marcadores