What's new

Grizzly Adams - RL wersja (poprawiony)

Status
Not open for further replies.

Vergil93

Advanced User
Joined
Jun 19, 2010
Messages
263
Reaction score
6
Oto skrypt na Grizzliego Adamsa, jest identyczny jak na RL. Jako pierwsze specjalne zadanie dostajemy zabicie tiquanda revenge, potem demodrasa, a na ko?cu demony.

~~BEZ QUEST LOGA~~

~~NPC~~
Najpierw idziemy do folderu data/NPC/scripts i tworzymy tam plik o nazwie killinginthenameof.lua i wklejamy do niego:

W data/NPC tworzymy plik o nazwie Grizzly Adams.xml i wklejamy:
PHP:
<?xml version="1.0"?>
<npc name="Grizzly Adams" script="killinginthenameof.lua" access="3" walkinterval="2000" lookdir="2">
        <health now="200" max="200"/>
<look type="144" head="97" body="97" legs="94" feet="97" addons="3"/>
<parameters>
<parameter key="message_greet" value="Welcome back |PLAYERNAME|. What brings you here this time?"/>
<parameter key="message_farewall" value="Good bye |PLAYERNAME|!"/>
<parameter key="message_walkaway" value="Bye then..."/>
</parameters>
</npc>

~~CREATURESCRIPTS~~
Idziemy do folderu data/creaturescripts/scripts i tworzymy tam plik o nazwie grizzly adams.lua i wklejamy:

Do login.lua przed return true wklejamy:
PHP:
registerCreatureEvent(cid, "Grizzly_Adams")
Za? do creaturescripts.xml wklejamy:
PHP:
<event type="kill" name="Grizzly_Adams" event="script" value="Grizzly_Adams.lua"/>

~~MOVEMENTS~~
Idziemy do foleru data/movements/scripts i tworzymy tam plik o nazwie tp_bossy.lua i wklejamy:

Do movements.xml doklejamy:
PHP:
<movevent type="StepIn" fromuid="5300" touid="5321" event="script" value="tp_bossy.lua"/>

~~Z QUEST LOGIEM (WYMAGANA KOMPILACJA)~~

~~NPC~~
Najpierw idziemy do folderu data/NPC/scripts i tworzymy tam plik o nazwie killinginthenameof.lua i wklejamy do niego:

W data/NPC tworzymy plik o nazwie Grizzly Adams.xml i wklejamy:
PHP:
<?xml version="1.0"?>
<npc name="Grizzly Adams" script="killinginthenameof.lua" access="3" walkinterval="2000" lookdir="2">
        <health now="200" max="200"/>
<look type="144" head="97" body="97" legs="94" feet="97" addons="3"/>
<parameters>
<parameter key="message_greet" value="Welcome back |PLAYERNAME|. What brings you here this time?"/>
<parameter key="message_farewall" value="Good bye |PLAYERNAME|!"/>
<parameter key="message_walkaway" value="Bye then..."/>
</parameters>
</npc>

~~CREATURESCRIPTS~~
Idziemy do folderu data/creaturescripts/scripts i tworzymy tam plik o nazwie grizzly adams.lua i wklejamy:

Do login.lua przed return true wklejamy:
PHP:
registerCreatureEvent(cid, "Grizzly_Adams")
Za? do creaturescripts.xml wklejamy:
PHP:
<event type="kill" name="Grizzly_Adams" event="script" value="Grizzly_Adams.lua"/>

~~MOVEMENTS~~
Idziemy do foleru data/movements/scripts i tworzymy tam plik o nazwie tp_bossy.lua i wklejamy:

Do movements.xml doklejamy:
PHP:
<movevent type="StepIn" fromuid="5300" touid="5321" event="script" value="tp_bossy.lua"/>

~~C++~~

Szukamy w quests.cpp:
PHP:
std::string Mission::getDescription(Player* player)
Usuwamy to a? do:
PHP:
return "Couldn't retrieve any mission description, please report to a gamemaster.";
}
I zamiast tego dajemy:
PHP:
std::string Mission::getDescription(Player* player)
{
    std::string value;
    int32_t find_storage;
    player->getStorage(storageId, value);
    if(state.size())
    {
        std::string ret = state;
        while((find_storage=ret.find("|STORAGE:"))>-1)
        {
              int32_t parsing_storage = find_storage+9;
              std::string temp;
              while((int) ret[parsing_storage] != (int)'|')
              {
                   temp += ret[parsing_storage];
                   parsing_storage++;
              }
              parsing_storage -=find_storage-1;
              player->getStorage(atoi(temp.c_str()), temp);
              ret.replace(find_storage, parsing_storage, temp);
        }
        replaceString(ret, "|STATE|", value);
        return ret;
    }

    if(atoi(value.c_str()) >= endValue)
    {
        std::string ret = states.rbegin()->second;
        while((find_storage=ret.find("|STORAGE:"))>-1)
        {
              int32_t parsing_storage = find_storage+9;
              std::string temp;
              while((int) ret[parsing_storage] != (int)'|')
              {
                   temp += ret[parsing_storage];
                   parsing_storage++;
              }
              parsing_storage -=find_storage-1;
              player->getStorage(atoi(temp.c_str()), temp);
              ret.replace(find_storage, parsing_storage, temp);
        }
        replaceString(ret, "|STATE|", value);
        return ret;
    }

    for(int32_t i = endValue; i >= startValue; --i)
    {
        player->getStorage(storageId, value);
        if(atoi(value.c_str()) != i)
            continue;

        std::string ret = states[i - startValue];
        while((find_storage=ret.find("|STORAGE:"))>-1)
        {
              int32_t parsing_storage = find_storage+9;
              std::string temp;
              while((int) ret[parsing_storage] != (int)'|')
              {
                   temp += ret[parsing_storage];
                   parsing_storage++;
              }
              parsing_storage -=find_storage-1;
              player->getStorage(atoi(temp.c_str()), temp);
              ret.replace(find_storage, parsing_storage, temp);
        }
        replaceString(ret, "|STATE|", value);
        return ret;

    }

    return "Couldn't retrieve any mission description, please report to a gamemaster.";
}

