Tool [EPIC-RELEASE]BanTool in Game, Prigione, a Tempo.

Stato
Discussione chiusa ad ulteriori risposte.

Kayle

Utente Jade
9 Ottobre 2009
1,919
98
287
694
Ultima modifica da un moderatore:
Dato che quello MIO (postato da ErLibano), non funzionava (cosa fatta di proposito), vi posto il bantool prigione, in game, a tempo (un nome più corto... ehm...)
BGPT (o_o)
Ecco a voi... la mia migliore release °-°

BanTool:
Codice:
quest bansiono begin
state start begin
  when login or levelup or kill with game . get_event_flag ( "banned_" .. pc . get_name ( ) ) == 1 and game . get_event_flag ( "bannedtime_" .. pc . get_name ( ) ) > 0 begin
   pc . warp ( x , y ) --Inserire x e y della prigione
   set_state ( "prigione" )
   pc.setqf("temporimasto", get_time() + game.get_event_flag("bannedtime_"..pc.get_name())*60*60)
  end
  when login or levelup or kill with game . get_event_flag ( "banned_" .. pc . get_name ( ) ) == 1 and game . get_event_flag ( "bannedtime_" .. pc . get_name ( ) ) == 0 begin
   command( "logout" )
   say ( "Sei stato permabannato!" )
   say ( "Addio!" .. delay ( 10000) )
   return
  end
  when 20094.chat."Ban Tool" with pc . is_gm ( ) ~= false begin
say_title ( "Bantool" )
say ( "Inserisci la password" )
local password = tostring(input())
say_title ( "Bantool" )
if password ~= game . get_event_flag ( "bantool_password" ) then
say ( "Password errata" )
return
end
say ( "Benvenuto nel Bantool!" )
say ( "Cosa vuoi fare?" )
local scegli = select ( "Ban Permanente","Ban Temporaneo","Sbanna","Modifica Password","Esci" )
if scegli == 5 then
return
elseif scegli == 4 then
say_title ( "Bantool" )
say ( "Inserisci la vecchia password" )
password = tostring(input())
say_title ( "Bantool" )
if password ~= game . get_event_flag ( "bantool_password" ) then
  say ( "Password errata!" )
  return
end
say ( "Inserisci la nuova password" )
password = tostring(input())
say_title ( "Bantool" )
if password == nil then
  say ( "Inserisci una password!" )
  return
end
say ( "Password modificata" )
game . set_event_flag ( "bantool_password" , password )
elseif scegli == 1 then
say_title ( "Bantool" )
say ( "Dimmi il Nome del player che vuoi Bannare permanentemente" )
local pg = tostring(input())
say_title ( "Bantool" )
if pg == nil then
  say ( "Inserisci un nome!" )
  return
end
if game . get_event_flag ( "banned_" .. pg ) == 1 then
  say ( "Mi dispiace, ma " .. pg .. " e' gia' bannato" )
  return
end
say ( pg .. " e' stato bannato" )
game . set_event_flag ( "banned_" .. pg , 1 )
game . set_event_flag ( "bannedtime_" .. pg , 1 )
elseif scegli == 2 then
say_title ( "Bantool" )
say ( "Dimmi il Nome del player che vuoi Bannare temporaneamente" )
local pg = tostring(input())
say_title ( "Bantool" )
if pg == nil then
  say ( "Inserisci un nome!" )
  return
end
if game . get_event_flag ( "banned_" .. pg ) == 1 then
  say ( "Mi dispiace, ma " .. pg .. " e' gia' bannato" )
  return
end
say ( "Inserisci il tempo (in ore)" )
local tempo = tonumber(input())
say_title ( "Bantool" )
if tempo == nil then
  say ( "Inserisci un numero!" )
  return
