Jump to content

Question

Posted (edited)

Γεια σας ξανα μαγκες...Εχω αυτο το προβλημα στο java code...Ειναι το FlagZone για το aCis οπιος μπορει να με βοηθησει θα το εκτιμουσα.

http://prntscr.com/31f8er

http://prntscr.com/31fdc8

Edited by •DarkStar•

5 answers to this question

Recommended Posts

  • 0
Posted

Δοκίμασε να σβήσεις τελείως το ".values()". Εάν σου βγάλει error πάλι βάλε μια τελεία και δες τις πιθανές μεθόδους που μπορείς να χρησιμοποιήσεις.

  • 0
Posted
/*
 * This program 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.
 *
 * This program 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 net.sf.l2j.gameserver.model.zone.type;
 
import java.util.concurrent.Future;

import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.zone.L2ZoneType;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.util.Rnd;
 
/**
 * @author Strato
 * @author Elfocrash (for the correction)
 */
public class L2FlagZone extends L2ZoneType
{
 int _skillId;
 private int _chance;
 private int _initialDelay;
 int _skillLvl;
 private int _reuse;
 private boolean _enabled;
 private String _target;
 private Future<?> _task;
 public L2FlagZone(int id)
 {
               super(id);
               _skillId = 1323;
               _skillLvl = 1;
               _chance = 100;
               _initialDelay = 0;
               _reuse = 30000;
               _enabled = true;
               _target = "pc";
 }
 
 @Override
 public void setParameter(String name, String value)
 {
                if(name.equals("skillId"))
                {
                                _skillId = Integer.parseInt(value);
                }
                else if(name.equals("skillLvl"))
                {
                                _skillLvl = Integer.parseInt(value);
                }
                else if(name.equals("chance"))
                {
                                _chance = Integer.parseInt(value);
                }
                else if(name.equals("initialDelay"))
                {
                                _initialDelay = Integer.parseInt(value);
                }
                else if(name.equals("default_enabled"))
                {
                                _enabled = Boolean.parseBoolean(value);
                }
                else if(name.equals("target"))
                {
                                _target = String.valueOf(value);
                }
                else if(name.equals("reuse"))
                {
                                _reuse = Integer.parseInt(value);
                }
                else
                {
                                super.setParameter(name, value);
                }
 }
 
 @Override
 protected void onEnter(L2Character character)
 {
                if (character instanceof L2PcInstance)
                {
                                // Set pvp flag
                                ((L2PcInstance) character).setPvpFlag(1);
                                ((L2PcInstance) character).sendMessage("You entered a Pvp Flag zone.Have fun!!!");
                                ((L2PcInstance) character).broadcastUserInfo();
                                         if((character instanceof L2Playable && _target.equalsIgnoreCase("pc") || character instanceof L2PcInstance && _target.equalsIgnoreCase("pc_only") || character instanceof L2MonsterInstance && _target.equalsIgnoreCase("npc")) && _task == null)
                                {
                                                 _task = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ApplySkill(), _initialDelay, _reuse);
                                }
                }
 }
 
 @Override
 protected void onExit(L2Character character)
 {
                if (character instanceof L2PcInstance)
                {
                                ((L2PcInstance) character).setPvpFlag(0);
                                ((L2PcInstance) character).sendMessage("You left the Pvp Flag zone.BAAAAD!!");
                                ((L2PcInstance) character).broadcastUserInfo();
                }
                if(_characterList.isEmpty() && _task != null)
                {
                                _task.cancel(true);
                                _task = null;
                }
 }
 
 public L2Skill getSkill()
 {
                return SkillTable.getInstance().getInfo(_skillId, _skillLvl);
 }
 
 public String getTargetType()
 {
                return _target;
 }
 
 public boolean isEnabled()
 {
                return _enabled;
 }
 
 public int getChance()
 {
                return _chance;
 }
 
 public void setZoneEnabled(boolean val)
 {
                _enabled = val;
 }
 class ApplySkill implements Runnable
 {
                @Override
                public void run()
                {
                                if(isEnabled())
                                {
                                         for(L2Character temp : _characterList)
                                         {
                                                if(temp != null && !temp.isDead())
                                                {
                                                                if((temp instanceof L2Playable && getTargetType().equalsIgnoreCase("pc") || temp instanceof L2PcInstance && getTargetType().equalsIgnoreCase("pc_only") || temp instanceof L2MonsterInstance && getTargetType().equalsIgnoreCase("npc")) && Rnd.get(100) < getChance())
                                                                {
                                                                                L2Skill skill = null;
                                                                                if((skill=getSkill())==null){
                                                                                         System.out.println("ATTENTION: error on zone with id "+getId());
                                                                                         System.out.println("Skill "+_skillId+","+_skillLvl+" not present between skills");
                                                                                }else
                                                                                         skill.getEffects(temp, temp);
                                                                }
                                                }
                                         }
                                }
                }
 }
 
 @Override
 public void onDieInside(L2Character character)
 {
       
 }
 
 @Override
 public void onReviveInside(L2Character character)
 {
                onEnter(character);
 }
}

για δες μια ρε φιλε...

  • 0
