for(new i = 0, l = strlen(string); i < l; i++)
{
if(string[i] == ' ')
{
string[i] = '_';
}
}
stock AddUnderscore(string[])
{
for(new i = 0, l = strlen(string); i < l; i++)
{
if(string[i] == ' ')
{
string[i] = '_';
}
}
return string;
}
format(string, sizeof(string), "%s", AddUnderscore(PlayerData[playerid][Fullname]));
printf("%s", string);
SetPlayerName(playerid, string);
[00:42:41] T
AddUnderscore(string[])
{
new manipulated[MAX_PLAYER_NAME];
for(new i = 0, l = strlen(string); i < l; i++)
{
manipulated[i] = string[i];
if(string[i] == ' ')
{
manipulated[i] = '_';
}
}
return manipulated;
}
stock AddUnderscore(string[]) { str_replace(" ", "_", string); return string; }
stock str_replace(sSearch[], sReplace[], const sSubject[], &iCount = 0) //Credits to "Westie" for this function.
{
new
iLengthTarget = strlen(sSearch),
iLengthReplace = strlen(sReplace),
iLengthSource = strlen(sSubject),
iItterations = (iLengthSource - iLengthTarget) + 1;
new
sTemp[128],
sReturn[_strlib_med_string];
strcat(sReturn, sSubject, _strlib_med_string);
iCount = 0;
for(new iIndex; iIndex < iItterations; ++iIndex)
{
strmid(sTemp, sReturn, iIndex, (iIndex + iLengthTarget), (iLengthTarget + 1));
if(!strcmp(sTemp, sSearch, false))
{
strdel(sReturn, iIndex, (iIndex + iLengthTarget));
strins(sReturn, sReplace, iIndex, iLengthReplace);
iIndex += iLengthTarget;
iCount++;
}
}
return sReturn;
}
Just tested it and it works for me. It looks like you can't return the parameter "string".
Working function for your scenario: pawn Код:
|