Hello i'm having problems with dialogues.
Base what im using is RUSE
Pretty much i want make a dialogue wheres an ITEM model next to dialogue
I got this code
Code:
private static void showDialogue(Player player, Dialogue dialogue) {
String[] lines = dialogue.dialogue();
switch (dialogue.type()) {
case NPC_STATEMENT:
int startDialogueChildId = NPC_DIALOGUE_ID[lines.length - 1];
int headChildId = startDialogueChildId - 2;
player.getPacketSender().sendNpcHeadOnInterface(dialogue.npcId(), headChildId);
player.getPacketSender().sendInterfaceAnimation(headChildId, dialogue.animation().getAnimation());
player.getPacketSender().sendString(startDialogueChildId - 1, NpcDefinition.forId(dialogue.npcId()) != null ? NpcDefinition.forId(dialogue.npcId()).getName().replaceAll("_", " ") : "");
for (int i = 0; i < lines.length; i++) {
player.getPacketSender().sendString(startDialogueChildId + i, lines[i]);
}
player.getPacketSender().sendChatboxInterface(startDialogueChildId - 3);
break;
case PLAYER_STATEMENT:
startDialogueChildId = PLAYER_DIALOGUE_ID[lines.length - 1];
headChildId = startDialogueChildId - 2;
player.getPacketSender().sendPlayerHeadOnInterface(headChildId);
player.getPacketSender().sendInterfaceAnimation(headChildId, dialogue.animation().getAnimation());
player.getPacketSender().sendString(startDialogueChildId - 1, player.getUsername());
for (int i = 0; i < lines.length; i++) {
player.getPacketSender().sendString(startDialogueChildId + i, lines[i]);
}
player.getPacketSender().sendChatboxInterface(startDialogueChildId - 3);
break;
case ITEM_STATEMENT:
startDialogueChildId = NPC_DIALOGUE_ID[lines.length - 1];
headChildId = startDialogueChildId - 2;
player.getPacketSender().sendInterfaceModel(headChildId, Integer.valueOf(dialogue.item()[0]), Integer.valueOf(dialogue.item()[1]));
player.getPacketSender().sendString(startDialogueChildId - 1, dialogue.item()[2]);
for (int i = 0; i < lines.length; i++) {
player.getPacketSender().sendString(startDialogueChildId + i, lines[i]);
}
player.getPacketSender().sendChatboxInterface(startDialogueChildId - 3);
break;
case STATEMENT:
sendStatement(player, dialogue.dialogue()[0]);
break;
case OPTION:
int firstChildId = OPTION_DIALOGUE_ID[lines.length - 1];
player.getPacketSender().sendString(firstChildId - 1, "Choose an option");
for (int i = 0; i < lines.length; i++) {
player.getPacketSender().sendString(firstChildId + i, lines[i]);
}
player.getPacketSender().sendChatboxInterface(firstChildId - 2);
break;
}
if(player.getInterfaceId() <= 0)
player.setInterfaceId(100);
}
All dialogues running through dialogue.json
Example:
Code:
{
"id": 167,
"type": "OPTION",
"lines": 2,
"line1": "blablabla
"line2": "blablabla
"next": -1,
"npcId": -1
},
{
"id": 166,
"type": "NPC_STATEMENT",
"anim": "PLAIN_TALKING",
"lines": 3,
"line1": "blablabla.",
"line2": "blablabla.",
"line3": "blablabla
"next": 167,
"npcId": 500
}
What im trying to make to get and item MODEL next to dialogue is this, but it ain't working
Code:
{
"id": 168,
"type": "ITEM_STATEMENT",
"lines": 3,
"line1": "BLABLABLA",
"line2": "BLABLABLA",
"line3": "BLABLABLA",
"next": -1,
"item": 22008
}
{
Any help? WILL +REP!