>>set String1 or String2

your code:

//////////////////
CObjEditInterface *oei=gp_WedInterface->object_GetEditInterface();

oei->obje_SelectObjID(oi->Id,true);
MODELINFO mi;
oei->obje_GetInfo (&mi);
strncpy(mi.String1,komutlar[id].komut_data,30);
strcpy(mi.String2,"ddd"); //this line crash
////////////////////////

You can use the "obje_GetInfo" only to get object data, but not for change. The String1 and String2 are defined as "constant char *".



>> ... i cant change skill9-skill20 area. ...

At the moment you kann set all 20 skills only if the entity has EXTENDED typ. Otherwise, you can set only 8 skills.
The entity is EXTENDED wenn String1 or String2 or Material or Path are defined, or Albedo is not equal 50.




Unfortunately, with current WED Plugin SDK you cann create new entity with defined String1/2 and other features, but you can not change
some parameters als String1 or String2 by existing entities.


I have the functions "obje_SetObjData" and "obje_GetObjData" completed, so that it is now possible.

A example for setting new values for String1 and String2:

///////////////////////////////////////////////
CObjEditInterface *oei=gp_WedInterface->object_GetEditInterfaceID(oi->Id);

oei->obje_SetObjData ( OBJD_STRING, 0, "string for string 1", 19);
oei->obje_SetObjData ( OBJD_STRING, 1, "string for string 2", 19);
//////////////////////////////////////////////


I have added to OBJDATA enum other members:

OBJD_AMBIENT, //idx 0, data typ float ptr, datasize = sizeof(float)
OBJD_ALBEDO, //index 0, data typ float ptr, datasize = sizeof(float)
OBJD_PATH, //index 0, data typ string, datasize = string length or buffer size
OBJD_ATTACHED, //index 0, data typ string, datasize = string length or buffer size
OBJD_MATERIAL, //index 0, data typ string, datasize = string length or buffer size
OBJD_STRING, //index 0-1, data typ string, datasize = string length or buffer size


and it is now possible set (or get with "obje_GetObjData") this values:

float amb = 3.33f;
oei->obje_SetObjData ( OBJD_AMBIENT, 0, &amb, sizeof(amb));

float alb=55.55f;
oei->obje_SetObjData ( OBJD_ALBEDO, 0, &alb, sizeof(alb));

oei->obje_SetObjData ( OBJD_PATH, 0, "path_123", 8);
oei->obje_SetObjData ( OBJD_ATTACHED, 0, "attached_123", 12);
oei->obje_SetObjData ( OBJD_MATERIAL, 0, "mtrl_678", 8);



From WED version 6.957, you can use this possibility.