Показать сообщение отдельно
Непрочитано 25.11.2012, 03:39   #17
Пользователь

Автор темы (Топик Стартер) Re: Прошу помочь адаптировать скрипт

С кодировками манипуляции не помогают. UTF-8 и т.п. толку не дают. Выкладываю код скрипта...
PHP код:
package custom.AugmentShop;

import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.quest.Quest;
import ru.catssoftware.gameserver.model.quest.QuestState;
import ru.catssoftware.gameserver.model.itemcontainer.Inventory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import ru.catssoftware.L2DatabaseFactory;
import java.util.logging.Level;
import ru.catssoftware.gameserver.model.L2ItemInstance;

/**
 * 
 * @author adapted by Samar 2011 RUSSIA
 * 
 */
public class AugmentShop extends Quest
{
    private final static 
int ITEM_ID 57;
    private final static 
int ITEM_COUNT 1000000;
    private final static 
String qn "AugmentShop";
    private final static 
int NPC 40010;
    
    public 
AugmentShop(int questIdString nameString descr
    {
        
super(questIdnamedescr);
        
addFirstTalkId(NPC);
        
addStartNpc(NPC);
        
addTalkId(NPC);
    }
    
    @
Override
    
public String onAdvEvent(String eventL2NpcInstance npcL2PcInstance player)
    {
        
String htmltext "";
        
        if (
event.equalsIgnoreCase("active"))
        {
            
htmltext "active.htm";
        }
        
        else if (
event.equalsIgnoreCase("passive"))
        {
            
htmltext "passive.htm";
        }
        
        else if (
event.equalsIgnoreCase("chance"))
        {
            
htmltext "chance.htm";
        }
        
        else
        {
            
            
updateAugment(playerInteger.parseInt(event.substring(0,5)), Integer.parseInt(event.substring(6,10)), Integer.parseInt(event.substring(11,13)));
        }

        
        return 
htmltext;
    }

    @
Override
    
public String onFirstTalk(L2NpcInstance npcL2PcInstance player)
    {
        
String htmltext "";
        
QuestState qs player.getQuestState(qn);
        if (
qs == null)
            
qs newQuestState(player);
        
htmltext "main.htm";
        return 
htmltext;
    }
    
    public static 
void main(String[] args)
    {
        new 
AugmentShop(-1qn"AugmentShop");
    }
    
    
    private static 
void updateAugment(L2PcInstance playerint attributesint skillint level)
    {
        
L2ItemInstance item player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
        if (
player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null)
            
        {
            
player.sendMessage("You have to equip a weapon.");
            return;
        }
            
        if (
player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isAugmented())
        {
            
player.sendMessage("The weapon is already augmented.");
            return;
        }
        
        if (
player.getInventory().getInventoryItemCount(ITEM_ID, -1) < ITEM_COUNT)
        {
            
player.sendMessage("You dont have enough item.");
            return;
        }
            
        
Connection con null;
        try
        {
            
player.destroyItemByItemId("Consume"ITEM_IDITEM_COUNTplayertrue);
            
con L2DatabaseFactory.getInstance().getConnection();
            
PreparedStatement statement con.prepareStatement("REPLACE INTO augmentations VALUES(?,?,?,?)");
            
statement.setInt(1item.getObjectId());

                
statement.setInt(2attributes*65536+1);
                
statement.setInt(3skill);
                
statement.setInt(4level);
            
            
statement.executeUpdate();
            
player.sendMessage("Succesfully augmented. You have to relog now.");
            
statement.close();
            
        }
        catch (
Exception e)
        {
            
_log.log(Level.SEVERE"Could not augment item: "+item.getObjectId()+" "e);
        }
        
finally
        
{
        try
        {
        
            
/*L2DatabaseFactory.close(con);*/
            
con.close();
            }
            catch (
Exception e)
            {
            }
        }
    }
    
    

Может кто сможет увидеть почему не компилится...Библиотеки(пути импортов) уже заменил на соответствующие.

Добавлено через 45 минут
Решил проблему) Тему клуз

Добавлено через 58 минут
Осталась одна проблема - прошу помочь поправить скрипт так, чтобы при его активности НПЦ с ID 40010 произносил свой диалог, прописанный ему в конфиге серисменеджера, а этот скрипт не перекрывал его вызовом своих хтмлок и его просто можно было бы выбрать из меню сервисменеджера. Т.е. данный скрипт не должен являться единственный для НПЦ с ID 40010, как в данный момент(выводит только хтмлки аугмент шопа, перекрывая ими основное сделанное мною меню).

Добавлено через 1 час 34 минуты
Решил проблему. Тему клуз №2

Последний раз редактировалось mecmic; 25.11.2012 в 05:14. Причина: Добавлено сообщение
mecmic вне форума Ответить с цитированием