Coder Social home page Coder Social logo

projecteqquests's People

Contributors

akkadius avatar asmotic avatar athrogatepeq avatar clayrupe650 avatar cream24 avatar daerath avatar dencelle avatar drcrimzon avatar drogerin avatar fryguy503 avatar hgtw avatar huffin avatar hugoslavia avatar joligario avatar jwinky avatar kilzpeq avatar kimls avatar kinglykrab avatar mackal avatar martinlindhe avatar n0ctrnl avatar nobl avatar regneq avatar rjschmertz avatar rosspulliam avatar sorvani avatar turmoiltoad avatar uleat avatar vavehl avatar xackery avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

projecteqquests's Issues

Hierophant_Oxyn has a 3rd arg to check_turn_in

This function expects a maximum of 2 argument(s) but instead it is receiving 3.

if(e.other:GetFaction(e.self) < 5 and item_lib.check_turn_in(e.trade, {item1 = 3895},0)) then --Crusaders of Greenmist (Greenmist Quest 8/8)

elseif(e.other:GetFaction(e.self) < 5 and item_lib.check_turn_in(e.trade, {item1 = 3886},0)) then --Crusaders of Greenmist (Greenmist Quest 8/8)

elseif(e.other:GetFaction(e.self) < 5 and e.other:Class() == "Shaman" and item_lib.check_turn_in(e.trade, {item1 = 12403},0)) then --Full Component Mortar

Collier Not Live-Like

As mentioned in #46:
Collier sits and stands as on live.
Collier rejects lower level chars from quest like live.
Collier rejects based on faction like live.

arg count invalid on a_Thul_Tae_Ew_High_Priest and other NPCs

This function expects a maximum of 0 argument(s) but instead it is receiving 1.

https://github.com/ProjectEQ/projecteqquests/blob/f678149a12f6b6efbe3c44cbfe06e68c01b3fbfc/cazicthule/#a_Thul_Tae_Ew_High_Priest.lua#L28

So, this is more just an ordering warning, it seems:
Screen Shot 2023-01-21 at 9 03 50 AM

my linter is thinking another file in the same path is taking priority on spawn_guard() <-- with no args, because spawn_guards(e) defined in this file is declared AFTER the function call.

I don't think quest api works this way, but figured i'd share the warning anyways.

This is remedied by shifting up the spawn_guards(e) function up a bit.

Plane of innovation spider_controller causes crashes

I rewrote the quest file so now it will no longer cause crashes and will loop wont let me drop a .pl file so ill just post the code.

function event_spawn(e)
eq.set_timer("spiders", 19000) -- Set the initial timer for spawning spiders with an 8-second delay
end

function event_timer(e)
local npc_list = eq.get_entity_list():GetNPCList() -- Get the list of NPCs in the zone
local spider_count = 0 -- Initialize spider count

if npc_list ~= nil then
    for npc in npc_list.entries do
        local npc_type_id = npc:GetNPCTypeID()
        if npc_type_id == 206000 or npc_type_id == 206001 or npc_type_id == 206002 or npc_type_id == 206086 or npc_type_id == 206071 or npc_type_id == 206070 or npc_type_id == 206072 or npc_type_id == 206069 then
            spider_count = spider_count + 1 -- Increment spider count
        end
    end
end

if spider_count < 400 then -- Check if the number of spiders is less than 400
    -- Spawn additional spiders until reaching 1,000,000, staggering by 8 seconds
    if spider_count < 400 then
        eq.spawn2(206000, 28, 0, 803, -285, 4.63, 314) -- Spawn a spider
        eq.spawn2(206001, 29, 0, 804, 285, 4.63, 314) -- Spawn a spider
        eq.spawn2(206002, 30, 0, 1443, 285, 4.63, 314) -- Spawn a spider
        eq.spawn2(206086, 31, 0, 1443, -285, 4.63, 314) -- Spawn a spider
        eq.spawn2(eq.ChooseRandom(206071, 206070), 26, 0, 1155, 605, 4.63, 0) -- Spawn a spider
        eq.spawn2(eq.ChooseRandom(206072, 206069), 24, 0, 1155, -600, 4.63, 0) -- Spawn a spider
        eq.set_timer("spiders", 19000) -- Reset the timer for the next spider spawn after 8 seconds
    end
else
    eq.stop_timer("spiders") -- Stop the timer if 400 spiders have been spawned
    eq.set_timer("spiders", 19000) -- Reset the timer to start over
end

end

lua formatting

Our lua code formatting is inconsistent.

I can run through a script to fix it for tab indentation or space indentation. Just tell me which :P

WoS Huge Memory Usage / Zone Crash

