28.05.2013, 13:24
Ok guys... maybe I'm smoking too much and I can't see anything obvious
or, maybe, It's a freaking bug... I really don't know...
So... It's a simple...
1) I save "Sem Nome" on the string NikoHQInfo[hqId][HQNome].
2) I print the string to see it's been formated corrctly
3) I save value 8 on the var NikoHQInfo[hqId][OrgDona].
4) I print the string again and it's value is different!!
what the ****!??
if you also print the value on NikoHQInfo[hqId][OrgDona], it won't be 8... it will be 83
so...
WHAT THE **** !??!
o.O
@Edit
ok, now it's getting worse..
if I do
everything works fine
if I do
even the first format on the string doesn't work
if I do
the format works but when I change OrgDona value, it gets messed up
so... again... WTF!?
or, maybe, It's a freaking bug... I really don't know...
So... It's a simple...
1) I save "Sem Nome" on the string NikoHQInfo[hqId][HQNome].
2) I print the string to see it's been formated corrctly
3) I save value 8 on the var NikoHQInfo[hqId][OrgDona].
4) I print the string again and it's value is different!!
what the ****!??
if you also print the value on NikoHQInfo[hqId][OrgDona], it won't be 8... it will be 83
so...
WHAT THE **** !??!
o.O
Код:
#include <a_samp> #include <YSI\y_hooks> #include <sscanf2> #include <DOF2> #define MAX_HQS 10 #define MAX_ORG_PORTOES 10 #define MAX_ORG_CARROS 20 #define MAX_ORG_MOTOS 10 #define MAX_ORG_HELIS 3 #define MAX_NOME_HQ 30 #define function%0(%1) forward %0(%1); public %0(%1) main() { } enum nhqinfo { OrgDona, FamiliaDona, HQNome[MAX_NOME_HQ], } new NikoHQInfo[MAX_HQS][nhqinfo]; public OnGameModeInit() { new hqId = 10; format(NikoHQInfo[hqId][HQNome], MAX_NOME_HQ, "Sem Nome"); printf("nome = %s", NikoHQInfo[hqId][HQNome]); NikoHQInfo[hqId][OrgDona] = 8; printf("nome = %s", NikoHQInfo[hqId][HQNome]); NikoHQInfo[hqId][FamiliaDona] = 0; printf("nome = %s", NikoHQInfo[hqId][HQNome]); NikoSalvarRegrasHQ(hqId); DOF2_Exit(); } function NikoSalvarRegrasHQ(hqId) { new arquivo[60]; format(arquivo,sizeof(arquivo),"/RPG/HQs/HQRegras%d.txt", hqId); if(!fexist(arquivo)) DOF2_CreateFile(arquivo); printf("nome = %s", NikoHQInfo[hqId][HQNome]); DOF2_SetString(arquivo,"NomeHQ",NikoHQInfo[hqId][HQNome]); DOF2_SetInt(arquivo,"OrgDona",NikoHQInfo[hqId][OrgDona]); return 1; }
@Edit
ok, now it's getting worse..
if I do
Код:
enum nhqinfo { FamiliaDona, HQNome[MAX_NOME_HQ], OrgDona, }
if I do
Код:
enum nhqinfo { HQNome[MAX_NOME_HQ], OrgDona, FamiliaDona, }
if I do
Код:
enum nhqinfo { OrgDona, FamiliaDona, HQNome[MAX_NOME_HQ], }
so... again... WTF!?