Jump to content
  • 0

Pet Renting (Hi5)


Question

Posted

Hi!, I activated this mod but I the only pet manager renting pets is the one in gludio... How can I make the other ones to rent pets as well?

 

And how to edit the quantity of adena required for renting?, I could only modify the one of the Wyvern...

 

Thanks!

3 answers to this question

Recommended Posts

  • 0
Posted

Well of course I've tried before posting here. For example, this is the htm of Lundy, the NPC in which works renting:
 
<html><body>Pet Manager Lundy:<br>

Pets are precious followers and friends for us adventurers. Any adventurer who has spent a night with a pet out in the wilderness knows what I mean.<br>

<a action="bypass -h npc_%objectId%_Link petmanager/instructions.htm">Listen to instructions for raising a pet.</a><br>

<a action="bypass -h npc_%objectId%_Buy 3082700">Buy pet equipment.</a><br>

<a action="bypass -h npc_%objectId%_exc_multisell 1000">Exchange pet equipment for higher grade equipment.</a><br>

<a action="bypass -h npc_%objectId%_multisell 999">Exchange Hatchling equipment for Strider equipment.</a><br>

<a action="bypass -h npc_%objectId%_Link petmanager/evolve.htm">Evolve pet.</a><br>

<a action="bypass -h npc_%objectId%_Link petmanager/exchange.htm">Exchange pet exchange ticket for a pet.</a><br>

<a action="bypass -h npc_%objectId%_TerritoryStatus">View information about the local lord and tax rate.</a><br>

<a action="bypass -h npc_%objectId%_Quest">Quest</a>

</body></html>

 

Then, this is from Waters, he's in Dion and doesn't have the option for renting:

 

<html><body>Pet Manager Waters:<br>
Here, try this delicious new Wolf food. With this, even a Turek War Hound will go down in one bite! And here are the Steel Teeth that a Dwarven knife sharpener spent weeks making. Ah, and see these new Hatchling items! Look around -- a good pet owner always comes to the Dion Pet Center!<br>
<a action="bypass -h npc_%objectId%_Link petmanager/instructions.htm">Listen to instructions for raising a pet.</a><br>
<a action="bypass -h npc_%objectId%_Buy 3082800">Buy pet equipment.</a><br>
<a action="bypass -h npc_%objectId%_exc_multisell 1000">Exchange pet equipment for higher grade equipment.</a><br>
<a action="bypass -h npc_%objectId%_multisell 999">Exchange Hatchling equipment for Strider equipment.</a><br>
<a action="bypass -h npc_%objectId%_Link petmanager/evolve.htm">Evolve pet.</a><br>
<a action="bypass -h npc_%objectId%_Link petmanager/exchange.htm">Exchange pet exchange ticket for a pet.</a><br>
<a action="bypass -h npc_%objectId%_TerritoryStatus">View information about the local lord and tax rate.</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest.</a>
</body></html>
 
And this is the document with the Renting info:
 
