Here I have a piece of code from my GM using YSI.
I tried to allow the player to choose only the skin related to his sex, during class selection.
So I stored all the skin for males in a variable and all the skins for females in another one.
Код:
new MaleSkins[] = {1,2,3,4,5,6,7,8,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,
33,34,35,36,37,38,42,43,44,45,46,47,48,49,50,51,52,57,62,66,67,68,70,71,72,73,78,79,80,
81,82,83,84,86,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,
114,115,116,117,118,119,120,121,122,123,124,125,127,128,132,133,134,135,136,137,142,143,
144,146,147,149,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,170,171,173,
174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,200,202,203,204,206,208,209,
210,212,213,217,220,221,222,223,227,228,229,230,234,235,236,239,240,241,242,247,248,249,
250,252,253,254,255,258,259,260,261,262,264,265,266,267,268,269,270,271,272,273,274,275,
276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,299};
new FemaleSkins[] = {
9,10,11,12,13,31,39,40,41,53,54,55,56,63,64,65,69,75,76,77,85,87,88,89,90,91,92,93,129,
130,131,138,139,140,141,145,148,150,151,152,157,169,172,178,190,191,192,193,194,195,196,
197,198,199,201,205,207,211,214,215,216,218,219,224,225,226,231,232,233,237,238,243,244,
245,246,251,256,267,263,298};
new Group:gMale;
new Group:gFemale;
public OnGameModeInit()
{
...
for(new i=0; i<=sizeof(MaleSkins); i++)
{
printf("%d", Class_AddForGroup(gMale, MaleSkins[i], 418.2262,2537.5698,10.0000,244.1603, WEAPON_MP5, 500, WEAPON_ARMOUR, 50));
print("male skin added");
}
print("AAA");
for(new j=0; j<=sizeof(FemaleSkins); j++)
{
printf("%d", Class_AddForGroup(gFemale, FemaleSkins[j], 418.2262,2537.5698,10.0000,244.1603, WEAPON_MP5, 500, WEAPON_ARMOUR, 50));
print("Female skin added");
}
print("AAA");
/* AddPlayerClass(0, 418.100891, 2538.124511, 10.000000, 254.813720, 0, 0, 0, 0, 0, 0);*/
return 1;
}
The point is, that it stops right after the first for loop: infact, it does not print "AAA".
p.s. : is there a simpler way to do this?
You are crashing your server by accessing element at sizeof(array) - which is nonexistent