~~XML~~
Idziemy do folderu data/XML i uruchamiamy plik quests.xml i wklejamy do niego:
[size]


~~WA?NE~~
Ca?? komnat? z bossem wype?ni? NO-LOGOUT ZONE.
Tak ma mniej wi?cej wygl?da? komnata z bossem:
e8nznb.png
 

raphy246

Active User
Joined
Nov 29, 2009
Messages
124
Reaction score
7
Odp: Grizzly Adams - RL wersja (poprawiony)

Nie dzia?a link do tego co mamy w to wklei? - killinginthenameof.lua Napraw to.
@edit
Dobra ju? dzia?a, sry ale teraz jestem na laptopie i nie testne.
 
Last edited:

Vergil93

Advanced User
Joined
Jun 19, 2010
Messages
263
Reaction score
6
Odp: Grizzly Adams - RL wersja (poprawiony)

A teraz? Linki zosta?y poprawione i teraz zdecydowanie powinny dzia?a?.
Prosz? o naprawd? szczer? krytyk? wobec tego skryptu.

Skrypt testowany wielokrotnie, przez wiele godzin i dzia?a poprawnie.
Je?li komu? jednak co? nie dzia?a poprawnie to jest to tylko i wy??cznie tej osoby wina.
 
Last edited:

Vergil93

Advanced User
Joined
Jun 19, 2010
Messages
263
Reaction score
6
Odp: Grizzly Adams - RL wersja (poprawiony)

Zosta?a dodana mo?liwo?? handlu z Adamsem po otrzymaniu danej rangi.
Lista item?w do sprzedania znajduje si? tutaj:


#edit
Zosta? znaleziony powa?ny bug podczas sprzeda?y/kupnie item?w. Maj?c najni?sz? rang? w okienku trade wida? by?o wszystkie itemy, tak?e te dost?pne dopiero dla najwy?szej rangi, ale nie mo?na by?o ich kupowa?/sprzedawa?, ale bez obaw. Skrypt zosta? ju? naprawiony i dzia?a doskonale.

#edit 2
Zosta? znaleziony jeszcze jeden b??d, ale zosta? bardzo szybko i sprawnie usuni?ty (chodzi?o o to, ?e kupuj?c wi?cej ni? jeden demon bp skrypt bra? pieni?dze za ilo?? jak? wybrali?my, ale dostawali?my tylko jeden za cen? wielu).

#edit 3
Dodano mo?liwo?? sprawdzania aktualnej rangi u Grizzliego. Wystarczy napisa? "rank" i b?dziemy wiedzie? jak? rang? mamy, ile punkt?w mamy oraz ile potrzebujemy na awans.
Mam nadziej?, ?e si? podoba.

#edit 4
Cz??? kodu zosta?a usuni?ta i zast?piona innymi funkcjami.
 
Last edited:

Vergil93

Advanced User
Joined
Jun 19, 2010
Messages
263
Reaction score
6
W najbli?szej przysz?o?ci dodam pe?ny quest log. Zapraszam do komentowania.
Notka moderatorska:
Post pod postem - ??cz?.

Wiem, ?e za wcze?nie, ale to wa?na aktualizacja.
Zosta? dodany Quest Log. Pokazywanie ilo?ci zabitych potwork?w, ilo?ci sko?czonych task?w oraz aktualn? rang?.
#down
Zapomnia?em o linku do tamtego tematu. Ju? dodaj?.
Notka moderatorska:
Wiem, ?e za wcze?nie, ale mog?e? zaczeka? te dwie godzinki (no, dwie i p??).
 
Last edited by a moderator:

zakius

Senior User
Joined
May 25, 2008
Messages
869
Reaction score
52
Odp: Grizzly Adams - RL wersja (poprawiony)

daj creditsy do fixa questloga i b?dzie super(link te? by nie zawadzi?)

Og?lnie nie jest to skomplikowany skrypt ale nigdy mi si? nie chcia?o tego ca?ego badziewia wypisywa?, za to szacun si? nale?y
 

Vergil93

Advanced User
Joined
Jun 19, 2010
Messages
263
Reaction score
6
Odp: Grizzly Adams - RL wersja (poprawiony)

Drobny update.
 
Status
Not open for further replies.
Top