عرض مشاركة واحدة
قديم 2019-07-27, 11:33 PM
المشاركة #14  
osama
  • غير متواجد
افتراضي رد: التحكم بصعوبة او سهولة الجانج
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
اتفضل

كود:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using playconquer.client;
using system.io;

namespace 
playconquer.game
{
public interface 
ijianghu
{
string ownname getset; }
string customizedname getset; }
uint uid getset; }
byte talent getset; }
byte stage getset; }
byte star getset; }
datetime startcountdwon getset; }
datetime countdownend getset; }
uint time get; }
uint freetimetodey getset; }
uint freetimetodeyused getset; }
uint inner_strength getset; }
uint freecourse getset; }
jianghu.jiangstages[] stagers getset; }
byte rank getset; }
byte level getset; }
ushort roundbuypoints getset; }
bool onjiangmode getset; }
}
public class 
jianghu Ijianghu
{
public 
enum attackflag
{
none 0,
nothitfriends 1,
nothitclanmembers 2,
nothitguildmembers 4,
nothitalliedguild 8,
nohitalliesclan 16

}
public static 
system.collections.concurrent.concurrentdictionary <uintijianghujianghuclients = new system.collections.concurrent.concurrentdictionary <uintijianghu>();

public static class 
jianghuranking
{
private static 
system.collections.concurrent.concurrentdictionary <uintijianghutoprank = new system.collections.concurrent.concurrentdictionary <uintijianghu>();
public static 
ijianghu[] toprank100 null;
private static 
object syncroot = new object();
public static 
void updaterank(ijianghu jiang)
{
lock (syncroot)
{
if (!
toprank.containskey(jiang.uid))
toprank.tryadd(jiang.uidjiang);
calculateranks();
}
}
private static 
void calculateranks()
{
foreach (var 
jiang in toprank.values)
jiang.rank 0;
var 
rankdictionar toprank.values.toarray();
var 
ordonaterank from jiang in rankdictionar orderby jiang.inner_strength descending select jiang;
list<
ijianghubackup = new list<ijianghu>();
byte x 1;
foreach (var 
jiang in ordonaterank)
{
if (
== 101)
break;
jiang.rank x;
backup.add(jiang);
x++;
}
toprank100 backup.toarray();
toprank = new system.collections.concurrent.concurrentdictionary <uintijianghu>();
foreach (var 
jiang in backup)
toprank.tryadd(jiang.uidjiang);
backup null;

}
}

public class 
getnewstar
{
public 
byte stage;
public 
byte positionstar;
public 
jiangstages.star star;
}
public class 
jiangstages
{
public class 
star
{
public 
atributestype typ;
public 
byte level;
public 
ushort uid;
public 
bool activate false;

public 
override string tostring()
{
stringbuilder build = new stringbuilder();
build.append((byte)(activate 0) + "#" uid "#");
return 
build.tostring();
}
}
public 
enum atributestype
{
none 0,
maxlife,//1
pattack,//2
mattack,//3
pdefense,//4
mdefense,//5
finalattack,//6
finalmagicattack,//7
finaldefense,//8
finalmagicdefense,//9
criticalstrike,//10
skillcriticalstrike,//11
immunity,//12
breakthrough,//13
counteraction,//14
maxmana//15
}
public 
star[] stars;
public 
bool activate false;
public 
jiangstages()
{
stars = new star[9];
for (
byte x 09x++)
stars[x] = new star();
}
public 
bool containatribut(atributestype typ)
{
foreach (var 
atr in stars)
if (
atr.typ == typ)
return 
true;
return 
false;
}
public 
override string tostring()
{

stringbuilder build = new stringbuilder();
build.append((byte)(activate 0) + "#");
foreach (var 
obj in stars)
build.append(obj.tostring());
return 
build.tostring();
}
}

public 
ushort valuetoroll(jiangstages.atributestype statusbyte level)
{
return (
ushort)((ushort)status level 256);
}
public 
byte getvaluelevel(ushort val)
{
return (
byte)((val - (ushort)(val 256)) / 256);
}
public 
jiangstages.atributestype getvaluetype(uint val)
{
return (
jiangstages.atributestype)(val 256);
}
public 
getnewstar mynewstart null;
public 
byte calculatejiangscorelevel()
{
byte c 0;
byte level1 0;
byte level2 0;
byte level3 0;
byte level4 0;
byte level5 0;
byte level6 0;
foreach (var 
stg in stagers)
{
if (!
stg.activate) continue;
+= 1;
foreach (var 
star in stg.stars)
{
if (
star.level == 0) continue;
if (
star.level >= 1level1++;
if (
star.level >= 2level2++;
if (
star.level >= 3level3++;
if (
star.level >= 4level4++;
if (
star.level >= 5level5++;
if (
star.level >= 6level6++;
}
}
if (
level1 >= 81c++;
if (
level2 >= 81c++;
if (
level3 >= 81c++;
if (
level4 >= 81c++;
if (
level5 >= 81c++;
if (
level6 >= 81c++;
return 
c;
}
byte jlevel 0;
public 
void createrollvalue(client.gamestate clientbyte mstarbyte mstagebool super falsebyte higher 0)
{
jlevel client.entity.myjiang.calculatejiangscorelevel();
jiangstages n_stage stagers[mstage 1];
if (!
n_stage.activate) return;
mynewstart = new getnewstar();
mynewstart.positionstar mstar;
mynewstart.stage mstage;

mynewstart.star = new jiangstages.star();
mynewstart.star.activate true;
var 
level mynewstart.star.level;
mynewstart.star.level getstatuslevel(super);
if (
higher == 1)
{
if (
kernel.rate(4))
{
mynewstart.star.level = (byte)random.next(115);
}
}
if (
higher == 2)
{
if (
kernel.rate(70))
{
mynewstart.star.level = (byte)random.next(15);
while (
mynewstart.star.level == && kernel.rate(50))
{
mynewstart.star.level--;
}
if (
mynewstart.star.level 6mynewstart.star.level 6;
}
}
mynewstart.star.typ = (jiangstages.atributestype)random.next(116);
do
{
mynewstart.star.typ = (jiangstages.atributestype)random.next(116);
}
while (!
database.jianghu.cultivatestatus[mstage].contains((byte)mynewstart.star.typ));

mynewstart.star.uid valuetoroll(mynewstart.star.typmynewstart.star.level);

network.gamepackets.jianghuupdate upd = new network.gamepackets.jianghuupdate();

upd.atribute mynewstart.star.uid;
upd.freecourse freecourse;
upd.stage mstage;
upd.star mstar;
upd.freetimetodeyused = (byte)freetimetodeyused;
upd.roundbuypoints roundbuypoints;
client.send(upd.toarray());
if (
mynewstart.star.level >= 6)
{
foreach (var 
player in kernel.gamepool.values)
{
player.send(new network.gamepackets.message("wow, " client.entity.name " went down the chaotic path and improved the attribute to epic!"system.drawing.color.red2026));
}
}

}

private static 
bool cankeepchipower(jiangstages strctgetnewstar nstargamestate client)
{
//#if notmultiplechipowers
if (client.entity.viplevel 3)
{
var 
stars strct.stars;
for (
int i 0stars.lengthi++)
if (
!= (nstar.positionstar 1))
if (
stars[i].typ == nstar.star.typ)
return 
false;
}
//#endif
return true;
}

public 
void applaynewstar(client.gamestate client)
{
if (
mynewstart == null)
return;
jiangstages n_stage stagers[mynewstart.stage 1];
if (!
n_stage.activate) return;

jiangstages.star n_star n_stage.stars[mynewstart.positionstar 1];
if (!
n_star.activate)
{
star++;
n_star.activate true;
}
n_star.level mynewstart.star.level;
n_star.typ mynewstart.star.typ;
n_star.uid mynewstart.star.uid;

client.loaditemstats();
if (
mynewstart.stage 9)
{
if (
mynewstart.positionstar == && !stagers[mynewstart.stage].activate)
{
stage++;
stagers[mynewstart.stage].activate true;
sendinfo(clientnetwork.gamepackets.jianghu.openstagestage.tostring());
}
}

//jianghuranking.updaterank(this);
mynewstart null;
if (
client.entity.myjiang != null && client.entity.myjiang.inner_strength >= 81000)
{
new 
network.gamepackets.titlestorage().addtitle(client 20045false);
}
if (
jlevel != client.entity.myjiang.calculatejiangscorelevel() && jlevel != 0)
{
foreach (var 
player in kernel.gamepool.values)
{
if (
client.entity.myjiang.calculatejiangscorelevel() < 10) break;
player.send(new network.gamepackets.message(client.entity.name " increased score level to " client.entity.myjiang.calculatejiangscorelevel() + "!"system.drawing.color.red2026));
}
client.send(new network.gamepackets.message("you unlocked stage " client.entity.myjiang.calculatejiangscorelevel() + "!"system.drawing.color.rednetwork.gamepackets.message.system));
}
}
public static 
byte getlve 6;
public 
byte getstatuslevel(bool super false)
{
if (
super)
return 
6;
byte first = (byte)random.next(17);
if (
first >= 5)
{
first = (byte)random.next(17);
if (
first 6)
first 6;
}
return 
first;
}

public 
void createstatusatributes(game.entity client)
{
uint oldinner_strength inner_strength;
inner_strength 0;
foreach (var 
nstage in stagers)
{
if (!
nstage.activate) continue;

var 
atr nstage.stars.where(=> p.uid != 0).toarray();

byte count_doble 0;

dictionary<uint, list<jiangstages.star>> alignementstars = new dictionary<uint, list<jiangstages.star>>();
list<
jiangstages.starnormalstarts = new list<jiangstages.star>();
ushort counts_alignements 0;
for (
byte x 0atr.lengthx++)
{
var 
atribut atr[x];
count_doble 0;
bool wasadd false;
for (
byte y = (byte)(1); atr.lengthy++)
{
var 
atr2nd atr[y];
if (
atr2nd.typ == atribut.typ)
{
if (!
wasadd)
{
if (!
alignementstars.containskey(counts_alignements))
{
alignementstars.add(counts_alignements, new list<jiangstages.star>());
alignementstars[counts_alignements].add(atribut);
}
}
if (!
alignementstars.containskey(counts_alignements))
{
alignementstars.add(counts_alignements, new list<jiangstages.star>());
alignementstars[counts_alignements].add(atr2nd);
}
else
alignementstars[counts_alignements].add(atr2nd);
wasadd true;
y;
count_doble++;
}
else
{
break;
}
}
uint counts 1;
if (
count_doble != 0)
{
counts = (byte)(count_doble 1);
counts_alignements++;
}
if (
counts == 1)
normalstarts.add(atribut);

}
byte percent = (byte)database.jianghu.alignmentextrapoints(count_ doble);
foreach (var 
allignement in alignementstars.values)
{
for (
int i 0allignement.counti++)
{

database.jianghu.atribut atri_bas database.jianghu.atributes[allignement[i].uid];
if (
client != null)
increasestatus(client, (jiangstages.atributestype)atri_bas.type, (ushort)((atri_bas.power + (atri_bas.power percent) / 100)));
}

}
count_doble 0;
foreach (var 
allignement in alignementstars.values)
calculateinner_strengthalignements(allignement);
for (
int x 0normalstarts.countx++)
{
database.jianghu.atribut atri_bas database.jianghu.atributes[normalstarts[x].uid];
if (
client != null)
increasestatus(client, (jiangstages.atributestype)atri_bas.type, (ushort)atri_bas.power);
inner_strength += database.jianghu.getstatuspoints(normalstarts[x].level);
}
}
if (
oldinner_strength != inner_strength)
jianghuranking.updaterank(this);
}
public 
void calculateinner_strengthalignements(list<jiangstage s.starcollection)
{
ushort points 0;
for (
int x 0collection.countx++)
{
points += database.jianghu.getstatuspoints(collection[x].level);
}
if (
collection.count && collection.count 9)
inner_strength += (ushort)(points + ((points * ((collection.count) * 10) / 100)));
else if (
collection.count == 9)
inner_strength += (ushort)(points 2);
}
public 
void increasestatus(entity clientjiangstages.atributestype statusushort power)
{
switch (
status)
{
case 
jiangstages.atributestype.breakthrough:
Client.breaktrough += power;
break;
case 
jiangstages.atributestype.counteraction:
Client.counteraction += power; break;
case 
jiangstages.atributestype.criticalstrike:
Client.criticalstrike += power; break;
case 
jiangstages.atributestype.finalattack:
Client.physicaldamageincrease += power; break;
case 
jiangstages.atributestype.finaldefense:
Client.physicaldamagedecrease += power; break;
case 
jiangstages.atributestype.finalmagicattack:
Client.magicdamageincrease += power; break;
case 
jiangstages.atributestype.finalmagicdefense:
Client.magicdamagedecrease += power; break;
case 
jiangstages.atributestype.immunity:
Client.immunity += power; break;
case 
jiangstages.atributestype.mattack:
{


client.mattack += power;
client.basemagicattack += power; break;
}
case 
jiangstages.atributestype.maxlife:
Client.itemhp += power; break;//24283 27118 - 24283
case jiangstages.atributestype.maxmana:
Client.itemmp += power; break;
case 
jiangstages.atributestype.mdefense:
{
//client.mdefense += power;
client.magicdefence += power; break;
}
case 
jiangstages.atributestype.pattack:
{
// client.tqmaxattack += power;
// client.tqminattack += power;

client.basemaxattack += power;
client.baseminattack += power; break;
}
case 
jiangstages.atributestype.pdefense:
Client.defence += power; break;
case 
jiangstages.atributestype.skillcriticalstrike:
Client.skillcstrike += power; break;
}
}
public 
void decreasestatus(entity clientjiangstages.atributestype statusushort power)
{
switch (
status)
{
case 
jiangstages.atributestype.breakthrough:
Client.breaktrough -= power;
break;
case 
jiangstages.atributestype.counteraction:
Client.counteraction -= power; break;
case 
jiangstages.atributestype.criticalstrike:
Client.criticalstrike -= power; break;
case 
jiangstages.atributestype.finalattack:
Client.physicaldamageincrease -= power; break;
case 
jiangstages.atributestype.finaldefense:
Client.physicaldamagedecrease -= power; break;
case 
jiangstages.atributestype.finalmagicattack:
Client.magicdamageincrease -= power; break;
case 
jiangstages.atributestype.finalmagicdefense:
Client.magicdamagedecrease -= power; break;
case 
jiangstages.atributestype.immunity:
Client.immunity -= power; break;
case 
jiangstages.atributestype.mattack:
Client.magicattack -= power; break;
case 
jiangstages.atributestype.maxlife:
Client.maxhitpoints -= power; break;
case 
jiangstages.atributestype.maxmana:
Client.maxmana -= power; break;
case 
jiangstages.atributestype.mdefense:
Client.magicdefence -= power; break;
case 
jiangstages.atributestype.pattack:
{
client.basemaxattack -= power;
client.baseminattack -= power; break;
}
case 
jiangstages.atributestype.pdefense:
Client.defence -= power; break;
case 
jiangstages.atributestype.skillcriticalstrike:
Client.skillcstrike -= power; break;
}
}
public 
void createstardmg(jiangstages stage)
{

}
public 
uint uid getset; }
public 
string ownname getset; }
public 
string customizedname getset; }
public 
byte level getset; }

public 
byte talent getset; }
public 
byte stage getset; }
public 
byte star getset; }
public 
uint freecourse getset; }

public 
byte rank getset; }
public 
datetime startcountdwon getset; }
public 
datetime countdownend getset; }
public 
datetime removejiangmod;
public 
datetime timerstamp;
public 
uint time
{
get
{
return (
uint)(countdownend - new datetime(197011).tolocaltime()).totalseconds;
}
}
public 
bool onjiangmode getset; }

public 
uint freetimetodey getset; }
public 
uint freetimetodeyused getset; }

