FOnline Development > Questions and Answers

Dialog

<< < (2/2)

Thatgun:
client_io.fos -> mouse_down()
IGUIElementImageOpt@ avatar;
@avatar = GUI_AddImage(CLIENT_SCREEN_DIALOG, STR_NPC_AVATAR(dlgId)+".png", PT_ART_CRITTERS, 30, 60);

Thatgun:
some img for my post

https://postimg.cc/GTD84W6s
https://postimg.cc/svKHnbMr

https://postimg.cc/vDwPGfkD

KingR:
Thanks for the tips !

But I wanted this result:

https://image.noelshack.com/fichiers/2025/38/7/1758445204-talking-head.png

KingR:
Hi everyone! I managed to center the screen on the player when the dialog box appears:

In client_interface.fos, i added this :

void CenterPlayerOnScreenDialog() // Le téléport, marche
{
    CritterCl@ player = GetChosen();
    if (valid(player)) {
        RunServerScriptUnsafe("dev_menu@unsafe_TeleportPlayer", 0, player.HexX, player.HexY, null, null);
    }
}

And changed this :

void screen_change(bool show, int screen, int p0, int p1, int p2)
{
    if(show && screen == CLIENT_SCREEN_DIALOG) //Here
    {
        CenterPlayerOnScreenDialog();
    }

    if(DialogImage.Exists() && recheckDialogImage &&
       show && screen != CLIENT_SCREEN_DIALOG &&
       !(screen == CLIENT_SCREEN_BARTER || screen == CLIENT_SCREEN_SAY))
    {
        DialogImage.Unset();
        recheckDialogImage = false;
    }

    if(!show && DialogImage.Exists() && screen == CLIENT_SCREEN_DIALOG)
    {
        recheckDialogImage = true;
    }

    if(show)
        GUI_ShowScreen(screen, p0, p1, p2);
    else
        GUI_HideScreen(screen, p0, p1, p2);
}

And in dev_menu.fos :

void unsafe_TeleportPlayer(Critter& player, int dummy, int x, int y, string@ param3, array<int>@ param4)
{
    Map@ map = player.GetMap();
    if (valid(map)) {
        uint16 hexX = player.HexX;
        uint16 hexY = player.HexY;
        player.TransitToHex(hexX + 1, hexY, 0xff); // Téléporte le joueur sur une case voisine
        player.TransitToHex(hexX, hexY, 0xff); // Téléporte le joueur sur sa case d'origine
    }
}

It's really not clean, but it works!  ;D

Navigation

[0] Message Index

[*] Previous page

Go to full version