Odpowiedz 
Utworzenie prostego quest'u skrzynkowego:
13-11-2012, 04:06 PM (Ten post był ostatnio modyfikowany: 13-11-2012 04:10 PM przez Ron.)
Post: #1
Utworzenie prostego quest'u skrzynkowego:
Najłatwiejszym zadaniem dla nowego skryptera LUA będzie dodanie nowego, prostego zadania związanego z pokonaniem chordy krwiożerczych potworków i odnalezieniem skarbów w umieszczonym w specjalnym miejscu skrzyni.

Jest to bardzo proste, w tym celu wystarczy:

  1. Otworzyć edytor map (informacja o tym jak go skonfigurować znajduje się w tym temacie: KONFIGURACJA RME), importować naszą mapę, stworzyć interesującą nas lokacje i w jakimś trudno dostępnym miejscu, na samym jej końcu postawić skrzynkę,
  2. Skrzynka musi posiadać unikalny ActionID, którego nie posiada na naszej mapie żaden inny przedmiot. Powiedzmy, że u nas to jest 1000,
  3. Po utworzeniu nowej lokacji, po dodaniu nowej skrzynki, po określeniu unikalnego ActionID na który będzie reagował skrypt, wystarczy już tylko zedytować plik actions/chest.lua:


Przykładowy fragment pliku actions/chest.lua wygląda następująco:

Kod PHP:
function onUse(ciditemfrompositem2topos)
   
local actions = {
        {
        
_itemaid 4000
        
doSetSV SV_CHEST["CHEST_ROPE"],        
        
rewards  =    { {name 'Rope'namepl'Lina'id 2941cout 1}, },
   }
end 

Aby nasza skrzynka "wydawała" nagrodę trzeba dodać wpis do tablicy konfiguracyjnej "actions" w następuący sposób:

Kod PHP:
function onUse(ciditemfrompositem2topos)
   
local actions = {
        {
        
_itemaid 4000
        
doSetSV SV_CHEST["CHEST_ROPE"],        
        
rewards  =    { {name 'Rope'namepl'Lina'id 2941cout 1}, },
        {
        
_itemaid 1000, -- Nasz unikalny ActionID skrzynki
        doSetSV 
SV_CHEST["NASZ_QUEST"],    -- Unikalny SV Zadania    
        rewards  
=    { {name 'Our Item'namepl'Nasz Przedmiot'id 3000cout 1}, },
   }
end 

Parametry opisane są w komentarzach skryptu i wydaje mi się, że nie potrzebują dodatkowego opisu. Gracz po naciśnięciu na skrzynkę otrzyma przedmiot o id 3000 i nazwie "Nasz Przedmiot". Należy zapisać tak zedytowany plik.

Należy również zedytować plik lua/global.lua i wyszukać w nim fragment kodu "SV_CHEST". Tablica ta może być skonfigurowana następująco:

Kod PHP:
SV_CHEST = {
-- 
Rezerwacja SV od 4000 do 5000
    
["CHEST_DFQ_REWARDS"]            = 4000,
    [
"CHEST_ANNIHILATOR_REWARDS"]    = 4001,
    [
"QUEST_DJINN"]    = 4002,
    [
"QUEST_BEHEMOT"] = 4003,
    [
"QUEST_BK"] = 4004,
    [
"QUEST_GS"] = 4005,
    [
"QUEST_POI"] = 4006,
    --(...)---


Musimy dodać do niej informacje o SV naszego nowego questu. W tym celu dopisujemy po ["QUEST_POI"] = 4006: ["NASZ_QUEST"] = 4007. Ostatecznie zmienna wygląda w ten sposób:

Kod PHP:
SV_CHEST = {
-- 
Rezerwacja SV od 4000 do 5000
    
["CHEST_DFQ_REWARDS"]            = 4000,
    [
"CHEST_ANNIHILATOR_REWARDS"]    = 4001,
    [
"QUEST_DJINN"]    = 4002,
    [
"QUEST_BEHEMOT"] = 4003,
    [
"QUEST_BK"] = 4004,
    [
"QUEST_GS"] = 4005,
    [
"QUEST_POI"] = 4006,
    [
"NASZ_QUEST"] = 4007,


Zapisujemy plik i wgrywamy go na serwer razem z actions/chest.lua. Po tej czynności restartujemy serwer lub wpisujemy po zalogowaniu na postać Mistrz Gry: /reload actions. Zadanie jest gotowe do przetestowania przez pierwszego śmiałka.
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości