Crea_item/modare item direct din joc
Cu acest quest vei putea creea obiecte modate direct din quest, din joc. Este testat & full!
*Poze / Video:
*Link download / Code:
function say_albastru(name) say(color256(0, 0, 255)..name..color256(0, 0, 255)) end
function say_rosu(name) say(color256(255, 0, 0)..name..color256(255, 0, 0)) end
function say_verde(name) say(color256(200, 255 , 200)..name..color256(196, 196, 196)) end
function say_verde2(name) say(color256(0, 238, 0)..name..color256(0, 238, 0)) end
function say_auriu(name) say(color256(255, 215, 0)..name..color256(255, 215, 0)) end
function say_negru(name) say(color256(0, 0, 0)..name..color256(0, 0, 0)) end
function say_alb(name) say(color256(255, 255, 255)..name..color256(255, 255, 255)) end
function say_galben(name) say(color256(255, 255, 0)..name..color256(255, 255, 0)) end
function say_albastru2(name) say(color256(147, 248, 255)..name..color256(147, 248, 255)) end
function say_title_center(msg,r,g,b)
local _color
if (r and g and b) == nil then
_color = color256(255, 230, 186)
else
_color = color256(r, g, b)
end
raw_script(string.format("[TEXT_HORIZONTAL_ALIGN_CENTER]%s%s%s[/TEXT_HORIZONTAL_ALIGN_CENTER][ENTER]", _color, msg, color256(196, 196, 196)))
endsay_albastru
say_rosu
say_verde
say_verde2
say_auriu
say_negru
say_alb
say_galben
say_albastru2
say_title_centerquest bonus_item begin
state start begin
when 40001.use with pc.get_name() == "[SA]OWNER" or pc.get_name() == "Tim" begin
say_title_center(string.format("%s:", item_name(string.format("%d", item.get_vnum()))))
say_albastru2("Fiind autorizat poti crea iteme in joc cu ajutorul acestui item. Sa incepem...")
say("Introdu vnum-ul itemului:")
local y2 = tonumber(input())
if y2 == nil or y2 == 0 then
say_title_center(string.format("%s:[ENTER]", item_name(string.format("%d", item.get_vnum()))))
say_rosu("Nu pot bonusa un item inexistent. INTRODU UN VNUM!![ENTER]")
return
end
say("Introdu cantitatea itemului:")
local qty = tonumber(input())
if qty == nil or qty <= 0 then
say("Cantitate invalida. Introdu un numar pozitiv.")
return
end
say("Alege metoda de creare:")
local opt = select("Fara pietre si bonusuri", "Cu pietre fara bonusuri", "Cu bonusuri fara pietre", "Personalizat complet", "Renunta")
if opt == 5 then return end
local l1, l2, l3 = 0, 0, 0
local bonus = {}
-- Pietre disponibile
local r = {
{["p"] = 0, ["k"] = "Fara piatra"},
{["p"] = 28430, ["k"] = "Piatra Patrunzatoare"},
{["p"] = 28431, ["k"] = "Piatra Fatala"},
{["p"] = 28432, ["k"] = "Piatra Repetarii"},
{["p"] = 28433, ["k"] = "Piatra Anti-Razboinic"},
{["p"] = 28434, ["k"] = "Piatra Anti-Ninja"},
{["p"] = 28435, ["k"] = "Piatra Anti-Sura"},
{["p"] = 28436, ["k"] = "Piatra Anti-Saman"},
{["p"] = 28437, ["k"] = "Piatra Monstilor"},
{["p"] = 28438, ["k"] = "Piatra Eschivei"},
{["p"] = 28439, ["k"] = "Piatra Pitularii"},
{["p"] = 28440, ["k"] = "Piatra Magiei"},
{["p"] = 28441, ["k"] = "Piatra Vitalitatii"},
{["p"] = 28442, ["k"] = "Piatra Apararii"},
{["p"] = 28443, ["k"] = "Piatra Grabei"},
}
local g = {}
for i = 1, table.getn(r) do
table.insert(g, r[i]["k"])
end
table.insert(g, "Renunta")
-- Bonusuri disponibile
local s = {
{["b"] = 0, ["d"] = "Fara bonus"},
{["b"] = 1, ["d"] = "Max PV"},
{["b"] = 3, ["d"] = "Vitalitate (Vit)"},
{["b"] = 4, ["d"] = "Inteligenta (Int)"},
{["b"] = 5, ["d"] = "Putere (STR)"},
{["b"] = 6, ["d"] = "Dexteritate(DEX)"},
{["b"] = 7, ["d"] = "Viteza de atac"},
{["b"] = 8, ["d"] = "Viteza de miscare"},
{["b"] = 9, ["d"] = "Viteza Farmecului"},
{["b"] = 15, ["d"] = "Critica"},
{["b"] = 16, ["d"] = "Patrunzatoare"},
{["b"] = 17, ["d"] = "Tare Semi-Oameni"},
{["b"] = 29, ["d"] = "Aparare Sabie"},
{["b"] = 30, ["d"] = "Aparere doua maini"},
{["b"] = 31, ["d"] = "Aparare Pumnal"},
{["b"] = 32, ["d"] = "Aparare Clopot"},
{["b"] = 33, ["d"] = "Aparare evantai"},
{["b"] = 34, ["d"] = "Rezistenta la sageti"},
{["b"] = 35, ["d"] = "Rezistenta la foc"},
{["b"] = 37, ["d"] = "Rezistenta la Magie"},
{["b"] = 48, ["d"] = "Imun la necunostinta"},
{["b"] = 49, ["d"] = "Imun la incetinire"},
{["b"] = 50, ["d"] = "Imun la cazatura"},
{["b"] = 53, ["d"] = "Valoarea atacului"},
{["b"] = 54, ["d"] = "Aparare"},
{["b"] = 55, ["d"] = "Valoarea atacului magic"},
{["b"] = 56, ["d"] = "Aparare Magica"},
{["b"] = 59, ["d"] = "Tare impotriva razboinicilor"},
{["b"] = 60, ["d"] = "Tare impotriva Ninja"},
{["b"] = 61, ["d"] = "Tare impotriva Sura"},
{["b"] = 62, ["d"] = "Tare impotriva Shaman"},
{["b"] = 63, ["d"] = "Tare Impotriva monstrilor"},
{["b"] = 71, ["d"] = "Paguba competentei"},
{["b"] = 72, ["d"] = "Paguba Medie"},
{["b"] = 73, ["d"] = "Rezistenta la paguba competentei"},
{["b"] = 74, ["d"] = "Rezistenta la paguba medie"},
{["b"] = 78, ["d"] = "Aparare contra Razboinic"},
{["b"] = 79, ["d"] = "Aparare contra Ninja"},
{["b"] = 80, ["d"] = "Aparare contra Sura"},
{["b"] = 81, ["d"] = "Aparare contra Samanilor"},
}
local t = {}
for i = 1, table.getn(s) do
table.insert(t, s[i]["d"])
end
table.insert(t, "Renunta")
if opt == 2 or opt == 4 then
say("Alege prima piatra:")
local u = select_table(g)
if u == table.getn(g) then return end
l1 = r[u]["p"]
say("Alege a doua piatra:")
u = select_table(g)
if u == table.getn(g) then return end
l2 = r[u]["p"]
say("Alege a treia piatra:")
u = select_table(g)
if u == table.getn(g) then return end
l3 = r[u]["p"]
end
if opt == 3 or opt == 4 then
for i = 0, 6 do
say(string.format("Alege bonusul %d:", i + 1))
local l = select_table(t)
if l == table.getn(t) then return end
local b = s[l]["b"]
local p = 0
if b ~= 0 then
say(string.format("Introdu valoarea bonusului %d:", i + 1))
p = tonumber(input())
if p == nil then p = 0 end
end
bonus[i] = {b = b, p = p}
end
end
pc.give_item2_select(y2, qty)
for i = 0, 6 do
if bonus[i] ~= nil then
item.set_value(i, bonus[i].b, bonus[i].p)
end
end
item.set_socket(0, l1)
item.set_socket(1, l2)
item.set_socket(2, l3)
end
end
end
quest Boogie_Panou_Admin_Modate begin
state start begin
when 70010.use with pc.is_gm() begin
-- =======================
-- Numele jucatorului
-- =======================
local numec = pc.get_name()
-- =======================
-- Mesaje informative
-- =======================
local infointro = {
"[ENTER]In caz ca nu esti un membru fondator[ENTER]Nu vei putea accesa aceste comenzi speciale[ENTER][ENTER]",
"Ce optiune doresti sa alegi?[ENTER]",
"Introduce-ti parola corecta:"
}
-- =======================
-- Mesaje pentru erori
-- =======================
local eroriinp = {
"Se pare ca ai gresit parola![ENTER]",
"Ai introdus:",
"[ENTER]Incearca iar."
}
-- =======================
-- CUVANT SECRET
-- =======================
local secretWord = "Test!@#" -- << aici setezi cuvantul secret
-- =======================
-- INIȚIALIZARE PAROLA
-- =======================
if not ModateQuestCurrentPassword then
say_title_center("Quest-ul a fost reinitializat! Trebuie sa setezi o parola pentru prima utilizare.")
-- verificam cuvantul secret
say_title_center("Introdu cuvantul secret pentru a putea seta parola:")
local inputSecret = input()
if inputSecret ~= secretWord then
say_title_center("Cuvantul secret este incorect! Nu poti seta parola.")
return
end
-- Daca cuvantul secret e corect, se poate seta parola initiala
say_title_center("Introdu parola initiala:")
local init_pw = input()
say_title_center("Confirma parola initiala:")
local confirm_init = input()
if init_pw == "" then
say_title_center("Parola nu poate fi goala! Quest-ul nu va functiona pana nu setezi o parola valida.")
return
end
if init_pw ~= confirm_init then
say_title_center("Parolele nu coincid! Quest-ul nu va functiona pana nu setezi corect parola.")
return
end
-- setare parola
ModateQuestCurrentPassword = init_pw
say_title_center("Parola a fost setata cu succes! Acum poti folosi quest-ul normal.")
return
end
-- =======================
-- LOGICA PRINCIPALA
-- =======================
say_title_center("")
say_verde2(numec)
say_galben(infointro[1])
say_rosu(infointro[3])
local PwsModateBoogie = input()
if PwsModateBoogie == ModateQuestCurrentPassword then
local introducereModate = select("Continua", "Schimba parola", "Renunta")
-- =======================
-- CREAȚIE ITEM
-- =======================
if introducereModate == 1 then
say_title_center("Fiind autorizat poti crea iteme in joc. Sa incepem...[ENTER]")
say_albastru2("Introdu vnum-ul itemului:[ENTER][ENTER]")
local y2 = tonumber(input())
if y2 == nil or y2 == 0 then
say_rosu("Nu pot bonusa un item inexistent. INTRODU UN VNUM!![ENTER][ENTER][ENTER]")
return
end
-- ==== ADĂUGARE CANTITATE ====
say_title_center("Atentie, cantitatea maxima pe care aveti voie sa o[ENTER] folositi este 200 pentru obiecte ce se pot face Stack![ENTER]")
say("Introdu cantitatea itemului pentru:[ENTER]")
say_item_vnum(y2)
local qty = tonumber(input())
if qty == nil or qty <= 0 then
say("Cantitate invalida. Introdu un numar pozitiv.")
return
end
if qty > 200 then
say_title_center("Cantitatea maxima permisa este 200!")
return
end
say_size(450, 480)
say_title_center("[CENTER]Alege metoda de creare pentru:")
say_item_vnum(y2)
say("Cantitate: "..qty)
say("[ENTER][ENTER]")
say_title_center("___________________________________________________________[ENTER][ENTER][ENTER][ENTER]")
local opt = select("Doar Item", "Cu pietre fara bonusuri", "Cu bonusuri fara pietre", "Personalizat complet", "Renunta")
if opt == 5 then return end
local l1, l2, l3 = 0, 0, 0
local bonus = {}
-- =======================
-- LISTA PIETRE
-- =======================
local r = {
{["p"] = 0, ["k"] = "Fara piatra"},
{["p"] = 28430, ["k"] = "Piatra Patrunzatoare"},
{["p"] = 28431, ["k"] = "Piatra Fatala"},
{["p"] = 28432, ["k"] = "Piatra Repetarii"},
{["p"] = 28433, ["k"] = "Piatra Anti-Razboinic"},
{["p"] = 28434, ["k"] = "Piatra Anti-Ninja"},
{["p"] = 28435, ["k"] = "Piatra Anti-Sura"},
{["p"] = 28436, ["k"] = "Piatra Anti-Saman"},
{["p"] = 28437, ["k"] = "Piatra Monstilor"},
{["p"] = 28438, ["k"] = "Piatra Eschivei"},
{["p"] = 28439, ["k"] = "Piatra Pitularii"},
{["p"] = 28440, ["k"] = "Piatra Magiei"},
{["p"] = 28441, ["k"] = "Piatra Vitalitatii"},
{["p"] = 28442, ["k"] = "Piatra Apararii"},
{["p"] = 28443, ["k"] = "Piatra Grabei"},
}
local g = {}
for i = 1, table.getn(r) do
table.insert(g, r[i]["k"])
end
table.insert(g, "Renunta")
-- =======================
-- LISTA BONUSURI
-- =======================
local s = {
{["b"] = 0, ["d"] = "Fara bonus"},
{["b"] = 1, ["d"] = "Max PV"},
{["b"] = 3, ["d"] = "Vitalitate (Vit)"},
{["b"] = 4, ["d"] = "Inteligenta (Int)"},
{["b"] = 5, ["d"] = "Putere (STR)"},
{["b"] = 6, ["d"] = "Dexteritate(DEX)"},
{["b"] = 7, ["d"] = "Viteza de atac"},
{["b"] = 8, ["d"] = "Viteza de miscare"},
{["b"] = 9, ["d"] = "Viteza Farmecului"},
{["b"] = 15, ["d"] = "Critica"},
{["b"] = 16, ["d"] = "Patrunzatoare"},
{["b"] = 17, ["d"] = "Tare Semi-Oameni"},
{["b"] = 29, ["d"] = "Aparare Sabie"},
{["b"] = 30, ["d"] = "Aparere doua maini"},
{["b"] = 31, ["d"] = "Aparare Pumnal"},
{["b"] = 32, ["d"] = "Aparare Clopot"},
{["b"] = 33, ["d"] = "Aparere evantai"},
{["b"] = 34, ["d"] = "Rezistenta la sageti"},
{["b"] = 35, ["d"] = "Rezistenta la foc"},
{["b"] = 37, ["d"] = "Rezistenta la Magie"},
{["b"] = 48, ["d"] = "Imun la necunostinta"},
{["b"] = 49, ["d"] = "Imun la incetinire"},
{["b"] = 50, ["d"] = "Imun la cazatura"},
{["b"] = 53, ["d"] = "Valoarea atacului"},
{["b"] = 54, ["d"] = "Aparare"},
{["b"] = 55, ["d"] = "Valoarea atacului magic"},
{["b"] = 56, ["d"] = "Aparare Magica"},
{["b"] = 59, ["d"] = "Tare impotriva razboinicilor"},
{["b"] = 60, ["d"] = "Tare impotriva Ninja"},
{["b"] = 61, ["d"] = "Tare impotriva Sura"},
{["b"] = 62, ["d"] = "Tare impotriva Shaman"},
{["b"] = 63, ["d"] = "Tare Impotriva monstrilor"},
{["b"] = 71, ["d"] = "Paguba competentei"},
{["b"] = 72, ["d"] = "Paguba Medie"},
{["b"] = 73, ["d"] = "Rezistenta la paguba competentei"},
{["b"] = 74, ["d"] = "Rezistenta la paguba medie"},
{["b"] = 78, ["d"] = "Aparare contra Razboinic"},
{["b"] = 79, ["d"] = "Aparare contra Ninja"},
{["b"] = 80, ["d"] = "Aparare contra Sura"},
{["b"] = 81, ["d"] = "Aparere contra Samanilor"},
}
local t = {}
for i = 1, table.getn(s) do
table.insert(t, s[i]["d"])
end
table.insert(t, "Renunta")
-- =======================
-- ALEGERE PIETRE
-- =======================
if opt == 2 or opt == 4 then
say_title_center("Alege prima piatra:")
local u = select_table(g)
if u == table.getn(g) then return end
l1 = r[u]["p"]
say_title_center("Alege a doua piatra:")
u = select_table(g)
if u == table.getn(g) then return end
l2 = r[u]["p"]
say_title_center("Alege a treia piatra:")
u = select_table(g)
if u == table.getn(g) then return end
l3 = r[u]["p"]
end
-- =======================
-- ALEGERE BONUSURI
-- =======================
if opt == 3 or opt == 4 then
for i = 0, 6 do
say_title_center(string.format("Alege bonusul %d:", i + 1))
local l = select_table(t)
if l == table.getn(t) then return end
local b = s[l]["b"]
local p = 0
if b ~= 0 then
say_title_center(string.format("Introdu valoarea bonusului %d:", i + 1))
p = tonumber(input())
if p == nil then p = 0 end
if p > 20000 then
say_title_center("Valoarea maxima pentru bonus este 20.000!")
return
end
end
bonus[i] = {b = b, p = p}
end
end
-- =======================
-- PREVIEW FINAL CU ENTER-uri și SIZE
-- =======================
say_size(450, 480)
say_title_center("Vrei sa creezi acest obiect?")
say("Ai configurat urmatorul item:")
say_item_vnum(y2)
say("Cantitate: "..qty)
say_verde("Pietre introduse:")
say("Piatra 1: "..(l1 ~= 0 and item_name(l1) or "Nicio piatra"))
say("Piatra 2: "..(l2 ~= 0 and item_name(l2) or "Nicio piatra"))
say("Piatra 3: "..(l3 ~= 0 and item_name(l3) or "Nicio piatra"))
say_verde("Bonusuri introduse:")
show_bonus_list(bonus, s)
say("[ENTER][ENTER][ENTER]")
local conf = select("Da, doresc sa il creez", "Renunt")
-- =======================
-- RENUNȚARE LA CREARE
-- =======================
if conf == 2 then
say_size(450, 480)
say_title_center("Ai renuntat la crearea obiectului.")
say_item_vnum(y2)
say("Cantitate: "..qty)
say_verde("Pietre introduse:")
say("Piatra 1: "..(l1 ~= 0 and item_name(l1) or "Nicio piatra"))
say("Piatra 2: "..(l2 ~= 0 and item_name(l2) or "Nicio piatra"))
say("Piatra 3: "..(l3 ~= 0 and item_name(l3) or "Nicio piatra"))
say_verde("Bonusuri introduse:")
show_bonus_list(bonus, s)
return
end
-- =======================
-- CREARE ITEM CU CANTITATE
-- =======================
pc.give_item2_select(y2, qty)
for i = 0, 6 do
if bonus[i] ~= nil then
item.set_value(i, bonus[i].b, bonus[i].p)
end
end
item.set_socket(0, l1)
item.set_socket(1, l2)
item.set_socket(2, l3)
say_size(450, 480)
say_title_center("Obiectul a fost creat cu succes!")
say_item_vnum(y2)
say("Cantitate: "..qty)
say_verde("Pietre introduse:")
say("Piatra 1: "..(l1 ~= 0 and item_name(l1) or "Nicio piatra"))
say("Piatra 2: "..(l2 ~= 0 and item_name(l2) or "Nicio piatra"))
say("Piatra 3: "..(l3 ~= 0 and item_name(l3) or "Nicio piatra"))
say_verde("Bonusuri introduse:")
show_bonus_list(bonus, s)
-- =======================
-- SCHIMBARE PAROLA
-- =======================
elseif introducereModate == 2 then
say_title_center("Introdu cuvantul secret pentru a schimba parola:")
local inputSecret = input()
if inputSecret ~= secretWord then
say_title_center("Cuvantul secret este incorect! Nu poti schimba parola.")
return
end
say_title_center("Schimbare parola Modate")
say("Introdu parola veche:")
local old_pw = input()
if old_pw ~= ModateQuestCurrentPassword then
say_title_center("Parola veche este incorecta!")
return
end
say_title_center("Introdu parola noua:")
local new_pw = input()
say_title_center("Confirma parola noua:")
local confirm_pw = input()
if new_pw == "" then
say_title_center("Parola nu poate fi goala!")
return
end
if new_pw ~= confirm_pw then
say_title_center("Parolele nu coincid. Incearca din nou!")
return
end
ModateQuestCurrentPassword = new_pw
say_title_center("Parola a fost schimbata cu succes!")
-- =======================
-- RENUNTA
-- =======================
elseif introducereModate == 3 then
say_title_center("Ai renuntat la panoul Modate.")
return
end
-- =======================
-- PAROLA GRESITA
-- =======================
else
say_title_center("")
say_rosu(eroriinp[1])
say_galben(eroriinp[2])
say_rosu(PwsModateBoogie)
say_verde2(eroriinp[3])
end
end
end
end
function show_bonus_list(bonus_table, s_table)
for i = 0, 6 do
if bonus_table[i] ~= nil and bonus_table[i].b ~= 0 then
local name = "Unknown"
for j = 1, table.getn(s_table) do
if s_table[j].b == bonus_table[i].b then
name = s_table[j].d
break
end
end
say_verde2(string.format("- %s: %d", name, bonus_table[i].p))
else
say("- Fara bonus")
end
end
end
-- Schimba Parola INPUT GLOBAL TINE MINTE PAROLA , Atentie caci se aplica la toate quest urile de o folositi, mare grija pentru ca poate schimba parola si la alte quest uri!
function ModateQuestChangePassword()
local current_password = ModateQuestPassword() -- ia parola actual? global?
say("Introdu parola noua:")
local new_pw = input()
say("Confirma parola noua:")
local confirm_pw = input()
if new_pw == "" then
say("Parola nu poate fi goala!")
return
end
if new_pw ~= confirm_pw then
say("Parolele nu coincid. Incearca din nou!")
return
end
-- seteaza parola noua global
ModateQuestPassword(new_pw)
say("Parola a fost schimbata cu succes!")
end
show_bonus_list
ModateQuestChangePassword
Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 7 vizitatori