Code:
Include("\\script\\missions\\citywar_global\\head.lua");
Include("\\script\\missions\\citywar_city\\head.lua");
Include("\\script\\missions\\clearskill\\clearhole.lua");
Include("\\script\\task\\tollgate\\messenger\\wagoner.lua"); --ÌØÊâÐÅʹµØͼ
Include("\\script\\task\\newtask\\map_index.lua"); -- ÓÃÓÚ»ñÈ¡ÈÎÎñÁ´µØͼµÄÐÅÏ¢
Include("\\script\\task\\tollgate\\messenger\\wagoner.lua") --ÓÃÓÚÁ¬½ÓÌØÊâÐÅʹÈÎÎñµÄ½Å±¾
Include("\\script\\global\\judgeoffline_special.lua") --ÓÃÓÚÎÞÃû¹È¡ª¡ªÍйܷþÎñÆ÷µØͼ
Include("\\script\\activitysys\\g_activity.lua")
Include("\\script\\dailogsys\\g_dialog.lua")
Include("\\script\\activitysys\\playerfunlib.lua")
Include("\\script\\event\\zhongqiu_jieri\\200909\\rongshu\\head.lua")
Include("\\script\\event\\great_night\\great_night_head.lua") --Ë«Áú¶´»Æ½ðÖ®ºË
--§iÒu chØnh reset 5h ch¬i - Modified by DinhHQ - 20110630
Include("\\script\\vng_feature\\challengeoftime\\npcNhiepThiTran.lua")
szStationOp =
{
"Nh÷ng n¬i ®· ®i qua/WayPointFun", -- 1
"Nh÷ng thµnh thÞ ®· ®i qua/StationFun", -- 2
"Trë l¹i ®Þa ®iÓm cò/TownPortalFun", -- 3
"§i Hoa S¬n c¶nh kü trêng/go_HSBattle", -- 4
"§i c«ng thµnh chiÕn trêng/GoCityWar", -- 5
"§i c«ng thµnh huÊn luyÖn chiÕn trêng/GoDemoWar", -- 6
"§i ®¶o tÈy tñy/GotoClearSkillMap", -- 7
"§i ®Õn n¬i lµm nhiÖm vô d· tÈu/tl_moveToTaskMap", -- 8
"§i tíi n¬i lµm nhiÖm vô tÝn sø/messenger_wagoner", -- 9
--"È¥ÎÞÃû¹È/GotoAnonymVale" --10
};
function return_1()
return 1
end
function return_0()
return 0
end
-- ¶ÔÓ¦ÉϸöÊý×éµÄÌõ¼þÅжÏ
aryCondition = {
[1] = {checkState = return_1}, -- ¢·¾µÄµØ·½
[2] = {checkState = return_1}, -- ¢·¾µÄ³ÇÊÐ
[3] = {checkState = return_1}, -- ·µ»ØµÄµØµã
[4] = {checkState = return_1}, -- È¥»ªÉ½¾º¼¼³¡
[5] = {checkState = function() -- È¥¹¥³ÇÕ½³¡
return (WhichWarBegin()~= 0 and 1) or 0;
end;
},
[6] = {checkState = function() -- È¥¹¥³ÇѵÁ·Õ½³¡
return (GetGlbValue(2)==1 and 1) or 0;
end;
},
[7] = {checkState = return_1}, -- ȥϴË赺
[8] = {checkState = function() -- È¥Ò°ÛÅÈÎÎñËùÔÚµØ
return (GetTask(1021)==4 and 1) or 0;
end;
},
[9] = {checkState = function() -- È¥ÌØÊâÐÅʹÈÎÎñËùÔڵصã
return (GetTask(1204)~= 0 and 1) or 0;
end;
},
--[10] = {checkState = return_1}, -- ½øÈëÎÞÃû¹È
[10] = {checkState = return_1}, -- ¢·¾µÄµØ·½
[11] = {checkState = return_1},
[12] = {checkState = return_1},
}
szStationOp_Cancel = "Kh«ng cÇn/StationOnCancel";
function go_HSBattle()
Msg2Player("Ngåi yªn chóng ta ®i Hoa S¬n")
NewWorld(2,2605,3592)
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
end
function WayPointFun() -- ¼Ó·µ»ØÒª800Á½Òø×Ó£¨¶´¿Ú£©¡¡¡¡¡¡£¨BY£º Dan_Deng 2004-04-30£©
p1 = GetWayPoint(1);
p2 = GetWayPoint(2);
p3 = GetWayPoint(3);
HaveBin={};
i = 1;
if (p1 ~= 0) then
name = GetWayPointName(p1);
name = name .."/SelWayPoint";
HaveBin[i]= name;
i = i + 1;
end;
if (p2 ~= 0) then
name = GetWayPointName(p2);
name = name .."/SelWayPoint";
HaveBin[i]= name;
i = i + 1;
end;
if (p3 ~= 0) then
name = GetWayPointName(p3);
name = name .."/SelWayPoint";
HaveBin[i]= name;
i = i + 1;
end;
HaveBin[i] = "Kh«ng muèn ®i ®©u c¶/OnCancel";
if (i == 1) then
Say("ThËt xin lçi ta chØ cã thÓ ®a ngµi tíi n¬i ngµi ®· ®i qua",0);
else
Say("Mêi lùa chän", i, HaveBin);
end;
end;
function WharfFun()
Count = GetWharfCount(CurWharf);
Num = Count;
WharfB = {};
nValidCount = 1;
for i = 1, Num do
WharfId = GetWharf(CurWharf, i);
if (WharfId ~= 0) then
nPrice = GetWharfPrice(CurWharf, WharfId);
WharfB[nValidCount] = GetWharfName(WharfId) .. "[" .. nPrice .. "Á½]" .. "/SelWharf";
nValidCount = nValidCount + 1;
end;
end;
WharfB[nValidCount] = "Kh«ng ®i/OnCancel";
if (nValidCount == 1) then
Say("ThËt xin lçi n¬i ®ã ngµi cha ®i tíi", 0);
else
Say("ThuyÒn phu: ng¬i nghÜ ®i chç nµo nha : ", nValidCount, WharfB);
end;
end;
function SelWharf(nSel)
nWharfId = GetWharf( CurWharf, nSel + 1);
nPrice = 0;
if
(nWharfId ~= 0) then
nPrice = GetWharfPrice(CurWharf, nWharfId);
else
return
end;
if (PrePay(nPrice) == 1 or GetCamp() == 6 ) then
Msg2Player("Ngåi yªn chóng ta ®i nµo"..GetWharfName(nWharfId))
nW , nX, nY = GetWharfPos(nWharfId);
nResult = NewWorld(nW, nX , nY );
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
if (nResult == 2) then
Msg2Player("Phôc vô khÝ chuyÓn ®æi trung...")
end
if (nResult == 0) then
Msg2Player("TruyÒn tèng vµo ®iÓm cã sai lÇm")
end
else
Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i xe", 0);
end;
end;
function StationFun()
for j = 1, 16 do
AddStation(j)
end
Count = GetStationCount();
Num = Count;
if (Count > 10) then
Num = 10
end
StationB = {}
nValidCount = 1
for i = 1, Num do
StationId = GetStation(i, CurStation)
if (StationId ~= 0) then
nPrice = GetPrice2Station(CurStation, StationId)
StationB[nValidCount] = GetStationName(StationId) .. "[" .. nPrice .. "lîng]" .. "/SelStation";
nValidCount = nValidCount + 1
end
end
StationB[nValidCount] = "Kh«ng muèn ®i n¬i nµo c¶//OnCancel";
if (nValidCount == 1) then
Say("ThËt xin lçi ta chØ cã thÓ ®a ngµi tíi n¬i ngµi ®· ®i qua", 0);
else
Say("Xin mêi chän ®Þa ®iÓm", nValidCount, StationB);
end
end
function SelStation(nSel)
Count = GetStationCount()
nStation = GetStation(nSel + 1, CurStation)
nPrice = GetPrice2Station(CurStation, nStation)
if (PrePay(nPrice) == 1 or GetCamp() == 6) then
nW, nX, nY = GetStationPos(nStation);
nResult = NewWorld(nW, nX , nY );
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
Msg2Player("Ngåi yªn chóng ta ®i nµo"..GetStationName(nStation))
if (nResult == 2) then
--Msg2Player("·þÎñÆ÷ת»»ÖÐ...")
end
if (nResult == 0) then
Msg2Player("TruyÒn tèng tíi ®iÓm cã sai lÇm")
end
--§iÒu chØnh reset 5h ch¬i - Modified by DinhHQ - 20110630
local nSongJinCount = PlayerFunLib:GetTaskDailyCount(1926)
if nSongJinCount >= 1 or tbCOT_Party:GetDailyTaskCount() >= 1 then
SetTireTime(0)
end
else
Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i ®©u ®îc", 0);
end
end
function TownPortalFun() -- ·µ»ØÒª2000Á½Òø×Ó£¨ÔµØµã£©¡¡¡¡£¨BY: Dan_Deng 2004-04-30£©
-- if (PrePay(2000) == 1 or GetCamp() == 6) then
ReturnFromPortal()
-- else
-- Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i ®©u ®îc", 0)
-- end
end;
function SelWayPoint(nSel) -- ·µ»ØÒª1000Á½Òø×Ó£¨¶´¿Ú£©¡¡¡¡¡¡£¨BY£ºDan_Deng 2004-04-30£©
-- if (PrePay(1000) == 1 or GetCamp() == 6) then
nWayPoint = GetWayPoint(nSel + 1);
if (nWayPoint ~= 0) then
nW, nX, nY = GetWayPointPos(nWayPoint)
nFightState = GetTerminiFState(nWayPoint)
nResult = NewWorld(nW, nX, nY)
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
SetFightState(nFightState)
-- Msg2Player("Goto"..GetWayPointName(nWayPoint)..nW..nX..nY);
if (nResult == 2) then
-- Msg2Player("Phôc vô khÝ chuyÓn ®æi trung...")
end
if (nResult == 0) then
-- Msg2Player("TruyÒn vµo ®iÓm cã sai lÇm.")
end
end;
-- else -- ²»¹»Ç®¾Í¾Ü¾ø
-- Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i u ®îc", 0);
-- end;
end
--³ÇÕ½ÊÇ·ñ¿ªÊ¼ÁË
function WhichWarBegin()
for i = 1,7 do
if (HaveBeginWar(i) ~= 0) then
return i;
end;
end;
return 0;
end;
function CancelGoCityWar()
Say("C«ng thµnh chiÕn trêng lµ n¬i ®ao kiÕm v« t×nh, nÕu kh«ng tíi tham chiÕn th× h·y lÊy sinh m¹ng lµm träng, trë vÒ ®i", 0);
end;
function GoCityWar()
CityID = WhichWarBegin();
if (CityID >= 1 and CityID <= 7) then
Tong1, Tong2 = GetCityWarBothSides(CityID);
str = format("B©y giê %s c«ng thµnh chiÕn ®ang tiÕn hµnh, phe c«ng thµnh<%s>, phe thñ thµnh<%s>. Xin hái ngµi muèn gia nhËp phe nµo", GetCityAreaName(CityID), Tong1, Tong2);
Say(str , 3, "Phe c«ng thµnh/GoCityWarAttack", "Phe thñ thµnh/GoCityWarDefend", "Kh«ng ®i/CancelGoCityWar");
end;
end;
--È¥¹¥³ÇÕ½ÊØ·½Èë¿Ú
function GoCityWarDefend()
CityID = WhichWarBegin();
if (CityID == 0 ) then
return
end;
TongName, result = GetTong()
Tong1, Tong2 = GetCityWarBothSides(CityID);
if (Tong2 ~= TongName and GetItemCountEx(CardTab[CityID * 2]) < 1) then
if (GetTask(TV_CITYID) ~= CityID or GetTask(TV_VALUE) ~= 1 or GetTask(TV_TASKID) ~= MISSIONID) then
Say("Th©n phËn kh«ng hîp lÖ, vui lßng trë vÒ!", 0);
return
end;
end;
if (random(0,1) == 1) then
NewWorld(222, 1614, 3172);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
else
NewWorld(222, 1629, 3193);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
end;
end;
--È¥¹¥³ÇÕ½¹¥·½Èë¿Ú
function GoCityWarAttack()
CityID = WhichWarBegin();
if (CityID == 0) then
return
end;
TongName, result = GetTong()
Tong1, Tong2 = GetCityWarBothSides(CityID);
if (Tong1 ~= TongName and GetItemCountEx(CardTab[CityID * 2 - 1]) < 1) then
if (GetTask(TV_CITYID) ~= CityID or GetTask(TV_VALUE) ~= 2 or GetTask(TV_TASKID) ~= MISSIONID) then
Say("Th©n phËn kh«ng hîp lÖ, vui lßng trë vÒ!", 0);
return
end
end
if (random(0,1) == 1) then
NewWorld(223, 1614, 3172);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
else
NewWorld(223, 1629, 3193);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
end;
end;
function GoDemoWar()
Say("C«ng thµnh tu luyÖn chiÕn b¾t ®Çu, ng¬i thùc sù muèn tham gia??", 3,"Tham gia phe thñ thµnh!/GotoDefend", "Tham gia phe c«ng thµnh/GotoAttack", "Ta kh«ng muèn ®i/OnCancel")
end;
function GotoDefend()
if (random(0,1) == 1) then
NewWorld(222, 1614, 3172);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
else
NewWorld(222, 1629, 3193);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
end;
end;
function GotoAttack()
if (random(0,1) == 1) then
NewWorld(223, 1614, 3172);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
else
NewWorld(223, 1629, 3193);
SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
AddSkillState(963, 1, 0, 18*3)
end;
end;
-- ȥϴµãµØͼ
function GotoClearSkillMap()
-- ÔÝʱÆÁ±ÎȥϴµãµØͼµÄ¹¦ÄÜ
-- Say("³µ·ò£ºÃâ·ÑȥϴË赺µÄ»ú»áÖ»ÓÐÒ»´Î¡£Äã×îºÃ»¹ÊÇÏÈÊìϤһϢÕâ´ÎµÄ¼¼Äܵ÷Õû£¬³ÙÒ»µãÔÙÈ¥°É¡£", 1, "ÖªµÀÁË/gotocsm_no")
nSubWorldID = SubWorldIdx2ID();
nCityIndex = CSP_GetCityIndexByCityMap(nSubWorldID);
if (nCityIndex == -1) then
return -1;
end
CSP_EnterClearMap(nCityIndex);
end;
function gotocsm_no()
end;
function OnCancel()
end;
function goto_shijiangu()
NewWorld(949, floor(51264 / 32), floor(102368 / 32))
end
function _GoELangGu()
Msg2Player("§Õn ¸c lang cèc!")
local tbTargetMapList = {[11] = 950, [1] = 951, [37] = 952,
[176] = 953, [162] = 954, [78] = 955, [80] = 956,}
local nMapId = GetWorldPos()
if tbTargetMapList[nMapId] then
NewWorld(tbTargetMapList[nMapId], 1592, 3195)
end
end
CITY_OPTIONS =
{
{"Nh÷ng n¬i ®· ®i qua", WayPointFun}, -- 1
{"Nh÷ng thµnh thÞ ®· ®i qua", StationFun}, -- 2
{"Trë l¹i ®Þa ®iÓm cò", TownPortalFun}, -- 3
{"§i Hoa S¬n c¶nh kü trêng", go_HSBattle}, -- 4
{"§i c«ng thµnh chiÕn trêng", GoCityWar}, -- 5
{"§i c«ng thµnh huÊn luyÖn chiÕn trêng", GoDemoWar}, -- 6
{"§i ®¶o tÈy tñy", GotoClearSkillMap}, -- 7
{"§i ®Õn n¬i lµm nhiÖm vô d· tÈu", tl_moveToTaskMap}, -- 8
{"§i tíi n¬i lµm nhiÖm vô tÝn sø", messenger_wagoner}, -- 9
--{"È¥ÎÞÃû¹È", GotoAnonymVale" --10
--{"ȥТÁ½Ë®¶´", OnGoToNewLiangShuiDong},-- 10
--{"È¥ÊÔ½£¹È", goto_shijiangu}, -- 11
--{"È¥¶ñÀǹÈ", _GoELangGu},
}
-- ³ÇÊгµ·òͨÓýű¾
-- ×¢Ò⣺¹¥³ÇսδʹÓô˺¯ÊýµÄ½Å±¾ [script\missions\citywar_city\zhongzhuan_map\chefu.lua]
function CityStationCommon(szMsg)
dofile("script/global/station.lua");
local nNpcIndex = GetLastDiagNpc();
local szNpcName = GetNpcName(nNpcIndex)
if NpcName2Replace then
szNpcName = NpcName2Replace(szNpcName)
end
local tbDailog = DailogClass:new(szNpcName)
G_ACTIVITY:OnMessage("ClickNpc", tbDailog)
tbDailog.szTitleMsg = szMsg
--µ¯³ö¶Ô»°¿ò
for i = 1, getn(CITY_OPTIONS) do
local tb = CITY_OPTIONS[i]
-- µ÷Óà aryCondition ÄÚµÄ checkState ¹ý³Ì£¬¼ì²é´Ë¶Ô»°Ñ¡ÏîÊÇ·ñ·ûºÏÌõ¼þ
if aryCondition[i].checkState() == 1 then
tbDailog:AddOptEntry(tb[1], tb[2])
end
end
tbDailog:Show()
end;
-- ТÊÖ´å³µ·òͨÓýű¾ (×¢Ò⣺ÄÏÔÀÕò²»ÊÇТÊִ壬²»µ÷´Ëº¯Êý)
function NewcomerStationCommon(szMsg)
dofile("script/global/station.lua");
-- check_update() -- ¼¼ÄܸüТ¡¢ÃÅÅɼӱêʶ£¨2004-05-31£©
if (GetLevel() >= 5) then
if (WhichWarBegin() ~= 0) then
Say(szMsg, 5, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp[5], szStationOp_Cancel)
elseif (GetGlbValue(2) == 1) then -- ¹¥³ÇѵÁ·Õ½³¡
Say(szMsg, 5, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp[6], szStationOp_Cancel)
else
if (GetTask(1021) == 4) then -- Èç¹û½ÓÊÜÁËÒ°ÛÅÈÎÎñÖÐÑ°ÕÒµØͼ־µÄÈÎÎñ
Say(szMsg, 5, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp[8], szStationOp_Cancel)
else
Say(szMsg, 4, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp_Cancel)
end
end;
else
Talk(1,"","Xa phu: bªn ngoµi cã rÊt nhiÒu ngêi gièng ng¬i ®· ra ngoµi vµ uæng m¹ng. Ta kh«ng g¸nh v¸c næi chuyÖn nµy ®©u")
end
end;
function StationOnCancel()
Talk(1,"","Cã tiÒn th× h·y quay l¹i")
end;
----------------------------------------------
CP_MAPPOS_IN = {1508,3026}
CP_MAPTAB = {
{396, 397, "ThiÕu l©m"},
{398, 399, "Thiªn v¬ng"},
{400, 401, "§êng m«n"},
{402, 403, "Ngò ®éc"},
{404, 405, "Nga my"},
{406, 407, "Thóy yªn"},
{408, 409, "C¸i bang"},
{410, 411, "Thiªn nhÉn"},
{412, 413, "Vâ ®ang"},
{414, 415, "C«n l«n"}
}
function transtoplace()
Say("Vâ l©m liªn ®Êu m«n ph¸i ®ang tiÕn hµnhi, ng¬i muèn tiÕn vµo sao?", 2, "Ta muèn tiÕn vµo/transtoplace_sure", "§Ó ta suy nghÜ ®· /OnCancel")
end
function transtoplace_sure()
if (GetLastFactionNumber() == -1) then
Say("Minh chñ vâ l©m cã lÖnh: Liªn ®Êu m«n ph¸ii chØ giíi h¹n ë thËp ®¹i m«n ph¸i dù thi. Ng¬i ë ®©y trong chèn vâ l©m kh«ng m«n kh«ng ph¸i, b©y giê kh«ng thÓ tham gia ®îc, h·y gia nhËp m«n ph¸i sau ®ã, trë l¹i dù thi ®i", 0)
return
else
if(GetLastFactionNumber() == 0) then
NewWorld(CP_MAPTAB[1][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÉÙÁÖ
elseif (GetLastFactionNumber() == 1) then
NewWorld(CP_MAPTAB[2][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÌìÍõ
elseif (GetLastFactionNumber() == 2) then
NewWorld(CP_MAPTAB[3][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÌÆÃÅ
elseif (GetLastFactionNumber() == 3) then
NewWorld(CP_MAPTAB[4][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--Î嶾
elseif (GetLastFactionNumber() == 4) then
NewWorld(CP_MAPTAB[5][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--¶ëáÒ
elseif (GetLastFactionNumber() == 5) then
NewWorld(CP_MAPTAB[6][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--´äÑÌ
elseif (GetLastFactionNumber() == 6) then
NewWorld(CP_MAPTAB[7][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ؤ°ï
elseif (GetLastFactionNumber() == 7) then
NewWorld(CP_MAPTAB[8][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÌìÈÌ
elseif (GetLastFactionNumber() == 8) then
NewWorld(CP_MAPTAB[9][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--Îäµ±
elseif (GetLastFactionNumber() == 9) then
NewWorld(CP_MAPTAB[10][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--À¥¢Ø
end
Msg2Player("§· tiÕn vµo ®Êu trêng vâ l©m liªn ®Êu m«n ph¸i")
end
end
-- ÓÃÓÚ´¦ÀíÒ»¶ÑÑ¡ÏîµÄ¶Ô»°º¯Êý Say(""...);
-- Edited by peres
function SelectSay(strSay)
local strMsg,strSel = "","";
local strNum = getn(strSay);
if strNum < 2 then
return
end;
if strNum > 2 then
for i=2,strNum - 1 do
strSel = strSel..format("%q", strSay[i])..",";
end;
strSel = strSel..format("%q", strSay[strNum]);
strMsg = "Say("..format("%q", strSay[1])..","..(strNum - 1)..","..strSel..");";
elseif strNum == 2 then
strSel = format("%q", strSay[strNum]);
strMsg = "Say("..format("%q", strSay[1])..",1"..","..strSel..");";
end
dostring(strMsg)
end