STRCMP problem
#1

pawn Код:
if(strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None")) return SetPlayerColor(playerid,C_WHITE);
if(strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A);
why i always get the white color even if i'm in Accuracy?
Reply
#2

Hello!

Does it work like this?
PHP код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None")) return SetPlayerColor(playerid,C_WHITE);
if(!
strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A); 
Reply
#3

Код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None")) return SetPlayerColor(playerid,C_WHITE);
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A);
Reply
#4

Quote:
Originally Posted by Mencent
Посмотреть сообщение
Hello!

Does it work like this?
PHP код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None")) return SetPlayerColor(playerid,C_WHITE);
if(!
strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A); 
wow thanks hahaha by the way why I have to add that "!"?
Reply
#5

The operator "!" means the same as == 0.
Look here:
PHP код:
if(strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None") == 0) return SetPlayerColor(playerid,C_WHITE);// with == 0
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A);// with the operator "!" 
There are both options.

EDIT:
If strcmp return 0, the both strings are equal.
Both strings aren't equal, if strcmp return 1.
Reply
#6

Quote:
Originally Posted by Mencent
Посмотреть сообщение
If strcmp return 0, the both strings are equal.
Both strings aren't equal, if strcmp return 1.
In addition to what you said, strcmp can also return -1
Reply
#7

Quote:
Originally Posted by Mencent
Посмотреть сообщение
Hello!

Does it work like this?
PHP код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None")) return SetPlayerColor(playerid,C_WHITE);
if(!
strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A); 
Quote:
Originally Posted by Mencent
Посмотреть сообщение
The operator "!" means the same as == 0.
Look here:
PHP код:
if(strcmp(DOF2_GetString(pFile(playerid),"Clan"), "None") == 0) return SetPlayerColor(playerid,C_WHITE);// with == 0
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"), "Accuracy")) return SetPlayerColor(playerid,C_A);// with the operator "!" 
There are both options.

EDIT:
If strcmp return 0, the both strings are equal.
Both strings aren't equal, if strcmp return 1.
Ahh thanks

btw.. what can I do if I want to Get color from a file?
example:
pawn Код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"),"Accuracy")) return SetPlayerColor(playerid,DOF2_GetString,"Clans/Accuracy.ini","Color");
error 076: syntax error in the expression, or invalid function call :3
Reply
#8

@Macluawn:
Thanks!

@Lirbo:
Try this:
PHP код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"),"Accuracy"))return SetPlayerColor(playerid,DOF2_GetString("Clans/Accuracy.ini","Color")); 
Reply
#9

pawn Код:
if(!strcmp(DOF2_GetString(pFile(playerid),"Clan"),"Accuracy"))return SetPlayerColor(playerid,DOF2_GetInt("Clans/Accuracy.ini","Color"));
You need to use GetInt instead of strval
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)