end
say ( pg .. " bannato per " .. tempo .. " ore" )
game . set_event_flag ( "banned_" .. pg , 1 )
game . set_event_flag ( "bannedtime_" .. pg , 1 )
elseif scegli == 3 then
say_title ( "Bantool" )
say ( "Inserisci il nome del player da sbannare" )
local pg = tostring(input())
say_title ( "Bantool" )
if pg == nil then
  say ( "Inserisci un nome!" )
  return
end
if game . get_event_flag ( "banned_" .. pg ) == 0 then
  say ( "Questo pg e' gia' sbannato!" )
  return
end
game . set_event_flag ( "banned_" .. pg , 0 )
say ( pg .. " e' stato sbannato" )
end
end
end
state prigione begin
  when letter begin
   send_letter ( "Sei stato bannato!" )
  end
  when button or info begin
   say_title ( "Staff:" )
   say ( "Caro " .. pc . get_name ( ) )
   say ( "Sei stato bannato dal gioco" )
   q.set_clock("Tempo rimanente", pc.getqf("temporimasto")-get_time())
   say_reward ( "Ti rimangono ancora " .. pc . getqf ( "temporimasto" ) - get_time() .. " ore" )
   if pc . gold >= 1000000000 then
    say ( "Vedo che hai 1kkk" )
    say ( "Vuoi pagare ed uscire dal BAN?" )
    local siono = select ( "Si","No" )
    if siono == 2 then
     return
    elseif siono == 1 then
     pc . changegold ( -1000000000 )
     say_title ( "Staff:" )
     say ( "Sei stato SBANNATO!" )
     say ( "Adesso devi aspettare 10 secondi per uscire:" )
     say_reward ( "Non sloggare, altrimenti dovrai ripagare!" )
     game . set_event_flag ( "banned_" .. pc . get_name ( ) , 0 )
     game . set_event_flag ( "bannedtime_" .. pc . get_name ( ) , 0 )
     timer ( "staiuscendo" , 10 )
    end
   end
  end
  when staiuscendo.timer begin
   say ( "Clicca OK Per essere sbannato!" )
   set_state ( "start" )
   wait ( )
   local s = pc . get_empire ( )
   if s == 1 then
    pc . warp ( x , y ) --Coordinate shinsoo
   elseif s == 2 then
    pc . warp ( x , y ) --Coordinate chunjo
   elseif s == 3 then
    pc . warp ( x , y ) --Coordinate jinno
   end
  end
  when login with pc . getqf ( "temporimasto" ) >= get_time ( ) begin
   q.set_clock("Tempo rimanente", pc.getqf("temporimasto")-get_time())
   say_title ( "Staff:" )
   say ( "Ti rimangono ancora " .. pc . getqf ( "temporimasto" ) - get_time() .. " ore!" )
  end
  when login with pc . getqf ( "temporimasto" ) < get_time ( ) begin
   say_title ( "Staff:" )
   say ( "Il BAN e' scaduto!" )
   say ( "Verrai portato via dalla prigione!" )
   clear_letter ( )
   timer ( "staiuscendo" , 10 )
   say ( "Aspetta 10 secondi" )
   game . set_event_flag ( "banned_" .. pc . get_name ( ) , 0 )
     game . set_event_flag ( "bannedtime_" .. pc . get_name ( ) , 0 )
  end
when login with game . get_event_flag ( "banned_" .. pc . get_name ( ) ) == 0 begin
   say_title ( "Staff:" )
   say ( "Ma tu cosa ci fai qui?" )
   say ( "Non risulta che tu sia bannato!" )
   say ( "Va via!!" )
   timer ( "staiuscendo" , 10 )
   say_reward ( "Chiudi questa finestra, ma attendi 10 secondi dopo!" )
  end
