Доброго времени суток, что-то запутался, и разобраться не могу, намудрил что-то...
Вообщем, решил я значит актеров перенести в БД, ну сделал всё чётко, а потом начались проблемы с их идами...
Я хочу обращаться к ним по ID, я так понимаю, что они создаются изначально не с номера 0, сразу первый созданный это 1
и пошло на повышение, и из-за этого у меня путаница в голове и коде...
PHP код:
forward LoadActorCallBack();
public LoadActorCallBack()
{
new rows, fields;
new time = GetTickCount();
new count = 0;
cache_get_data(rows, fields,MysqlConnect);
if(rows == 0) return 1;
for(new i = 0; i < rows; i++)
{
ped_Actor[i][id_Actor] = cache_get_field_content_int(i,"id_actor", MysqlConnect);
ped_Actor[i][ped_Skin] = cache_get_field_content_int(i,"ped_skin", MysqlConnect);
cache_get_field_content(i,"ped_names",ped_Actor[i][ped_Names], MysqlConnect, 40);
ped_Actor[i][ped_Pos][0] = cache_get_field_content_float(i,"ped_pos_x", MysqlConnect);
ped_Actor[i][ped_Pos][1] = cache_get_field_content_float(i,"ped_pos_y", MysqlConnect);
ped_Actor[i][ped_Pos][2] = cache_get_field_content_float(i,"ped_pos_z", MysqlConnect);
ped_Actor[i][ped_Pos][3] = cache_get_field_content_float(i,"ped_pos_a", MysqlConnect);
ped_Actor[i][ped_World] = cache_get_field_content_int(i,"ped_World", MysqlConnect);
ped_Actor[i][ped_Interier] = cache_get_field_content_int(i,"ped_Interier", MysqlConnect);
count++;
//--------------------
CreateActorServer(i,ped_Actor[i][ped_Skin], ped_Actor[i][ped_Pos][0],ped_Actor[i][ped_Pos][1],ped_Actor[i][ped_Pos][2],ped_Actor[i][ped_Pos][3], 0, 100.0, ped_Actor[i][ped_World], ped_Actor[i][ped_Interier]);
}
return 1;
}
PHP код:
stock CreateActorServer(i,model, Float:x,Float:y, Float:z, Float:a,invulnerable = 1, Float:health = 100.0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_ACTOR_SD, areaid = -1, priority = 0)
{
new bot_id = i;
bot_id = CreateDynamicActor(model, x,y,z,a,invulnerable,health, worldid, interiorid, playerid,streamdistance, areaid, priority);
if(bot_id != INVALID_ACTOR_ID)
{
ped_Actor[bot_id][IdActor3dText] = CreateDynamic3DTextLabel("-",COLOR_ALOGIN,x,y,z+ACTOR_CHAT_TEXT_OFFSET_HEIGHT,5.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1, worldid, interiorid, -1, 10.0);
UpdateDynamic3DTextLabelText(ped_Actor[bot_id][IdActor3dText],COLOR_ALOGIN,"");
new str[45];
format(str, sizeof(str), "[%d] %s",bot_id, ped_Actor[bot_id-1][ped_Names]);
ped_Actor[bot_id][IdActor3dName] = CreateDynamic3DTextLabel(str, -1,x,y,z+1.1, 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID,1,worldid, interiorid, -1, 10.0);
UpdateDynamic3DTextLabelText(ped_Actor[bot_id][IdActor3dName],-1,str);
//========//
if(ped_Actor[bot_id][ped_Timer] == 0)
{
ped_Actor[bot_id][ped_Timer] = SetTimerEx("OnActorTimer", 78000, true, "dd",bot_id);
}
CreateActorAnim();
}
return bot_id;
}