if(e.self:HasItem(69941) and e.self:HasItem(69952) and e.self:HasItem(69942) and e.self:HasItem(69983)) then -- Paladin 1.5 trigger
if(qglobals["paladin_wos"] == nil) then
eq.spawn2(300087,0,0,-1118.76,1007,13.45,226); -- NPC: #Durunal_the_Cursebearer
eq.set_global("paladin_wos","1",3,"H2");
end
end

If a character has say, 20 corpses on the server, and the character has a lot of items, there are countless queries against those corpses looking for the items in the above snippet.

This may be an actual bug with HasItem where it is looking at corpses for some reason but right now when a player enters the zone it can lead to a zone crash.

lua HasItem corpse crash

If someone has A LOT of corpses Client:HasItem will crash ... probably should just give up after a handful of corpses.

A few quests broken by a patch 10 months ago.

I don't run these zones on my server, but I do have custom quests on the original continent that use $npc->SaveGuardPosition(). I found they were no longer working today. After some digging, this commit 10 months ago changed the api,

EQEmu/Server@f76fffe

After looking into it, you guys still have these references that will no longer work. They need to be changed to pass $x, $y, $z, $h.

I will only post this as FYI - I don't run these quests here, and will not commit the mods that I have not tested here. I did make the change locallly to my custom stuff that uses this interface and they all resumed working after my fix.

These are what you still have, that I believe are broken:

./eastwastes/Boridain_Glacierbane.pl: $npc->SaveGuardSpot(0);
./eastwastes/ringfivecoord.pl: $mobnpc1->SaveGuardSpot(0);
./eastwastes/ringfivecoord.pl: $mobnpc2->SaveGuardSpot(0);
./eastwastes/ringfivecoord.pl: $mobnpc3->SaveGuardSpot(0);
./eastwastes/ringfivecoord.pl: $mobnpc4->SaveGuardSpot(0);
./eastwastes/ringfivecoord.pl: $mobnpc5->SaveGuardSpot(0);
./eastwastes/Tain_Hammerfrost.pl: $mobnpc1->SaveGuardSpot(0);
./eastwastes/Tain_Hammerfrost.pl: $mobnpc2->SaveGuardSpot(0);
./eastwastes/Tain_Hammerfrost.pl: $mobnpc3->SaveGuardSpot(0);
./eastwastes/Tain_Hammerfrost.pl: $mobnpc4->SaveGuardSpot(0);
./eastwastes/Tain_Hammerfrost.pl: $mobnpc5->SaveGuardSpot(0);
./fungusgrove/#Caller_Groo.pl: $npc->SaveGuardSpot(0);
./fungusgrove/#Caller_Murkin.pl: $npc->SaveGuardSpot(0);
./fungusgrove/#Caller_Torgal.pl: $npc->SaveGuardSpot(0);
./hollowshade/a_furious_owlbear.pl: $npc->SaveGuardSpot();
./hollowshade/a_grimling_invader.pl: $npc->SaveGuardSpot();
./hollowshade/a_sonic_wolf_fiend.pl: $npc->SaveGuardSpot();

By the way, I had no idea your server was running my implementation of the Hollowshade War - very cool!!

typo? e_other

e_other:Message(4,"You hear a faint voice in your mind, 'The Moon guides us as we are in darkness. If the Sun is bright and bold, the Moon will be the reasoning. If you seek to [" .. eq.say_link("prove yourself") .. "] to the Order speak it now.'");

likely should be e.other

Missing NPCs

as i'm working on my metadata/quest parser fun, here's some interesting feedback/cleanup:

as a random one: npc Savil_Tranquilsong not found
if you query select id, name from npc_types where name like '%Tranquilsong%';
54070 Sarialiyn_Tranquilsong
no Savil, so butcher/Savil_Tranquilsong.pl might be orphaned

