Skip to content
La2Base
Home
DownloadsWikiForumFAQ
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Форум для новичков[JAVA]/[help]npc Change Name Color
Search

[help]npc Change Name Color

10 replies174 viewsCurrently viewing: 1
Никита
Никита

User

Ветеран

Posts: 580

На форуме с: 05/30/2008

Репутация: +696

Рейтинг: 0

· 03/04/2009, 08:52 PM

Железо: кор 2 дуо 2.6, 2 гига оперы
ОС: Винда хр х32
Программы: мускул 5.1 х32, ява х32
Сборка: Gracia PT2, L2jFree 1.2.10

Краткое изложение СУТИ проблемы: поставил себе NPC по смене цвета ника,как меняешь ник,он меняется,но после рестарта клиента он становиться прежним.
Вопрос: в чем причина и как исправить?
Заранее спасибо !

0
Роман
Роман

User

Бывалый

Posts: 115

На форуме с: 05/06/2007

Репутация: +44

Рейтинг: 0

· 03/04/2009, 09:06 PM

нужно править ядро+в таблице сharacters создать 2 столбца name_color,title_color(для титула) куда будет заносится инфа про цвет ника у чара.

без исходников никак

в платой сборке la2base вроде есть.

Я не такой, я не такой как все, потому что я нашол сегодня пламя в своей душе. (с) S.T.A.S.

0
Никита
Никита

User

Ветеран

Posts: 580

На форуме с: 05/30/2008

Репутация: +696

Рейтинг: 0

· 03/04/2009, 09:12 PM

В сборке La2Base 1.1.7 есть это,я залил ихний characters.sql,но все равно не сохраняются !

0
Роман
Роман

User

Бывалый

Posts: 115

На форуме с: 05/06/2007

Репутация: +44

Рейтинг: 0

· 03/04/2009, 09:14 PM

а как ты хочеш чтоб сохранялось? посмотри скрипт,может там есть указания насчет бд,если нету -> ядро.

Я не такой, я не такой как все, потому что я нашол сегодня пламя в своей душе. (с) S.T.A.S.

0
Никита
Никита

User

Ветеран

Posts: 580

На форуме с: 05/30/2008

Репутация: +696

Рейтинг: 0

· 03/04/2009, 09:24 PM

На сборке La2Base 1.1.7 этот скрипт работает на ура ! А на Free не хочет,ядро я вроде менял,так как срипт не подходил к этой сборке.

0
А
Артём

User

Участник

Posts: 97

На форуме с: 04/29/2008

Репутация: +6

Рейтинг: 0

· 03/04/2009, 09:26 PM

на 1,1,6 есть нпц колов мэнеджер я его в паке скачал

0
Никита
Никита

User

Ветеран

Posts: 580

На форуме с: 05/30/2008

Репутация: +696

Рейтинг: 0

· 03/05/2009, 11:05 AM

Вот оригинал

Код
import sys
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
from net.sf.l2j.gameserver.model.actor.appearance import PcAppearance
from net.sf.l2j.gameserver.model.quest          import State
from net.sf.l2j.gameserver.model.quest          import QuestState
from net.sf.l2j.gameserver.model.quest.jython   import QuestJython as JQuest

qn = "7800_Namecolor"

NPC=[7802]
QuestId     = 7800
QuestName   = "Namecolor"
QuestDesc   = "custom"
InitialHtml = "1.htm"

print "Loaded Custom: 7001 Namecolor"

class Quest (JQuest) :
    def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
    
    def onEvent(self,event,st) :
        htmltext = event

        if event == "1":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x009900)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"
            st.exitQuest(0)

        if event == "2":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0xff7f00)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "3":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0xff00ff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "4":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x00ffff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "5":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x0000ff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "6":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x0099ff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "7":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x70db93)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "8":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x9f9f9f)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "9":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0xffff00)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"



    def onTalk (self,npc,player):
        st = player.getQuestState(qn)
        htmltext = "<html><head><body><center>Nao tenho nada para dizer agora.</center></body></html>"
        st.setState(State.STARTED)
        return InitialHtml

QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)

for npcId in NPC:
   QUEST.addStartNpc(npcId)
   QUEST.addTalkId(npcId)


А вот что я сделал
Код
import sys
from com.l2jfree.gameserver.model.actor.instance import L2PcInstance
from com.l2jfree.gameserver.model.actor.appearance import PcAppearance
from com.l2jfree.gameserver.model.quest          import State                                      Вот тут я подпраил
from com.l2jfree.gameserver.model.quest          import QuestState
from com.l2jfree.gameserver.model.quest.jython   import QuestJython as JQuest

qn = "7800_Namecolor"

NPC=[7802]
QuestId     = 7800
QuestName   = "Namecolor"
QuestDesc   = "custom"
InitialHtml = "1.htm"

print "Loaded Custom: 7001 Namecolor"

class Quest (JQuest) :
    def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
    
    def onEvent(self,event,st) :
        htmltext = event

        if event == "1":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x009900)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"
            st.exitQuest(0)

        if event == "2":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0xff7f00)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "3":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0xff00ff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "4":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x00ffff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "5":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x0000ff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "6":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x0099ff)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "7":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x70db93)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "8":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x9f9f9f)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"

        if event == "9":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0xffff00)
        st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"



    def onTalk (self,npc,player):
        st = player.getQuestState(qn)
        htmltext = "<html><head><body><center>Nao tenho nada para dizer agora.</center></body></html>"
        st.setState(State.STARTED)
        return InitialHtml

QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)

for npcId in NPC:
   QUEST.addStartNpc(npcId)
   QUEST.addTalkId(npcId)

Он работает,но не сохраняет после рестарта клиента или сервера !

0
Wh1tePower
Wh1tePower

User

Ветеран

Posts: 846

На форуме с: 09/18/2007

Репутация: +623

Рейтинг: 0

· 03/05/2009, 11:16 AM

Что бы вы не делали ник не будет сохранять цвет , нужно менять ядро. Без исходников и незнания явы (а я больше чем уверен их у вас нету) ничего не сделать.

— La2Psy.ru [ADM]Wh1tePower...

0
Vlad
Vlad

User

Участник

Posts: 32

На форуме с: 10/05/2007

Репутация: +14

Рейтинг: 0

· 03/05/2009, 11:22 AM

исходники есть, код для явы есть чего б и не сделать)

0
Wh1tePower
Wh1tePower

User

Ветеран

Posts: 846

На форуме с: 09/18/2007

Репутация: +623

Рейтинг: 0

· 03/05/2009, 11:27 AM

Ну так сделай , кто мешает? В след раз +10% за безосновательное утверждение. Сделал - хорошо. Нет - и писать не стоит

— La2Psy.ru [ADM]Wh1tePower...

0
Войдите или зарегистрируйтесь чтобы ответить