- 0
[Help][Interlude]Gordon attack all players
-
Posts
-
🎉 L2NeverPain StuckSub - GRAND OPENING 12 December 2025🎉 After beta, testing, mistakes, laughs and a lot of PvP, the moment has finally come. L2NeverPain StuckSub is officially opening its gates on 12 December 2025. ⚔️What to expect: ✦Main Class +2 Stuck Sub system ✦Balanced PvP & custom party farm areas ✦Custom events, bosses and strong rewards ✦Competitive clan scene with castle rewards 📌Until the opening: ✦Create your clans and register them in the Clan-Register channel ✦Invite your friends / old parties / CPs ✦Stay tuned for more information (rates, events, siege times, etc.) Get your setups ready, prepare your macros and your Discord/voice. On 12 December 2025 20:00 GMT+2, we write the first chapter of NeverPain together. 🔥 https://l2neverpain.com/ https://discord.gg/kNP3UXgkmN
-
Check my post where I shared Lucera pack, you can pick textures from there. Here is a link of datapack/srv https://eu2.contabostorage.com/d4b39866f6bb4084b6c969ec8fe20063:kita/Lucera_Classic_Remaster/Lucera Classic Remaster Server and Datapack files.rar
-
By SephirothFx · Posted
Hi friends, does anyone have these Aden Classic textures for IL + geodata? Please ❤️ -
New products in our store: ➡Telegram Ukraine +380 | NO USED BEFORE | CLEAR ACCOUNTS | TDATA | No Spam Block | 2FA included | Age: from 3 days | Price from $3.2 ➡Facebook OLD Account 2020–2023 | Geo: EU+ASIA | Age: 2020–2023 | Profile filled with real friends: 50+ | Email Included + 2FA included | Real accounts | Price from $4.5 ➡SORA 2 | Invite code for YOUR account or a READY ChatGPT account + Sora 2 (read the product description) | Price from $2 ➡Instagram REALLY OLD accounts (2010–2013) with/without 2FA access | Country: MIX | Submail included | Price from $4 ➡Reddit FOR ONLYFANS Karma OLD Accounts | 1,000–10,000 KARMA (your choice) | MIX IP Registered | High-Quality Accounts for ONLYFANS WORKERS | Price from $4 ➡Mail.tm (temporary mails) AutoReg Account | Mixed IPs and Mixed Gender | IMAP, POP3, and SMTP Enabled | Price from $0.005 ➡ShadowSocks, VLESS, Trojan VPN Client | Any Country of Your Choice | Works on All Devices and in Any Country (Including Russia!) | Duration: 30/90/180/360 days | Price from $3 ➡TIKTOK ADS VERIFIED ACCOUNTS | GEO: ASIA/USA/EUROPE, AFRICA, ARABIC COUNTRIES, SOUTH AMERICA | Business Verified On ASIA/USA/EUROPE Company + POSTPAY | FULL ACCESS | Price from: $20 ➡TIKTOK ADS ACCOUNTS | GEO: Europe + Australia (your choice) | Business Verified + POSTPAY + BONUS COUPON for $6000 | Manual Registration | Email access + Cookies + VAT Info | Price from: $6 ➡Telegram API/HASH USA +1 Autoreg 1+ month age TDATA + SESSION + JSON + 2FA + API/HASH ID | Price from: $0.95 ➡KYC Business Verification Services | Verification for any service | Available geo: EUROPE, USA, ASIA Companies | Price from $300 ➡Telegram USA/Canada +1 with ACTIVE PREMIUM UP TO 01.12.2025 Autoreg | Age: from 6+ months | TDATA + SESSION + JSON + 2FA + PREMIUM | Price from $0.65 ➡Telegram USA/Canada +1 with ACTIVE PREMIUM (30 DAYS) Autoreg | Age: from 6+ months | TDATA + SESSION + JSON + 2FA + PREMIUM for 30 DAYS | Price from $5 Available for purchase in our store on the website or via the Telegram bot! Active links: Digital goods store (Website): Go to Store Telegram bot: Go to – convenient access to the store through the Telegram messenger. Other services: Virtual numbers service: Go to Telegram bot for purchasing Telegram Stars: Go to – fast and profitable purchase of Stars in Telegram. SMM Panel: Go to – promotion of your social media accounts. We want to present you the current list of promotions and special offers for purchasing our service’s products and services: 1. You can use a promo code for your first purchase: SOCNET (15% discount) 2. Get $1 on your store balance or a 10–20% discount — simply send your username after registering on our website using the following template: "SEND ME BONUS, MY USERNAME IS..." — you need to write this in our forum thread! 3. Get $1 for the first trial start of the SMM Panel: just open a ticket with the subject “Get Trial Bonus” on our website (Support). 4. Weekly Telegram Stars giveaways in our Telegram channel and in our bot for purchasing stars! News: ➡ Telegram channel: https://t.me/accsforyou_shop ➡ WhatsApp channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord server: https://discord.gg/y9AStFFsrh Contacts and Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
-
Topics

