OurLastNight

Donate Shop Html+Script+Sql+Client Lucera, L2jGroot, L2jLovely (Люцероопдобные)

В теме 27 сообщений

index.php?app=downloads&module=display&section=screenshot&id=1501



Название: Donate Shop Html+Script+Sql+Client Lucera, L2jGroot, L2jLovely (Люцероопдобные)

Добавил: OurLastNight

Добавлен: 29 Feb 2016

Категория: Серверные дополнения

Автор: OurLastNight
Хроники: Interlude

 



Красиво оформленный донат шоп+скрипт со всякими интересными плюшками)
Шарю свои старые наработки :)

 



Нажмите здесь, чтобы скачать файл

  • Upvote 7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

http://forummaxi.ru/index.php?app=downloads&module=display&section=screenshot&id=1501

Название: Donate Shop Html+Script+Sql+Client Lucera, L2jGroot, L2jLovely (Люцероопдобные)

Добавил: OurLastNight

Добавлен: 29 Feb 2016

Категория: Серверные дополнения

Автор: OurLastNight

Хроники: Interlude

 

 

Красиво оформленный донат шоп+скрипт со всякими интересными плюшками)

Шарю свои старые наработки :)

 

 

Нажмите здесь, чтобы скачать файл

 

Смена ника кривая

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
import sys

from java.lang import System

from java.util import Iterator

from ru.catssoftware import L2DatabaseFactory

from ru.catssoftware.tools.random import Rnd

from ru.catssoftware.gameserver.model.quest import State

from ru.catssoftware.gameserver.model.quest import QuestState

from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest

from time import gmtime, strftime

 

qn = "1235_ShadowName"

 

print "***Donate Manager***"

 

NPC = 300300

ITEM = 9945 # итем необходимый для обмена

COST = 10 # стоимость

INAME = "Donat Coin" # название итема

 

class Quest (JQuest) :

 

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

 

 def onAdvEvent (self,event,npc,player):

   st = player.getQuestState(qn)

   if event == "step1":

     if st.getQuestItemsCount(ITEM) < COST:

       htmltext = "<html><body>Смена ника: <font color=74bff5>"+str(COST)+" "+INAME+"</font></body></html>"

       return htmltext

     #elif player.getClanId():

       #htmltext = "<html><body>Для смены ника вам необходимо выйти из клана<br>Вы сможете вступить вновь, сразу после смены ника<br>Если вы кланлидер - перекиньте клан на твинка</body></html>"

       #return htmltext

     htmltext = "<html><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>"       

     htmltext += "Введите желаемый ник:"

     htmltext += "<edit var=\"nick\" width=200 length=\"16\"><br>"

     htmltext += "<button value=\"Проверить\" action=\"bypass -h Quest 1235_ShadowName step2_ $nick\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\"><br>"

     htmltext += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></center></body></html>"

   elif event.startswith("step2_"):

     nick = str(event.replace("step2_", ""))

     nick = str(nick.replace(" ", ""))

     htmltext = "<html><body><center>Смена ника:<br>Проверка...<br><br>"

     if nick == "":

       htmltext += "Вы не ввели желаемый ник!<br><br>"

       htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"

       return htmltext

     elif nick.startswith("GM.") or nick.startswith("ADM.") or nick.startswith("EGM.") or nick.startswith("-"):

       htmltext += "Неправильный ник!<br><br>"

       htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"

       return htmltext

     elif nick.endswith(".GM") or nick.endswith(".ADM") or nick.endswith(".EGM"):

       htmltext += "Неправильный ник!<br><br>"

       htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"

       return htmltext

    #<

     cona=L2DatabaseFactory.getInstance().getConnection()

     getcount=cona.prepareStatement("SELECT COUNT(char_name) FROM characters WHERE char_name=?")

     getcount.setString(1,nick)

     rsc=getcount.executeQuery()

     if (rsc.next()):

       if rsc.getInt(1) == 1:

         htmltext = "<font color=dc143c>Ник "+nick+" уже занят.</font><br>"

         htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"

         return htmltext

     rsc.close()

     getcount.close()

     cona.close()

    #< 

     htmltext += "<font color=bef574>Ник "+nick+" свободен.</font><br>"

     htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step3_"+nick+"\" msg=\"Новый ник "+nick+". Уверены?\">Продолжить. </a><br><br>"

     htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Назад</a></body></html>"

   elif event.startswith("step3"):

     nick = str(event.replace("step3_", ""))

     if st.getQuestItemsCount(ITEM) < COST:

       htmltext = "<html><body>Смена ника: <font color=74bff5>"+str(COST)+" "+INAME+"</font></center></body></html>"

       return htmltext

    #<

     login = str(player.getAccountName()) 

     name = str(player.getName())

     date = str(strftime("%Y-%m-%d", gmtime()))

     time = str(strftime("%H:%M:%S", gmtime()))

     writelog=L2DatabaseFactory.getInstance().getConnection()

     write=writelog.prepareStatement("INSERT INTO zz_donate_log (date,time,login,name,action,payment) VALUES (?,?,?,?,?,?)")

     write.setString(1, date)

     write.setString(2, time)

     write.setString(3, login)

     write.setString(4, name)

     write.setString(5, "Nick: "+nick+"")

     write.setInt(6, COST)

     try :

       write.executeUpdate()

       write.close()

       writelog.close()

     except :

       try : writelog.close()

       except : pass

    #<

     player.setName(nick)

     st.takeItems(ITEM,COST)

     htmltext =  "<html><body><center>Смена ника:<br>Готово.<br><font color=f5b974>Перезайдите!</font><br></body></html>"

   else:

     htmltext = "<html><body>Смена ника:<br>Oops!</center></body></html>"

   return htmltext

 

 def onTalk (self,npc,player):

   st = player.getQuestState(qn)

   npcId = npc.getNpcId()

   if npcId == NPC:

     self.startQuestTimer("step1",100,None,player)      

   return

 

