Значит суть просьбы такая.
У меня есть один незаконченный скриптик для бота( незакончен он на 5% =) ).
Терминалогия там немного отличается от стандартного вбс, но все остальное такое же и написано он разумеется на вбс.
Вот собственно сам скрипт:
'dotaclan
'1.0
Private Const db_cTypeBoolean = 11
Private Const db_cTypeCurrency = 6
Private Const db_cTypeDate = 7
Private Const db_cTypeDouble = 5
Private Const db_cTypeInteger = 3
Private Const db_cTypeText = 202
Private Const db_cModeReadOnly = 1
Private Const db_cModeForUpdate = 2
Public pGameStatus
Public pChallenger
Public pChallenged
Public pTeams
Public pMode
Public runme
const forReading = 1
const forWriting = 2
const forAppending = 8
dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
dim db
Set db = New db_clsDatabase
dim db_path
db_path = BotPath() & "plugins\dotaclan.mdb"
Sub dotaclan_event_load()
TimerInterval "dotaclan", "enoughppl", 5
TimerEnabled "dotaclan", "enoughppl", False
Dim t, rs, l
pGameStatus = 0
If Not db.Exists(db_path) Then
If Not db.Create(db_path) Then
AddChat vbRed, "Could not create database!"
Exit Sub
End If
Else
If Not db.Open(db_path) Then
AddChat vbRed, "Could not open database!"
Exit Sub
End If
End If
If db.IsOpen() Then
AddChat vbGreen, "Database opened."
Else
Exit Sub
End If
If Not db.TableExists("Players") Then
If db.CreateTable("Players") Then
AddChat vbGreen, "Created Table Players"
Else
AddChat vbRed, "Could not create Table Players"
Exit Sub
End If
End If
If Not db.TableExists("Captains") Then
If db.CreateTable("Captains") Then
AddChat vbGreen, "Created Table Captains"
Else
AddChat vbRed, "Could not create Table Captains"
Exit Sub
End If
End If
If Not db.TableExists("Records") Then
If db.CreateTable("Records") Then
AddChat vbGreen, "Created Table Records"
Else
AddChat vbRed, "Could not create Table Records"
Exit Sub
End If
End If
Set t = db.Table("Players")
If Not db.ColumnExists(t.Name, "Name") Then
t.Columns.Append "Name", db_cTypeText, 40
AddChat vbGreen, "Created Column Name in Table Players"
End If
If Not db.ColumnExists(t.Name, "Captain") Then
t.Columns.Append "Captain", db_cTypeText, 40
AddChat vbGreen, "Created Column Captain in Table Players"
End If
Set t = db.Table("Captains")
If Not db.ColumnExists(t.Name, "Name") Then
t.Columns.Append "Name", db_cTypeText, 40
AddChat vbGreen, "Created Column Name in Table Captains"
End If
Set t = db.Table("Records")
If Not db.ColumnExists(t.Name, "Name") Then
t.Columns.Append "Name", db_cTypeText, 40
AddChat vbGreen, "Created Column Name in Table Records"
End If
If Not db.ColumnExists(t.Name, "Experience") Then
t.Columns.Append "Experience", db_cTypeText, 40
AddChat vbGreen, "Created Column Experience in Table Records"
End If
If Not db.ColumnExists(t.Name, "Wins") Then
t.Columns.Append "Wins", db_cTypeText, 40
AddChat vbGreen, "Created Column Wins in Table Records"
End If
If Not db.ColumnExists(t.Name, "Losses") Then
t.Columns.Append "Losses", db_cTypeText, 40
AddChat vbGreen, "Created Column Losses in Table Records"
End If
AddChat vbWhite, "Deleting all records from Captains ..."
l = db.ExecuteQuery("DELETE FROM Captains")
AddChat vbWhite, "Deleted " & l & " records."
AddChat vbWhite, "Deleting all records from Players ..."
l = db.ExecuteQuery("DELETE FROM Players")
AddChat vbWhite, "Deleted " & l & " records."
set File = fso.OpenTextFile("users.txt", ForReading, 1)
x = 0
Do Until File.AtEndOfStream
Data = File.ReadLine
Data = Split(Data, " ", 2)
If lcase(Data(1)) = "q" Then
AddChat vbWhite, "Inserting Captain " & Data(0) & " ..."
l = db.ExecuteQuery("INSERT INTO Captains (Name) VALUES ('" & Data(0) & "')")
x = x + 1
End If
If InStr(Data(1), " ") > 0 Then
Datb = Split(Data(1), " ", 2)
AddChat vbWhite, "Inserting Captain " & Data(0) & " ..."
l = db.ExecuteQuery("INSERT INTO Captains (Name) VALUES ('" & Data(0) & "')")
x = x + 1
End If
Loop
File.Close
AddChat vbRed, "I have added " & x & " Captain(s) to my list."
End Sub
Sub dotaclan_Event_WhisperFromUser(Username, Flags, Message)
dotaclan_Command Username, Message, 3
End Sub
Sub dotaclan_Event_usertalk(Username, Flags, Message, Ping)
dotaclan_Command Username, Message, 1
End Sub
Sub dotaclan_Command(Username, Message, From)
if left(message, 1) = BotVars.Trigger Then
getdbentry Username, myAccess, myFlags
if IsCaptain(Username) = 1 Then
if lcase(left(message, 11)) = BotVars.Trigger & "challenge " Then
dotaclan_challenge Username, Message
elseif lcase(left(message, 8)) = BotVars.Trigger & "result " Then
dotaclan_result Username, Message
elseif lcase(left(message, 7)) = BotVars.Trigger & "accept" Then
dotaclan_accept Username
elseif lcase(left(message, 5)) = BotVars.Trigger & "deny" Then
dotaclan_deny Username
elseif lcase(left(message, 6)) = BotVars.Trigger & "teams" Then
dotaclan_teams From, Username
elseif lcase(left(message, 8)) = BotVars.Trigger & "players" Then
dotaclan_players Username
elseif lcase(left(message, 8)) = BotVars.Trigger & "leaver " Then
dotaclan_leaver Message
elseif lcase(left(message, 5)) = BotVars.Trigger & "pool" Then
dotaclan_pool
elseif lcase(left(message, 6)) = BotVars.Trigger & "pick " Then
dotaclan_pick Username, Message
elseif lcase(left(message, 7)) = BotVars.Trigger & "cancel" Then
dotaclan_cancel Username
end if
End If
If myAccess > 9 Then
if lcase(left(message, 5)) = BotVars.Trigger & "host" Then
dotaclan_host Username
elseif lcase(left(message, 6)) = BotVars.Trigger & "top10" Then
dotaclan_top10
elseif lcase(left(message, 6)) = BotVars.Trigger & "rank " Then
dotaclan_rankother Message
end if
End If
If lcase(left(message, 7)) = BotVars.Trigger & "signin" Then
dotaclan_signin Username
Elseif lcase(left(message, 8)) = BotVars.Trigger & "signout" Then
dotaclan_signout Username
Elseif lcase(message) = BotVars.Trigger & "rank" Then
dotaclan_rank Username
End If
Else
Exit Sub
End If
End Sub
Sub dotaclan_challenge(Challenger, Message)
Data = Split(Message, " ")
Challenged = Data(1)
Teams = Data(2)
Mode = Data(3)
AddChat vbWhite, "Challenged = " & Challenged
AddChat vbWhite, "Challenger = " & Challenger
If GameStatus = 1 Then
AddQ "Sorry, but I am already in charge of a game. Please wait for it to finish."
End If
If lcase(Challenged) = lcase(Challenger) Then
AddQ "Can't challenge yourself!!"
Exit Sub
Else
Addchat vbwhite, "Not Challenging self, continue."
End If
If IsCaptain(Challenged) = 1 Then
AddChat vbWhite, Challenged & " is a captain, and is challengable."
If lcase(Teams) <> "4v4" Then
If lcase(Teams) <> "5v5" Then
If lcase(Teams) <> "8" Then
If lcase(Teams) <> "10" Then
AddQ "Only 5v5 or 4v4 teams are allowed!"
Exit Sub
End If
End If
End If
End If
If lcase(Mode) <> "ap" Then
If lcase(Mode) <> "ar" Then
If lcase(Mode) <> "mr" Then
If lcase(Mode) <> "tr" Then
If lcase(Mode) <> "lm" Then
If lcase(Mode) <> "rd" Then
AddQ "Only the following modes are allowed...ap, ar, mr, tr, lm, rd"
Exit Sub
End if
End If
End If
End If
End If
End If
If InChannel(Challenged) = 1 Then
AddChat vbwhite, "In Channel"
Else
AddQ "Challenged captain must be in the channel!"
Exit Sub
End If
pGameStatus = 1
pChallenger = Challenger
pChallenged = Challenged
pTeams = Teams
pMode = Mode
AddQ "/me " & pChallenger & " has challenged " & pChallenged & " for a Gather game " & pTeams & " Mode -" & pMode
AddQ "/w " & pChallenged & " " & pChallenger & " has challenge YOU for a Gather Game " & pTeams & " Mode -" & pMode & ", Type " & BotVars.Trigger & "accept to accept the challenge or " & BotVars.Trigger & "deny to cancel the challenge."
Else
AddChat vbRed, "Not a captain, canceling request."
AddQ Challenged & " is not a captain, and may not be challenged."
Exit Sub
End If
End Sub
Sub dotaclan_result(Username, Message)
If pGameStatus = 0 Then
AddQ "There is no game to report on!"
Exit Sub
End If
End Sub
Sub dotaclan_accept(Username)
If pGameStatus = 0 Then
AddQ "You have not been challenged!"
Exit Sub
End If
If lcase(Username) = lcase(pChallenged) Then
AddChat vbWhite, "Inserting 2 captains via recordset ..."
Set rs = db.OpenRecordSet("Players", db_cModeForUpdate)
rs.AddNew
rs("Name") = pChallenger
rs("Captain") = "Self"
rs.Update
rs.AddNew
rs("Name") = pChallenged
rs("Captain") = "Self"
rs.Update
rs.Close()
AddChat vbWhite, "2 Captains inserted, Done!"
TimerEnabled "dotaclan", "enoughppl", True
AddQ "/me " & pchallenged & " has accepted " & pchallenger & "'s challenge for a Gather Game " & pTeams & " Mode -" & pMode & ", Type " & BotVars.Trigger & "signin to sign in the Gather Game or " & BotVars.Trigger & "signout to sign out of the Gather Game."
End If
End Sub
Sub dotaclan_deny(Username)
If pGameStatus = 0 Then
AddQ "You have not been challenged!"
Exit Sub
End If
If lcase(Username) = lcase(pChallenged) Then
AddQ "/me " & pchallenged & " has declined " & pchallenger &"'s challenge for a Gather Game."
pGameStatus = 0
pChallenger = 0
pChallenged = 0
pTeams = 0
pMode = 0
TimerEnabled "dotaclan", "enoughppl", False
End If
End Sub
Sub dotaclan_teams(Whispered, Username)
If pGameStatus = 0 Then
AddQ "There are no teams to report!"
Exit Sub
End If
x = "Players on " & pChallenger & "'s team: "
Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Captain", db_cModeReadOnly)
Do While Not rs.EOF
If rs("Captain") = pChallenger Then
x = x & rs("Name") & ", "
End If
rs.MoveNext
Loop
DSP Whispered, x, Username, vbWhite
x = "Players on " & pChallenged & "'s team: "
Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Captain", db_cModeReadOnly)
Do While Not rs.EOF
If rs("Captain") = pChallenged Then
x = x & rs("Name") & ", "
End If
rs.MoveNext
Loop
DSP Whispered, x, Username, vbWhite
x = "Players on no team: "
Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Captain", db_cModeReadOnly)
Do While Not rs.EOF
If rs("Captain") = "None" Then
x = x & rs("Name") & ", "
End If
rs.MoveNext
Loop
DSP Whispered, x, Username, vbWhite
End Sub
Sub dotaclan_players(Username)
If pGameStatus = 0 Then
AddQ "There are no players to report!"
Exit Sub
End If
x = "Players on your team: "
Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Captain", db_cModeReadOnly)
Do While Not rs.EOF
If rs("Captain") = Username Then
x = x & rs("Name") & ", "
End If
rs.MoveNext
Loop
DSP 1, x, Username, vbWhite
End Sub
Sub dotaclan_leaver(Message)
If pGameStatus = 0 Then
AddQ "There are no leavers to report!"
Exit Sub
End If
End Sub
Sub dotaclan_pool()
If pGameStatus = 0 Then
AddQ "There are no players to report!"
Exit Sub
End If
x = "Players: "
Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Name", db_cModeReadOnly)
Do While Not rs.EOF
if rs("Captain") = "None" Then
x = x & rs("Name") & ", "
End If
rs.MoveNext
Loop
DSP 1, x, pChallenger, vbWhite
End Sub
Sub dotaclan_pick(Username, Message)
If pGameStatus = 0 Then
AddQ "There is no game to pick for!"
Exit Sub
End If
' If runme = 1 Then
' Exit Sub
' End If
' If lcase(Username) <> lcase(pChallenged) Then
' If lcase(Username) <> lcase(pChallenger) Then
' Exit Sub
' End If
' End If
Msg = Split(Message, " ")
If SignedUp(Msg(1)) = 1 Then
db.ExecuteQuery("DELETE FROM Players WHERE Name='" & capUsernames(Msg(1)) & "'")
Set rs = db.OpenRecordSet("Players", db_cModeForUpdate)
rs.AddNew
rs("Name") = capUsernames(Msg(1))
rs("Captain") = Username
rs.Update
rs.Close()
Exit Sub
AddQ "/me " & Username & " has picked " & Msg(1)
End If
End Sub
Sub dotaclan_cancel(Username)
If pGameStatus = 0 Then
AddQ "There is nothing to cancel!"
Exit Sub
End If
If lcase(Username) <> lcase(pChallenger) Then
If lcase(Username) <> lcase(pChallenged) Then
Exit Sub
End If
End If
AddChat vbWhite, "Deleting all records from Players ..."
l = db.ExecuteQuery("DELETE FROM Players")
AddChat vbWhite, "Deleted " & l & " records."
AddQ "/me " & Username & " has CANCELED the Gather Game."
pGameStatus = 0
pChallenger = 0
pChallenged = 0
pTeams = 0
pMode = 0
TimerEnabled "dotaclan", "enoughppl", False
End Sub
Sub dotaclan_host(Username)
If pGameStatus = 0 Then
AddQ "There is nothing to host!"
Exit Sub
End If
End Sub
Sub dotaclan_top10()
AddQ "Top 10"
End Sub
Sub dotaclan_rankother(Message)
AddQ "Checking the rank of another user"
End Sub
Sub dotaclan_signin(Username)
If pGameStatus = 0 Then
AddQ "There is nothing to signin to!"
Exit Sub
End If
If SignedUp(Username) = 0 Then
AddQ "/me " & Username & " has signed into the Gather Game."
Set rs = db.OpenRecordSet("Players", db_cModeForUpdate)
rs.AddNew
rs("Name") = Username
rs("Captain") = "None"
rs.Update
rs.Close
Else
Exit Sub
End If
End Sub
Sub dotaclan_signout(Username)
If pGameStatus = 0 Then
AddQ "There is nothing to sign out of!"
Exit Sub
End If
If SignedUp(Username) = 1 Then
AddQ "/me " & Username & " has signed out of the Gather Game."
db.ExecuteQuery("DELETE FROM Players WHERE Name='" & Username & "'")
Else
Exit Sub
End If
End Sub
Sub dotaclan_rank(Username)
AddQ "Checking the rank of self"
End Sub
Sub dotaclan_enoughppl_Timer()
runme = 0
' Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Name", db_cModeReadOnly)
' x = 0
' Do While Not rs.EOF
' AddChat vbWhite, rs("Name") & " " & rs("Captain")
' x = x + 1
' rs.MoveNext
' Loop
' If pTeams = "5v5" Then
' TeamsToCompare = "10"
' Elseif pTeams = "4v4" Then
' TeamsToCompare = "8"
' Else
' TeamsToCompare = pTeams
' End If
' x = x + 1
' If TeamsToCompare < x Then
' addchat vbred, "passed teamstocompare < x"
' If runme = 1 Then
' AddQ "/me Enough players have signed up, picking teams has been allowed!"
' runme = 0
' Addchat vbred, "runme = 0, passed runme = 1"
' End If
' ElseIf runme = 0 Then
' addchat vbred, "passed runme = 0 and teamstocompare > x"
' AddQ "/me Until " & TeamsToCompare & " people have signed up, picking teams has been disallowed!"
' runme = 1
' End If
End Sub
'Sub dotaclan_teamfull_Timer()
Function capUsernames(User) '// make sure capitalizaton of usernames in message matches usernames in channel list
For i = 1 to GetInternalUserCount()
nameInChan = GetNameByPosition(i)
If LCase(User) = LCase(nameInChan) Then
capUsernames = nameInChan
End If
Next
End Function
Function UserExists(Username)
Set rs = db.OpenRecordSet("SELECT * FROM Records ORDER BY Name", dbc_ModeReadOnly)
AddChat vbWhite, "Searching for a player ..."
rs.MoveFirst
rs.Find "Name='" & Username & "'"
If Not rs.EOF Then
AddChat vbWhite, "Found player!"
UserExists = 1
Else
AddChat vbRed, "Could not find player!"
UserExists = 0
End If
End Function
Function SignedUp(Username)
Set rs = db.OpenRecordSet("SELECT * FROM Players ORDER BY Name", db_cModeReadOnly)
AddChat vbWhite, "Searching for a player ..."
rs.MoveFirst
rs.Find "Name='" & Username & "'"
If Not rs.EOF Then
AddChat vbWhite, "Found player!"
SignedUp = 1
Else
AddChat vbRed, "Could not find player!"
SignedUp = 0
End If
End Function
Function InChannel(Username)
Addchat vbwhite, "Searching for a user in the channel ..."
State = GetInternalDataByUsername(Username, 0)
If State = -5 Then
addchat vbwhite, "Could not find user!"
InChannel = 0
Else
addchat vbwhite, "User found!"
InChannel = 1
End If
End Function
Function IsCaptain(Username)
Set rs = db.OpenRecordSet("SELECT * FROM Captains ORDER BY Name", db_cModeReadOnly)
AddChat vbWhite, "Searching for a captain ..."
rs.MoveFirst
rs.Find "Name='" & Username & "'"
If Not rs.EOF Then
AddChat vbWhite, "Found captain!"
IsCaptain = 1
Else
AddChat vbRed, "Could not find captain!"
IsCaptain = 0
End If
End Function
Class db_clsDatabase
Private path_, conn_, xconn_
Public Function Exists(path)
Dim fso
Exists = False
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(path) Then
Exists = True
End If
Set fso = Nothing
End Function
Public Function Close()
If Not conn_ Is Nothing Then
If IsOpen() Then
conn_.Close
End If
Set conn_ = Nothing
End If
Close = True
End Function
Public Function IsOpen()
IsOpen = False
If Not conn_ Is Nothing Then
If conn_.State = 1 Then
IsOpen = True
End If
End If
End Function
Public Function Open(path)
On Error Resume Next
Close()
Open = False
path_ = path
Set conn_ = CreateObject("ADODB.Connection")
conn_.Provider = "Microsoft.Jet.OLEDB.4.0"
conn_.Open path_
If IsOpen() Then
Set xconn_ = CreateObject("ADOX.Catalog")
xconn_.ActiveConnection = conn_
Open = True
End If
If Err.Number <> 0 Then
AddChat vbRed, "Error in Open('" & path & "'): " & Err.Description
Err.Clear
End If
End Function
Public Function Create(path)
On Error Resume Next
Dim obj_
Close()
Set obj_ = CreateObject("ADOX.Catalog")
obj_.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Engine Type=5;Data Source=" & path
Set obj_ = Nothing
Create = Open(path)
If Err.Number <> 0 Then
AddChat vbRed, "Error in Create('" & path & "'): " & Err.Description
Err.Clear
End If
End Function
Public Function TableExists(tabname)
Dim i
TableExists = False
If Not IsOpen() Then Exit Function
If xconn_.Tables.Count = 0 Then Exit Function
For i = 0 To xconn_.Tables.Count - 1
If UCase(tabname) = UCase(xconn_.Tables(i).Name) Then
TableExists = True
Exit Function
End If
Next
End Function
Public Function ColumnExists(tabname, colname)
Dim i, t
ColumnExists = False
If Not IsOpen() Then Exit Function
If Not TableExists(tabname) Then Exit Function
Set t = xconn_.Tables(tabname)
If t.Columns.Count = 0 Then Exit Function
For i = 0 To t.Columns.Count - 1
If UCase(colname) = UCase(t.Columns(i).Name) Then
ColumnExists = True
Exit Function
End If
Next
End Function
Public Function CreateTable(tabname)
On Error Resume Next
Dim tbl_
If Not IsOpen() Then Exit Function
If TableExists(tabname) Then Exit Function
Set tbl_ = CreateObject("ADOX.Table")
tbl_.Name = tabname
xconn_.Tables.Append tbl_
CreateTable = True
If Err.Number <> 0 Then
AddChat vbRed, "Error in CreateTable('" & tabname & "'): " & _
Err.Description
Err.Clear
End If
End Function
Public Property Get Table(tabname)
On Error Resume Next
Dim tbl_
Set tbl_ = Nothing
If IsOpen() Then
Set tbl_ = xconn_.Tables(tabname)
End If
Set Table = tbl_
If Err.Number <> 0 Then
AddChat vbRed, "Error in Table('" & tabname & "'): " & Err.Description
Err.Clear
End If
End Property
Public Function OpenRecordset(sql, mode)
On Error Resume Next
Dim rs_
Set OpenRecordset = Nothing
If Not IsOpen() Then Exit Function
Set rs_ = CreateObject("ADODB.Recordset")
rs_.ActiveConnection = conn_
Select Case mode
Case db_cModeReadOnly
rs_.CursorType = 2 ' adOpenStatic
rs_.LockType = 1 ' adLockReadOnly
Case db_cModeForUpdate
rs_.CursorType = 1 ' adOpenKeyset
rs_.LockType = 3 ' adLockOptimistic
Case Else
rs_.CursorType = 0 ' adOpenForwardOnly
rs_.LockType = 1 ' adLockReadOnly
End Select
rs_.Source = sql
rs_.Open
If Err.Number <> 0 Then
AddChat vbRed, "Error in OpenRecordSet('" & sql & "', " & _
mode & "): " & Err.Description
Err.Clear
Exit Function
End If
Set OpenRecordset = rs_
End Function
Public Function ExecuteQuery(sql)
On Error Resume Next
Dim rs_, rows_affected
ExecuteQuery = 0
If Not IsOpen() Then Exit Function
Set rs_ = conn_.Execute(sql, rows_affected)
ExecuteQuery = rows_affected
If Err.Number <> 0 Then
AddChat vbRed, "Error in ExecuteQuery('" & sql & "'): " & Err.Description
Err.Clear
End If
End Function
Private Sub Class_Initialize()
path_ = BotPath() & "plugins\dotaclan.mdb"
Set conn_ = Nothing
Set xconn_ = Nothing
End Sub
Private Sub Class_Terminate()
Close()
Set conn_ = Nothing
Set xconn_ = Nothing
End Sub
End Class
Как видите там есть места помеченные как пояснение - '.
Разумеется убераем - ', получаем код яккобы действующий, но тут есть один незакрытый таймер:
'Sub dotaclan_teamfull_Timer()(данный таймер должен отслеживать когда нужное кол-во игроков напишет .signin и далее разрешал выбирать их капитанам(.pick)(тоесть если 2v2, то ждёт пока как минимум пока двое не напишут .signin)
+ походу какая то загвоздка с публичным - runme с его переменной(0 или 1)
Далее следует вопрос:
Возможно в коде, есть код, к этому таймеру или же он просто отсутствует, у меня просьба к вам помоч мне дописать или найти код к этому таймеру.
Суть скрипта такая:
Скрипт посредствам бота в игре, создаёт соревнование, то есть, есть два капитана(один вызывает другова командой .challenge nick team mode), когда капитаны устроили соревнование и оно началось, другие игроки, которые хотят учавствовать в соревновании, должны написать - .signin. Далее капитаны из списка(.pool) игроков, выбирают(.pick nick) тех которые им нужны, после того как игроки выбраны бот говорит, каманда - scourge те то и тето, команда - sentinel те то и те то.
Но из за незаконченности скрипта, он не видит что игроки уже вступили в нужном кол-ве и не разрешает начинать выбирать их.
То есть если состязания 2 на 2, где два капитана уже есть и им нужно 2 человека сверху, эти двое написали .signin(то есть вступили), после этого бот должен сказать - количество игроков соотвествует размеру состязания(там всё в скрипте это написано на енг) и так же должен сказать что теперь вы можете выбирать игроков из пула. А после выбора их должен выдать команды(team sentinel игроки и team scoruge игроки).
Вот список нестандартных команд и сабов:
'//*****************************************//
'// NOTES ON USEFUL PLUGIN SUBS/FUNCTIONS //
'//*****************************************//
'// [ Settings Subs/Functions ]
'// - SetSetting
'// USAGE: SetSetting "prefix", "SettingName", SettingValue, "Setting description", Overwrite
'// Overwrite is a boolean (True or False).
'// ** NEW: Use "" for the Setting Description parameter and the existing description will be used.
'// - GetSetting
'// USAGE: Setting = GetSetting("prefix", "SettingName")
'// [ Timer Subs/Functions ]
'// - TimerInterval
'// USAGE: TimerInterval "prefix", "timerName", Interval
'// Interval is in seconds (must be an integer).
'// - TimerEnabled
'// USAGE: TimerEnabled "prefix", "timerName", Enabled
'// Enabled is a boolean (True or False).
'// - GetTimerEnabled
'// USAGE: Enabled = GetTimerEnabled("prefix", "timerName")
'// Enabled will hold a boolean (True or False).
'// - GetTimeLeft
'// USAGE: timeLeft = GetTimeLeft("prefix", "timerName")
'// timeLeft will hold the number of seconds left until your timer sub is executed.
'// - GetTimeWaiting
'// USAGE: timeWaiting = GetTimeWaiting("prefix", "timerName")
'// timeWaiting will hold the number seconds since the last time your timer sub was executed.
'// [ Message Display Sub ]
'// - dsp
'// USAGE: dsp DisplayID, Message, Username, Color
'// DisplayID must be one of the following integer values:
'// 1 = AddQ
'// 2 = Emote
'// 3 = Whisper
'// 4 = AddChat
'// Color needs to be a vbColor:
'// vbGreen, vbRed, vbCyan, vbYellow, vbBlue, vbMagenta, vbBlack, vbWhite, vbOrange, vbBrown, vbPink, vbGrey
'// ** NEW: Messages of any length can now be displayed.
Sub Event_FirstRun()
Sub Event_ServerInfo(Message)
Sub Event_ServerError(Message)
Sub Event_UserTalk(Username, Flags, Message, Ping)
Sub Event_UserEmote(Username, Flags, Message)
Sub Event_WhisperFromUser(Username, Flags, Message)
Sub Event_UserJoins(Username, Flags, Message, Ping, Product, Level, OriginalStatstring, Banned)
Sub Event_UserLeaves(Username, Flags)
Sub Event_FlagUpdate(Username, NewFlags, Ping)
Sub Event_LoggedOn(Username, Product)
Sub Event_UserInChannel(Username, Flags, Message, Ping, Product, StatUpdate)
Sub Event_ChannelJoin(ChannelName, Flags)
Sub Event_PressedEnter(Text)
Sub Event_KeyReturn(KeyName, KeyValue)
Sub Event_MessageSent(Message)
Sub Event_ClanInfo(Name, Rank, Online)
Sub Event_ClanMemberList(Username, Rank, Online)
Sub Event_ClanMemberUpdate(Username, Rank, Online)
Sub Event_ClanMOTD(Message)
Sub Event_ClanMemberLeaves(Username)
Sub Event_BotRemovedFromClan()
Sub Event_BotClanRankChanged(NewRank)
Sub Event_BotJoinedClan(ClanTag)
Sub Event_BotClanInfo(ClanTag, Rank)
Sub Event_Close()
Sub Event_Shutdown()
Ответить
|