Question
Tassadar
Good evening peoples
Please maybe someone help me change script for Raid Boss Gordon (who walked around Godard, and have agression only with characters who have cursed weapon)
He must attack all players, not only who have cursed weapon.
package ai.individual;
import java.util.Collection;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.datatables.SpawnTable;
import net.sf.l2j.gameserver.model.L2Attackable;
import net.sf.l2j.gameserver.model.L2CharPosition;
import net.sf.l2j.gameserver.model.L2Spawn;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import ai.group_template.L2AttackableAIScript;
public class Gordon extends L2AttackableAIScript
{
private static final int GORDON = 29095;
private static int _npcMoveX = 0;
private static int _npcMoveY = 0;
private static int _isWalkTo = 0;
private static int _npcBlock = 0;
private static int X = 0;
private static int Y = 0;
private static int Z = 0;
private static final int[][] WALKS = {
{141569, -45908, -2387},{142494, -45456, -2397},{142922, -44561, -2395},
{143672, -44130, -2398},{144557, -43378, -2325},{145839, -43267, -2301},
{147044, -43601, -2307},{148140, -43206, -2303},{148815, -43434, -2328},
{149862, -44151, -2558},{151037, -44197, -2708},{152555, -42756, -2836},
{154808, -39546, -3236},{155333, -39962, -3272},{156531, -41240, -3470},
{156863, -43232, -3707},{156783, -44198, -3764},{158169, -45163, -3541},
{158952, -45479, -3473},{160039, -46514, -3634},{160244, -47429, -3656},
{159155, -48109, -3665},{159558, -51027, -3523},{159396, -53362, -3244},
{160872, -56556, -2789},{160857, -59072, -2613},{160410, -59888, -2647},
{158770, -60173, -2673},{156368, -59557, -2638},{155188, -59868, -2642},
{154118, -60591, -2731},{153571, -61567, -2821},{153457, -62819, -2886},
{152939, -63778, -3003},{151816, -64209, -3120},{147655, -64826, -3433},
{145422, -64576, -3369},{144097, -64320, -3404},{140780, -61618, -3096},
{139688, -61450, -3062},{138267, -61743, -3056},{138613, -58491, -3465},
{138139, -57252, -3517},{139555, -56044, -3310},{139107, -54537, -3240},
{139279, -53781, -3091},{139810, -52687, -2866},{139657, -52041, -2793},
{139215, -51355, -2698},{139334, -50514, -2594},{139817, -49715, -2449},
{139824, -48976, -2263},{140130, -47578, -2213},{140483, -46339, -2382},
{141569, -45908, -2387}};
private static boolean _isAttacked = false;
private static boolean _isSpawned = false;
public Gordon (int id, String name, String descr)
{
super(id,name,descr);
int[] mobs = {GORDON};
registerMobs(mobs);
// wait 2 minutes after Start AI
startQuestTimer("check_ai", 120000, null, null, true);
_isSpawned = false;
_isAttacked = false;
_isWalkTo = 1;
_npcMoveX = 0;
_npcMoveY = 0;
_npcBlock = 0;
}
public L2NpcInstance findTemplate(int npcId)
{
L2NpcInstance npc = null;
for (L2Spawn spawn : SpawnTable.getInstance().getSpawnTable().values())
{
if (spawn != null && spawn.getNpcid() == npcId)
{
npc = spawn.getLastSpawn();
break;
}
}
return npc;
}
public String onAdvEvent (String event, L2NpcInstance npc, L2PcInstance player)
{
X = WALKS[_isWalkTo-1][0];
Y = WALKS[_isWalkTo-1][1];
Z = WALKS[_isWalkTo-1][2];
if (event == "time_isAttacked")
{
_isAttacked = false;
if (npc.getNpcId() == GORDON)
{
npc.setWalking();
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(X, Y, Z, 0));
}
}
else if (event == "check_ai")
{
cancelQuestTimer("check_ai", null, null);
if (_isSpawned == false)
{
L2NpcInstance gordon_ai = findTemplate(GORDON);
if (gordon_ai != null)
{
_isSpawned = true;
startQuestTimer("Start", 1000, gordon_ai, null, true);
return super.onAdvEvent(event, npc, player);
}
}
}
else if (event == "Start")
{
if (npc != null && _isSpawned == true)
{
// check if player have Cursed Weapon and in radius
if (npc.getNpcId() == GORDON)
{
Collection<L2PcInstance> chars = npc.getKnownList().getKnownPlayers().values();
if (chars != null && chars.size() > 0)
{
for (L2PcInstance pc : chars)
{
if (pc.isCursedWeaponEquiped() && pc.isInsideRadius(npc,5000,false,false))
{
npc.setRunning();
((L2Attackable)npc).addDamageHate(pc,0,9999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, pc);
_isAttacked = true;
cancelQuestTimer("time_isAttacked",null, null);
startQuestTimer("time_isAttacked",180000, npc, null);
return super.onAdvEvent(event, npc, player);
}
}
}
}
// end check
if (_isAttacked == true)
return super.onAdvEvent(event, npc, player);
if (npc.getNpcId() == GORDON && (npc.getX()-50) <= X && (npc.getX()+50) >= X && (npc.getY()-50) <= Y && (npc.getY()+50) >= Y)
{
_isWalkTo++;
if (_isWalkTo > 55)
_isWalkTo = 1;
X = WALKS[_isWalkTo-1][0];
Y = WALKS[_isWalkTo-1][1];
Z = WALKS[_isWalkTo-1][2];
npc.setWalking();
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO,new L2CharPosition(X, Y, Z, 0));
}
// Test for unblock Npc
if (npc.getX() != _npcMoveX && npc.getY() != _npcMoveY)
{
_npcMoveX = npc.getX();
_npcMoveY = npc.getY();
_npcBlock = 0;
}
else if (npc.getNpcId() == GORDON)
{
_npcBlock++;
if (_npcBlock > 2)
{
return super.onAdvEvent(event, npc, player);
}
if (_npcBlock > 0)
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO,new L2CharPosition(X, Y, Z, 0));
}
// End Test unblock Npc
}
}
return super.onAdvEvent(event, npc, player);
}
public String onSpawn (L2NpcInstance npc)
{
if (npc.getNpcId() == GORDON && _npcBlock == 0)
{
_isSpawned = true;
_isWalkTo = 1;
startQuestTimer("Start", 1000, npc, null, true);
}
return super.onSpawn(npc);
}
public String onAttack (L2NpcInstance npc, L2PcInstance player, int damage, boolean isPet)
{
if (npc.getNpcId() == GORDON)
{
_isAttacked = true;
cancelQuestTimer("time_isAttacked", null, null);
startQuestTimer("time_isAttacked", 180000, npc, null);
if (player != null)
{
npc.setRunning();
((L2Attackable)npc).addDamageHate(player, 0, 100);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
}
}
return super.onAttack(npc, player, damage, isPet);
}
public String onKill (L2NpcInstance npc, L2PcInstance killer, boolean isPet)
{
if (npc.getNpcId() == GORDON)
{
cancelQuestTimer("Start", null, null);
cancelQuestTimer("time_isAttacked", null, null);
_isSpawned = false;
}
return super.onKill(npc,killer,isPet);
}
public static void main(String[] args)
{
new Gordon(-1,"gordon","ai");
}
}
7 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now