Posted
/*
 * This program 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.
 *
 * This program 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 net.sf.l2j.gameserver.model.zone.type;
 
import java.util.concurrent.Future;

import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.zone.L2ZoneType;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.util.Rnd;
 
/**
 * @author Strato
 * @author Elfocrash (for the correction)
 */
public class L2FlagZone extends L2ZoneType
{
 int _skillId;
 private int _chance;
 private int _initialDelay;
 int _skillLvl;
 private int _reuse;
 private boolean _enabled;
 private String _target;
 private Future<?> _task;
 public L2FlagZone(int id)
 {
               super(id);
               _skillId = 1323;
               _skillLvl = 1;
               _chance = 100;
               _initialDelay = 0;
               _reuse = 30000;
               _enabled = true;
               _target = "pc";
 }
 
 @Override
 public void setParameter(String name, String value)
 {
                if(name.equals("skillId"))
                {
                                _skillId = Integer.parseInt(value);
                }
                else if(name.equals("skillLvl"))
                {
                                _skillLvl = Integer.parseInt(value);
                }
                else if(name.equals("chance"))
                {
                                _chance = Integer.parseInt(value);
                }
                else if(name.equals("initialDelay"))
                {
                                _initialDelay = Integer.parseInt(value);
                }
                else if(name.equals("default_enabled"))
                {
                                _enabled = Boolean.parseBoolean(value);
                }
                else if(name.equals("target"))
                {
                                _target = String.valueOf(value);
                }
                else if(name.equals("reuse"))
                {
                                _reuse = Integer.parseInt(value);
                }
                else
                {
                                super.setParameter(name, value);
                }
 }
 
 @Override
 protected void onEnter(L2Character character)
 {
                if (character instanceof L2PcInstance)
                {
                                // Set pvp flag
                                ((L2PcInstance) character).setPvpFlag(1);
                                ((L2PcInstance) character).sendMessage("You entered a Pvp Flag zone.Have fun!!!");
                                ((L2PcInstance) character).broadcastUserInfo();
                                         if((character instanceof L2Playable && _target.equalsIgnoreCase("pc") || character instanceof L2PcInstance && _target.equalsIgnoreCase("pc_only") || character instanceof L2MonsterInstance && _target.equalsIgnoreCase("npc")) && _task == null)
                                {
                                                 _task = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ApplySkill(), _initialDelay, _reuse);
                                }
                }
 }
 
 @Override
 protected void onExit(L2Character character)
 {
                if (character instanceof L2PcInstance)
                {
                                ((L2PcInstance) character).setPvpFlag(0);
                                ((L2PcInstance) character).sendMessage("You left the Pvp Flag zone.BAAAAD!!");
                                ((L2PcInstance) character).broadcastUserInfo();
                }
                if(_characterList.isEmpty() && _task != null)
                {
                                _task.cancel(true);
                                _task = null;
                }
 }
 
 public L2Skill getSkill()
 {
                return SkillTable.getInstance().getInfo(_skillId, _skillLvl);
 }
 
 public String getTargetType()
 {
                return _target;
 }
 
 public boolean isEnabled()
 {
                return _enabled;
 }
 
 public int getChance()
 {
                return _chance;
 }
 
 public void setZoneEnabled(boolean val)
 {
                _enabled = val;
 }
 class ApplySkill implements Runnable
 {
                @Override
                public void run()
                {
                                if(isEnabled())
                                {
                                         for(L2Character temp : _characterList)
                                         {
                                                if(temp != null && !temp.isDead())
                                                {
                                                                if((temp instanceof L2Playable && getTargetType().equalsIgnoreCase("pc") || temp instanceof L2PcInstance && getTargetType().equalsIgnoreCase("pc_only") || temp instanceof L2MonsterInstance && getTargetType().equalsIgnoreCase("npc")) && Rnd.get(100) < getChance())
                                                                {
                                                                                L2Skill skill = null;
                                                                                if((skill=getSkill())==null){
                                                                                         System.out.println("ATTENTION: error on zone with id "+getId());
                                                                                         System.out.println("Skill "+_skillId+","+_skillLvl+" not present between skills");
                                                                                }else
                                                                                         skill.getEffects(temp, temp);
                                                                }
                                                }
                                         }
                                }
                }
 }
 
 @Override
 public void onDieInside(L2Character character)
 {
       
 }
 
 @Override
 public void onReviveInside(L2Character character)
 {
                onEnter(character);
 }
}

για δες μια ρε φιλε...

 

καλά το έκανες, το  _characterList είναι από μόνο του μια λίστα, δεν είναι κλάση για να καλέσεις μέθοδο .values() ή οποιαδήποτε άλλη που να καλεί μια λίστα.

  • 0
Guest Elfocrash
Posted

καλά το έκανες, το  _characterList είναι από μόνο του μια λίστα, δεν είναι κλάση για να καλέσεις μέθοδο .values() ή οποιαδήποτε άλλη που να καλεί μια λίστα.

Kala entaksei den uparxei glwssa ston galaksia pou na mporei an eksighsei poso astoxo htan auto pou eipes.

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.

×
×
  • Create New...