/*
 * Copyright © 2004-2015 L2J DataPack
 * 
 * This file is part of L2J DataPack.
 * 
 * L2J DataPack is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * L2J DataPack is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package handlers.bypasshandlers;
 
import java.util.StringTokenizer;
 
import com.l2jserver.Config;
import com.l2jserver.gameserver.handler.IBypassHandler;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2MerchantInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.SetupGauge;
 
public class RentPet implements IBypassHandler
{
private static final String[] COMMANDS =
{
"RentPet"
};
 
@Override
public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)
{
if (!(target instanceof L2MerchantInstance))
{
return false;
}
 
if (!Config.ALLOW_RENTPET)
{
return false;
}
 
if (!Config.LIST_PET_RENT_NPC.contains(target.getId()))
{
return false;
}
 
try
{
StringTokenizer st = new StringTokenizer(command, " ");
st.nextToken();
 
if (st.countTokens() < 1)
{
final NpcHtmlMessage msg = new NpcHtmlMessage(((L2Npc) target).getObjectId());
msg.setHtml("<html><body>Pet Manager:<br>" + "You can rent a wyvern or strider for adena.<br>My prices:<br1>" + "<table border=0><tr><td>Ride</td></tr>" + "<tr><td>Wyvern</td><td>Strider</td></tr>" + "<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 1\">30 sec/1800 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 11\">30 sec/900 adena</a></td></tr>" + "<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 2\">1 min/7200 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 12\">1 min/3600 adena</a></td></tr>" + "<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 3\">10 min/720000 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 13\">10 min/36000 adena</a></td></tr>" + "<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 4\">30 min/648000 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 14\">30 min/3240000 adena</a></td></tr>" + "</table>" + "</body></html>");
msg.replace("%objectId%", String.valueOf(((L2Npc) target).getObjectId()));
activeChar.sendPacket(msg);
}
else
{
tryRentPet(activeChar, Integer.parseInt(st.nextToken()));
}
 
return true;
}
catch (Exception e)
{
_log.info("Exception in " + getClass().getSimpleName());
}
return false;
}
 
public static final void tryRentPet(L2PcInstance player, int val)
{
if ((player == null) || player.hasSummon() || player.isMounted() || player.isRentedPet() || player.isTransformed() || player.isCursedWeaponEquipped())
{
return;
}
if (!player.disarmWeapons())
{
return;
}
 
int petId;
double price = 1;
int cost[] =
{
1800,
7200,
72000,
648000
};
int ridetime[] =
{
30,
60,
600,
1800
};
 
if (val > 10)
{
petId = 12526;
val -= 10;
price /= 2;
}
else
{
petId = 12621;
}
 
if ((val < 1) || (val > 4))
{
return;
}
 
price *= cost[val - 1];
int time = ridetime[val - 1];
 
if (!player.reduceAdena("Rent", (long) price, player.getLastFolkNPC(), true))
{
return;
}
 
player.mount(petId, 0, false);
SetupGauge sg = new SetupGauge(3, time * 1000);
player.sendPacket(sg);
player.startRentPet(time);
}
 
@Override
public String[] getBypassList()
{
return COMMANDS;
}
}
 
 
I could change the price for Wyvern renting there, but don't see the one for strider.
 
What should I do?
  • 0
Posted

Looks like you have a config for npc's which are able to rent pets, 

if (!Config.LIST_PET_RENT_NPC.contains(target.getId()))

You can check in your Config.java where is located this config in order to add rest of npc's

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • I have not touched a L2J style server in probably 13-14 years, as part of my "re-education" on server stuff I decided to build a installation script, hope some of you find it useful. NOTE: This script should only be run on a fresh Ubuntu 22/24 install, must be ran as root. I have only tested on 22 so far. What it does: - Checks to make sure you are root and are using Ubuntu 22/24 - Creates a system user for running aCis - Installs java jdk 21, Mariadb, Apache2 + PHP, Adminer, Ant - Created user and database for gameserver and login server - Creates user for Adminer - Adds second layer of security for Adminer (apache2 auth) - Runs secure_installation on Mariadb - Makes all .sh files executeable - Fills in Mariadb database information in database_installer.sh, config/server.properties, config/loginserver.properties - Runs database_installer.sh - Fetches aCis repository and builds it (supports public and private repo) - Moves all needed files into <user>/acis-built - Enables UFW and opens needed ports: 22, 80, 2106, 7777 - Installs fail2ban and configures protection for sshd (max 3 fails) - Retrieves geodata from http://anothercrappyinterludeserver.com/files/ and unpacks it in correct place - Fills in server IP in loginserver.properties Script is here: https://github.com/Salty-Dragon/aCis-installer-ubuntu    
    • Do your self a favour and keep your mouth shut up. I'm really getting tired of people like you. It seems like this forum has the most toxic members.  Can you share those „unsolved“ bugs? Just bla, bla, bla, but nothing to prove, right? Always the same with you  when you see my project name and always you got what to say bad about me or my project. This is your plan write something bad about others just to get more customers to yourself? Ah, those rotten people everywhere around us.
    • isnt this just premium account
    • do your self a favour and delete l2joriblaeh unless you are not serious and you are making server for fun and dont care about unsolvable bugs plus any other project i can help you with a donate panel fully tested and working.  
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock