Ce script est une mise à jour du populaire GEN II de Props.
Il permet à des utilisateurs de regarder des Props
un par un ou automatiquement (toutes les trois secondes). Il fournit la capacité
d'énumérer les Props que l'utilisateur porte ainsi un God peut les ajouter à la salle des Props.
Cette pièce a un ' ; refresh' ; un cycle de vos Props sera faite automatiquement avant que des Props soit purger par le serveur.
Ceci empêche le serveur de supprimer les Props parce qu'ils n'auraient pas été utilisés récemment.
--------------------------------------------------------------------------------------------------------------------------------------------
( Copier ce script ci-dessous et coller le dans votre Pserver.PAT ) Noter qu'il faut inscrit les numéro de vos
props dans le script entre les '' '' changer les numéros
" 957916456 " etc Pour vous aidez rendez vous sur palace dansla Room et cliquer sur la porte Props en mode God
et inscrivez vos numéro dans la section approprier
" 957916456 "-----------------------------------------------------------------------------------------------------------------------------------------------------
( Copier ce script ci-dessous et coller le dans votre Pserver.PAT )
Télécharger les images du script ici
ROOM
ID 2280
PRIVATE
HIDDEN
NOGUESTS
NAME "Prop Room 1 "
PICT "proprobot.gif"
PICTURE ID 1
NAME "robotpropbar00.gif"
TRANSCOLOR 0
ENDPICTURE
SPOT
ID 1
NAME "Props"
DONTMOVEHERE
SHOWNAME
OUTLINE 457,9 506,9 506,37 457,37
LOC 481,16
SCRIPT
ON ENTER
{
mainscript GLOBAL
ME ID mainscript =
cmd GLOBAL
refresh GLOBAL
stopped GLOBAL
dataformat GLOBAL
;
;*******************************************************************************
;define which format of prop IDs you are using.
;use: "brackets" dataformat = if you are using prop IDs defined as [ xxxx xxxx xxxx ]
;use: "quotes" dataformat = if you are using prop IDs defined as "xxxx xxxx xxxx"
"quotes" dataformat =
;*******************************************************************************
;
0 stopped =
{ "refresh" cmd = } { "init" cmd = } refresh IFELSE
0 ME SETALARM
}
ON INCHAT
{
refresh GLOBAL
;
{ refresh_startroom GLOBAL
roomarraydef GLOBAL
roomarrayindex GLOBAL
roomarraydef EXEC
roomarrayindex ++
{ 0 refresh =
"Refresh completed.\x0d" LOGMSG
"." SAY
refresh_startroom GOTOROOM } { roomarray roomarrayindex GET GOTOROOM
} roomarrayindex nbrrooms >= IFELSE
} CHATSTR ";endofprops" ==
refresh AND IF
;Get your name minus any leading asterisks
{ "$1" GREPSUB myname = } USERNAME "[*]*(.*)" GREPSTR IF
;If they say your name let them know you're busy.
{ "Message from " USERNAME & ": Je régénère automatiquement les props. Je ne peux pas vous répondre." & ROOMMSG
} CHATSTR myname SUBSTR
refresh AND IF
}
ON OUTCHAT
{
cmd GLOBAL
dataformat GLOBAL
refresh GLOBAL
stopped GLOBAL
;help commands
{ "Say 'propids' to list in your log the prop ID's you're currently wearing." LOCALMSG
"Copy the ID line from the log and paste it into the script where indicated." LOCALMSG
"You may also say 'propids text' which will cause the text you type to be added to your ID's." LOCALMSG
} CHATSTR "help" ==
ISWIZARD AND IF
;"propids <optional name or description>" - write prop data to log in form to put in database
{ 0 i =
{ "[ " } { "\" " } dataformat "brackets" == IFELSE
{ i USERPROP ITOA & " " &
i ++ } { i NBRUSERPROPS == NOT} WHILE
{ "] ;" } { "\";" } dataformat "brackets" == IFELSE & "$1" GREPSUB & LOGMSG
"" CHATSTR =
} CHATSTR LOWERCASE "^propids(.*)" GREPSTR IF
;turn refresh off.
{ 0 refresh =
1 stopped =
"stop" cmd =
"Refresh stopped." LOGMSG
"" CHATSTR =
} CHATSTR "stoprefresh" ==
refresh AND
ISWIZARD AND IF
;resume refresh.
{ 1 refresh =
0 stopped =
"autoforward" cmd =
"Refresh resumed." LOGMSG
"" CHATSTR =
0 ME SETALARM
} CHATSTR "resumerefresh" ==
stopped AND
ISWIZARD AND IF
}
ON ALARM
{
cmd GLOBAL
dataformat GLOBAL
prop GLOBAL
refresh GLOBAL
refresh_time GLOBAL
unitsspot GLOBAL
tensspot GLOBAL
;
[
;*******************************************************************************
; if "brackets" format, put prop id's here in form: [ id id id id id id id id id ] ; propname (optional)
; if "quotes" format, put prop id's here in form: " id id id id id id id id id " ; propname (optional)
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
" 957916456 "
;*******************************************************************************
] proparray =
proparray LENGTH nbrprops =
;nextprop - get next prop
{
{ 0 prop =
{ ";endofprops" SAY
"stop" cmd =
} refresh IF
} prop nbrprops >= IF
{ nbrprops 1 - prop = } prop 0 < IF
prop 1 + 10 / tensspot SETSPOTSTATELOCAL
prop 1 + 10 % unitsspot SETSPOTSTATELOCAL
"Choix avatar " prop 1 + ITOA & " of " & nbrprops ITOA & LOGMSG
{ proparray prop GET SETPROPS} { "[" proparray prop GET & "] SETPROPS" & STRTOATOM EXEC } dataformat "brackets" == IFELSE
} getprop DEF
;
; commands
;
{ -1 prop =
"Il y a " nbrprops ITOA & " avatars dans cette chambre." & LOCALMSG
"Utiliser 'Reset' pour commencer par l'avatar 1" LOCALMSG
"Utiliser '>' et '<' pour changer l'avatar manuellement " LOCALMSG
"Utiliser '>>' et '<<' pour faire un cycle automatiquement entre les avatars " LOCALMSG
"Utiliser le bouton Stop pour arrêter les cycles automatiques de 3 secondes par avatars ." LOCALMSG
} cmd "init" == IF
;
{ -1 prop =
"\x0dRefreshing " ROOMNAME & LOGMSG
"Message from " USERNAME & ": Je régénère automatiquement les props. Je ne peux pas vous répondre." & ROOMMSG
"autoforward" cmd =
} cmd "refresh" == IF
;
{ 0 prop =
getprop EXEC
} cmd "reset" == IF
;
{ prop ++
getprop EXEC
} cmd "next" == IF
;
{ prop --
getprop EXEC
} cmd "previous" == IF
;
;*******************************************************************************
;Set the automatic display time in seconds (time between prop changes)
5 display_time =
;*******************************************************************************
{ prop++
getprop EXEC
{ refresh_time 60 * ME SETALARM } { display_time 60 * ME SETALARM } refresh IFELSE
} cmd "autoforward" == IF
;
{ prop --
getprop EXEC
{ refresh_time 60 * ME SETALARM } { display_time 60 * ME SETALARM } refresh IFELSE
} cmd "autobackward" == IF
;note: no need for a 'stop' script. Changing 'cmd' stops alarm
}
ENDSCRIPT
ENDSPOT
DOOR
ID 2
NAME "Reset"
DONTMOVEHERE
OUTLINE 390,49 437,49 437,75 390,75
LOC 412,55
SCRIPT
ON SELECT
{
cmd GLOBAL
mainscript GLOBAL
"reset" cmd =
0 mainscript SETALARM
}
ENDSCRIPT
ENDDOOR
DOOR
ID 3
NAME "Next"
DONTMOVEHERE
OUTLINE 454,50 500,50 500,77 454,77
LOC 476,56
SCRIPT
ON SELECT
{
cmd GLOBAL
mainscript GLOBAL
"next" cmd =
0 mainscript SETALARM
}
ENDSCRIPT
ENDDOOR
DOOR
ID 4
NAME "Previous"
DONTMOVEHERE
OUTLINE 319,49 374,49 374,72 319,72
LOC 347,54
SCRIPT
ON SELECT
{
cmd GLOBAL
mainscript GLOBAL
"previous" cmd =
0 mainscript SETALARM
}
ENDSCRIPT
ENDDOOR
DOOR
ID 5
NAME "Stop"
DONTMOVEHERE
OUTLINE 93,48 129,48 129,76 93,76
LOC 111,55
SCRIPT
ON SELECT
{
cmd GLOBAL
mainscript GLOBAL
"stop" cmd =
0 mainscript SETALARM
}
ENDSCRIPT
ENDDOOR
DOOR
ID 6
NAME "Auto Forward"
DONTMOVEHERE
OUTLINE 12,48 73,48 73,74 12,74
LOC 56,57
SCRIPT
ON SELECT
{
cmd GLOBAL
mainscript GLOBAL
{ 0 mainscript SETALARM } cmd "autoforward" == NOT
cmd "autobackward" == NOT AND IF
"autoforward" cmd =
}
ENDSCRIPT
ENDDOOR
DOOR
ID 7
NAME "Auto Backward"
DONTMOVEHERE
OUTLINE 148,48 222,48 222,74 148,74
LOC 194,54
SCRIPT
ON SELECT
{
cmd GLOBAL
mainscript GLOBAL
{ 0 mainscript SETALARM } cmd "autoforward" == NOT
cmd "autobackward" == NOT AND IF
"autobackward" cmd =
}
ENDSCRIPT
ENDDOOR
SPOT
ID 8
OUTLINE 330,10 350,10 350,26 330,26
LOC 222,106
SCRIPT
ON ENTER
{
unitsspot GLOBAL
ME unitsspot =
0 ME SETSPOTSTATELOCAL
}
ENDSCRIPT
ENDSPOT
SPOT
ID 9
OUTLINE 285,10 306,10 306,26 285,26
LOC 182,106
SCRIPT
ON ENTER
{
tensspot GLOBAL
ME tensspot =
0 ME SETSPOTSTATELOCAL
}
ENDSCRIPT
ENDSPOT
SPOT
ID 10
OUTLINE 208,12 229,12 229,31 208,31
LOC 265,56
PICTS
1,0,0
ENDPICTS
SCRIPT
ENDSCRIPT
ENDSPOT
ENDROOM