QUEST       = Quest(1235,qn,"custom")

 

QUEST.addStartNpc(NPC)

QUEST.addTalkId(NPC)

 

 

Проблема следущяя ! после смени ника чаром делаем тп в любое место ! после етого тп летим в любую точку фанимся или ещо чтонибудь ещо кудато летим но 1х соски неработают ето 1е а после релога чар окажетса на том же месте де била 2я точка тп после смени ника . В чем проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

import sys
from java.lang import System
from java.util import Iterator
from ru.catssoftware import L2DatabaseFactory
from ru.catssoftware.tools.random import Rnd
from ru.catssoftware.gameserver.model.quest import State
from ru.catssoftware.gameserver.model.quest import QuestState
from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest
from time import gmtime, strftime
 
qn = "1235_ShadowName"
 
print "***Donate Manager***"
 
NPC = 300300
ITEM = 9945 # итем необходимый для обмена
COST = 10 # стоимость
INAME = "Donat Coin" # название итема
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
 
 def onAdvEvent (self,event,npc,player):
   st = player.getQuestState(qn)
   if event == "step1":
     if st.getQuestItemsCount(ITEM) < COST:
       htmltext = "<html><body>Смена ника: <font color=74bff5>"+str(COST)+" "+INAME+"</font></body></html>"
       return htmltext
     #elif player.getClanId():
       #htmltext = "<html><body>Для смены ника вам необходимо выйти из клана<br>Вы сможете вступить вновь, сразу после смены ника<br>Если вы кланлидер - перекиньте клан на твинка</body></html>"
       #return htmltext
     htmltext = "<html><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>"       
     htmltext += "Введите желаемый ник:"
     htmltext += "<edit var=\"nick\" width=200 length=\"16\"><br>"
     htmltext += "<button value=\"Проверить\" action=\"bypass -h Quest 1235_ShadowName step2_ $nick\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\"><br>"
     htmltext += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></center></body></html>"
   elif event.startswith("step2_"):
     nick = str(event.replace("step2_", ""))
     nick = str(nick.replace(" ", ""))
     htmltext = "<html><body><center>Смена ника:<br>Проверка...<br><br>"
     if nick == "":
       htmltext += "Вы не ввели желаемый ник!<br><br>"
       htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"
       return htmltext
     elif nick.startswith("GM.") or nick.startswith("ADM.") or nick.startswith("EGM.") or nick.startswith("-"):
       htmltext += "Неправильный ник!<br><br>"
       htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"
       return htmltext
     elif nick.endswith(".GM") or nick.endswith(".ADM") or nick.endswith(".EGM"):
       htmltext += "Неправильный ник!<br><br>"
       htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"
       return htmltext
    #<
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(char_name) FROM characters WHERE char_name=?")
     getcount.setString(1,nick)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       if rsc.getInt(1) == 1:
         htmltext = "<font color=dc143c>Ник "+nick+" уже занят.</font><br>"
         htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Вернуться.</a></body></html>"
         return htmltext
     rsc.close()
     getcount.close()
     cona.close()
    #< 
     htmltext += "<font color=bef574>Ник "+nick+" свободен.</font><br>"
     htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step3_"+nick+"\" msg=\"Новый ник "+nick+". Уверены?\">Продолжить. </a><br><br>"
     htmltext += "<a action=\"bypass -h Quest 1235_ShadowName step1\">Назад</a></body></html>"
   elif event.startswith("step3"):
     nick = str(event.replace("step3_", ""))
     if st.getQuestItemsCount(ITEM) < COST:
       htmltext = "<html><body>Смена ника: <font color=74bff5>"+str(COST)+" "+INAME+"</font></center></body></html>"
       return htmltext
    #<
     login = str(player.getAccountName()) 
     name = str(player.getName())
     date = str(strftime("%Y-%m-%d", gmtime()))
     time = str(strftime("%H:%M:%S", gmtime()))
     writelog=L2DatabaseFactory.getInstance().getConnection()
     write=writelog.prepareStatement("INSERT INTO zz_donate_log (date,time,login,name,action,payment) VALUES (?,?,?,?,?,?)")
     write.setString(1, date)
     write.setString(2, time)
     write.setString(3, login)
     write.setString(4, name)
     write.setString(5, "Nick: "+nick+"")
     write.setInt(6, COST)
     try :
       write.executeUpdate()
       write.close()
       writelog.close()
     except :
       try : writelog.close()
       except : pass
    #<
     player.setName(nick)
     st.takeItems(ITEM,COST)
     htmltext =  "<html><body><center>Смена ника:<br>Готово.<br><font color=f5b974>Перезайдите!</font><br></body></html>"
   else:
     htmltext = "<html><body>Смена ника:<br>Oops!</center></body></html>"
   return htmltext
 
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   npcId = npc.getNpcId()
   if npcId == NPC:
     self.startQuestTimer("step1",100,None,player)      
   return
 
QUEST       = Quest(1235,qn,"custom")
 
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
 
 
Проблема следущяя ! после смени ника чаром делаем тп в любое место ! после етого тп летим в любую точку фанимся или ещо чтонибудь ещо кудато летим но 1х соски неработают ето 1е а после релога чар окажетса на том же месте де била 2я точка тп после смени ника . В чем проблема?

 

Потому что после смены ника нужно делать релог.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 
Проблема следущяя ! после смени ника чаром делаем тп в любое место ! после етого тп летим в любую точку фанимся или ещо чтонибудь ещо кудато летим но 1х соски неработают ето 1е а после релога чар окажетса на том же месте де била 2я точка тп после смени ника . В чем проблема?

 

Делаем релог или допиливаем скрипт, чтоб после смены ника использовалась команда .relog(Если такая имеется)

Изменено пользователем OurLastNight

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делаем релог или допиливаем скрипт, чтоб после смены ника использовалась команда .relog(Если такая имеется)

релог непомагает даже если сделать его после смени ники

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

релог непомагает даже если сделать его после смени ники

Без понятия.

Данный скрипт у меня стоял еще на груте.

Никаких проблем со сменой ников я не наблюдал. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Без понятия.

Данный скрипт у меня стоял еще на груте.

Никаких проблем со сменой ников я не наблюдал. 