public 
uint inner_strength getset; }
public 
ushort roundbuypoints getset; }
public 
random random = new random();
public 
jiangstages[] stagers getset; }

public 
override string tostring()
{
if (
startcountdwon.ticks countdownend.ticks)
createtime();
uint secoundesleft = (uint)((countdownend.ticks startcountdwon.ticks) / 10000000);
if (
ownname.contains('#'))
ownname ownname.replace("#""");
if (
customizedname.contains('#'))
customizedname customizedname.replace("#""");

stringbuilder build = new stringbuilder();
build.append(uid "#" ownname "#" customizedname "#" level "#" +
talent "#" stage "#" star "#" freetimetodeyused "#" +
(
byte)(onjiangmode 1) + "#" freecourse "#" secoundesleft "#" roundbuypoints "#");
foreach (var 
obj in stagers)
build.append(obj.tostring());
return 
build.tostring();
}

public 
void load(string lineuint nuid 0)
{
try
{
if (
line == null) return;
if (
line == "") return;
if (!
line.contains('#')) return;
string[] data line.split('#');
if (
nuid != 0)
uid nuid;
else
uid uint.parse(data[0]);
ownname data[1];
customizedname data[2];

try
{
level byte.parse(data[3]);
}
catch (
exception)
{

}
talent byte.parse(data[4]);
stage byte.parse(data[5]);
star byte.parse(data[6]);
freetimetodey byte.parse(data[7]);
onjiangmode byte.parse(data[8]) == 1;
freecourse uint.parse(data[9]);
startcountdwon datetime.now;
timerstamp datetime.now;
countdownend datetime.now.addseconds(uint.parse(data[10]));
roundbuypoints ushort.parse(data[11]);
ushort position 12;

foreach (var 
nstage in stagers)
{
nstage.activate byte.parse(data[position]) == 1;
position++;
foreach (var 
nstar in nstage.stars)
{

nstar.activate byte.parse(data[position]) == 1;
position++;
nstar.uid ushort.parse(data[position]);
position++;
if (
nstar.activate)
{
nstar.typ getvaluetype(nstar.uid);
nstar.level getvaluelevel(nstar.uid);
inner_strength += database.jianghu.getstatuspoints(nstar.level);
}
}

}
}
catch (
exception) { }
}
public 
void deserialize(binaryreader reader)
{
try
{
level reader.readbyte();
talent reader.readbyte();
stage reader.readbyte();
star reader.readbyte();
freetimetodey reader.readuint32();
onjiangmode reader.readboolean();
freecourse reader.readuint32();
startcountdwon datetime.now;
timerstamp datetime.now;
countdownend datetime.now.addseconds(reader.readuint32());
roundbuypoints reader.readuint16();
foreach (var 
nstage in stagers)
{
nstage.activate reader.readboolean();
foreach (var 
nstar in nstage.stars)
{
nstar.activate reader.readboolean();
nstar.uid reader.readuint16();
if (
nstar.activate)
{
nstar.typ getvaluetype(nstar.uid);
nstar.level getvaluelevel(nstar.uid);
inner_strength += database.jianghu.getstatuspoints(nstar.level);
}
}

}
}
catch (
exception) { }
}
public 
void serialize(binarywriter writer)
{
try
{
if (
startcountdwon.ticks countdownend.ticks)
createtime();
uint secoundesleft = (uint)((countdownend.ticks startcountdwon.ticks) / 10000000);
writer.write(level);
writer.write(talent);
writer.write(stage);
writer.write(star);
writer.write(freetimetodey);
writer.write(onjiangmode);
writer.write(freecourse);
writer.write(secoundesleft);
writer.write(roundbuypoints);
foreach (var 
nstage in stagers)
{
writer.write(nstage.activate);
foreach (var 
nstar in nstage.stars)
{
writer.write(nstar.activate);
writer.write(nstar.uid);
}
}
}
catch (
exception)
{

}
}

