Ultima modifica da un moderatore:
Salve ragazzi, oggi sono qui per presentarvi una quest migliorata nell'ambito ban & and sban in game (tramite quest).
Prima della mia modifica
Quest Pt. 2
Funzioni per abilitare i say colorati
P.S.
Se ci dovesse essere qualche bug ditemelo tranquillamente, ma non credo avendolo testato più e più volte.
Prima della mia modifica
- Si bannava solamente il personaggio, con gli altri potevi loggarci tranquillamente
- puoi bannare tutto l'account scrivendo il nome del pg (deve essere online ovviamente)
- i say sono colorati, vi fornirò le righe da mettere nel questfunctions e nel questlib.lua
Codice:
quest ban begin
state start begin
when login with pc.is_gm() begin
send_letter("Banna & Sbanna Player")
end
when button or info begin
say_title("Banna & Sbanna Player[ENTER]")
say("Cosa vuoi fare?[ENTER]")
local scelta = select("Banna", "Sbanna", "Status account", "Chiudi")
if scelta == 1 then
say_title("Banna Player[ENTER]")
say_yellow("Inserisci il nome del player che vuoi bannare")
local myVid = pc.get_vid()
local nome = tostring(input())
local vid_pg = find_pc_by_name(nome)
local myVid = pc.get_vid()
if nome == pc.get_name() then
say_title("Banna Player[ENTER]")
say_red("Non puoi inserire il tuo nome.[ENTER]")
return
elseif vid_pg == 0 then
say_title("Banna Player[ENTER]")
say_red("Il player non e' connesso[ENTER]")
return
else
say_title("Banna Player[ENTER]")
say_yellow("Inserisci la causa del ban")
local causa = tostring(input())
pc.select(vid_pg)
account_id = pc.get_account_id()
game . set_event_flag("banned_"..account_id, "1")
chat("Sei stato bannato!")
notice_all("Il player "..pc.get_name().." e' stato bannato per "..causa)
pc.select(myVid)
chat("Ban al player "..nome.." avvenuto con successo")
chat("Account id: "..account_id)
chat("Fallo crashare col comando /dc + nick")
end
elseif scelta == 2 then
say_title("Sbanna account[ENTER]")
say_yellow("Inserisci l'id dell'account che vuoi sbannare")
local id_account = tonumber(input())
if game.get_event_flag("banned_"..id_account) == 0 then
say_title("Sbanna account[ENTER]")
say_orange("L'id "..id_account.." non e' bannato.[ENTER]")
return
end
game.set_event_flag("banned_"..id_account, "0")
say_title("Sbanna account[ENTER]")
say_green("L'id "..id_account.." e' stato sbannato.[ENTER]")
elseif scelta == 3 then
say_title("Status account[ENTER]")
say("Inserisci l'id dell'account di cui vuoi vedere lo status")
local id_account = tonumber(input())
local status = game.get_event_flag("banned_"..id_account)
if status == 1 then
say_title("Status account[ENTER]")
say_red("L'id "..id_account.." e' bannato[ENTER]")
else
say_title("Status account[ENTER]")
say_green("L'id "..id_account.." non e' bannato[ENTER]")
end
end
end
end
end
Quest Pt. 2
Codice:
quest ban_tentato_login begin
state start begin
when login or levelup with game . get_event_flag("banned_"..pc.get_account_id()) == 1 begin
command ( "quit" )
chat("Sei stato bannato ora sloggherai.")
end
end
end
Funzioni per abilitare i say colorati
Codice:
--**
--** Inserire queste funzioni nel questlib.lua
--**
---------------------------------------------------------------------------------------------
--** Inserire queste righe nel questlib.lua per visualizzare i colori dei say
function say_green(str)
say(color256(0,255,0)..str..color256(196, 196, 196))
end
function say_light_yellow(str)
say(color256(255,255,128)..str..color256(196, 196, 196))
end
function say_yellow(str)
say(color256(255,255,53)..str..color256(196, 196, 196))
end
function say_orange(str)
say(color256(255,191,24)..str..color256(196, 196, 196))
end
function say_red(str)
say(color256(255, 0, 0)..str..color256(196, 196, 196))
end
function say_blue(str)
say(color256(0, 0, 255)..str..color256(196, 196, 196))
end
function say_light_blue(str)
say(color256(130, 192, 255)..str..color256(196, 196, 196))
end
---------------------------------------------------------------------------------------------
--**
--** Inserire queste righe nel quest_functions
--**
say_yellow
say_light_yellow
say_orange
say_blue
say_light_blue
say_red
say_green
P.S.
Se ci dovesse essere qualche bug ditemelo tranquillamente, ma non credo avendolo testato più e più volte.