Jump to content
  • 0

Color manager


Question

Posted

Hello guys. I downloaded from this site color manager npc and added to the server.

 

After characters restart don't stay name color. Just title color work perfect.

 

E.x. : You buy color: 00000, and when you do relogin after relogin your color: FF0000(white).

 

 

import sys
from com.l2jfrozen.gameserver.datatables.sql import CharNameTable
from com.l2jfrozen.gameserver.model import L2World
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jfrozen.gameserver.util import Util;

from java.util.regex import Pattern;

NPC = 45555
ITEM_ID = 20003
NAME_COUNT = 200
COLOR_COUNT = 200

class Quest (JQuest) :
    def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

    def onEvent(self,event,st) :
        if event == "1":
            return "1.htm"

        if event == "2":
            return "2.htm"

        if event == "3":
            return "3.htm"

        if event == "200":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x000000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "201":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x000090)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need! </center></body></html>"

        if event == "202":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x0000ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "203":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x009000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "204":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x00ff00)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "205":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x900000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "206":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0xff0000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "207":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x009090)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "208":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x0090ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

        if event == "209":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x00ffff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "210":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x900090)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "211":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x9000ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "212":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0xff00ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "213":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0x909000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "214":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0xffff00)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "215":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setNameColor(0xffffff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "300":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x000000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "301":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x000090)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "302":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x0000ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "303":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x009000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "304":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x00ff00)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "305":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x900000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "306":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0xff0000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "307":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x009090)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "308":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x0090ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "309":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x00ffff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "310":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x900090)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "311":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x9000ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "312":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0xff00ff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "313":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0x909000)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "314":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0xffff00)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if event == "315":
            if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT:
                st.takeItems(ITEM_ID,COLOR_COUNT)
                st.getPlayer().getAppearance().setTitleColor(0xffffff)
                st.getPlayer().broadcastUserInfo();
                return "4.htm"
            else:
                return u"<html><head><body><center>Check if you have all items you need\u0435\u0442\u0430!</center></body></html>"

        if not CharNameTable.getInstance().doesCharNameExist(event):
            if len(event) >= 3 and len(event) <= 16 and Pattern.matches("[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*", event):
                if st.getPlayer().isClanLeader():
                    return u"<html><head><body><center>You are clan leader. Can't change the name!</center></body></html>"
                if st.getPlayer().getClan():
                    return u"<html><head><body><center>You are clan member, can't change the name!</center></body></html>"					
                if st.getQuestItemsCount(ITEM_ID) >= NAME_COUNT:
                    st.takeItems(ITEM_ID,NAME_COUNT)
                    L2World.getInstance().removeFromAllPlayers(st.getPlayer());
                    st.getPlayer().setName(event);
                    st.getPlayer().store();
                    L2World.getInstance().addToAllPlayers(st.getPlayer());
                    st.getPlayer().broadcastUserInfo();
                    return "4.htm"
                else:
                    return u"<html><head><body><center>You don't have the necesary items!</center></body></html>"
            else:
                return u"<html><head><body><center>Try again!</center></body></html>"
        else:
            return u"<html><head><body><center>Try again!</center></body></html>"
        return u"<html><head><body><center>Check if you have all items you need!</center></body></html>"

    def onTalk (self,npc,player):
        return "0.htm"

QUEST = Quest(8833, "8833_Name", "custom")
CREATED = State('Start',QUEST)

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)

 

3 answers to this question

Recommended Posts

  • 0
Posted (edited)

You have to add 1 more field in characters table that is responsible for the color (varchar) .

When you are setting the new color use a dB connection to save that in the new field. Finally, handle onEnter to load the custom color and you are done. 

 

 

Drop that shit and make one from Java. If you don't know how to, noone will help you with python codes here

Edited by melron
  • 0
Posted
1 minute ago, melron said:

You have to add 1 more field on characters table that is responsible for the color (varchar) .

When you are setting the new color use a dB connection to save that in the new field. Finally, handle onEnter to load the custom color and you are done. 

 

 

Drop that shit and make one from Java. If you don't know how to, noone will help you with python codes here

 

I know this.  I must to add something in java but idk what code... l2jfrozen. characters.sql have name_color

  • 0
Posted
34 minutes ago, l2fire said:

 

I know this.  I must to add something in java but idk what code... l2jfrozen. characters.sql have name_color

What a retard script. What a retard way to get color change. You can set the color automatic in html 

bypass -h npc_%ObjectId%_255 255 255

And write 3 lines of code in java using a StringTokenizer to get thos 3 values. 

You guys are in 2018 have 200000000 tutorials and still open request topics for such a thing for f sake.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • L2Elixir – Patch 4 Is Live!   We’re working non-stop, day and night, to deliver the best possible quality and bring back what made L2Elixir special. This project is built with passion, not shortcuts — for the old-school players who remember, and the new ones who want to experience it properly. Thank you for being part of the journey. Together, we’re making L2Elixir great again ❤️ The legends never fade.    ⚙️ General Enabled Class Change service (same class type only) ALT + B → Services → Character Development Enabled Shift + Click on Treasure Chests Players can now identify real chests (Adena, scroll drops) and use Key / Unlock Event deaths now cancel only debuffs, All self buffs are preserved, fixes issues with Root and similar effects Bladedancer class can now log in even when Max Clients (2) is reached. Since an active Bladedancer is not available for every damage dealer and some players tried to abuse this via VPN or a second PC, this feature was added to keep things fair. protections applies, requires testing!    🎒 Items Crystallizing enchanted items now gives the correct increased crystal amount (retail-like behavior) Removed Agathion Seal Bracelet: Rudolph from Santa rewards (Gracia Final item) Added Dualsword Craft Stamp into Milestone Exchange list    🧙 Skills Fixed Banish Undead lethal chance Hot Springs Malaria and similar effects now level up faster while being attacked
    • thats new SEO level tricks you know nothing of noob - bottom line: exposed.
    • Warning: This guy is a big scammer, trying to sell everything, advertising for servers etc. That's his mail address evgesha.nrnr@gmail.com , stay away!   @Atom @Celestine
    • Warning: This guy is a big scammer, trying to sell everything, advertising for servers etc. That's his mail address evgesha.nrnr@gmail.com , stay away! @Celestine @Atom
  • 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