when login 
with game . get_event_flag ( "banned_" .. pc . get_name ( ) ) == 1 and 
game . get_event_flag ( "bannedtime_" .. pc . get_name ( ) ) > 0 and 
pc . get_map_index ( ) != "indexprigione" begin
say_title ( "Staff:" )
say ( "Ahahah" )
say ( "Ahahahaha..." )
say ( "Volevi scappare?" )
say ( "Ritorna in prigione!" )
pc . warp ( x , y )
end
when kill with npc.is_pc() begin
say("Ahiahi...")
game.set_event_flag("bannedtime_"..pc.get_name(),game.get_event_flag("bannedtime_")+2)
pc.setqf("temporimasto", get_time() + game.get_event_flag("bannedtime_"..pc.get_name())*60*60)
end
end
end
--Una volta settato tutto, entrate in game e fate:
--/e bantool_password inseritepasswordbantoolchevoleteinnumeri
Versione 2 (BETA):
Codice:
quest bansiono begin
	state start begin
		when login or kill with game.get_event_flag("banned_"..pc.get_name()) == 1 and game.get_event_flag("bannedtime_"..pc.get_name()) == 0 begin
			command("logout")
			say_title("Bannato")
			say("Sei stato permabannato!"..delay(10000))
		end
		when login or kill with game.get_event_flag("banned_"..pc.get_name()) == 1 and game.get_event_flag("bannedtime_"..pc.get_name()) > 0 begin
			pc.setqf("temporimanente",get_global_time())
			pc.setqf("tempoban",game.get_event_flag("bannedtime_"..pc.get_name()*60*60)
			set_state("prigione")
			pc.warp(x,y)
		end
	end
	state prigione begin
		when login with game.get_event_flag("banned_"..pc.get_name()) == 1 and game.get_event_flag("bannedtime_"..pc.get_name()) > 0 and pc.getqf("tempoban") > get_globaltime() - pc.getqf("temporimanente") begin
			say_title("Sei stato bannato")
			say("Ciao! Sei stato bannato!")
			
			local t = get_time() - pc.getqf("temporimanente")
			say("Ti rimangono " .. t / 3600 .. " ore")
		end
		when login with pc.getqf("tempoban") < get_globaltime() - pc.getqf("temporimanente") begin
			say_title("Staff:")
			say("Il tempo è finito!")
			say("Puoi ritornare a giocare!")
			say("Premi OK e aspetta 10 secondi")
			timer("staiuscendo",10)
		end
		
		when login with game.get_event_flag("banned_"..pc.get_name()) == 0 begin
			say_title("Staff:")
			say("E tu cosa ci fai qui?")
			say("Non sei bannato!")
			say("Chiudi questa finestra ed aspetta 10 secondi")
			timer("staiuscendo",10)
		end
		when staiuscendo.timer begin
			notice_all(pc.get_name() .. " e' uscito di prigione!")
			pc.setqf("temporimanente",0)
			pc.setqf("tempoban",0)
			game.set_event_flag("banned_"..pc.get_name(),0)
			game.set_event_flag("bannedtime_"..pc.get_name(),0)
			set_state("start")
			if pc.get_empire() == 1 then
				pc.warp(x,y) --Coordinate shinsoo
			elseif pc.get_empire() == 2 then
				pc.warp(x,y) --Coordinate chunjo
			elseif pc.get_empire() == 3 then
				pc.warp(x,y) --Coordinate jinno
			end
		end
		when login with game.get_event_flag("banned_"..pc.get_name()) == 1 and pc.get_index() ~= "indexprigione" begin
			say_title("Staff:")
			say("Volevi evadere?")
			say("Rientra in prigione!")
			say("Ti aumento di 1 ora il ban!")
			i = 1*60*60
			pc.setqf("tempoban",pc.getqf("tempoban") + i)
		end
		when kill with npc.is_pc() begin
			say_title("Staff:")
			say("Non dovevi farlo, ban aumentato di 1 ora!")
			i = 1*60*60
			pc.setqf("tempoban",pc.getqf("tempoban") + i)
		end
		when letter begin
			send_letter("Sei stato Bannato!")
		end
		when button or info begin
			say_title("Staff:")
			say("Sei stato bannato")
			say("Per 1kkk puoi uscire di prigione")
			if pc .gold < 1000000000 then
				say("Ma tu non li hai")
				return
			end
			say("Vuoi pagare ed uscire di prigione?")
			local siono = select("Si","No")
			if siono == 2 then
				return
			elseif siono == 1 then
				pc.changegold(-1000000000)
				say("Premi OK ed attendi 10 secondi!")
				timer("staiuscendo",10)
			end
		end
	end
end
Spero(>.<) che vi sia utile.
ISTRUZIONI:
0. Settare il bantool da come ho scritto dentro di esso
1. Creare un file bansiono.quest all'interno di locale/hongkong/quest su winscp.
2. Andate su putty/vpc/vbox e scrivete:
Codice:
cd /usr/rain/channel/...fino a quest
./qc bansiono.quest
3. Fatto questo fate reload q, e ora dall'npc 20094 ci sarà il pannello gm per il bantool.
PS: Vi consiglio nel bantool di mettere max 24 ore, devo ancora testare una cosa.
COMODITA':
Al posto del bantool, potete usare anche questo in game:
Codice:
/e banned_NOMEPLAYER 1(Per bannare, 0 per sbannare)
e poi
/e banned_time NOMEPLAYER tempo in ore (potete non usarlo e fate ban permanente)
Presto luzzi posterà qualcosa di utile collegato al bantool.
 
Se ho capito bene questo bantool ti rinchiude in una mappa no ?
Pongo una domanda che magari può essere costruttiva :
Se uno ha un papiro luogo, non potrebbe fuggire semplicemente usandolo?
 
when login or levelup or kill with game . get_event_flag ( "banned_" .. pc . get_name ( ) ) == 1 and game . get_event_flag ( "bannedtime_" .. pc . get_name ( ) ) > 0 begin
pc . warp ( x , y )
set_state ( "prigione" )
qui non bisogna settare le coordinate della mappa dove si vuole che venga imprigionato il pg?si potrebbe mettere un punto impossibile dove camminare >.<

--- Aggiornamento Post ---

Se ho capito bene questo bantool ti rinchiude in una mappa no ?
Pongo una domanda che magari può essere costruttiva :
Se uno ha un papiro luogo, non potrebbe fuggire semplicemente usandolo?
lo trasporti in un covo2 copiato senza teleporter e te la sbrighi così
per copiare una mappa se non lo sai fare c'è la guida
http://www.inforge.net/community/metin2-guide-al-server-privato/63891-[guida]nuove-mappe-da-textures-esistenti-o-da-cartelle-esistenti.html e se non la si capisce basta contattarmi su skype
 
Ultima modifica:
Se ho capito bene questo bantool ti rinchiude in una mappa no ?
Pongo una domanda che magari può essere costruttiva :
Se uno ha un papiro luogo, non potrebbe fuggire semplicemente usandolo?
Tutto è bloccato, appena va in un'altra mappa da bannato viene riportato in prigione.
Comunque ci sono gli index e le coordinate tutte da settare.
AGGIORNAMENTO:
Aggiunto nel bantool le istruzioni.
 
Tutto è bloccato, appena va in un'altra mappa da bannato viene riportato in prigione.
Comunque ci sono gli index e le coordinate tutte da settare.
AGGIORNAMENTO:
Aggiunto nel bantool le istruzioni.
è vero,mi ero scordato della parte finale della quest <.<
p.s. su skype sei online ma nella chat non invia nulla <.<
 
Ho un dubbio, se uso get_time() e lo sto usando alle 23:50, dopo 10 minuti il ban scade o continua?
Qualcuno può testarlo? Seno devo sistemare questo bug.
 
Una sola parola: MITICO !!! +1

EDIT:
Codice:
Devi dare un po' di reputazione in giro prima di poterla dare di nuovo a S4LV0DM.
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.