int playerSex = 0; // 0: unknown 1: male 2: female string PhotoMale, PhotoFemale; int IsPlayerMale() { if (playerSex > 0) return (playerSex==1); int chara = GetPlayerChara(); string modelName = GetCharaName(chara); if (modelName == "CE03") playerSex = 2; else if (modelName == "CE04") playerSex = 2; else if (modelName == "CE07") playerSex = 2; else if (modelName == "CE08") playerSex = 2; else if (modelName == "CW05") playerSex = 2; else if (modelName == "CW06") playerSex = 2; else if (modelName == "CW07") playerSex = 2; else if (modelName == "CW08") playerSex = 2; else playerSex = 1; return (playerSex==1); } int SpawnMale(float x, float y, float z) { int chara = 0; if (IsPlayerMale()) chara = GetPlayerChara(); else chara = GetPartnerChara(); // if no chara if (chara == 0) { PhotoMale = "cs_ce01"; return SpawnChara("ce01", x, y, z); } else { PhotoMale = "cs_" + GetCharaName(chara); return SpawnChara(GetCharaName(chara), x, y, z); } } int SpawnFemale(float x, float y, float z) { int chara = 0; if (IsPlayerMale()) chara = GetPartnerChara(); else chara = GetPlayerChara(); // if no chara if (chara == 0) { PhotoFemale = "cs_ce04"; return SpawnChara("ce04", x, y, z); } else { PhotoFemale = "cs_" + GetCharaName(chara); return SpawnChara(GetCharaName(chara), x, y, z); } } void Dialog(int dlgnum, string voice) { BeginText(dlgnum, 30, 500, 1.5); PlayVoice(voice); WaitVoiceUntil(); EndText(dlgnum, 0.5); } void Credit(int id, int num, int fontsize, int space, int align) { // id, 這次credit開始的id // num, 這次credit要放幾句 // time, 從最下捲動到最上的時間 // fontsize, 這句話的字型大小 // space, 兩句之間的間隔距離 // align = 0 置中, align = 1 靠左, align = 2 靠右 int startx, starty, endx, endy; int time = 10; int i, fontflag; if(align == 0) { startx = 400; starty = 800; endx = 400; endy = 0; fontflag = TEXT_ALIGN_CENTER | TEXT_SHADOW; } else if(align == 1) { startx = 50; starty = 800; endx = 50; endy = 0; fontflag = TEXT_SHADOW; } else if(align == 2) { startx = 750; starty = 800; endx = 750; endy = 0; fontflag = TEXT_ALIGN_RIGHT | TEXT_SHADOW; } float calltime = space / (800 / time); for(i = 0; i < num ; ++i) { MoveText(id+i, startx, starty, endx, endy, fontsize, fontflag, time, 255, 255, 255); Sleep(calltime); } }