Salutare Just4Metin
Ma poate ajuta si pe mine cineva cu un sistem de alchimie Piatra Dragon si unul de curele va rog foarte mult.
PS: client 34k nu am casutele pentru curele si ringuri si nici casuta pentru piatra dragon in dreapta inventarului.
Daca ma puteti ajuta sa imi spuneti daca merge sa implementez pe 34k acesate sisteme si daca nu pot, cum pot transforma serverul din 34k in 40k
Multumesc anticipat!
Sistem alchimie si curele
System de energie:
quest energy_sys begin
Si quest energy_system:
Instalare quest:
1. Uploadaţi fişierele .quest în usr/.../share/locale/.../quest
2. Vă logaţi în putty şi scrieţi comanda cd usr/.../share/locale/.../quest (în funcţie de serverfilles-ul instalat şi directorul instalării)
3. ./qc energy_sys.quest
./qc energy_manage.quest
4. Reboot la server.
Quest function necesar pentru quest-uri:
Iar quest-ul implementare curele:
#1 Descarca: http://www.girlshare.ro/34074902.4
#2 Descarca: https://www.mediafire.com/?17fjn8a6im799ao
#3 Descarca: https://mega.co.nz/#!wJNV1LoK!RshrYG7HX ... WL2xJ30iPo
quest energy_sys begin
Cod: Selectaţi tot
state start begin
when 20001.chat."O nouă descoperire" with game.get_event_flag("energy") == 1 begin
say("Nu-mi vine să cred, am reuşit!")
say("În sfârşit am creat noul sistem de energie pură. ")
say("Am să îţi spun cum, fii atent. Această energie stă ")
say("în jurul fiecăruia. Am încercat să extrag această ")
say("energie din arme şi armuri. A fost foarte dificil.")
say("dar am reuşit, în sfârşit !")
wait()
say_title("Alchimist")
say("Dacă cumva eşti interesat de acest sistem, adu-mi")
say("arme, armuri pentru a le transforma în")
say("Fragment de Energie. Dacă vei avea noroc, voi face")
say("ca aceste fragmente ce le-ai adunat să se unească ")
say("între ele, şi îţi vor oferi un Cristal de Energie.")
say("Sper că acest sistem va ajuta multă lume.")
set_state("make")
end
end
state make begin
when 20001.chat."Informaţii despre Fragmente de energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist")
say("Acum ştii cum funcţionează treaba. Fii atent")
say("că aceste iteme pe care le aduci se transformă în")
say("Fragment de energie. Nu te vei mai putea folosi de")
say("aceste iteme. Energia extrasă din ele este foarte")
say("puternică şi oferă unele bonusuri mari.")
say("Trebuie să ştii o condiţie înainte să începem")
say("această transformare.")
say("Ai nevoie de nivelul minim 75.")
say("Hm, vom vedea imediat nivelul tău.")
say("")
wait()
if pc.get_level() < 75 then
say_title("Alchimist")
say("Să vedem ...")
say_reward(string.format("Nivelul tău: %d", pc.get_level()))
say("Oh, îmi pare rău, dar trebuie să ai nivelul 75")
say("pentru a putea utiliza această energie.")
else -- NICHT DE
say_title("Alchimist")
say("Să vedem ...")
say_reward(string.format("Nivelul tău: %d", pc.get_level()))
say("Perfect! Se pare că ai nivelul necesar pentru acest")
say("sistem nou de energie")
say("")
end
end
when 20001.chat."Obţine Fragment de Energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist")
say("Pentru a obţine fragment de energie, trage item-ul")
say("ce doreşti să îl transformi pe mine.")
say("Ai nevoie de 50 Fragmente de Energie pentru")
say("a face Energie Pură.")
wait()
if pc.get_level() < 75 then
say_title("Alchimist")
say("Oh, ce păcat, nu ai nivelul 75 pentru a putea")
say("utiliza această energie.")
say("")
else
if pc.count_item(51001) >= 50 then
say_title("Alchimist")
say("Se pare că ai la tine cele 50 de Fragmente")
say("de Energie. Doreşti să transform această energie")
say("în energie pură ? ")
say("Pot încerca, dar nu garantez că voi reuşi.")
wait()
say_title("Alchimist")
say("Totodată, am nevoie şi de o sumă de bani.")
say("Ştii, aş fi putut să îţi dau şi gratis")
say("dar am nevoie pentru a întreţine proiectul.")
say_reward("Ai nevoie de 50.000.000 Yang")
say("Ce alegi ?")
if select("Doresc energie pură! ","M-am răzgândit") == 2 then
return
end
pc.change_money(-50000000)
pc.remove_item(51001,50)
if number(0,1) == 1 then
say_title("Alchimist")
say("Am reuşit !")
say("Ai primit Energie Pură. Ai mare grijă de ea.")
say("Aceasta are o putere foarte mare.")
pc.give_item2(51002,1)
else -- NICHT DE
say_title("Alchimist")
say("Oh, ce păcat. Fragmentele sunt sparte.")
say("Transformarea a eşuat.")
say("")
return
end
else -- NICHT DE
say_title("Alchimist")
say("Se pare că nu ai la tine cele 50 de fragmente")
say("de emergie. Mai adu-mi iteme pentru")
say("a face mai multe fragmente.")
say("")
return
end
end
end
when 20001.take with game.get_event_flag("energy") == 1 begin
if pc.get_level() < 75 then
return
end
if item.get_type() == 1 or item.get_type() == 2 then
-- 2070 - 2239
-- 80 - 369
-- 1040 - 1189
-- 3070 - 3249
-- 5040 - 5359
-- 4030 - 4069
-- 7070 - 7219
-- 11250 - 11299
-- 11450 - 11499
-- 11650 - 11699
-- 11850 - 11899
-- 12240 - 12699
local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
test_chat(maxlvl[1][1])
if tonumber(maxlvl[1][1]) < 35 then
-- NICHT DE
say_title("Alchimist")
say("Acest articol nu se potriveşte.")
return
end
say_title("Alchimist")
say(string.trim(item.get_name()))
say("Chiar doreşti să distrugi acest obiect?")
if select("Da!","Nu, nu încă ") == 2 then
return
else
local anzahl = number(0,15)
if anzahl > 0 then
say_title("Alchimist")
say("Felicitări. Ai primit "..anzahl.." Fragmente.")
say("Mai adu-mi iteme.")
pc.give_item2(51001, anzahl)
else
say_title("Alchimist")
say("Am eşuat. Din păcate nu am putut extrage energia")
say("din acest obiect.")
return
end
item.remove()
end
else -- NICHT DE
say_title("Alchimist")
say("Acest item nu are energie!")
end
end
when login begin
if getenergytime() < 50000 then
test_chat("[Energie]Timp rămas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())
end
end
when logout begin
if getenergytime() > get_time() then
local energy = getenergytime() - get_time()
if energy > 0 then
setenergytime(energy)
end
end
end
when 51002.use begin
if getenergytime() > get_time() then
chat("Foloseşti deja un Cristal de Energie!")
return
end
local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}
test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])
affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)
cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))
setenergytime(get_time() + 7200)
item.remove()
chat("Chiar simt energia Cristalului care curge prin venele mele.")
end
end
endCod: Selectaţi tot
quest energy_manage begin
state start begin
when 20001.chat."GM: Sistemul de energie" with pc.is_gm() begin
say_title("Salutare!")
say("Bine ai venit la Energy Event!")
say_reward("Ce doreşti să faci?")
local s = select("Porneşte event","Opreşte event","Înapoi")
if s == 1 then
game.set_event_flag("energy",1)
notice_all("Event: Sistemul de energie a fost pornit.")
elseif s == 2 then
game.set_event_flag("energy",0)
notice_all("Event: Sistemul de energie a fost oprit")
elseif s == 3 then
return
end
end
end
end1. Uploadaţi fişierele .quest în usr/.../share/locale/.../quest
2. Vă logaţi în putty şi scrieţi comanda cd usr/.../share/locale/.../quest (în funcţie de serverfilles-ul instalat şi directorul instalării)
3. ./qc energy_sys.quest
./qc energy_manage.quest
4. Reboot la server.
Quest function necesar pentru quest-uri:
Cod: Selectaţi tot
getenergytime
getenergytyp
getenergyvalue
mysql_query
setenergy
setenergytime
string.trimCod: Selectaţi tot
quest belt_system begin
state start begin
function is_belt()
return item.vnum >= 18000 and item.vnum <= 18089
end
function equip_belt()
item2.equip(11)
pc.setqf('belt', item.vnum)
end
when 18000.use or 18001.use or 18002.use or 18003.use or 18004.use or 18005.use or 18006.use or 18007.use or
18008.use or 18009.use or 18010.use or 18011.use or 18012.use or 18013.use or 18014.use or 18015.use or 18016.use or
18017.use or 18018.use or 18019.use or 18020.use or 18021.use or 18022.use or 18023.use or 18024.use or 18025.use or
18026.use or 18027.use or 18028.use or 18029.use or 18030.use or 18031.use or 18032.use or 18033.use or 18034.use or
18035.use or 18036.use or 18037.use or 18038.use or 18039.use or 18040.use or 18041.use or 18042.use or 18043.use or
18044.use or 18045.use or 18046.use or 18047.use or 18048.use or 18049.use or 18050.use or 18051.use or 18052.use or
18053.use or 18054.use or 18055.use or 18056.use or 18057.use or 18058.use or 18059.use or 18060.use or 18061.use or
18062.use or 18063.use or 18064.use or 18065.use or 18066.use or 18067.use or 18068.use or 18069.use or 18070.use or
18071.use or 18072.use or 18073.use or 18074.use or 18075.use or 18076.use or 18077.use or 18078.use or 18079.use or
18080.use or 18081.use or 18082.use or 18083.use or 18084.use or 18085.use or 18086.use or 18087.use or 18088.use or 18089.use begin
local v = item.vnum
local bonus = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)}, {item2.get_attr(4)}, {item2.get_attr(5)}, {item2.get_attr(6)}}
if belt_system.is_belt() and v ~= pc.getqf('belt') then
belt_system.equip_belt()
elseif item.select_cell(101) then
item.remove()
pc2.give_or_drop_item_and_select(v)
for i = 1, table.getn(bonus) do
if tonumber(bonus[1]) > 0 then
item2.set_attr(i-1, bonus[1], bonus[2])
end
end
else
belt_system.equip_belt()
end
end
when 20090.take with belt_system.is_belt() begin
local maintab = {
[0] = {
{18000, 1, 50},
{18010, 2, 20},
{18020, 44, 1},
{18030, 44, 1},
{18040, 78, 1},
{18050, 79, 1},
{18060, 80, 1},
{18070, 81, 1},
{18080, 63, 1}
},
[1] = {
{18000, 1, 50},
{18010, 2, 20},
{18020, 44, 1},
{18030, 44, 1},
{18040, 78, 1},
{18050, 79, 1},
{18060, 80, 1},
{18070, 81, 1},
{18080, 63, 1}
},
[2] = {
{18000, 1, 100},
{18010, 2, 40},
{18020, 44, 1},
{18030, 44, 1},
{18040, 78, 1},
{18050, 79, 1},
{18060, 80, 1},
{18070, 81, 1},
{18080, 63, 1}
}
}
if pc.count_item(18900) < 1 then
syschat("You dont have "..item_name(18900)..".")
return
end
for i = 0, 2 do
for k = 1, table.getn(maintab) do
if item.vnum >= maintab[k][1] and item.vnum <= maintab[k][1]+9 and item2.get_attr(i) == 0 then
if number(1,3) == 1 then
item2.set_attr(i, maintab[k][2], maintab[k][3])
syschat('Your belt received a bonus.')
else
syschat('Wasnt possible to put a bonus in your belt.')
end
end
end
pc.remove_item(18900, 1)
end
end
end
end#2 Descarca: https://www.mediafire.com/?17fjn8a6im799ao
#3 Descarca: https://mega.co.nz/#!wJNV1LoK!RshrYG7HX ... WL2xJ30iPo
Salutare Alexandru, sistemul energie il am, imi trebuie sistem Curele si Alchimie Piatra Dragon
Cand intru in putty si folosesc comanda ./qc belts.quest imi apare asta
Calls undeclared function! :
item2.equip
item2.get_attr
item2.set_attr
pc2.give_or_drop_item_and_select
Abort (core dumped)
Cand intru in putty si folosesc comanda ./qc belts.quest imi apare asta
Calls undeclared function! :
item2.equip
item2.get_attr
item2.set_attr
pc2.give_or_drop_item_and_select
Abort (core dumped)
Încearcă să intri în quest_function ( in /locale/romania/quest) si in ultimull rand, adaugi acele functii nedefinite; in cazul tău "item2.equip
item2.get_attr
item2.set_attr
pc2.give_or_drop_item_and_select".
Salvează, apoi compilează quest-urile din nou!
item2.get_attr
item2.set_attr
pc2.give_or_drop_item_and_select".
Salvează, apoi compilează quest-urile din nou!
Poftim: http://just4metin.ro/server-ajutor/alch ... t6395.html !iNooB scrie:Gata am rezolvat multumesc dar sistemul de Alchimie piatra dragon, cel care poti face pietre brut/rar/legendar stii la ce ma refer?
Le bagi în /usr/lib/
Răspunsuri
2 Vizualizări
864
2 Vizualizări
864
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 92 vizitatori


