#nop ========================================================================
#nop NewCirMUD GMCP Integration Script
#nop ========================================================================
#nop 1. GMCP NEGOTIATION
#nop The server sends: IAC WILL GMCP (255 251 201)
#nop We must respond with: IAC DO GMCP (255 252 201)
#nop Hex: \xFF = 255, \xFC = 252, \xC9 = 201
#EVENT {IAC WILL GMCP}
{
#SEND {\xFF\xFD\xC9};
#echo {Sent that I will use GMCP.}
}
#alias enable_gmcp {
#send { \xFF\xFC\xC9 };
#echo { <PROMPT> [GMCP] Negotiation request sent (IAC DO GMCP). }
}
#nop 2. VARIABLE INITIALIZATION
#nop 3. STATUS LINE LOGIC
#nop Updates the TinTin++ footer bar.
#alias update_status_line {
#format {prompt} {<fac>==[$status_name %.1s:$status_level] $vitals_hp/$vitals_hpmax%s $vitals_mp/$vitals_mpmax%s $vitals_mv/$vitals_mvmax%s AC$status_ac H/T:$vitals_hungry/$vitals_thirsty [$roominfo_num:$roominfo_name]==<099>} {$status_class} {H} {M} {V};
#format {godprompt} {<fac>==[$status_name %.1s:$status_level] [$roominfo_num:$roominfo_name]==<099>} {$status_class}
}
#nop 4. GMCP EVENT HANDLERS
#nop These assume you are using a TinTin++ build with the GMCP plugin enabled,
#nop which populates the %gmcp% table and triggers these events.
#event {IAC SB GMCP} {
#nop #echo {GMCP: %0 | %1 | %2 | %3}
}
#nop Handle Character Vitals (HP, MP, MV, Gold, Hunger, Thirst)
#event {IAC SB GMCP Char.Vitals IAC SE} {
#local {vitals_0} {%0};
#foreach {*vitals_0[%*]} {i} {#var {vitals_$i} {$vitals_0[$i]}}
update_status_line
}
#nop Handle Character Static Status (Name, Class, Level, AC)
#event {IAC SB GMCP Char.Status IAC SE} {
#local {status_0} {%0};
#foreach {*status_0[%*]} {i} {#var {status_$i} {$status_0[$i]}}
update_status_line
}
#nop Handle Room Information
#event {IAC SB GMCP Room.Info IAC SE} {
#local {roominfo_0} {%0};
#foreach {*roominfo_0[%*]} {i} {#var {roominfo_$i} {$roominfo_0[$i]}}
update_status_line
}
#event {IAC SB GMCP Core.Ping IAC SE} {
#nop Send IAC WILL GMCP as a keep alive. It won't impact the MUD.
#SEND {\xFF\xFD\xC9};
}
Example tintin++ script for GMCP
by
Tags:
Leave a Reply