27.03.2009, 13:57
Hello, i am using a gangzone script that i've made by myself, it taked a long time to fix the other error that i had, but now i fixed them al, but i dont see the gangzone:
And i have:
And in those files you will see:
---
But if i go ingame i don't see any gangzone in that area, but if i use;
instead of
Then i will see it, anybody knows whats wrong with GangZones[gangzone][gColor]?
Код:
#define GetColor(%1) (%1[0]<<24)+(%1[1]<<16)+(%1[2]<<8)+%1[3] enum gInfo { Float:gMinX, Float:gMinY, Float:gMaxX, Float:gMaxY, gColor[12], }; new GangZones[3][gInfo]; new GangZone[sizeof(GangZones)]; public OnGameModeInit() { for(new i; i < sizeof(GangZones); i++) { LoadGangZone(i); } return 1; } public OnGameModeExit() { for(new i; i < sizeof(GangZones); i++) { UpdateGangZone(i); } return 1; } public LoadGangZone(gangzone) { new string[32]; format(string, sizeof(string), "/gangs/gangzone %d.cfg", gangzone); new File: currentfile = fopen(string, io_read); if (currentfile) { new valtmp[128]; fread(currentfile, valtmp);GangZones[gangzone][gMinX] = strval(valtmp); fread(currentfile, valtmp);GangZones[gangzone][gMinY] = strval(valtmp); fread(currentfile, valtmp);GangZones[gangzone][gMaxX] = strval(valtmp); fread(currentfile, valtmp);GangZones[gangzone][gMaxY] = strval(valtmp); fread(currentfile, valtmp);GangZones[gangzone][gColor] = strmid(GangZones[gangzone][gColor], valtmp, false, strlen(valtmp), 12); fclose(currentfile); GangZone[gangzone] = GangZoneCreate(GangZones[gangzone][gMinX], GangZones[gangzone][gMinY], GangZones[gangzone][gMaxX], GangZones[gangzone][gMaxY]); GangZoneShowForAll(GangZone[gangzone], GangZones[gangzone][gColor]); } return 1; } public UpdateGangZone(gangzone) { new string[32]; format(string, sizeof(string), "/gangs/gangzone %d.cfg", gangzone); new File: currentfile = fopen(string, io_write); if (currentfile) { new var[128]; format(var, sizeof(var), "%f gMinX\n",GangZones[gangzone][gMinX]);fwrite(currentfile, var); format(var, sizeof(var), "%f gMinY\n",GangZones[gangzone][gMinY]);fwrite(currentfile, var); format(var, sizeof(var), "%f gMaxX\n",GangZones[gangzone][gMaxX]);fwrite(currentfile, var); format(var, sizeof(var), "%f gMaxY\n",GangZones[gangzone][gMaxY]);fwrite(currentfile, var); format(var, sizeof(var), "0x%s gColor\n",HexToString(GetColor(GangZones[gangzone][gColor])));fwrite(currentfile, var); fclose(currentfile); } return 1; } HexToString(hex) { new str[9]; for (new i = 7; i >= 0; i--) { str[i] = (hex & 0x0F) + 0x30; str[i] += (str[i] > '9') ? 0x07 : 0x00; hex >>= 4; } str[8] = '\0'; return str; }
Quote:
/scriptfiles/gangs/gangzone 0.cfg /scriptfiles/gangs/gangzone 1.cfg /scriptfiles/gangs/gangzone 2.cfg |
Код:
-2826.000000 gMinX -560.000000 gMinY -2242.000000 gMaxX -186.000000 gMaxY 0x0B783042 gColor
But if i go ingame i don't see any gangzone in that area, but if i use;
Код:
GangZoneShowForAll(GangZone[gangzone], 0xFF0000AA);
Код:
GangZoneShowForAll(GangZone[gangzone], GangZones[gangzone][gColor]);