con estas funciones se puede leer lo q el jugador utilisa...por ejemplo, si qieres saver qual escdo el jugador utiliza pos lo escribes en la quest asi
say(pc.shield())
te da el vnum del escudo q usas actualmente, si no usas nada el vnum es 0y una funcion mas q ise, 'slen' esta funcion te lee el tamaño de un string o una tabla, so el attribute no es un string o tabla te retira false por ejemplo...
slen('Noa')-->> 3 por que N = 1 o = 2 a = 3
lo mismo con tablas
slen({1,2,3,4,5,6})-->> 6 por q 1,2,3,4,5,6 6 values en la tabla, no funciona con nombres en el index por ejemplo asi ['Noa']=1 asi no lee el tamaño de las tablas
pos a q las funcionesInformacion: El item utilizado se selectiona, asi se puede usar varias funciones mas...function_list
pc.armor pc.helmet pc.shoes pc.bracelet pc.weapon pc.necklace pc.earrings pc.shield pc.slot1 pc.slot2 slen
Questlib.lua
pc = pc or {}pc.armor = function() item.select_cell(90) return item.get_cell()==90 and item.vnum or 0 end-- armadurapc.helmet = function() item.select_cell(91) return item.get_cell()==91 and item.vnum or 0 end-- cascopc.shoes = function() item.select_cell(92) return item.get_cell()==92 and item.vnum or 0 end-- zapatospc.bracelet = function() item.select_cell(93) return item.get_cell()==93 and item.vnum or 0 end-- pulserapc.weapon = function() item.select_cell(94) return item.get_cell()==94 and item.vnum or 0 end-- armapc.necklace = function() item.select_cell(95) return item.get_cell()==95 and item.vnum or 0 end-- collarpc.earrings = function() item.select_cell(96) return item.get_cell()==96 and item.vnum or 0 end-- aretepc.shield = function() item.select_cell(100)return item.get_cell()==100 and item.vnum or 0 end-- escudopc.slot1 = function() item.select_cell(97) return item.get_cell()==97 and item.vnum or 0 end-- slot1 abajo de la armapc.slot2 = function() item.select_cell(98) return item.get_cell()==98 and item.vnum or 0 end-- slot2 abajo de la pulsera--pc.outfit_body = function() item.select_cell(109) return item.get_cell()==109 and item.vnum or 0 end-- kostum-armadura--pc.outfit_head = function() item.select_cell(110) return item.get_cell()==110 and item.vnum or 0 end-- kostum-cascofunction slen(typ) return ((type(typ)=='string' and string.len(typ)) or (type(typ)=='table' and table.getn(typ))) or falseend
Informacion:
Hola a todos aca les traigo una quest de una item shop en el juego. realizada en su totalidad por mi
Contiene:
-Historial de Compras(log)
-Historial De Donaciones (log)
-Ingreso Como administrador (Agregar artículos / y quitarlos)
-Tienda: Lecto de coins (Este archivo ha de ser creado manualmente)
-Imagenes:
Importante:
Dentro de la descarga hay un archivo llamado vnumUtype.txt este se le modifica la extencion a .lua
pathti="/usr/home/game/share/locale/germany/quest/test/" <<-- en esta ruta la tabla de la item shop y el vnumUtype.lua
pathtc="/usr/home/game/share/locale/germany/quest/coins/"
Se crea una nueva carpeta en las rutas anteriores, que depende de usted.
Más importante aún es un punto que hay que generar la tabla en el juego,
como un ejemplo de la matriz que me queda, por lo que puede orientarse a la misma.
special thx on stein20 for help to translate
imagen
Quest
quest ingameshop begin
state start begin
when 20006.chat."recharge ccoins" begin
say_title(mob_name(npc.get_race()))
spenden()
end
when 20006.chat."generate table" with pc.is_gm() begin
--if pc.get_gm_level()!=5 then return end
say("really generate table?")
if select("Yes","No")==2 then return end
local ingameshop={
--[[
if you use this first time, push Yes
]]
{--weapons
{item1,item2},--ids
{coins1,cois2}--coins
},
{--armor
{item1,item2},--ids
{coins1,coins2}--coins
},
{--special tems
{item1,item2},--ids
{coins1,item2}--coins
}
}
table.save(ingameshop,pathti.."testtabelle.lua")
end
when 20006.chat."ItemShop" begin
local name_items={}
local ingameshop=table.load(pathti.."testtabelle.lua")
say_title(mob_name(npc.get_race()))
say()
say("Choose your category")
local auswahl=select3(itemshopk)
for i=1,table.getn(ingameshop[auswahl][1]) do
table.insert(name_items,tostring(item_name(ingameshop[auswahl][1][i])))
end
say_title(mob_name(npc.get_race()))
say()
say("select the item ")
say()
local itemshop_i = select3(name_items)
if itemshop_i == table.getn(name_items) then return end
say_title(string.format("Coins :%d ", get_coins()))
say()
say("Would you really buy the item?")
say()
say_gold("it cost "..ingameshop[auswahl][2][itemshop_i].." Coins")
say_item_vnum(ingameshop[auswahl][1][itemshop_i])
say("")
if select("Yes","No") == 2 then return end
if get_coins()<ingameshop[auswahl][2][itemshop_i] then
say("not enough coins ")
return
end
say_green("you have buy "..item_name(ingameshop[auswahl][1][itemshop_i]).." for- ")
say_green(ingameshop[auswahl][2][itemshop_i].." Coins")
say_item_vnum(ingameshop[auswahl][1][itemshop_i])
coins_write((get_coins()-ingameshop[auswahl][2][itemshop_i]))
pc.give_item2(ingameshop[auswahl][1][itemshop_i])
write_log(ingameshop[auswahl][1][itemshop_i],ingameshop[auswahl][2][itemshop_i])
end
when 20006.chat."Manage Itemshop" with pc.is_gm() begin
local tabelle=table.load(pathti.."vnumUtype.lua")
local i_shop=table.load(pathti.."testtabelle.lua")
say_title(mob_name(npc.get_race()))
say()
say("Hello "..string.format("%s",pc.get_name()))
say("What would you like do?")
local s=select("add new items","removing Items","Nothig")
if s==3 then return end
if s==1 then
say_title(mob_name(npc.get_race()))
say()
say("Choose a category")
say("where you want to add the item")
local auswahl=select3(itemshopk)
say_title(mob_name(npc.get_race()))
say()
say(itemshopk[auswahl]..": insert into this category?")
if select("Yes","No") == 2 then return end
say_title(mob_name(npc.get_race()))
say()
say("Which item you wish to add?")
say("Enter the vnum")
local vnum= tonumber(input())
if vnum ==nil then say("You have to enter something") return end
if auswahl== 1 then
if tabelle[vnum][1] != 1 then
say("This is not a weapon")
return
end
elseif auswahl == 2 then
if tabelle[vnum][1] != 2 then
say("This is not a amor")
return
end
elseif auswahl == 3 then
if tabelle[vnum][1] == 1 or tabelle[vnum][1]==2 then
say("only for special items")
return
end
end
say_title(mob_name(npc.get_race()))
say()
say("Give the price of that item")
say()
local money= tonumber(input())
if money==nil then say("You have to enter something") return end
say_title(mob_name(npc.get_race()))
say()
say("keeping?")
say()
say("Item: "..item_name(vnum).." Price: "..money)
say_item_vnum(vnum)
if select("Yes","No") == 2 then return end
i_shop[auswahl][1][table.getn(i_shop[auswahl][1])+1]=vnum
i_shop[auswahl][2][table.getn(i_shop[auswahl][2])+1]=money
--table.insert(i_shop[auswahl][1],vnum)
--table.insert(i_shop[auswahl][2],money)
table.save(i_shop,pathti.."testtabelle.lua")
say("you have add "..item_name(vnum))
elseif s==2 then
local auswahl_items={}
say("Choose the item that you wish to remove")
say()
local a=select3(itemshopk)
for i=1,table.getn(i_shop[a][1]) do
table.insert(auswahl_items,tostring(item_name(i_shop[a][1][i])))
end
say("Choose the item that you wish to remove")
say()
local itemshop_r = select3(auswahl_items)
if itemshop_r==table.getn(auswahl_items) then return end
table.remove(i_shop[a][1],i_shop[a][1][itemshop_r])
table.remove(i_shop[a][2],i_shop[a][2][itemshop_r])
table.save(i_shop,pathti.."testtabelle.lua")
--[[for i= 1,table.getn(ingameshop[auswahl][1]) do
say(i_shop[auswahl][1][i].."\t"..i_shop[auswahl][2][i])
end]]
end
end
end
end
questlib.lua
pathti="/usr/home/game/share/locale/germany/quest/test/"--ruta de la tabla
pathtc="/usr/home/game/share/locale/germany/quest/coins/"--ruta de los coins
itemshopk={"Waffe","Rüstungen","Sonstiges"}
function write_log(vnum,coins)
local i_name=item_name(vnum)
datei = io.open(pathti.."shop_log.lua", "a+")
if datei==nil then
say("Error loading the file")
return
end
datei:write("PLayerID:\t"..pc.get_player_id().."\tPlayerName:\t"..pc.get_name().."\tItemName:\t"..i_name.."\tDate/Time:\t"..os.date("%c").."\tCoins:\t"..coins.."\n")
datei:close()
end
function get_coins()
local file = io.open(pathtc..""..pc.get_player_id()..".txt",'r')
if file==nil then
return 0
end
for line in file:lines() do
return line
end
file:close()
end
function coins_write(coins)
file = io.open(pathtc..""..pc.get_player_id()..".txt","w")
file:write(coins)
file:close()
end
function spenden()
say()
say("How much you want to donate?")
say_reward("Online Paysafecard will not be accepted")
say()
s = select("10","25","50","100","cancel")
wert = { 10 , 25 , 50 , 100}
if s==table.getn(wert)+1 then return end
say_title(mob_name(20006))
say()
say("Now give the PSC numbers")
say()
eing2= input()
if string.len(eing2)~=16 then
say("Your input has no 16 numbers")
return
end
if string.sub(eing2,0,1)=='1' or string.sub(eing2,0,2)=='00' then
say("Online Paysafecard will not be accepted")
return
end
say_title(mob_name(20006))
say()
say('The PSC is protected with a password?')
if select("Yes","No")==2 then
eing3=0
else
say("Enter the password")
eing3 = input()
if eing3=='' then say("You have to enter something") return end
end
say()
say("Your input:")
say("cash: "..wert[s])
say("PSC: "..eing2)
if eing3 == 0 then
say("PW: /")
else
say("PW: "..eing3)
end
say("Keeping?")
say()
if select("Yes","No") == 2 then return end
say("your Coins will be credited to you after the control")
file = io.open(pathti.."psc_log.lua","a+")
--file:write("PlayerName:\t"..pc.get_name().."\tCash:\t"..wert[s].."\tPSC:\t"..eing2.."\tPW:\t"..eing3.."\tDate/Time:\t"..os.date("%c").."\n")
file:write("ID:\t"..pc.get_player_id().."PlayerName:\t"..pc.get_name().."\tCash:\t"..wert[s].."\tPSC:\t"..eing2.."\tPW:\t"..eing3.."\tDate:\t"..os.date("%c").."\t\n")
file:close()
end
function select3(...)
arg.n = nil
local tp,max = arg,5
if type(tp[1]) == 'number' then
max = tp[1]
if type(tp[2]) == 'table' then
tp = tp[2]
else
table.remove(tp,1)
end
elseif type(tp[1]) == 'table' then
if type(tp[1][1]) == 'number' then
max = tp[1][1]
table.remove(tp[1],1)
tp = tp[1]
end
tp = tp[1]
end
local str = '{'
local tablen,act,incit = table.getn(tp),0,0
table.foreach(tp,function(i,l)
act = act + 1
if act == 1 then
str = str .. '{'..string.format('%q',l)
elseif act == max+1 and tablen > act+incit then
if tablen ~= act+incit+1 then
str = str..'},{'..string.format('%q',l)
else
str=str..','..string.format('%q',l)
end
incit = incit + max
act = 1
else
str=str..','..string.format('%q',l)
end
end)
local px = loadstring('return '..str ..'}}')()
local function copy_tab(t) local p= {} for i = 1,table.getn(t) do p[i] = t[i] end return p end
local pe = {}
for i = 1,table.getn(px) do pe [i] = copy_tab(px[i]) end
local function init(i,ip)
pe[i] = copy_tab(px[i])
local next,back,exit = 0,0,0
if i < table.getn(pe) and table.getn(pe) ~=1 then table.insert(pe[i],table.getn(pe[i])+1,'Para alante Pagina '..(i+1)); next = table.getn(pe[i]) end
if i > 1 then table.insert(pe[i],table.getn(pe[i])+1,'Para atraz pagina '..(i-1)); back = table.getn(pe[i]) end
table.insert(pe[i],table.getn(pe[i])+1,'Cerrar'); exit = table.getn(pe[i])
if table.getn(pe) > 1 then
say('pagina '..i..' de '..table.getn(pe))
end
local e = select_table(pe[i])
if e == next then return init(i+1,ip+max)
elseif e == back then return init(i-1,ip-max)
elseif e == exit then return -1
else return e+ip,pe[i][e] end
end
return init(1,0) or -1
end
local function exportstring( s )
return string.format("%q", s)
end
function table.save( tbl,filename )
local charS,charE = " ","\n"
local file,err = io.open( filename, "wb" )
if err then return err end
local tables,lookup = { tbl },{ [tbl] = 1 }
file:write( "return {"..charE )
for idx,t in ipairs( tables ) do
file:write( "-- Table: {"..idx.."}"..charE )
file:write( "{"..charE )
local thandled = {}
for i,v in ipairs( t ) do
thandled[i] = true
local stype = type( v )
if stype == "table" then
if not lookup[v] then
table.insert( tables, v )
lookup[v] = table.getn(tables)
end
file:write( charS.."{"..lookup[v].."},"..charE )
elseif stype == "string" then
file:write( charS..exportstring( v )..","..charE )
elseif stype == "number" then
file:write( charS..tostring( v )..","..charE )
end
end
for i,v in pairs( t ) do
if (not thandled[i]) then
local str = ""
local stype = type( i )
if stype == "table" then
if not lookup[i] then
table.insert( tables,i )
lookup[i] = table.getn(tables)
end
str = charS.."[{"..lookup[i].."}]="
elseif stype == "string" then
str = charS.."["..exportstring( i ).."]="
elseif stype == "number" then
str = charS.."["..tostring( i ).."]="
end
if str ~= "" then
stype = type( v )
if stype == "table" then
if not lookup[v] then
table.insert( tables,v )
lookup[v] = table.getn(tables)
end
file:write( str.."{"..lookup[v].."},"..charE )
elseif stype == "string" then
file:write( str..exportstring( v )..","..charE )
elseif stype == "number" then
file:write( str..tostring( v )..","..charE )
end
end
end
end
file:write( "},"..charE )
end
file:write( "}" )
file:close()
end
function table.load( sfile )
local ftables,err = loadfile( sfile )
if err then return _,err end
local tables = ftables()
for idx = 1,table.getn(tables) do
local tolinki = {}
for i,v in pairs( tables[idx] ) do
if type( v ) == "table" then
tables[idx][i] = tables[v[1]]
end
if type( i ) == "table" and tables[i[1]] then
table.insert( tolinki,{ i,tables[i[1]] } )
end
end
for _,v in ipairs( tolinki ) do
tables[idx][v[2]],tables[idx][v[1]] = tables[idx][v[1]],nil
end
end
return tables[1]
end
quest_function
Ahí les traigo un sistema de traducirán de códigos a nombres que lo a diseñado Noa y esta muy bien para que las quest te lo escriban automáticamente dependiendo del bono al que corresponda el código.
Bueno para empezar debemos buscar en el questlib.lua esta linea:
QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE = 2
y debajo de esa linea ponemos esto:
bonus={}
bonus.trans= {
[1]="Maximo HP",
[2]="Maximo SP",
[3]="Vitalidad",
[4]="Inteligencia",
[5]="Fuerza",
[6]="Dextresa",
[7]="Velocidad de Ataque",
[8]="Velocidad de Movimento",
[9]="Velocidad de hechizo",
[10]="Regeneracion HP",
[11]="Regeneracion SP",
[12]="Inmune a Apagon",
[13]="Posibilidad de Envenenar",
[14]="Posibilidad de Retardo",
[15]="Fuerza Ataque Critico",
[16]="Fuerza de penetracion",
[17]="Fuerza contra Medio Humano",
[18]="Fuerza contra animales",
[19]="Fuerza contra Orcos",
[20]="Fuerza contra Misticos",
[21]="Fuerza contra NoMuerto",
[22]="Fuerza contra Demonios",
[23]="Daño absorbido por HP",
[24]="Daño absorbido por SP",
[25]="Posibilidad de robar el HP del enemigo",
[26]="Posibilidad de robar el SP del enemigo",
[27]="Bloquear Ataque directo al Cuerpo",
[28]="Posibilidad para esquivar las flechas",
[29]="Defensa Espada",
[30]="Defensa dos manos",
[31]="Defensa Daga",
[32]="Defensa Campana",
[33]="Defensa Fan",
[34]="Defensa Flecha",
[35]="Resistencia Fuego",
[36]="Defensa Rayo",
[37]="Defencia Magia",
[38]="Resistencia Viento",
[39]="Probabilidad para reflejar ataque al cuerpo ",
[40]="Reflectar Maldicion",
[41]="Resistencia Veneno",
[42]="Posibilidad de restaurar SP",
[43]="Posibilidad de bonus de EXP",
[44]="Posibilidad de drop de Yang",
[45]="Posibilidad de doble drop de objetos",
[46]="Trank effekt zuwachs",
[47]="Posibilidad de restaurar HP",
[48]="Inmune contra Apagon",
[49]="Inmune a retardo",
[50]="Inmune a caida",
[51]="Kill",
[52]="Aumentar la puntería del arco",
[53]="Aumento de valore de ataque",
[54]="Aumento de defensa",
[55]="Aumento de valore de ataque magico",
[56]="Aumento de defensa mágica",
[57]="Posibilidad de maldecir",
[58]="Max resistencia",
[59]="Fuerza contra Guerrero",
[60]="Fuerza contra Ninja",
[61]="Fuerza contra Sura",
[62]="Fuerza contra Shamane",
[63]="Fuerza contra Moustro",
}
guardamos y cerramos y abrimos el server...
Paso a explicar como funciona y que hace en realidad..
por ejemplo en el sistema de energía cuando cuando nos aplica un bonos en lugar de que salga solo un mensaje fijo o tener que escribir muchas lineas dependiendo del bono extra que nos da simplemente escribimos una y el resto lo hace el sistema de traducción.
Ej, el sistema hace esto:
chat("Has recibido 10% de fuerza contra Medio Humano")
Y la linea que escribimos en nuestra quest seria esta:
chat("Has recibido "..boni_list[anz][2].." de "..bonus.trans[boni_list[anz][1]])
El sistema recoge los datos de la tabla del questlib con este código :
bonus.trans[index]
y así seria la explicación de su función:
bonus.trans[Nombre de la tabla][Código del bonus de la tabla]
Con esta sistema nos ahorramos de escribir muchisimas lineas en vuestras quest y muchos quebraderos de cabeza..
Quiero dejar bien claro que este sistema lo cuelgo aquí porque me lo a pedido Noa, los méritos y el trabajo es de el completamente... yo solo lo e ayudado un poco en la traducirán... pero el sistema es de By Noa
espero que les valga para vosotros ya que a mi me va de maravilla y funciona estupendamente..
Ahí les traigo un sistema de traducirán de códigos a nombres que lo a diseñado Noa y esta muy bien para que las quest te lo escriban automáticamente dependiendo del bono al que corresponda el código.
Bueno para empezar debemos buscar en el questlib.lua esta linea:
QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE = 2
y debajo de esa linea ponemos esto:
bonus={}
bonus.trans= {
[1]="Maximo HP",
[2]="Maximo SP",
[3]="Vitalidad",
[4]="Inteligencia",
[5]="Fuerza",
[6]="Dextresa",
[7]="Velocidad de Ataque",
[8]="Velocidad de Movimento",
[9]="Velocidad de hechizo",
[10]="Regeneracion HP",
[11]="Regeneracion SP",
[12]="Inmune a Apagon",
[13]="Posibilidad de Envenenar",
[14]="Posibilidad de Retardo",
[15]="Fuerza Ataque Critico",
[16]="Fuerza de penetracion",
[17]="Fuerza contra Medio Humano",
[18]="Fuerza contra animales",
[19]="Fuerza contra Orcos",
[20]="Fuerza contra Misticos",
[21]="Fuerza contra NoMuerto",
[22]="Fuerza contra Demonios",
[23]="Daño absorbido por HP",
[24]="Daño absorbido por SP",
[25]="Posibilidad de robar el HP del enemigo",
[26]="Posibilidad de robar el SP del enemigo",
[27]="Bloquear Ataque directo al Cuerpo",
[28]="Posibilidad para esquivar las flechas",
[29]="Defensa Espada",
[30]="Defensa dos manos",
[31]="Defensa Daga",
[32]="Defensa Campana",
[33]="Defensa Fan",
[34]="Defensa Flecha",
[35]="Resistencia Fuego",
[36]="Defensa Rayo",
[37]="Defencia Magia",
[38]="Resistencia Viento",
[39]="Probabilidad para reflejar ataque al cuerpo ",
[40]="Reflectar Maldicion",
[41]="Resistencia Veneno",
[42]="Posibilidad de restaurar SP",
[43]="Posibilidad de bonus de EXP",
[44]="Posibilidad de drop de Yang",
[45]="Posibilidad de doble drop de objetos",
[46]="Trank effekt zuwachs",
[47]="Posibilidad de restaurar HP",
[48]="Inmune contra Apagon",
[49]="Inmune a retardo",
[50]="Inmune a caida",
[51]="Kill",
[52]="Aumentar la puntería del arco",
[53]="Aumento de valore de ataque",
[54]="Aumento de defensa",
[55]="Aumento de valore de ataque magico",
[56]="Aumento de defensa mágica",
[57]="Posibilidad de maldecir",
[58]="Max resistencia",
[59]="Fuerza contra Guerrero",
[60]="Fuerza contra Ninja",
[61]="Fuerza contra Sura",
[62]="Fuerza contra Shamane",
[63]="Fuerza contra Moustro",
}
guardamos y cerramos y abrimos el server...
Paso a explicar como funciona y que hace en realidad..
por ejemplo en el sistema de energía cuando cuando nos aplica un bonos en lugar de que salga solo un mensaje fijo o tener que escribir muchas lineas dependiendo del bono extra que nos da simplemente escribimos una y el resto lo hace el sistema de traducción.
Ej, el sistema hace esto:
chat("Has recibido 10% de fuerza contra Medio Humano")
Y la linea que escribimos en nuestra quest seria esta:
chat("Has recibido "..boni_list[anz][2].." de "..bonus.trans[boni_list[anz][1]])
El sistema recoge los datos de la tabla del questlib con este código :
bonus.trans[index]
y así seria la explicación de su función:
bonus.trans[Nombre de la tabla][Código del bonus de la tabla]
Con esta sistema nos ahorramos de escribir muchisimas lineas en vuestras quest y muchos quebraderos de cabeza..
Quiero dejar bien claro que este sistema lo cuelgo aquí porque me lo a pedido Noa, los méritos y el trabajo es de el completamente... yo solo lo e ayudado un poco en la traducirán... pero el sistema es de By Noa
espero que les valga para vosotros ya que a mi me va de maravilla y funciona estupendamente..
esta quest te entrena el caballo automatico de 1 -21 nivel ademas te da loslibros que nesesita para llamar el caballo
el presio sube como el caballo su nivel
lvl 1-10 = 50000 yang
lvl 11- 20= 100000 yang
lvl 21 = 200000 yang
los niveles estan en la tabla ni escritos.
pienso que les gusten.
un saludo a todos, Noa
quest test begin
state start begin
when 20349.chat."Entrenar el Caballo" begin
local bild= {50051,50052,50053,50050,50000}
local ni={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 }
local lvl = horse.get_level()
for p = 1,table.getn(ni) do
while lvl <= p do
if lvl == 1 then
pc.give_item2(bild[1])
elseif lvl == 11 then
bild[5]=bild[5]+bild[5]
pc.give_item2(bild[2])
elseif lvl == 21 then
bild[5]=bild[5]+bild[5]
pc.give_item2(bild[3])
break
end
if pc.get_money()<= bild[5] and pc.count_item(bild[4]) < 1 then say("no tienes sufisiente cosas para entrenar el caballo") return end
lvl=lvl+1
horse.set_level(lvl)
pc.change_money(-bild[5])
pc.remove_item(bild[4])
chat(horse.get_level())
setskin(NOWINDOW)
end
end
end
end
end
Debes iniciar sesión para ver el contenido del enlace en esta publicación.