public 
jianghu(uint m_uid)
{
talent 3;
stage 1;
star 1;
freecourse 100000;
freetimetodey 10;
uid m_uid;
countdownend = new datetime();
startcountdwon = new datetime();
timerstamp = new datetime();
removejiangmod = new datetime();
stagers = new jiangstages[9];
for (
byte x 09x++)
stagers[x] = new jiangstages();
if (!
jianghuclients.containskey(uid) && uid != 0)
jianghuclients.tryadd(uidthis);
onjiangmode true;
timerstamp datetime.now;
}
public 
void resetday(client.gamestate client)
{
roundbuypoints 0;
freetimetodeyused 0;
sendstatus(clientclient);
}

public 
void onloginclient(client.gamestate client)
{
sendstatus(clientclient);
sendstatusmode(clienttrue);
timerstamp datetime.now;
}
public 
void sendstatusmode(client.gamestate clientbool justlogen false)
{
client.entity.jiangtalent talent;
client.entity.jiangactive onjiangmode;
if (
onjiangmode == false && !justlogen)
client.send(new network.gamepackets.message("you have temporarily quit the jiang hu!"system.drawing.color.rednetwork.gamepackets.message.system));
sendinfo(clientnetwork.gamepackets.jianghu.infostautsclient.entity.uid.tostring(), talent.tostring(),
onjiangmode "1" "2");
if (
onjiangmode)
removejiangmod datetime.now;
client.sendscreen(client.entity.spawnpacketfalse);

}

