WORLD NAME Sottomondo2 CLUSTER Sottomondo VERSION 9.4.0a ' See it_underworld.dxw for details 'AUTHOR Cris, Lorenzo Ficarra, Krisaore SITE http://www.sottomondo.org/ ' The following for local mode IMAGESFOLDER_LOCAL /dimx/uwpics/ ' The following for network (light) mode IMAGESFOLDER_PUBLIC http://www.sottomondo.org/uwpics/ 'alternates 'IMAGESFOLDER_PUBLIC http://www.dimensionex.net/underworld/uwpics/ 'IMAGESFOLDER_PUBLIC http://digilander.libero.it/dimensionexy/uwpics/ HELP http://www.underworld-game.net/?page_id=12&lang_pref=it SAVEGAME_PERSISTENCE 2 INTERPHONE 1 ' The following only for network (light) mode COUNTERHTML


















MUTING 1 GUI SCENE SIZE 400x230 SCREEN SIZE 800x600 LOGOSRC uw2/logoarea2.jpg MSGLISTSIZE 4 COMPASS true SKINS bloody.txt,forest.txt,aqua.txt,castle.txt,nightmare.txt,default 'PAGE flash flash.htm MAP map_uw2.gif HOOKS findobj=doFindObj Include "it_uwpanels.dxl" PANEL pronald BUTTON dothis, "Fai questo: ", "Comando", doCommand DROPDOWN ronaldops, "getChoices(ronald)", 0 PANEL prookie BUTTON dothis, "Fai questo: ", "Comando", doCommand DROPDOWN rookieops, "getChoices(rookie)", 0 END_GUI ROOMS ROOM entrance DEFAULT NAME Inizio DESCRIPTION Sto entrando nel Regno di Graiel.

Clicca sulla freccia in avanti.