npc #a_corrupt_treant not found
npc #an_iksar_manslayer not found
npc #Animal_Trainer_Kayzlc not found
npc #Captain_Klunga not found
npc #Diablo_Xi_Va_Temariel not found
npc #Elder__Spirit_of_Wisdom not found
npc #Legionnarie_Marais not found
npc #Man`eating_Freshwater_Shark not found
npc #Mister_Lockout not found
npc #Raidman not found
npc #Translocator_Stumpeh not found
npc #Zeixshi`Kar_the_Ancient not found
npc a_banished_Kerran not found
npc a_Beggar not found
npc a_diseased_shark not found
npc a_heretic_prophet not found
npc a_heretic_prophet not found
npc A_Lictor_of_the_Heart not found
npc a_sarnak_champion not found
npc A_storm_portal_ not found
npc an_accursed_prisoner not found
npc Animal_Handler_Yluxx not found
npc Artisan_Bill_Whistletop_copy not found
npc Artisan_Calian_Silverlake not found
npc Artisan_Dosan_Vis`moor not found
npc Artisan_Elistar_Vorann not found
npc Artisan_Garth_Okken not found
npc Artisan_Gorion_Telld`Mare not found
npc Artisan_Kjell_Sunrunner not found
npc Artisan_Korzan_Virimove not found
npc Artisan_Nala_Goldenthorn not found
npc Artisan_Sieeva_Koan not found
npc Artisan_Srekta_Froreki not found
npc Artisan_Vidi_Cogsworthy not found
npc Artisan_Vuro_Padfoot not found
npc Artisan_Yar_Shiverbrow not found
npc default not found
npc default not found
npc default not found
npc default not found
npc Duggas_Helpyre not found
npc Ebenizer_Sprooket not found
npc Eternal_Animist_Ukki_ not found
npc Firin_McYorth not found
npc Forager_Grik not found
npc Forager_Grik not found
npc Geoard_Bluehawk not found
npc Granin_O'Gill not found
npc Hagbletha not found
npc Horgram not found
npc Imp`ossible not found
npc Initiate_Sirchthain not found
npc Khala_Dun_Ahjin not found
npc Khala_Dun_Aihjin not found
npc Khala_Dun_Bokh not found
npc Khala_Dun_Jasir not found
npc Khala_Dun_Koby not found
npc Khrixs_Abomination not found
npc Kimm_McShannel not found
npc Lossenmachar not found
npc Mathii_Fauris not found
npc Molon_T`Plth not found
npc Neysia_Morningbloom not found
npc Protector_of_the_ruins not found
npc Raotin_teawel not found
npc Raotin_teawel not found
npc Ratlan_Matrick not found
npc Savil_Tranquilsong not found
npc Severg_ODanos not found
npc Soulbinder_Zlippi not found
npc Tarakix_V`Rasym not found
npc The_Spirit_of_Rage not found
npc Ur`Koraag not found
npc Voknya not found
npc Warlord_Prolazz not found
npc Woodspirit_Trigger not found

Felwitheb - Yuin Starchaser: Art keepers task text

Currently when you hand in the Orc Thaumaturgists Spell Book to Yuin Starchser for the newbie caster staff quest there's a made up text:
e.self:Say("Excellent work, " .. e.other:GetName() .. ". Now I need you to gather a Pristine Forest Drakeling Scale and an Arborean Amber. Return this staff and the items I require and then I will create your new staff."); -- Text made up

According to Allakhazam (http://everquest.allakhazam.com/db/quest.html?quest=2043) the text should be..
e.self:Say("Well done young Art Keeper. Take this Rough Art Keepers Initiate Staff and go forth and gather a Pristine Forest Drakeling Scales and an Arborean Amber. When you have acquired those two items return them to me with the Rough Art Keepers Initiate Staff and I will put the final touches on the staff.");

Deprecated table.getn usage

This was lightly discussed in eqemu coders on discord, but basically.. each of these can be replaced from table.getn(var) to #var

max = table.getn(feran);

mob = mobs[math.random(1,table.getn(mobs))];

line 129, 132, 135, 138, 141, 144, 147

local num = math.random(1,table.getn(hazards));

line 131, 149, 208, 372

local num = math.random(1,table.getn(list_constructs));

local my_num = math.random(1,table.getn(my_table));

etc..I'll do a PR real quick

undefined globals

MySQl.pl is hard coded for port 3306 this causes problems when that is not the MYSQL port

I am not comfortable proposing commits yet but propose this one if any one cares to look
I had troubles with this and just saw someone on discus with the same problem with updates on NOT 3306

PLUGINS : FILE : MySQL.pl
line 25
add /insert : $port = $config->{"server"}{"database"}{"port"};

line 31
change : $dsn = "dbi:mysql:$db:$host:3306";
to : $dsn = "dbi:mysql:$db:$host:$port";

then ( and i have not looked at it yet ) the install script install.sh and/or eqemu_server.pl should prompt for a port on first run if eqemu_config.json does not exist or the port is not defined in the config file and default to 3306 if non entered.

EXAMPLE eqemu_config.json section :

"database": {
"db": "eqworld1",
"host": "127.0.0.1",
"password": "SUPE-SECRET",
"port": "3853", ********* NOT 3306 *********
"username": "EqDbAdmin"

Felwithea - Terran_Starwatcher can't ask about weapon quest

Currently you can't ask Terran Starwatcher in Felwithe about the cleric newbie weapon quest.

The chat link to ask about it is [further guidance] which is currently further down the else if chain than just [guidance] (which is his general intro) in his lua file.

The further guidance bit needs to be moved to the top of the file or you end up only getting his intro.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.