У меня тож он когдато стоял на груте) но токо через пол года люди писать начали)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как поменять текстуру у нпс?В npcgrp.dat его нету,пытаюсь добавить крашится клиент.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как поменять текстуру у нпс?В npcgrp.dat его нету,пытаюсь добавить крашится клиент.

Не понял вопроса.

Какую текстуру? Модельку НПСа или логотип и кнопки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как поменять текстуру у нпс?В npcgrp.dat его нету,пытаюсь добавить крашится клиент.

как бы там нету текстур нпс и всего прочего ток sql на нпс замени на своего нпс и все ну даже если нету текстур просто будут кролики.)

А так мне кажется ты что то делаешь не правильно:) в HTML

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понял вопроса.

Какую текстуру? Модельку НПСа или логотип и кнопки?

Да, модельку нпса как изменить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, модельку нпса как изменить?

У себя на сервере. Скрипт тут не причем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У себя на сервере. Скрипт тут не причем.

Понятно,просто твой бафер,гм-шоп и тд. Берут с одной модели нпс. Как мне поставить свою модель к баферу,донат-шопу и тд.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понятно,просто твой бафер,гм-шоп и тд. Берут с одной модели нпс. Как мне поставить свою модель к баферу,донат-шопу и тд.?

В базе смотри или же в патче(Все зависит от сборки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В базе смотри или же в патче(Все зависит от сборки)

Все спасибо,разобрался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как запретить некоторые символы в смени ника?

 

В самой сборке есть конфиг ( nicks.properties )

 

# Имена персонажей
# ------------------------
# Имена игроков ( Default [A-Za-z0-9-]{3,16} )
CnameTemplate = [A-Za-z0-9-]{3,16}
 
# Имена питомцев ( Default [A-Za-z0-9-]{3,16} )
PetNameTemplate = [A-Za-z0-9]{3,16}
 
# Имена кланов/альянсов ( [A-Za-z0-9 -]{3,16} )
ClanAllyNameTemplate = [A-Za-z0-9]{3,16}
 
# Содержание титулов ( [A-Za-z0-9 -\\[\\]<>\\(\\)\!|]{0,16} )

TitleTemplate = [A-Za-z0-9\u0410-\u042f\u0430-\u044f -\\[\\]<>\\(\\)\!|]{0,16}

Изменено пользователем Kopwnz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В самой сборке есть конфиг ( nicks.properties )

 

# Имена персонажей
# ------------------------
# Имена игроков ( Default [A-Za-z0-9-]{3,16} )
CnameTemplate = [A-Za-z0-9-]{3,16}
 
# Имена питомцев ( Default [A-Za-z0-9-]{3,16} )
PetNameTemplate = [A-Za-z0-9]{3,16}
 
# Имена кланов/альянсов ( [A-Za-z0-9 -]{3,16} )
ClanAllyNameTemplate = [A-Za-z0-9]{3,16}
 
# Содержание титулов ( [A-Za-z0-9 -\\[\\]<>\\(\\)\!|]{0,16} )

TitleTemplate = [A-Za-z0-9\u0410-\u042f\u0430-\u044f -\\[\\]<>\\(\\)\!|]{0,16}

Как это относиться к скрипту?Если при создание персонажа все нормально.Речь идет о смени ника.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как это относиться к скрипту?Если при создание персонажа все нормально.Речь идет о смени ника.

 

 

А в данном  Донате 

 

pre_1509220702__456.jpg

Изменено пользователем Kopwnz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в данном  Донате 

 

pre_1509220702__456.jpg

Перед тем как писать сюда,я менял там регулярное выражение.Результатов 0.

Все ровно можно вставлять символы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу