[LUA] Drop item depending on equipment or other functions

Conectat
Avatar utilizator
VegaS™
Developer
Developer
Mesaje: 207
Membru din: 30 Oct 2015
Localitate: Timișoara
Mulțumiri acordate: 61
Mulțumiri primite: 75
Contact:

[LUA] Drop item depending on equipment or other functions

Mesajde VegaS™ » 21 Feb 2016, 02:39

Once you put an item or activate a function of the available mine will start to start the timer approx. 5 seconds to check. After checking function fulfill their duties start namely:
Default I put in the verification of armor which is (20009 - beta war) once equipped with this item you will start checking after 5 seconds the quest to propiu said, not trivial change in other assets.
Once started questu killing any metin / etc ve monster he could drop the item x, we put three dropare functions as perhaps others will want to fail them directly in inventory on others below by owner etc.
We added a chance to fail this item not to fall steadily every mob killed specifically to be changed easily between 1 and xxxxx.
Which means that once the item drop of mobs x500 (example).
Timer verification may change but in one decent.

[center]Imagine


Available functions in quest you like sons:

-----  ['Verificare in functie de arma']        = functie.quest1
----- ['Verificare in functie de level'] = functie.quest12
----- ['Verificare in functie de HP'] = functie.quest3
----- ['Verificare in functie de Maxima HP'] = functie.quest4
----- ['Verificare in functie de PM'] = functie.quest5
----- ['Verificare in functie de Maxima PM'] = functie.quest6
----- ['Verificare in functie de Experienta'] = functie.quest7
----- ['Verificare in functie de nivelul urmator'] = functie.quest8
----- ['Verificare in functie de rasa'] = functie.quest9
----- ['Verificare in functie de yang'] = functie.quest10
----- ['Verificare in functie de nume'] = functie.quest11
----- ['Verificare in functie de minute jucate'] = functie.quest12
----- ['Verificare in functie leader'] = functie.quest13
----- ['Verificare in functie de regat'] = functie.quest14
----- ['Verificare in functie de skill-uri'] = functie.quest15
[/center]

?i altele...

-----------------------------------------------------

-----
-----local vegas = pc.get_armor() ----- Functie verificare armura
-----if vegas==20009 and pc.getqf("verificare_costum") != 1 then ----- Modificare vnum item in care se face verificarea
-----
-----
-----local level = pc.get_level() ----- Functie verificare level
-----if level==105 and pc.getqf("verificare_level") != 1 then ----- Modificare level pentru verificare
-----
-----
----- ['Verificare arma'] = pc.getweapon()
----- ['Verificare level'] = pc.get_level()
----- ['Verificare HP'] = pc.gethp()
----- ['Verificare Maxima HP'] = pc.getmaxhp()
----- ['Verificare PM'] = pc.getsp()
----- ['Verificare Maxima PM'] = pc.getmaxsp()
----- ['Verificare Exp'] = pc.get_exp()
----- ['Verificare pentru nivelul urmator'] = pc.get_next_exp()
----- ['Verificare in functie de rasa'] = pc.get_job()
----- ['Verificare in functie de yang'] = pc.getmoney()
----- ['Verificare in functie de nume'] = pc.getname()
----- ['Verificare in functie de minute jucate'] = pc.getplaytime()
----- ['Verificare leader'] = pc.getleadership()
----- ['Verificare in functie de regat'] = pc.getempire()
----- ['Verificare in functie de skill-uri'] = pc.get_skill_group()
quest simple_quest begin
state start begin
when login begin
loop_timer("verificare_echipament", 5) -- Numar secunde pentru a face verificarea
end
when verificare_echipament.timer begin
local vegas = pc.get_armor() -- Functie verificare armura
if vegas==20009 and pc.getqf("verificare_armura") != 1 then -- Modificare vnum item in care se face verificarea daca itemul este echipat
pc.setqf("verificare_armura", 1)
set_state(verificare)
end
end
end

state verificare begin
when kill with not npc.is_pc() begin
local vegas = pc.get_armor()
if vegas==20009 and pc.getqf("verificare_armura") != 1 then
sansa = math.random ( 1 , 5 ) -- Modificare sansa drop
if sansa == 1 then
game.drop_item_with_ownership(50512,1) -- Modificare vnum item
----- game.drop_item(50512, 1) -- Modificare vnum item + cantitate (picare item pe jos)
----- pc.give_item2(50512,1) -- Itemul se dropeaza in inventar
end
end
end
end
end

Tutorial instalare quest:
1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest .
2. Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
3. Îl puneţi acolo (să fie .quest) şi da-ţi permisiuni 777.
4. Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest apoi ./qc nume_quest.quest
5. Intraţi pe server şi scrieţi /reload q .
6. Testaţi quest-ul .
Ultima oară modificat 25 Iun 2016, 17:24 de către VegaS™, modificat 1 dată în total.

Deconectat
Avatar utilizator
C.Anatol
Nou Venit
Nou Venit
Mesaje: 11
Membru din: 06 Feb 2016
Localitate: Chișinău
Status: Sunt în sesiune :D
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

Re: [LUA] Drop item depending on equipment or other functions

Mesajde C.Anatol » 13 Iun 2016, 12:45

Foarte bună ideea :)
Questul este foarte folositor la efectuarea unor evente :)
Exemplu : „Să dropezi armura și apoi când ai armura dropezi și altă piesa:”
Fain, Merci ;)

Conectat
Avatar utilizator
VegaS™
Developer
Developer
Mesaje: 207
Membru din: 30 Oct 2015
Localitate: Timișoara
Mulțumiri acordate: 61
Mulțumiri primite: 75
Contact:

Re: [LUA] Drop item depending on equipment or other functions

Mesajde VegaS™ » 25 Iun 2016, 17:24

C.Anatol scrie:Foarte bună ideea :)
Questul este foarte folositor la efectuarea unor evente :)
Exemplu : „Să dropezi armura și apoi când ai armura dropezi și altă piesa:”
Fain, Merci ;)

Cu plăcere xD

Deconectat
Avatar utilizator
vinulet4
Nivel 2
Nivel 2
Mesaje: 162
Membru din: 27 Ian 2015
Localitate: Bacau
Status: Sunt bine mersi ^.^
Server Metin2: Nici unu
Regat: Jinno
Mulțumiri acordate: 10
Mulțumiri primite: 4

Re: [LUA] Drop item depending on equipment or other functions

Mesajde vinulet4 » 11 Sep 2016, 18:43

Pe inel nu se poate in loc de armura sau pe costum?
Edit Am facut cu ai spus am modificat cum ai zis tu dar nu merge de loc uite questu cum lam facut eu

Cod: Selectaţi tot

-----------------------------------------------------

-----
-----local vegas = pc.get_armor() ----- Functie verificare armura
-----if vegas==21099 and pc.getqf("verificare_costum") != 1 then   ----- Modificare vnum item in care se face verificarea
-----
-----
-----local level = pc.get_level() ----- Functie verificare level
-----if level==120 and pc.getqf("verificare_level") != 1 then   ----- Modificare level pentru verificare
-----
-----
 -----   ['Verificare arma']      = pc.getweapon()
 -----   ['Verificare level']      = pc.get_level()
 -----   ['Verificare HP']      = pc.gethp()
 -----   ['Verificare Maxima HP']      = pc.getmaxhp()
 -----   ['Verificare PM']      = pc.getsp()
 -----   ['Verificare Maxima PM']      = pc.getmaxsp()
 -----   ['Verificare Exp']      = pc.get_exp()
 -----   ['Verificare pentru nivelul urmator']      = pc.get_next_exp()
 -----   ['Verificare in functie de rasa']      = pc.get_job()
 -----   ['Verificare in functie de yang']       = pc.getmoney()
 -----   ['Verificare in functie de nume']       = pc.getname()
 -----   ['Verificare in functie de minute jucate']    = pc.getplaytime()
 -----   ['Verificare leader']    = pc.getleadership()
 -----   ['Verificare in functie de regat']       = pc.getempire()
 -----   ['Verificare in functie de skill-uri']    = pc.get_skill_group()
quest simple_quest begin
   state start begin      
      when login begin
         loop_timer("verificare_echipament", 5) -- Numar secunde pentru a face verificarea
      end
      when verificare_echipament.timer begin
         local vegas = pc.get_armor() -- Functie verificare armura
         if vegas==21099 and pc.getqf("verificare_armura") != 1 then   -- Modificare vnum item in care se face verificarea daca itemul este echipat
            pc.setqf("verificare_armura", 1)
            set_state(verificare)      
         end
      end
   end

   state verificare begin
      when kill with not npc.is_pc() begin   
         local vegas = pc.get_armor()
         if vegas==21099 and pc.getqf("verificare_armura") != 1 then
         sansa = math.random ( 25 , 70 ) -- Modificare sansa drop
            if sansa == 1 then                  
            game.drop_item_with_ownership(50011,5)   -- Modificare vnum item
             -----   game.drop_item(50011, 5)   -- Modificare vnum item + cantitate (picare item pe jos)
            -----    pc.give_item2(50011,5)      -- Itemul se dropeaza in inventar
            end
         end
      end
   end
end

Deconectat
Avatar utilizator
djdragos2009
Nivel 1
Nivel 1
Mesaje: 75
Membru din: 21 Apr 2015
Status: Pa
Server Metin2: Metin2Athos.tk
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0

Re: [LUA] Drop item depending on equipment or other functions

Mesajde djdragos2009 » 15 Sep 2016, 15:53

cu ce ajuta quest-ul asta ca nu inteleg
imi poti explica ?


Înapoi la “Quest-uri”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: [Frankiy], Emenike și 4 vizitatori