PDA

View Full Version : [JX] [Source]Không draw được ảnh SPR



866374
18-08-16, 11:09 AM
Chào các bạn, Hiện tại mình đang gặp vấn đề về draw ngũ hành quái, đã khai báo, và chèn code đầy đủ(đã check draw text phía dưới để đảm bảo chắc chắn chạy qua đoạn code draw ngũ hành)

- File spr ngũ hành mình đặt như hình:

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

- Còn đây là Code:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

-> Kết quả là ntn, đoạn code trên ko hoạt động

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

Bạn nào biết chỉ mình với,

Thank & **** Regards

HoangTVT
18-08-16, 12:04 PM
Bạn show toàn bộ hàm paintinfo đi bạn

866374
18-08-16, 12:25 PM
Bạn show toàn bộ hàm paintinfo đi bạn



int KNpc::PaintInfo(int nHeightOffset, bool bSelect, int nFontSize, DWORD dwBorderColor)
{
int nMpsX, nMpsY;
GetMpsPos(&nMpsX, &nMpsY);
DWORD dwColor;
int nHeightOff = nHeightOffset + nFontSize + 1;

if (m_Kind == kind_player)
{
switch(m_CurrentCamp)
{
case camp_begin:
dwColor = 0xffffffff;
break;
case camp_justice:
dwColor = 0xff000000 | (255 << 16) | (168 << 8) | 94;
break;
case camp_evil:
dwColor = 0xff000000 | (255 << 16) | (146 << 8) | 255;
break;
case camp_balance:
dwColor = 0xff000000 | (85 << 16) | (255 << 8) | 145;
break;
case camp_free:
dwColor = 0xff000000 | (255 << 16);
break;
default:
dwColor = 0xffff00ff;
break;
/* case camp_animal:
dwColor =
break;
case camp_event:
break;*/
}

char szString[128];
strcpy(szString, Name);
if (m_FreezeState.nTime || m_PoisonState.nTime || m_ConfuseState.nTime || m_StunState.nTime)
{
strcat(szString, "(");
if (m_FreezeState.nTime)
strcat(szString, "±ù");
if (m_PoisonState.nTime)
strcat(szString, "¶¾");
if (m_ConfuseState.nTime)
strcat(szString, "ÂÒ");
if (m_StunState.nTime)
strcat(szString, "ÔÎ");
strcat(szString, ")");
}
g_pRepresent->OutputText(nFontSize, szString, KRF_ZERO_END, nMpsX - nFontSize * g_StrLen(Name) / 4, nMpsY, dwColor, 0, nHeightOff, dwBorderColor);
nHeightOffset += nFontSize + 1;
}
else if (m_Kind == kind_dialoger)
{
dwColor = 0xffffffff;
g_pRepresent->OutputText(nFontSize, Name, KRF_ZERO_END, nMpsX - nFontSize * g_StrLen(Name) / 4, nMpsY, dwColor, 0, nHeightOff, dwBorderColor);
nHeightOffset += nFontSize + 1;
}
else if (bSelect)
{
if (this->m_cGold.GetGoldType() == 0)
dwColor = 0xff00ff00; // tên quái màu xanh lá cây
else
dwColor = 0xffebb200;
g_pRepresent->OutputText(nFontSize, Name, KRF_ZERO_END, nMpsX - nFontSize * g_StrLen(Name) / 4, nMpsY, dwColor, 0, nHeightOff, dwBorderColor);
nHeightOffset += nFontSize + 1;




int nX, nY;
GetMpsPos(&nX, &nY);


if (m_Series == 0)
{
strcpy(m_nImageSeries, "\\Spr\\Ui3\\Npc\\Series\\series0.spr");
}
else if (m_Series ==1)
{
strcpy(m_nImageSeries, "\\Spr\\Ui3\\Npc\\Series\\series1.spr");
}
else if (m_Series ==2)
{
strcpy(m_nImageSeries, "\\Spr\\Ui3\\Npc\\Series\\series2.spr");
}
else if (m_Series==3)
{
strcpy(m_nImageSeries, "\\Spr\\Ui3\\Npc\\Series\\series3.spr");
}
else
{
strcpy(m_nImageSeries, "\\Spr\\Ui3\\Npc\\Series\\series4.spr");
}


strcpy(m_nImageSeries, "\\Spr\\t.spr");


m_ImageSeries.nType = ISI_T_SPR;
m_ImageSeries.Color.Color_b.a = 255;
m_ImageSeries.bRenderStyle = IMAGE_RENDER_STYLE_ALPHA;
m_ImageSeries.uImage = 0;
m_ImageSeries.nISPosition = IMAGE_IS_POSITION_INIT;
m_ImageSeries.bRenderFlag = 0;
strcpy(m_ImageSeries.szImage, m_nImageSeries);
m_ImageSeries.oPosition.nX = nX + 5;
m_ImageSeries.oPosition.nY = nY - 5;
m_ImageSeries.oPosition.nZ = nHeightOffset;
m_ImageSeries.nFrame = 0;


g_pRepresent->DrawPrimitives(1, &m_ImageSeries, RU_T_IMAGE, FALSE);
}

Đây bạn ơi

HoangTVT
18-08-16, 12:47 PM
........................

//strcpy(m_nImageSeries, "\\Spr\\t.spr");


m_ImageSeries.nType = ISI_T_SPR;
m_ImageSeries.Color.Color_b.a = 255;
m_ImageSeries.bRenderStyle = IMAGE_RENDER_STYLE_ALPHA;
m_ImageSeries.uImage = 0;
m_ImageSeries.nISPosition = IMAGE_IS_POSITION_INIT;
m_ImageSeries.bRenderFlag = 0;
strcpy(m_ImageSeries.szImage, m_nImageSeries);
m_ImageSeries.oPosition.nX = nX + nFontSize * g_StrLen(Name) / 4 + 5;
m_ImageSeries.oPosition.nY = nY - 5;
m_ImageSeries.oPosition.nZ = nHeightOffset;
m_ImageSeries.nFrame = 0;


g_pRepresent->DrawPrimitives(1, &m_ImageSeries, RU_T_IMAGE, FALSE);

Biến m_nImageSeries bạn khai báo ở đâu rồi à? Đoạn này thì bạn khai báo 1 biến tạm được rồi.

866374
18-08-16, 12:56 PM
........................

//strcpy(m_nImageSeries, "\\Spr\\t.spr");


m_ImageSeries.nType = ISI_T_SPR;
m_ImageSeries.Color.Color_b.a = 255;
m_ImageSeries.bRenderStyle = IMAGE_RENDER_STYLE_ALPHA;
m_ImageSeries.uImage = 0;
m_ImageSeries.nISPosition = IMAGE_IS_POSITION_INIT;
m_ImageSeries.bRenderFlag = 0;
strcpy(m_ImageSeries.szImage, m_nImageSeries);
m_ImageSeries.oPosition.nX = nX + nFontSize * g_StrLen(Name) / 4 + 5;
m_ImageSeries.oPosition.nY = nY - 5;
m_ImageSeries.oPosition.nZ = nHeightOffset;
m_ImageSeries.nFrame = 0;


g_pRepresent->DrawPrimitives(1, &m_ImageSeries, RU_T_IMAGE, FALSE);

Biến m_nImageSeries bạn khai báo ở đâu rồi à? Đoạn này thì bạn khai báo 1 biến tạm được rồi.


Đây bạn mình chép theo hướng dẫn gốc


int m_JumpDir; int m_SpecialSkillStep; // ÌØÊâ¼¼Äܲ½Öè
NPC_COMMAND m_SpecialSkillCommand; // ÌØÊâ¼¼ÄÜÐÐΪÃüÁî
KNpcFindPath m_PathFinder;
BOOL m_bActivateFlag;
char m_nImageSeries[64];


#ifndef _SERVER
int m_ResDir;
KNpcRes m_DataRes; // NpcµÄ¿Í»§¶Ë×ÊÔ´£¨Í¼Ïó¡¢ÉùÒ� �£©


// ÓÃÓÚÆÕͨս¶·npcðѪ´¦Àí
int m_nBloodNo;
int m_nBloodAlpha;
int m_nBloodTime;
char m_szBloodNo[32];
KRUImage m_ImageSeries;

dòng ".\\t.spr" là mình thử thay bằng spr khác xem có lên không

dòng "m_ImageSeries.oPosition.nX = nX + nFontSize * g_StrLen(Name) / 4 + 5;" thì đã sửa lại như cũ rồi vần không lên, debug thì vẫn row by row ok!.

đây là source nguyên gốc 1.93GB mới chỉ thêm code ngũ hành vào thôi.

HoangTVT
18-08-16, 01:06 PM
KRUImage RUIconImageR;
RUIconImageR.nType = ISI_T_SPR;
RUIconImageR.Color.Color_b.a = 255;
RUIconImageR.bRenderStyle = IMAGE_RENDER_STYLE_ALPHA;
RUIconImageR.uImage = 0;
RUIconImageR.nISPosition = IMAGE_IS_POSITION_INIT;
RUIconImageR.bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;
sprintf(RUIconImageR.szImage, "\\Spr\\Ui3\\Npc\\series%d.spr", m_Series);
RUIconImageR.oPosition.nX = nMpsX + nFontSize * g_StrLen(Name) / 4 + 5;
RUIconImageR.oPosition.nY = nMpsY;
RUIconImageR.oPosition.nZ = nHeightOff;
RUIconImageR.nFrame = 0;
g_pRepresent->DrawPrimitives(1, &RUIconImageR, RU_T_IMAGE, FALSE);

lỡ rồi thì giúp cho chót vậy, mình là mình rất ghét thể loại ok ok bố đời

866374
18-08-16, 01:18 PM
KRUImage RUIconImageR;
RUIconImageR.nType = ISI_T_SPR;
RUIconImageR.Color.Color_b.a = 255;
RUIconImageR.bRenderStyle = IMAGE_RENDER_STYLE_ALPHA;
RUIconImageR.uImage = 0;
RUIconImageR.nISPosition = IMAGE_IS_POSITION_INIT;
RUIconImageR.bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;
sprintf(RUIconImageR.szImage, "\\Spr\\Ui3\\Npc\\series%d.spr", m_Series);
RUIconImageR.oPosition.nX = nMpsX + nFontSize * g_StrLen(Name) / 4 + 5;
RUIconImageR.oPosition.nY = nMpsY;
RUIconImageR.oPosition.nZ = nHeightOff;
RUIconImageR.nFrame = 0;
g_pRepresent->DrawPrimitives(1, &RUIconImageR, RU_T_IMAGE, FALSE);

lỡ rồi thì giúp cho chót vậy, mình là mình rất ghét thể loại ok ok bố đời

Thank bạn, Đã chạy dược rồi, Do đoạn này

RUIconImageR.bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;

866374
18-08-16, 01:35 PM
KRUImage RUIconImageR;
RUIconImageR.nType = ISI_T_SPR;
RUIconImageR.Color.Color_b.a = 255;
RUIconImageR.bRenderStyle = IMAGE_RENDER_STYLE_ALPHA;
RUIconImageR.uImage = 0;
RUIconImageR.nISPosition = IMAGE_IS_POSITION_INIT;
RUIconImageR.bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;
sprintf(RUIconImageR.szImage, "\\Spr\\Ui3\\Npc\\series%d.spr", m_Series);
RUIconImageR.oPosition.nX = nMpsX + nFontSize * g_StrLen(Name) / 4 + 5;
RUIconImageR.oPosition.nY = nMpsY;
RUIconImageR.oPosition.nZ = nHeightOff;
RUIconImageR.nFrame = 0;
g_pRepresent->DrawPrimitives(1, &RUIconImageR, RU_T_IMAGE, FALSE);

lỡ rồi thì giúp cho chót vậy, mình là mình rất ghét thể loại ok ok bố đời


Mình chỉ muốn nói là chạy qua các dòng code được bình thường chứ không có ý gì cả bạn ơi.