public 
void createtime()
{
startcountdwon datetime.now;
countdownend datetime.now.addminutes(database.jianghu.getminute sontalent(talent));
}
public 
void theadtime(client.gamestate client)
{
try
{
if (
client == null)
return;
if (
client.entity == null)
return;
if (!
client.entity.fullyloaded)
return;
if (
datetime.now timerstamp.addminutes(1))
{

if (
client.entity.pkmode != enums.pkmode.jiang)
{
if (
onjiangmode)
{
if (
datetime.now >= removejiangmod.addminutes(10))
{
onjiangmode false;
sendstatusmode(client);
}
}
}
if (
client.entity.pkmode == enums.pkmode.jiang)
{
onjiangmode true;
removejiangmod datetime.now;
}

if (
freecourse 1000000)
{
if (
intwincastle(client.entity))
{
startcountdwon startcountdwon.addminutes(database.jianghu.getminu tesincastle(talent));
freecourse += database.jianghu.getfreecourseincastle(talent);
}
else
{
freecourse += database.jianghu.getfreecourse(talent);
startcountdwon startcountdwon.addminutes(1);
}
if (
startcountdwon countdownend)
getreward(client);
sendinfo(clientnetwork.gamepackets.jianghu.updatetimefreecourse.tostring(), time.tostring());

if (
freecourse 10000 == 0)
getreward(client);

}
else
freecourse 10000000;
timerstamp datetime.now;

}
}
catch (
exception)
{

}
}
public 
bool getrate(byte val)
{
return (
random.next() % 100) < val;
}
public 
void getkill(client.gamestate attackerjianghu attacked)
{
if (
attacker.entity.jiangtalent 4)
{
if (
attacker.entity.jiangtalent <= attacked.talent)
{
attacked.talent -= 1;
talent += 1;
attacker.entity.jiangtalent talent;
sendinfo(attackernetwork.gamepackets.jianghu.updatetalentattacker.entity.uid.tostring(), talent.tostring());
}
}
}
public 
bool samecoursestage(uint firstuint last)
{
if (
first 100000)
return 
first.tostring()[2] == last.tostring()[2];
else
return 
first.tostring()[1] == last.tostring()[1];
}
public 
void getreward(client.gamestate client)
{
do 
freecourse++; while (freecourse 1000 != 0);
sendinfo(clientnetwork.gamepackets.jianghu.updatetimefreecourse.tostring(), time.tostring());
createtime();
}
public 
bool intwincastle(entity location)
{
ushort x location.x;
ushort y location.y;
if (
location.mapid != 1002)
return 
false;

if (
<= 357 && >= 274 && <= 277 && >= 110)
return 
true;
if (
>= 335 && <= 370 && <= 235 && >= 232)
return 
true;
if (
>= 281 && <= 350 && >= 268 && <= 322)
return 
true;
if (
>= 247 && <= 291 && >= 200 && <= 243)
return 
true;

return 
false;
}
public 
object sync = new object();
public 
void sendinfo(client.gamestate clientbyte mode 1params string[] data)
{
lock (sync)
{
try
{
network.gamepackets.jianghu jinag = new network.gamepackets.jianghu();
jinag.mode mode;
jinag.texts = new list<string>(data);
jinag.createarray();
jinag.send(client);
}
catch (
exception)
{

}
}
}
public 
void sendstatus(client.gamestate clientclient.gamestate attacked)
{
try
{
var 
dictionary stagers.where(=> p.activate);
network.gamepackets.jianghustatus stat = new network.gamepackets.jianghustatus((byte)dictionary .count());
stat.name customizedname;
stat.freetimetodey 10;//freetimetodey;
stat.talent talent;
stat.stage stage;
stat.roundbuypoints roundbuypoints;
stat.freetimetodeyused = (byte)freetimetodeyused;
stat.studypoints attacked.entity.subclasses.studypoints;
if (
client.entity.uid != attacked.entity.uid)
stat.timer 13751297;
else
stat.timer 15500800;
stat.apprend(dictionary.toarray());
client.send(stat.toarray());
}
catch (
exception) { }
}
public 
void updatestundypoints(client.gamestate clientushort amount)
{
network.gamepackets._string str = new network.gamepackets._string(true);
str.type network.gamepackets._string.effect;
str.uid client.entity.uid;
str.texts.add("zf2-e300");
client.sendscreen(str.toarray(), true);
}
public static 
bool allownamecaracters(string name)
{
if (
name.contains('['))
return 
false;
if (
name.contains(']'))
return 
false;
if (
name.contains("gm"))
return 
false;
if (
name.contains("pm"))
return 
false;
if (
name.contains("!") || name.contains("@") || name.contains("#"))
return 
false;
if (
name.contains("$") || name.contains("%") || name.contains("^"))
return 
false;
if (
name.contains("&") || name.contains("*") || name.contains("/") || name.contains("|"))
return 
false;
return 
true;
}
}

دة جبلى ارور كتير رغم ان اسم البروجكت صح