19.03.2010, 16:21
Hi all
since a few days now im dealing with a problem.
we have a command /colorme that will color the player with a random generated color.
this command was taken from a code running on a 0.2x server and was working great.
when using it multiple time in a row, in order to get a random color that you like, sometime the server become not responsive.
before posting here i tryed many thing. i changed the color generator function, I canceled the color generator function for selecting randomly a color in a "color pool"
all my test did fail until i comment the line with SetPlayerColor leaving the random color on the text only.
when this "crash" happen , you do NOT get disconnected. you still see all the player but nothing is synced. command do not work , chat do not work AND when you disconnect from the server you are still in the player list.
I had this problem both on Win and Linux.
When this occur the server process take a LOT of processor resource.
in fact it was the first time i seen a process take 101% of cpu...
PID 25378
after my many test i came up with this: server will become not responsive if using SetPlayerColor multiple time in a row.
the code im working with use YSI.
if anyone got any hint on this, it would be appreciate.
EDIT:
I am able to reproduce this problem using this code.
if you type /testme many time at some point it will bug.
thanks again.
since a few days now im dealing with a problem.
we have a command /colorme that will color the player with a random generated color.
this command was taken from a code running on a 0.2x server and was working great.
when using it multiple time in a row, in order to get a random color that you like, sometime the server become not responsive.
before posting here i tryed many thing. i changed the color generator function, I canceled the color generator function for selecting randomly a color in a "color pool"
all my test did fail until i comment the line with SetPlayerColor leaving the random color on the text only.
when this "crash" happen , you do NOT get disconnected. you still see all the player but nothing is synced. command do not work , chat do not work AND when you disconnect from the server you are still in the player list.
I had this problem both on Win and Linux.
When this occur the server process take a LOT of processor resource.
in fact it was the first time i seen a process take 101% of cpu...
PID 25378
after my many test i came up with this: server will become not responsive if using SetPlayerColor multiple time in a row.
the code im working with use YSI.
if anyone got any hint on this, it would be appreciate.
EDIT:
I am able to reproduce this problem using this code.
pawn Код:
#include <YSI>
new thosecolor[] =
{
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x2A51E2FF,0xE3AC12FF,
0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
0x3FE65CFF
};
main() return 1;
public OnGameModeInit()
{
InitLang();
ycmd("testme");
Class_Add(26,1126.9165,-2037.1781,69.8835,263.3786,27,1427,24,1427,4,1);//
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerColor(playerid, 0xFFFFFFFF);
return 1;
}
InitLang()
{
Langs_AddLanguage("EN", "English");
Langs_AddFile("core", "YSI");
return 1;
}
Command_(testme)
{
new color = thosecolor[random(sizeof(thosecolor))];
SendClientMessage(playerid, color, "blah");
SetPlayerColor(playerid, color);
return 1;
}
thanks again.