(L'accesso diretto in quest'area non è consentito, verrai ora trasportato nell'area principale). IMAGE uw2/clouds.jpg PANEL initial ROOM outside NAME Outside ROOM start NAME la sponda rocciosa DESCRIPTION Sono su una antica mulattiera che probabilmente era stata costruita come via di fuga dal castello. IMAGE S SHOWAREA 90,-1,-1 uw2/mroad.png IMAGE N SHOWAREA 70,300,-1 uw2/canyon1.png ATTRLIST mapx=82,mapy=188 ROOM rockpath NAME il sentiero DESCRIPTION Il castello si erge a sud-ovest, un sentiero porta verso sud. Un altro più sottile, scavato tra le rocce, scende fino al castello. IMAGE S uw2/rockpath.png IMAGE E uw2/castleside.png ATTRLIST mapx=82,mapy=140 ROOM castlebridge NAME il ponte levatoio DESCRIPTION Sono sul ponte levatoio che porta al castello. Laggiù in fondo intravedo il cancello, chiuso. IMAGE N SHOWAREA 80,255,-1 uw2/castlebridge.png IMAGE E uw2/bridge.png ATTRLIST mapx=33,mapy=122 PANEL pgather ROOM path2 NAME un prato IMAGE W uw2/grassfield.png ATTRLIST mapx=100,mapy=95 ROOM grassf NAME un prato 2 IMAGE W uw2/mplaints.png ATTRLIST mapx=135,mapy=95 ROOM grassfm NAME un prato 3 IMAGE N uw2/grass2.png ATTRLIST mapx=139,mapy=127 ROOM bof3 NAME alberi vicino al fiume IMAGE N uw2/bof3.jpg ATTRLIST mapx=140,mapy=147 ROOM bof2 NAME inizio della foresta IMAGE S uw2/bof2.jpg ATTRLIST mapx=102,mapy=75 ROOM forest1 NAME la foresta maledetta IMAGE S uw2/ghostforest.jpg ATTRLIST mapx=102,mapy=60 ROOM lunarc NAME la foresta maledetta 2 IMAGE S uw2/lunarc.jpg ATTRLIST mapx=118,mapy=59 ROOM lunarb NAME la foresta maledetta 3 IMAGE S uw2/lunarb.jpg ATTRLIST mapx=135,mapy=55 ROOM hellfire NAME la cella PANEL initial ROOM foggyp NAME le pianure della nebbia DESCRIPTION Nella distanza scorgo il fiume che scorre lento in direzione del Castello. IMAGE W uw2/foggyplains.png ATTRLIST mapx=162,mapy=95 ROOM canyonplains NAME pressi delle rocce IMAGE S uw2/canyon_plains.png ATTRLIST mapx=157,mapy=50 ROOM lunar4 NAME alberi vicino alle rocce IMAGE E uw2/lunar4.jpg ATTRLIST mapx=139,mapy=40 ROOM riverplains NAME la pianura vicino al fiume IMAGE N uw2/plains.png ATTRLIST mapx=161,mapy=127 ROOM rockborder NAME il bordo delle rocce IMAGE S uw2/rockborder.jpg ATTRLIST mapx=149,mapy=18 ROOM lunarg NAME la gola del diavolo DESCRIPTION @panelhtml("pbuyshop")+"
Da Kovalsky si può comprare con fiducia." IMAGE S uw2/lunarg.png ATTRLIST mapx=135,mapy=13,shop=1,shopkeeper=kovalsky PANEL pshop ROOM forestborder NAME il bordo della foresta IMAGE S uw2/forestborder.jpg ATTRLIST mapx=132,mapy=73 ROOM bof4 NAME la zona arida IMAGE S SHOWAREA 60,-1,-1 uw2/bof4.jpg ATTRLIST mapx=115,mapy=7 END_ROOMS LINKS LINK toA1 entrance-outside N LINK w1 start-rockpath S LINK w2 rockpath-path2 S LINK w2a rockpath-castlebridge D LINK w3 path2-grassf W LINK w4 path2-bof2 S LINK w5 bof2-forest1 S LINK w6 grassf-foggyp W LINK w6a grassf-grassfm N LINK w7 foggyp-canyonplains S LINK w8 foggyp-riverplains N LINK w9 grassfm-bof3 N LINK w10 canyonplains-lunar4 E LINK w11 grassfm-riverplains W LINK w12 canyonplains-rockborder S LINK w13 bof2-forestborder W MLINK w14 forestborder-canyonplains W LINK w16 grassf-forestborder S LINK w17 rockborder-lunarg E LINK w18 lunarg-bof4 E LINK w19 forest1-lunarc W LINK w20 lunarc-lunarb W LINK w21 lunarb-forestborder N LINK w22 lunarb-lunar4 S END_LINKS CHARACTERS ATTRLIST Salute=10,Forza=1,Esperienza=0,type=0,Livello=1,gender=M ' Types from 10 to up are monsters ' from 1 to 9 are humans ' 0 means unattackable character CHARACTER rookie NAME Rookie DESCRIPTION Rookie è un tuttofare POSITION grassf IMAGE 37x95 uw2/rookie.gif ATTRLIST type=0 'ACCEPTS money SHOW ONSCREEN CHARACTER ronald NAME Ronald il druido DESCRIPTION E' un vecchio saggio POSITION bof2 IMAGE 62x95 uw2/anziano.gif ATTRLIST type=0 ACCEPTS money SHOW ONSCREEN CHARACTER kovalsky NAME Kovalsky DESCRIPTION E' un mercante nomade POSITION lunarg IMAGE 37x97 uw2/kovalsky.gif ATTRLIST type=0 ACCEPTS money SHOW ONSCREEN END_CHARACTERS ITEMS ITEM lionsword NAME spada dei leoni POSITION start DESCRIPTION Una antica spada circondata da un aura magica ATTRLIST type=weapon.swordlion,pickable,Potenza=4,Valore=40,sound=swordlong.wav,Livello=4 ICON uw2/lionswordico.gif IMAGE 32x54 uw2/lionswordsmall.gif SHOW ONSCREEN 'ITEM bluepill ' NAME pillola blu ' POSITION lunarg ' DESCRIPTION La pillola blu ti fornisce 5 minuti di invulnerabilità ' ATTRLIST type=pill.blue,pickable,Valore=20,seller=kovalsky ' ICON magicpill.gif ' IMAGE 50x52 magicpill.gif ' SHOW ICON ITEM garlic NAME aglio TYPE garlic POSITION lunarg DESCRIPTION uno spicchio d'aglio. Puzza un pò. ATTRLIST type=garlic,pickable,Valore=20,seller=kovalsky ICON garlic.gif IMAGE 70x70 garlic.gif SHOW ICON ITEM eyespell NAME Incantesimo dell'Occhio POSITION lunarg DESCRIPTION Genera un'attacco psichico che può causare al nemico una distorsione visiva ATTRLIST type=spell.eye,pickable,Valore=30,seller=kovalsky ICON spelleye.gif IMAGE 48x48 spelleye.gif SHOW ICON END_ITEMS SETS SET setAll start,rockpath,path2,grassf,bof2,bof3,forest1,foggyp,canyonplains,riverplains,lunar4,rockborder,forestborder,lunarg,bof4,lunarb,lunarc 'covered places - needed for stepAway procedure (vampires movement) SET setCovered forest1,lunarc,lunarb END_SETS SCRIPTS Include "it_commons.dxl" EVENT onStart Call common_onStart() Call config() rookie.todo = NewSet() rookie.requests = NewSet() rookie.choices = NewSet("s1=Costruire una CAPANNA,s2=Costruire una CASA,s3=Costruire un FORTINO,x_1rep=Riparare QG della tua gilda") rookie.costs = NewSet("s1=500,s2=1000,s3=2000,x_1rep=100") rookie.houseimages = NewSet("s1=uw2/hut.gif|246|160,s2=uw2/house.gif|189|170,s3=uw2/fort.gif|237|170") rookie.house_places = NewSet("path2,grassf,grassfm,bof3,bof2,forest1,foggyp,canyonplains,lunar4,riverplains,rockborder,forestborder,bof4,lunarb") ronald.todo = NewSet() ronald.choices = NewSet("s1=curare una infezione,s2=cambiare il vostro aspetto,s3=ripristinare la vostra arma personale,s4=scrivere un messaggio") ronald.costs = NewSet("s1=200,s2=500,s3=10,s4=10") arrShopkeepers = NewArray("kovalsky") Call LoadContext() ' Reads game saved status from disk If debugtype Or mode=2 passg = NewItem(start,"un passaggio","Una uscita all'esterno",NewImage("uw2/crack2.gif",46,64),"type=passg,pickable=0,showmode=1,showx=0,showy=150,hideable,showFor=uw2/mroad.png") AttachEvent passg,"onLook","transfer1" End_If If tournament=2 Dim month = Int(getTime("MM")) Dim knife = NewItem(hellfire,"pugnale insaguinato","E' un pugnale insaguinato, quello con cui è stata uccisa la principessa!!",NewImage("uw2/knife2.gif",64,64),"type=weapon.knife,pickable,Potenza=1,Valore=0,sound=sword1.wav,icon=uw2/knife.gif,showmode=2") If month >= 5 ' Game phase Move knife,RndSet(setAll) End_If End_If END_EVENT ' ' Game configuration parameters ' Sub config() debugtype=0 '1=debug mode ON monstersPopupSet=setAll 'Set of rooms where monsters will pop up escapeSet=setAll 'Set of rooms where monsters can escape End_Sub Sub onNew_local() If debugtype Call giveMoney($AGENT,2000) End_If $AGENT.lastreporter = "" End_Sub Sub onNewDay_local() Dim people = getPlayersIn(foggyp) Dim w If SetLen(people) > 0 w = MakeWeapon("xe",RndSet(people)) Speak SYS,w.container.container,"Un incantesimo dell'Occhio è stato donato a: " + w.container.name + "!" End_If ' Auto-restore headquarters... ' Update headquarters' capacity... End_Sub Sub LoadContext_Local() buildingtypes = getSetting("ctx_buildingtypes","!set!") buildingplaces = getSetting("ctx_buildingplaces","!set!") buildingguilds = getSetting("ctx_buildingguilds","!set!") Dim buildingname For Each buildingname In SetKeys(buildingtypes) 'Debug "Rebuilding " + buildingname Call buildBuilding(buildingtypes(buildingname),buildingplaces(buildingname),buildingname,buildingguilds(buildingname)) Next mode = getSetting("ctx_mode",mode) End_Sub EVENT onExit If $TARGET=toA1 ' User is exiting to Main Area MoveOutside $AGENT,"Sottomondo" Return False End_If END_EVENT EVENT entrance.onReceive If $TARGET.type <> 0 'Player has restored from saved game, he saved inside a building Move $TARGET,start End_If If $TARGET.fromarea <> "" ' Teleport comers from other areas to correct places If Not(Exists(passg)) passg = NewItem(start,"un passaggio","Una uscita all'esterno",NewImage("uw2/crack2.gif",46,64),"type=passg,pickable=0,showmode=1,showx=0,showy=150,hideable,showFor=uw2/mroad.png") AttachEvent passg,"onLook","transfer1" End_If $TARGET.fromarea = "" Move $TARGET,start $TARGET.facing = "S" End_If If debugtype=1 ' Debug mode - accept direct access Move $TARGET,start End_If End_EVENT EVENT entrance.onReceiveItem If $TARGET.type <> "msg" 'Unknown object, make it visible Move $TARGET,start Return End_If Call HandleCommandMessage_Common($TARGET) Kill $TARGET End_EVENT ' Transfer function to move people to Area 1 Function transfer1 $AGENT.fromarea = $WORLD.name MoveOutside $AGENT,"Sottomondo" Return False End_Function 'Local explosives management 'input: cont=bomb container Sub bombExplode_local(cont) Dim houses = getObjectsType(cont,"house") If SetLen(houses) > 0 And tournament <> 2 Dim h = houses(1) Dim buildingname = h.name Dim txt = buildingname + " è stato attaccato!" Call BroadcastOtherWorlds("shout","txt="+txt) h.Resist = h.Resist-1 If h.Resist < 1 DropItems h Kill h Dim logos = getObjectsType(cont,"logo") If SetLen(logos) > 0 Kill logos(1) End_If SetRemove buildingtypes, buildingname SetRemove buildingplaces, buildingname SetRemove buildingguilds, buildingname saveSetting "ctx_buildingtypes",buildingtypes saveSetting "ctx_buildingplaces",buildingplaces saveSetting "ctx_buildingguilds",buildingguilds End_If End_If End_Sub Sub popMonster_Local(new) Dim dummy End_Sub EVENT rookie.onLook Print PanelHtml("prookie") Speak "Io posso costruire un edificio!","Basta chiedere, e faccio tutto io!" $AGENT.__clearFocus=true $OWNER.__clearInfo=true End_EVENT EVENT ronald.onLook Print PanelHtml("pronald") Speak "Ho imparato ad ascoltare le parole degli alberi... Mi hanno insegnato i loro segreti.","Ditemi cosa volete che io faccia per voi." $AGENT.__clearFocus=true $OWNER.__clearInfo=true End_EVENT Function getChoices(person) Dim i Dim choices = NewSet() For Each k In SetKeys(person.choices) choices(k) = person.choices(k) + " (" + person.costs(k) + " monete)" Next Return choices End_Function Sub rookie_doCommand(cmd) Dim what = rookie.choices(cmd) Dim cost = Int(rookie.costs(cmd)) If getMoneyFrom($AGENT,cost) Speak rookie,$AGENT,"Quindi vorreste: " + what + ". Costa " + cost + " monete." If Left(cmd,2) = "x_" Dim guild = guildSubscribed($AGENT) If guild = null Speak rookie,$AGENT,"Ma voi non appartenete ad alcuna gilda! Non capisco quale QG dovrei riparare..." Call giveMoney($AGENT,cost) Return false End_If Dim buildingname = "Quartier generale della " + guildnames(guild) Dim c Dim found=null For Each c In getObjectsType($WORLD,"house") If c.name=buildingname found=c End_If Next If found <> null Move rookie,found.container found.Resist = getGuildCount(guild)*10 Speak rookie,$AGENT,"Riparato!" Else Speak rookie,$AGENT,"Non l'ho trovato. Forse è stato distrutto..." Call giveMoney($AGENT,cost) Return false End_If Else Dim guild = guildSubscribed($AGENT) If guild = null Speak rookie,$AGENT,"Ho avuto il permesso di costruire, ma solo per chi è iscritto a una gilda!" Call giveMoney($AGENT,cost) Return false End_If Dim builder = $AGENT Dim buildingname = "Casa di " + builder.name 'If tournament guild = guildSubscribed($AGENT) buildingname = "Quartier generale della " + guildnames(guild) 'End_If If buildingtypes(buildingname) <> null Speak rookie,$AGENT,"C'è già " + buildingname + " in " + buildingplaces(buildingname).name + " e non posso costruirne un altro." Call giveMoney($AGENT,cost) Return false End_If rookie.requests($AGENT.name) = cmd 'Print $AGENT,"Richieste: " + rookie.requests + " Da fare: " + rookie.todo Dim new = NewItem($AGENT,"bandierina","Una bandierina",null,"volume=0,pickable,vanishing,icon=uw2/flag.gif,housetype=" + cmd) AttachEvent new,"whenDropped","flag_whenDropped" Speak rookie,$AGENT,"Bene, ora andate e posate la bandierina che vi ho dato nel luogo che preferite." End_If Else Print "Non ho abbastanza soldi. Costa " + cost + " monete d'oro." End_If Return true End_Sub EVENT doCommand_Local(input) Dim cmd = input("ronaldops") If (cmd <> null) Call ronald_doCommand(cmd) Else cmd = input("rookieops") Call rookie_doCommand(cmd) End_If END_EVENT EVENT ronald.onHear() If ronald.todo($AGENT.name) = "avatar" If Left($TARGET,7) = "http://" ronald.todo($AGENT.name) = "set" If $AGENT.type = 12 $AGENT.oldimage = NewImage($TARGET,64,100) Else $AGENT.image = NewImage($TARGET,64,100) End_If Speak ronald, $AGENT, "Fatto!" Else Speak ronald, $AGENT, "Devi dirmi un URL (inizia con http://)" End_If Return true End_If If ronald.todo($AGENT.name) = "msg" If $TARGET <> "" ronald.todo($AGENT.name) = "" Dim new = NewItem($AGENT.container,"un messaggio","...",NewImage("pergamena.gif",100,100),"icon=scrollspecial.gif,showmode=2,pickable,volume=0") new.description = $TARGET Move new,$AGENT Speak ronald, $AGENT, "Fatto!" End_If Return true End_If End_EVENT Sub ronald_doCommand(cmd) Dim what = ronald.choices(cmd) Dim cost = ronald.costs(cmd) If cmd="s1" And $AGENT.type = 16 Speak ronald,$AGENT,"Vi dispiacerebbe tornare in forma umana, prima?" Return false End_If If cmd = "s3" If $AGENT.pw = null Speak "Voi non avete alcuna arma personale, per ora." Return false End_If If weaponsfactory($AGENT.pw) = null Speak "Non è più possibile ripristinare armi personali di tipo: " + $AGENT.pw Return false End_If End_If If getMoneyFrom($AGENT,cost) Speak ronald,$AGENT,"Quindi vorreste " + what + ". Costa " + cost + " monete." Else Speak ronald,$AGENT,"Questo servizio costa "+cost+" monete!","Dì un pò, ma ce li hai i soldi?" Return false End_If Dim req=cmd If req = "s1" If $AGENT.type = 10 Or $AGENT.type = 12 Or $AGENT.type = 14 If $AGENT.prevtype > 0 $AGENT.type = $AGENT.prevtype $AGENT.prevtype = "" If Not($AGENT.type = 10) Call restoreAvatar($AGENT) End_If Call restoreClass($AGENT) Speak ronald,$AGENT,"Fatto!" Return true Else Speak "L'infezione è andata troppo oltre. Dovevi venire prima." End_If Else Speak "Non mi sembra davvero che tu abbia una infezione. Forse è un problema più radicale, heh heh." End_If Call giveMoney($AGENT,cost) End_If If req = "s2" Speak ronald,$AGENT,"Bene, dimmi l'URL dell'immagine che hai scelto. Controlla bene se non vuoi sprecare i vostri soldi!" SetAdd ronald.todo,$AGENT.name,"avatar" Return true End_If If req = "s3" If SetLen(getObjectsType($AGENT,"weapon.personal")) > 0 Speak ronald,$AGENT,"Ce l'avete già, non c'è nulla da ripristinare" Else Call MakeWeapon($AGENT.pw,$AGENT) Speak ronald,$AGENT,"Fatto!" Return true End_If Call giveMoney($AGENT,cost) End_If If req = "s4" Speak "Bene, ditemi che cosa devo scrivere!" SetAdd ronald.todo,$AGENT.name,"msg" Return true End_If Return false End_Sub Function restoreClass(person) If Not(IsPlayer(person)) Speak SYS,$AGENT,"Non si può eseguire sui personaggi robot" Return False End_If If person.type=1 And person.gender = "M" person.Classe = "Guerriero" Return true End_If If person.type=1 And person.gender = "F" person.Classe = "Guerriera" Return true End_If If person.type=2 And person.gender = "M" person.Classe = "Chierico" Return true End_If If person.type=2 And person.gender = "F" person.Classe = "Incantatrice" Return true End_If If person.type=4 And person.gender = "M" person.Classe = "Artigiano" Return true End_If Speak $AGENT,"Ancora non disponibile per questo tipo di personaggio." Return False End_Function EVENT flag_whenDropped Dim builder = $AGENT Dim buildingname = "Casa di " + builder.name Dim guild = buildingname Dim where = $TARGET If rookie = null ' Flag dropped in wrong area Print "Rookie non mi segue fino qui." Return false End_If If containsType(where,"house",false) Move rookie,where Speak rookie,$AGENT,"Qui è meglio di no: c'è già un edificio. Cercate altrove." Return false End_If If Not(SetContainsKey(rookie.house_places,where.id)) Move rookie,where Speak rookie,$AGENT,"Qui non è un luogo adatto. Cercate altrove." Return false End_If 'If QG... guild = guildSubscribed($AGENT) buildingname = "Quartier generale della " + guildnames(guild) 'End_If Dim req = rookie.requests($OWNER.housetype) Move rookie, where new = buildBuilding($OWNER.housetype,where,buildingname,guild) buildingtypes(buildingname) = $OWNER.housetype buildingplaces(buildingname) = where.id buildingguilds(buildingname) = guild saveSetting "ctx_buildingtypes",buildingtypes saveSetting "ctx_buildingplaces",buildingplaces saveSetting "ctx_buildingguilds",buildingguilds Speak "Ecco signore! Ritornate fra qualche minuto, giusto il tempo di sistemare gli interni..." End_EVENT Function buildBuilding(housetype,where,buildingname,guild) Dim imagecomps = Split(rookie.houseimages(housetype),"|") Dim imagefile = imagecomps(1) Dim imagewidth = imagecomps(2) Dim imageheight = imagecomps(3) Dim showx = (400-imagewidth) / 2 If where = null Debug "Luogo inesistente in buildBuilding: "+ where Return null End_If If guild <> null Dim logo = guildlogos(guild) If logo <> null Call NewItem(where,"logo " + guildnames(guild),"E' il logo di " + guildnames(buildingguilds(buildingname)),NewImage(logo,32,32),"type=logo,showmode=1,hideable=0,showy=200,showx="+(showx+imagewidth/2)) End_If End_If Dim new = NewItem(where,buildingname,buildingname,NewImage(imagefile,imagewidth,imageheight),"capacity=100,showmode=1,showy=50,showx="+showx+",type=house,dark=1,hideable=0,showPolicyPeople=1") new.innerimage = NewImage("uw2/inner.gif",400,230) If SetContainsKey(guildnames,guild) ' Guild still exists new.guild = guild new.Resist = getGuildCount(guild)*10 new.Capacit = getGuildCount(guild) new.capacity = 10*new.Capacit Else new.guild = null new.Resist = 50 new.Capacit = 5 new.capacity = 25 End_If If logo <> null new.icon = logo End_If AttachEvent new,"onReceive","building_onReceive" SetPanel where,"penterexit" SetPanel new,"penterexit" If tournament=2 And guild = assassinguild Dim new1 = NewItem(new,"un biglietto","",NewImage("pergamena.gif",100,100),"icon=scroll.gif,pickable,volume=0,showmode=2") new1.description = "Il biglietto dice:

Mi dispiace doverti lasciare questa lettera, so di avervi messo nei guai. Lei diceva che ci sarebbe stata fedele, ma non potevamo fidarci di lei, e io lo sapevo. Ci avrebbe traditi, io la conoscevo troppo bene.

Farò in modo che la mia colpa non ricada sugli altri, dì loro che non potuto fare altrimenti.

Ti prometto che da dove sto per andare, non sentirai più parlare di me.

Addio." End_If Return new End_Function EVENT building_onReceive Dim person = $TARGET Dim private If person <> null If Left($OWNER.name,7) = "Casa di" 'Private house private = true If LCase(person.name) <> LCase(Right($OWNER.name,Len(person.name))) And Not(person.master) Print "Non è casa mia..." Move person,$OWNER.container Return false End_If Else If LCase(person.guild) <> LCase($OWNER.guild) And Not(person.master) And $OWNER.guild <> null Print "Non appartengo alla " + guildnames($OWNER.guild) + "... e questo è il loro Quartier Generale." Move person,$OWNER.container Return false Else If containsUnique(person) Print "Non posso entrare perchè porto con me un oggetto unico." Move person,$OWNER.container Return false End_If End_If End_If End_If If Not(private Or $OWNER.guild=null) If $OWNER.laststats <> getTime("dd") Dim new = NewItem(person,"situazione "+ guildnames($OWNER.guild),"...",NewImage("pergamena.gif",100,100),"icon=scroll.gif,showmode=2,vanishing,pickable,volume=0") new.description = getGuildKillStats($OWNER.guild,true) AttachEvent new,"whenPicked","stats_whenPicked" $OWNER.laststats = getTime("dd") $OWNER.lastreporter = person.name Else If $OWNER.lastreporter Print "Le ultime statistiche sono state consegnate a: " + $OWNER.lastreporter End_If End_If End_If END_EVENT EVENT stats_whenPicked $OWNER.container.lastreporter = $AGENT.name End_EVENT EVENT kovalsky.onLook Speak "Salve, sono Kovalsky. Serve qualcosa?", "Ho delle merci rare, ho viaggiato molto per portarle qui","Mi fermo solo per pochi giorni, approfittane." $AGENT.__clearFocus=true $OWNER.__clearInfo=true END_EVENT EVENT lunarg.onLooseItem ' Management of sold items If $TARGET.seller <> "" Display "E' in vendita." Speak $TARGET.seller, $AGENT, "Costa " + $TARGET.Valore + " monete...", "Ti serve " + $TARGET.name + " eh? Ti faccio un buon prezzo.", "Ti tratto bene: "+ $TARGET.Valore + " monete, che ne dici?" Return false End_If END_EVENT END_SCRIPTS END_WORLD