· 6 years ago · Aug 16, 2019, 07:56 AM
1<?php
2
3namespace MF;
4
5use pocketmine\plugin\PluginBase;
6use pocketmine\Player;
7use pocketmine\Server;
8use pocketmine\command\Command;
9use pocketmine\command\ConsoleCommandSender;
10use pocketmine\command\CommandSender;
11use pocketmine\utils\Config;
12use pocketmine\event\Listener;
13use pocketmine\event\player\PlayerJoinEvent;
14
15Class Guild extends PluginBase implements Listener{
16
17 public $api, $cfg, $invitation, $c, $db, $desc;
18
19public function onEnable(){
20 @mkdir($this->getDataFolder());
21 $this->cfg = new Config($this->getDataFolder() . "clans.yml", Config::YAML, array("clans" => 0, "PointsElement" => "§r§a#{pos}. §7(§6{lvl}§7) §e{player} §7- §b{value} поинтов"));
22 $this->desc = new Config($this->getDataFolder() . "descriptions.yml", Config::YAML, array());
23 $this->getServer()->getPluginManager()->registerEvents($this, $this);
24 $this->api = $this->getServer()->getPluginManager()->getPlugin("SW_API");
25 $this->invitation = array();
26 $this->c = array();
27 $this->db = new \SQLite3($this->getDataFolder().'stats.db');
28 $this->db->exec("CREATE TABLE IF NOT EXISTS users(
29 clan TEXT NOT NULL,
30 leader TEXT NOT NULL,
31 type TEXT NOT NULL,
32 members INTEGER default 0 NOT NULL,
33 points INTEGER default 0 NOT NULL,
34 level INTEGER default 1 NOT NULL,
35 coins INTEGER default 0 NOT NULL,
36 exp INTEGER default 0 NOT NULL,
37 stars INTEGER default 0 NOT NULL,
38 maxmembers INTEGER default 30 NOT NULL,
39 tag INTEGER default 0 NOT NULL,
40 need INTEGER default 0 NOT NULL,
41 listed INTEGER default 0 NOT NULL
42 );
43 ");
44}
45public function countExpUp($clan){
46 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
47 $lvl = $sql["level"];
48 $expp = $lvl * 1200;
49 return $expp;
50}
51public function onCommand(CommandSender $p, Command $command, $label, array $args) : bool {
52 switch($command->getName()){
53 case "guild":
54 $name = strtolower($p->getName());
55 if(!(isset($args[0]))){
56 $p->sendMessage("§7> §r§eПомощь по гильдиям §7<");
57
58 //ДЛЯ ВСЕХ ИГРОКОВ
59
60 $p->sendMessage("§7> §b/guild create §e<название> §7- §eСоздать гильдию §r§7[§a3000 монет§7]");
61 $p->sendMessage("§7> §b/guild join §e<тег> §7- §aПрисоединиться §eк гильдии");
62 $p->sendMessage("§7> §b/guild info §7- §eПосмотреть информацию о вашей гильдии");
63 $p->sendMessage("§7> §b/guild leave §7- §eВыйти из гильдии");
64 $p->sendMessage("§7> §b/guild members §7- §eПосмотреть список всех игроков из вашей гильдии");
65 $p->sendMessage("§7> §b/guild pay §e<кол-во> §7- §eПополнить казну гильдии");
66 $p->sendMessage("§7> §b/guild top §e<кол-во> §7- §aТоп-5 гильдий §eпо поинтам");
67 $p->sendMessage("§7> §b/guild list §7- §eСписок гильдий, в которых можно вступить");
68 $p->sendMessage("§7> §b/guild check §e<тег> §7- §eПосмотреть краткую §eинформацию о другой гильдии");
69 $p->sendMessage("§7> §b/gc <сообщение> §7- §eЧат гильдии");
70
71 //ДЛЯ ОФИЦЕРОВ
72
73 $p->sendMessage("§7> §b/guild kick §e<ник> §7- §eВыгнать игрока из вашей гильдии");
74 $p->sendMessage("§7> §b/guild invite §e<ник> §7- §eПригласить игрока в гильдию");
75
76 //ДЛЯ ОСНОВАТЕЛЯ ГИЛЬДИИ
77
78 $p->sendMessage("§7> §b/guild rename §e<название> §7- §eИзменить название гильдии");
79 $p->sendMessage("§7> §b/guild owner §e<ник> §7- §eПередать основателя другому игроку");
80 $p->sendMessage("§7> §b/guild setrole §e<ник> <Участник/Офицер> §7- §eИзменить роль игрока §eв вашей гильдии");
81 $p->sendMessage("§7> §b/guild disband §7- §cРаспустить гильдию");
82 $p->sendMessage("§7> §b/guild settings §7- §eИзменить настройки гильдии");
83}
84 if(isset($args[0])){
85 if($args[0] == "create"){
86 if(isset($args[1])){
87 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$args[1]'")->fetchArray(SQLITE3_ASSOC);
88 if($sql === false){
89 if($this->api->myCoins($p) >= 3000){
90 if($this->api->hasClan($p) == false){
91 unset($args[0]);
92 $miracle = implode(" ", $args);
93 if(stripos($miracle, "§") !== false){
94 $p->sendMessage("§7> §eНельзя ставить §aцвета §eв название гильдии!");
95}else{
96 $sql = $this->api->db->query("SELECT * FROM `users` WHERE `nickname` = '$name'")->fetchArray(SQLITE3_ASSOC);
97 $wins = $sql["points"];
98 $this->api->mCoins($p, 3000);
99 $this->cfg->set("clans", $this->cfg->get("clans") + 1);
100 $this->cfg->save();
101 $this->createClan($p, $miracle);
102 $this->api->setPlayerClan($p, $miracle);
103 $this->api->updateTag($p);
104 $p->sendMessage("§7> §r§eГильдия §b$miracle §eуспешно создана!");
105}
106}else{
107 $p->sendMessage("§7> §r§eВы уже в гильдии! §eЧтобы создать свою, напишите §b/guild quit");
108}
109}else{
110 $p->sendMessage("§7> §r§cНехватает §eмонет!");
111 $p->sendMessage("§7> §eХочешь создать свою гильдию? §eТогда купи монет §eна сайте §bshop.cw-pe.ru");
112}
113}else{
114 $p->sendMessage("§7> §r§eГильдия с таким именем уже §bсуществует! §eПридумайте другое имя клана §eи повторите попытку");
115}
116}else{
117 $p->sendMessage("§7> §r§eИспользуй: §b/guild create <название>");
118}
119}
120 elseif($args[0] == "list"){
121 $p->sendMessage("§7> §eГильдии, в которые ты можешь вступить:");
122 $this->TopListed($p);
123 }
124 elseif($args[0] == "join"){
125 if(isset($args[1])){
126 if(is_numeric($args[1])){
127 $p->sendMessage("§7> §eПоиск гильдий по тегу §b#".$args[1]."...");
128 if($this->hasGuildByTag($args[1])){
129 if(!(isset($args[2]))){
130 $guild = $this->searchGuildByTag($args[1]);
131 $p->sendMessage("§7> §eВы нашли гильдию §b".$guild."! §eЧтобы к ней присоединиться, напиши §a/guild join ".$args[1]." yes");
132}else{
133 if($args[2] == "yes"){
134 if($this->hasGuildByTag($args[1])){
135 if(!$this->api->hasClan($p)){
136 $guild = $this->searchGuildByTag($args[1]);
137 if($this->getGuildType($guild) == "OPEN"){
138 $clan = $guild;
139 $sql = $this->api->db->query("SELECT * FROM `users` WHERE `nickname` = '$name'")->fetchArray(SQLITE3_ASSOC);
140 $trophies = $sql["points"];
141 $user = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
142 $members = $user["members"];
143 if($members >= $this->getMaxMembers($clan)){
144 $p->sendMessage("§7> §eВсе места в гильдии §b".$guild." §cзаполнены!");
145 }else{
146 $this->JoinClan($clan, $trophies, true, $p);
147 $this->api->setPlayerClan($p, $clan);
148 unset($this->invitation[$name]);
149 unset($this->c[$name]);
150 $this->api->updateTag2($p);
151 $p->sendMessage("§7> §r§eВы §aприсоедились §eк гильдии §b".$clan."!");
152 }
153 }else{
154 $p->sendMessage("§7> §eУ гильдии §b$guild §eне выбран тип приглашение §aОткрытое");
155 }
156 }else{
157 $p->sendMessage("§7> §eВы уже в гильдии. Чтобы покинуть её, напишите §b/guild leave");
158 }
159 }else{
160 $p->sendMessage("§7> ОШИБКА! §r§eГильдии с тегом §b#".$args[1]." §eне существует!");
161 }
162 }else{
163 //haha
164 }
165 }
166 }else{
167 $p->sendMessage("§7> §eГильдии с тегом §b#".$args[1]." §eне существует!");
168 }
169 }else{
170 $p->sendMessage("§7> §eВ теге должны содержатся только цифры!");
171 }
172 }else{
173 $p->sendMessage("§7> §eИспользуйте: §b/guild join <тег>");
174 }
175 }
176 elseif($args[0] == "settings"){
177 if($this->api->hasClan($p)){
178 if($this->getRole($p) == "Основатель"){
179 if(!(isset($args[1]))){
180 $p->sendMessage("§7> §eНастройки гильдии:");
181 $p->sendMessage("§7> §b/guild settings cd <сообщение> §7- §eИзменить описание гильдии");
182 $p->sendMessage("§7> §b/guild setttings settype <OPEN/ONLY_INVITE/CLOSED> §7- §eИзменить тип приглашения гильдии");
183 $p->sendMessage("§7> §b/guild settings setpoints <кол-во> §7- §eПоставить кол-во поинтов, от сколько можно будет заходить в гильдию");
184 $p->sendMessage("§7> §b/guild settings buyslots §7- §eКупить §aдоп.слоты §eв гильдию §7(§d+5 слотов§7)");
185 $p->sendMessage("§7> §b/guild settings rent <минуты> §7- §eАрендовать место в §a/guild list §7(§eЧем больше минут - тем выше место в §a/guild list!§7)");
186}
187 if(isset($args[1])){
188 elseif($args[1] == "cd"){
189 if(isset($args[2])){
190 if($this->api->hasClan($p)){
191 $clan = $this->api->getClan($p);
192 if($this->getRole($p) == "Основатель"){
193 unset($args[0], $args[1]);
194 $txt = implode(" ", $args);
195 $this->desc->set("$clan", $txt);
196 $this->desc->save();
197 $p->sendMessage("§7> §eОписание гильдии успешно §eизменено!");
198 foreach($this->getServer()->getOnlinePlayers() as $pl){
199 if($this->api->getClan($pl) == $this->api->getClan($p)){
200 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §eизменил описание гильдии §7- §a/guild info");
201}
202}
203}else{
204 $p->sendMessage("§7> §eВы не основатель гильдии!");
205}
206}else{
207 $p->sendMessage("§7> §eВы не состоите в гильдии! §aНайди себе подходящую §7- §b/guild list");
208}
209}else{
210 $p->sendMessage("§7> §eИспользуй: §b/guild settings cd <текст>");
211}
212}
213 elseif($args[1] == "rent"){
214 if(isset($args[2])
215 if(isset($args[3])){
216 if($args[3] == "yes"){
217 if(is_numeric($args[2])){
218 $lmao = $this->hasRented($this->api->getClan($p), $args[2]);
219 if($lmao){
220 $this->GuildRent($this->api->getClan($p), $args[2]);
221}else{
222 $p->sendMessage("§7> §eВы не можете §aарендовать!");
223}
224}else{
225 $p->sendMessage("§7> §eИспользуй: §a/guild rent ".$args[2]." yes");
226}
227}else{
228//d
229}
230}else{
231 if(is_numeric($args[2])){
232 if($args[2] >= "5" && $args[2] <= "86400"){
233 $cost = $args[2] * 10;
234 $user = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
235 $coins = $user["coins"];
236 $p->sendMessage("§7> §eЧто нужно для §aаренды §eв §b/guild list:");
237 $haha = "§c§l✖";
238 $ahah = "§c§l✖";
239 if($coins >= $cost){
240 $haha = "§a§l✔";
241}else{
242 $haha = "§c§l✖";
243}
244 if($user["level"] >= 3){
245 $ahah = "§a§l✔";
246}else{
247 $ahah = "§c§l✖";
248}
249 $p->sendMessage("§a#1. §e".$cost." монет в казне гильдии §7(".$haha."§r§7)");
250 $p->sendMessage("§a#2. §b3 уровень гильдии §7(".$ahah."§r§7)");
251 if($haha == "§a§l✔" && $ahah == "§a§l✔"){
252 $p->sendMessage("§7> §eДля подтверждения §aпокупки, §eнапиши §b/guild settings rent ."$args[2]." yes");
253}
254}else{
255 $p->sendMessage("§7> §eЛимит для аренды: §aот 5, и до 86400");
256}
257}else{
258 $p->sendMessage("§7> §eИспользуй: §a/guild rent <кол-во>");
259}
260}else{
261 elseif($args[1] == "settype"){
262 if(isset($args[2])){
263 $type = strtoup($args[2]);
264 if($type == "OPEN" or $type == "ONLY_INVITE" or $type == "CLOSED"){
265 $abeme = $this->ConvertType($type);
266 $this->changeGuildType($this->api->getClan($p), $type);
267 foreach($this->getServer()->getOnlinePlayers() as $pl){
268 if($this->api->getClan($pl) == $this->api->getClan($p)){
269 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §eизменил тип гильдии на ".$abeme."!");
270}
271}
272}else{
273 $p->sendMessage("§7> §eИспользуй: §a/guild settings settype <OPEN/ONLY_INVITE/CLOSED>");
274}
275}else{
276 $p->sendMessage("§7> §eИспользуй: §a/guild settings settype <OPEN/ONLY_INVITE/CLOSED>");
277}
278}
279 elseif($args[1] == "setpoints"){
280 if(isset($args[2])){
281 if(is_numeric($args[2])){
282 if($args[2] >= "0" && $args[2] <= "15000"){
283 $this->setPoints($this->api->getClan($p), $args[2]);
284 foreach($this->getServer()->getOnlinePlayers() as $pl){
285 if($this->api->getClan($pl) == $this->api->getClan($p)){
286 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §eпоставил §c$args[2] §eпоинтов для вступления в гильдию!");
287}
288}
289}else{
290 $p->sendMessage("§7> §eВы можете указать кол-во поинтов: §aот 0 и до 15000 включительно");
291}
292}else{
293 $p->sendMessage("§7> §eИспользуй: §a/guild settings setpoints <кол-во>");
294}
295}else{
296 $p->sendMessage("§7> §eИспользуй: §a/guild settings setpoints <кол-во>");
297}
298}
299 elseif($args[1] == "buyslots"){
300 if(isset($args[2])){
301 if($args[2] == "yes"){
302 if($this->getGuildSlots($this->api->getClan($p)) <= 75){
303 if($this->checkStatus($this->api->getClan($p)){
304 $this->buySlots($this->api->getClan($p));
305 foreach($this->getServer()->getOnlinePlayers() as $pl){
306 if($this->api->getClan($pl) == $this->api->getClan($p)){
307 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §eкупил §a+5 доп.слотов!");
308}
309}
310}else{
311 $p->sendMessage("§7> §eВы не можете купить §aдоп.слоты!");
312}
313}else{
314 $p->sendMessage("§7> §eУ вас уже достигнуто §cмаксимальное §eкол-во слотов в гильдии!");
315}
316}else{
317//d
318}
319}else{
320 if($this->getGuildSlots($this->api->getClan($p)) <= 75){
321 $p->sendMessage("§7> §eЧто нужно для §aпокупки доп.слотов:");
322 $p->sendMessage("§a#1. §e".$this->needToBuy($this->api->getClan($p))." монет §7(".$this->checkCoinsStatus($this->api->getClan($p))."§7)");
323 $p->sendMessage("§a#2. §b".$this->needToLevel($this->api->getClan($p))." ур. гильдии §7(".$this->checkLevelStatus($this->api->getClan($p))."§7)");
324 if($this->checkStatus($this->api->getClan($p)){
325 $p->sendMessage("§7> §eЧтобы §aкупить доп.слоты, §eнапишите §b/guild settings buyslots yes");
326}
327}else{
328 $p->sendMessage("§7> §eУ вас уже достигнуто §cмаксимальное §eкол-во слотов в гильдии!");
329}
330}
331}
332 elseif($args[0] == "members"){
333 if($this->api->hasClan($p)){
334 $clan = $this->api->getClan($p);
335 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
336 $cn = $sql["leader"];
337 if($name == $cn){
338 $p->sendMessage("§7> §r§eСписок игроков в гильдии §b".$clan.":");
339 $count = 0;
340 foreach($this->api->clan->getAll() as $key => $value){
341 if($value == $clan){
342 $nick = $key;
343 $user = $this->api->db->query("SELECT * FROM `users` WHERE `nickname` = '$nick'")->fetchArray(SQLITE3_ASSOC);
344 $points = $user["wins"];
345 $count++;
346 $player = $this->getServer()->getPlayer($nick);
347 if($player !== null){
348 $p->sendMessage("§7> §6#".$count.". §r§e$nick §7- §b$points §eпоинтов §7- §aOnline §7- §3".$this->getRole2($nick)." ");
349 }else{
350 $p->sendMessage("§7> §a#".$count.". §r§e$nick §7- §b$points §eпоинтов §7- §cOffline §7- §3".$this->getRole2($nick)." ");
351}
352}
353}
354}else{
355 $p->sendMessage("§7> §r§eВы не основатель гильдии!");
356}
357}else{
358 $p->sendMessage("§7> §r§eВы не состоите гильдии!");
359}
360}
361 elseif($args[0] == "invite"){
362 if(isset($args[1])){
363 $player = $this->getServer()->getPlayer($args[1]);
364 if($player !== null){
365 $nick = strtolower($player->getName());
366 if($nick !== $name){
367 if($this->api->hasClan($p) == true){
368 if($this->getRole($p) == "Офицер" or $this->getRole($p) == "Основатель"){
369 if($this->api->hasClan($player) == false){
370 $clan = $this->api->getClan($p);
371 if($this->getGuildType($clan) !== "CLOSED"){
372 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
373 $members = $sql["members"];
374 if($members >= $this->getMaxMembers($clan)){
375 $p->sendMessage("§7> §r§eВаша гильдия §cпереполнена! §eВыгоните кого-нибудь из гильдии, §eчтобы другой игрок §bприсоединился");
376}else{
377 $this->invitation[$nick] = $p;
378 $this->c[$nick] = $clan;
379 $p->sendMessage("§7> §r§eВы отправили приглашение в гильдию §eигроку §b$nick");
380 $player->sendMessage("§7> §r§b$name §eпригласил вас в гильдию §b".$clan."!");
381 $player->sendMessage("§7> §b/guild yes §7- §aПринять §eприглашение");
382 $player->sendMessage("§7> §b/guild no §7- §cОтклонить §eприглашение");
383 return true;
384}
385}else{
386 $p->sendMessage("§7> §eУ вас тип гильдии не должен быть §cЗакрытым!");
387 }
388}else{
389 $p->sendMessage("§7> §r§eИгрок §b$nick §eв чужой гильдии!");
390 return true;
391}
392}else{
393 $p->sendMessage("§7> §eУ вас недостаточно прав! Чтобы пригласить §bигрока, §eнужен §aОфицер");
394}
395}else{
396 $p->sendMessage("§7> §r§eВы не состоите §eв гильдии!");
397 return true;
398}
399}else{
400 $p->sendMessage("§7> §r§eВы не можете §eотправлять приглашение §bсебе!");
401 return true;
402}
403}else{
404 $p->sendMessage("§7> §r§eИгрок §b$args[1] §eоффлайн!");
405 return true;
406}
407}else{
408 $p->sendMessage("§7> §eИспользуй: §b/guild invite <ник>");
409 return true;
410}
411}
412 elseif($args[0] == "yes"){
413 if(isset($this->c[$name])){
414 $sql = $this->api->db->query("SELECT * FROM `users` WHERE `nickname` = '$name'")->fetchArray(SQLITE3_ASSOC);
415 $trophies = $sql["points"];
416 $clan = $this->c[$name];
417 if($this->getGuildType($clan) !== "CLOSED"){
418 $user = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
419 $members = $user["members"];
420 if($members >= $this->getMaxMembers($clan)){
421 $p->sendMessage("§7> §eГильдия §b$clan §cпереполнена!");
422 }else{
423 $player = $this->invitation[$name];
424 if($player !== null){
425 $player->sendMessage("§7> §r§b$name вступил §eв вашу гильдию!");
426}
427 $this->JoinClan($clan, $trophies, false, $p);
428 $this->api->setPlayerClan($p, $clan);
429 unset($this->invitation[$name]);
430 unset($this->c[$name]);
431 $this->api->updateTag($p);
432 $p->sendMessage("§7> §r§eВы вступили §eв гильдию ".$clan."!");
433}
434}else{
435 $p->sendMessage("§7> §eТип гильдии §b$clan §eне должен быть §cЗакрытым!");
436 }
437 }
438 }
439 elseif($args[0] == "no"){
440 $pl = $this->invitation[$name];
441 if($pl !== null){
442 $pl->sendMessage("§7> §r§b$name §cотклонил §eваше приглашение в гильдию!");
443}
444 unset($this->invitation[$name]);
445 unset($this->c[$name]);
446 $p->sendMessage("§7> §r§eВы §cотклонили §eприглашение в гильдию");
447 return true;
448}
449 elseif($args[0] == "kick"){
450 if($this->api->getClan($p) !== false){
451 $clan = $this->api->getClan($p);
452 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
453 $leader = $sql["leader"];
454 if($leader == $name){
455 if(isset($args[1])){
456 $player = strtolower($args[1]);
457 $clan2 = $this->api->getClan2($player);
458 if($clan == $clan2){
459 if($name !== $player){
460 $sql = $this->api->db->query("SELECT * FROM `users` WHERE `nickname` = '$player'")->fetchArray(SQLITE3_ASSOC);
461 $trophies = $sql["wins"];
462 $this->QuitClan($clan, $trophies);
463 $pizda = $this->getServer()->getPlayer($args[1]);
464 if($pizda !== null){
465 $pizda->sendMessage("§7> §r§eВас выгнали §eиз гильдии!");
466 $this->api->setPlayerClan($pizda, "none");
467 $this->api->updateTag2($pizda);
468 $p->sendMessage("§7> §eВы §cвыгнали §eигрока §b".$pizda->getName()." §eиз гильдии");
469}else{
470 $this->api->setPlayerClan2($player, "none");
471}
472 $p->sendMessage("§7> §eВы выгнали §eигрока §b$args[1] §eиз гильдии");
473 return true;
474}else{
475 $p->sendMessage("§7> §eВы не можете кикать самого себя!");
476}
477}else{
478 $p->sendMessage("§7> §r§b$player §eне в вашей гильдии!");
479 return true;
480}
481}else{
482 $p->sendMessage("§7> §eИспользуй: §b/guild kick <ник>");
483 return true;
484}
485}else{
486 $p->sendMessage("§7> §r§eВы не основатель гильдии!");
487 return true;
488}
489}else{
490 $p->sendMessage("§7> §r§eНеобходимо вступить в §bгильдию!");
491 return true;
492}
493}
494 elseif($args[0] == "leave"){
495 $clan = $this->api->getClan($p);
496 if($clan !== false){
497 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
498 $cn = $sql["leader"];
499 if($name !== $cn){
500 $this->api->setPlayerClan($p, "none");
501 $sql = $this->api->db->query("SELECT * FROM `users` WHERE `nickname` = '$name'")->fetchArray(SQLITE3_ASSOC);
502 $trophies = $sql["wins"];
503 $this->QuitClan($clan, $trophies);
504 $this->api->updateTag($p);
505 $p->sendMessage("§7> §r§eВы вышли §eиз гильдии §b".$clan."!");
506 return true;
507}else{
508 $p->sendMessage("§7> §r§eЧтобы распустить гильдию, напишите §b/guild disband");
509 $p->sendMessage("§7> §cВнимание! §r§eЕсли вы распустите гильдию, §eто ваша гильдия пропадёт!");
510 return true;
511}
512}else{
513 $p->sendMessage("§7> §r§eНеобходимо вступить в §aгильдию!");
514 return true;
515}
516}
517
518 elseif($args[0] == "disband"){
519 if($this->api->getClan($p) !== false){
520 $clan = $this->api->getClan($p);
521 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
522 $leader = $sql["leader"];
523 if($leader == $name){
524 if(isset($args[1])){
525 if($args[1] == "yes"){
526 $p->sendMessage("§7> §eУдаляем гильдию...");
527 $this->db->query("DELETE FROM `users` WHERE `clan` = '$clan'");
528 foreach($this->api->clan->getAll() as $key => $value){
529 if($value == $clan){
530 $this->api->setPlayerClan2($key, "none");
531 $pla = $this->getServer()->getPlayer($key);
532 if($pla !== null){
533 $this->api->updateTag($pla);
534}
535}
536}
537 $this->api->addCoins($p, 1500);
538 $this->cfg->set("clans", $this->cfg->get("clans") - 1);
539 $this->cfg->save();
540 $p->sendMessage("§7> §aГотово! §eВы распустили гильдию. Также, вам вернулись §b50% §eмонет от стоимость создания §bгильдии");
541}
542 elseif($args[1] == "no"){
543 $p->sendMessage("§7> §eВы отказались от распуска §eгильдии");
544}
545}else{
546 $p->sendMessage("§7> §eВы точно хотите распустить гильдию? §eВам вернётся 50% от стоимости создания §bгильдии");
547 $p->sendMessage("§7> §b/guild disband yes §7- §aЯ хочу распустить гильдию.");
548 $p->sendMessage("§7> §b/guild disband no §7- §cНе хочу распускать гильдию.");
549}
550}else{
551 $p->sendMessage("§7> §eВы не основатель гильдии!");
552}
553}else{
554 $p->sendMessage("§7> §eВы не состоите в гильдии!");
555}
556}
557 elseif($args[0] == "rename"){
558 if($this->api->getClan($p) !== false){
559 $clan = $this->api->getClan($p);
560 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
561 $leader = $sql["leader"];
562 if($leader == $name){
563 if(isset($args[1])){
564 $coins = $sql["coins"];
565 if($coins >= 4000){
566 $user = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$args[1]'")->fetchArray(SQLITE3_ASSOC);
567 if($user === false){
568 $this->db->query("UPDATE `users` SET `coins` = `coins` - 4000 WHERE `clan` = '$clan'");
569 unset($args[0]);
570 $text = implode(" ", $args);
571 $this->ReNameGuild($clan, $text);
572 foreach($this->api->clan->getAll() as $key => $value){
573 if($value == $clan){
574 $this->api->setPlayerClan2($key, $text);
575 $pla = $this->getServer()->getPlayer($key);
576 if($pla !== null){
577 $this->updateTag2($pla);
578 }
579}
580}
581 $p->sendMessage("§7> §eВы успешно изменили название гильдия на §a$text");
582}else{
583 $p->sendMessage("§7> §eГильдия с названием §b$args[1] §eуже существует!");
584}
585}else{
586 $p->sendMessage("§7> §eВ казне гильдии §aнехватает монет!");
587}
588}else{
589 $p->sendMessage("§7> §eИспользуй: §b/guild rename <название>");
590}
591}else{
592 $p->sendMessage("§7> §eВы не §aоснователь гильдии!");
593}
594}else{
595 $p->sendMessage("§7> §eВы не состоит в §aгильдии!");
596}
597}
598 elseif($args[0] == "info"){
599 $clan = $this->api->getClan($p);
600 if($clan !== false){
601 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
602 $leader = $sql["leader"];
603 $members = $sql["members"];
604 $points = $sql["points"];
605 $coins = $sql["coins"];
606 $uff = $sql["level"];
607 $chg = $uff + 1;
608 $max = $this->getMaxMembers($clan);
609 $lmao = $this->countExpUp($clan);
610 $exp = $sql["exp"];
611 $yes = $exp / $lmao * 100;
612 $yyes = (int) $yes + 0;
613 $p->sendMessage("§7>>> §a$clan §7<<<");
614 $p->sendMessage("§eОсновная информация: \n §7> §r§eПоинтов: §b$points \n §7> §r§eУчастников: §b".$members."/".$sql["maxmembers"]." \n §7> §r§eУровень: §b$uff §8[§a".$exp."/".$lmao." опыта§8] \n §7> §r§eПозиция: §a#".$this->getPos($p)." §r\n §eТег: §7#".$sql["tag"]." ");
615 $p->sendMessage("§7§l–––––––––––––");
616 $p->sendMessage("§eУчастников онлайн: §a§l".$this->getGuildOnline($clan)." ");
617 $p->sendMessage("§eОснователь гильдии: §c$leader");
618 $p->sendMessage("§eМонет в казне: §6$coins");
619}
620}
621 elseif($args[0] == "owner"){
622 if($this->api->hasClan($p)){
623 if(isset($args[1])){
624 $player = $this->getServer()->getPlayer($args[1]);
625 if($player !== null){
626 if($this->api->hasClan($player)){
627 if($this->api->getClan($p) == $this->api->getClan($player)){
628 if($this->getRole($p) == "Основатель"){
629 if($p->getName() == $player->getName()){
630 $p->sendMessage("§7> §eВы не можете передавать §aоснователя §eсамому себе!");
631}else{
632 $clan = $this->api->getClan($p);
633 $this->changeGuildOwner($clan, strtolower($pl->getName()));
634 $this->setRole(strtolower($p->getName()), "Офицер");
635 $p->sendMessage("§7> §eТеперь вы больше не §aоснователь §eгильдии §b".$clan."!");
636}
637}else{
638 $p->sendMessage("§7> §eВы не являетесь основателем гильдии §a".$this->api->getClan($p)."!");
639}
640}else{
641 $p->sendMessage("§7> §a".$player->getName()." §eнаходится в гильдии §b".$this->api->getClan($player)."!");
642}
643}else{
644 $p->sendMessage("§7> §eИгрок §a".$player->getName()." §eне в гильдии!");
645}
646}else{
647 $player2 = strtolower($args[1]);
648 if($this->api->hasClan2($player2)){
649 if($this->api->getClan($p) == $this->api->getClan2($player2)){
650 if($this->getRole($p) == "Основатель"){
651 $clan = $this->api->getClan($p);
652 $this->changeGuildOwner($clan, $player2);
653 $this->setRole(strtolower($p->getName()), "Офицер");
654 $p->sendMessage("§7> §eТеперь вы больше не §aоснователь §eгильдии §b".$clan."!");
655}else{
656 $p->sendMessage("§7> §eВы не являетесь основателем гильдии §a".$this->api->getClan($p)."!");
657}
658}else{
659 $p->sendMessage("§7> §a".$player2." §eнаходится в гильдии §b".$this->api->getClan2($player2)."!");
660}
661}else{
662 $p->sendMessage("§7> §eИгрок §a".$player2." §eне в гильдии!");
663}
664}
665}else{
666 $p->sendMessage("§7> §eИспользуй: §a/guild owner <ник>");
667}
668}else{
669 $p->sendMessage("§7> §eВы не в §bгильдии! §eПрисоединись к гильдии §7- §a/guild list");
670}
671}
672 elseif($args[0] == "setrole"){
673 if($this->api->hasClan($p)){
674 if($this->getRole($p) == "Основатель"){
675 if(isset($args[1]) && isset($args[2])){
676 $player = $this->getServer()->getPlayer($args[1]);
677 if($player !== null){
678 if($this->api->hasClan($player)){
679 if($this->api->getClan($p) == $this->api->getClan($player)){
680 $role = strtolower($args[2]);
681 if($role == "офицер"){
682 $this->setRole(strtolower($player->getName()), "Офицер");
683 foreach($this->getServer()->getOnlinePlayers() as $pl){
684 if($this->api->getClan($pl) == $this->api->getClan($p)){
685 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §aповысил §eигрока §b".$player->getName()." §eдо §aОфицера!");
686}
687}
688}
689 elseif($role == "участник"){
690 $this->setRole(strtolower($player->getName()), "Участник");
691 foreach($this->getServer()->getOnlinePlayers() as $pl){
692 if($this->api->getClan($pl) == $this->api->getClan($p)){
693 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §cпонизил §eигрока §b".$player->getName()." §eдо §aУчастника!");
694}
695}
696}else{
697 $p->sendMessage("§7> §eВы не можете повысить/понизить игрока до §a".$args[2]."!");
698}
699}else{
700 $p->sendMessage("§7> §a".$player->getName()." §eнаходится в гильдии §b".$this->api->getClan($player)."!");
701}
702}else{
703 $p->sendMessage("§7> §eИгрок §a".$player->getName()." §eне в гильдии!");
704}
705}else{
706 $player2 = strtolower($args[1]);
707 if($this->api->hasClan2($player2)){
708 if($this->api->getClan($p) == $this->api->getClan2($player2)){
709 $role = strtolower($args[2]);
710 if($role == "офицер"){
711 $this->setRole($player2, "Офицер");
712 foreach($this->getServer()->getOnlinePlayers() as $pl){
713 if($this->api->getClan($pl) == $this->api->getClan($p)){
714 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §aповысил §eигрока §b".$player2." §eдо §aОфицера!");
715}
716}
717}
718 elseif($role == "участник"){
719 $this->setRole($player2, "Участник");
720 foreach($this->getServer()->getOnlinePlayers() as $pl){
721 if($this->api->getClan($pl) == $this->api->getClan($p)){
722 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §cпонизил §eигрока §b".$player2." §eдо §aУчастника!");
723}
724}
725}else{
726 $p->sendMessage("§7> §eВы не можете повысить/понизить игрока до §a".$args[2]."!");
727}
728}else{
729 $p->sendMessage("§7> §a".$player2." §eнаходится в гильдии §b".$this->api->getClan2($player2)."!");
730}
731}else{
732 $p->sendMessage("§7> §eИгрок §a".$player2." §eне в гильдии!");
733}
734}
735}else{
736 $p->sendMessage("§7> §eИспользуй: §a/guild setrole <ник> <Участник/Офицер>");
737}
738}else{
739 $p->sendMessage("§7> §eВы не являетесь основателем гильдии §a".$this->api->getClan($p)."!");
740}
741}else{
742 $p->sendMessage("§7> §eВы не в §bгильдии! §eПрисоединись к гильдии §7- §a/guild list");
743}
744}
745 elseif($args[0] == "check"){
746 if(isset($args[1])){
747 if(is_numeric($args[1])){
748 if($this->hasGuildByTag($args[1])){
749 $clan = $this->searchGuildByTag($args[1]);
750 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
751 $leader = $sql["leader"];
752 $members = $sql["members"];
753 $points = $sql["points"];
754 $coins = $sql["coins"];
755 $uff = $sql["level"];
756 $chg = $uff + 1;
757 $max = $this->getMaxMembers($clan);
758 $lmao = $this->countExpUp($clan);
759 $exp = $sql["exp"];
760 $yes = $exp / $lmao * 100;
761 $yyes = (int) $yes + 0;
762 $p->sendMessage("§7>>> §a$clan §7<<<");
763 $p->sendMessage("§eОсновная информация: \n §7> §r§eПоинтов: §b$points \n §7> §r§eУчастников: §b".$members."/".$sql["maxmembers"]." \n §7> §r§eУровень: §b$uff §8[§a".$exp."/".$lmao." опыта§8] \n §7> §r§eПозиция: §a#".$this->getPos($p)." §r\n §eТег: §7#".$sql["tag"]." ");
764 $p->sendMessage("§7> §eЧтобы просоединиться к гильдии §b".$clan.", §eнапиши §b/guild join $args[1]");
765}else{
766 $p->sendMessage("§7> §eГильдии по тегу §b#".$args[1]." §cне найдено!");
767 }
768 }else{
769 $p->sendMessage("§7> §eТег всегда состоит из §bцифр!");
770 }
771 }else{
772 $p->sendMessage("§7> §eИспользуй: §a/guild check <тег>");
773 }
774 }
775 elseif($args[0] == "pay"){
776 if(isset($args[1])){
777 $clan = $this->api->getClan($p);
778 if($clan !== false){
779 if(is_numeric($args[1])){
780 if($args[1] <= $this->api->myCoins($p)){
781 $this->api->mCoins($p, $args[1]);
782 $this->addCoinsInClan($clan, $args[1]);
783 $p->sendMessage("§7> §r§eВы положили §6$args[1] монет §eв казну гильдии §b".$clan."!");
784 return true;
785}else{
786 $enough = $args[1] - $this->api->myCoins($p);
787 $p->sendMessage("§7> §r§eВам нехватает §b$enough монет!");
788 return true;
789}
790}else{
791 $p->sendMessage("§7> §r§eКол-во монет должно быть §bчислом!");
792 return true;
793}
794}else{
795 $p->sendMessage("§7> §r§eВы не в гильдии!");
796 return true;
797}
798}else{
799 $p->sendMessage("§7> §eИспользуй: §a/guild pay <кол-во>");
800 return true;
801}
802}
803 elseif($args[0] == "top"){
804 $p->sendMessage("§a~ §eЛучшие гильдии на сервере: §a~");
805 $top = $this->db->query("SELECT * FROM `users` ORDER BY points DESC LIMIT 5");
806 $list = "";
807 $count = 0;
808 while($element = $top->fetchArray(SQLITE3_ASSOC)){
809 $count++;
810 $list .= str_replace(['{pos}', '{player}', '{value}'], [$count, $element['clan'], $element['points']], $this->cfg->get("PointsElement"))."\n\n";
811}
812 $p->sendMessage("$list");
813 if($this->api->getClan($p) !== false){
814 $clan = $this->api->getClan($p);
815 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
816 $tr = $sql["points"];
817 $p->sendMessage("§7§l...................");
818 $mesto = $this->getPos($p);
819 $p->sendMessage("§c• §6#".$mesto." §bМЕСТО §e$clan §r§7— §6$tr очков");
820}
821 return true;
822}else{
823 $p->sendMessage("§7> §r§eСуб-команды §b$args[0] §cне существует!");
824 return true;
825}
826}
827 return true;
828 case "guildchat":
829 if(isset($args[0])){
830 if($this->api->hasClan($p)){
831 $txt = implode(" ", $args);
832 $this->GuildChat($p, $txt);
833}else{
834 $p->sendMessage("§7> §eУ вас нет гильдии! Найдите подходящую! §b/guild list");
835}
836}else{
837 $p->sendMessage("§7> §eИспользуй: §a/gc <сообщение>");
838}
839 return true;
840}
841}
842public function createClan($p, $clan){
843 $name = strtolower($p->getName());
844 $points = $this->api->myPoints($p);
845 $exp = $this->api->getExp($p);
846 $lvl = $this->api->getLvl($p);
847 $totalexp = $lvl * 120;
848 $totallvl = $totalexp / 1200;
849 $level = (int) $totallvl + 0;
850 if($level <= 1){
851 $level = 1;
852}
853 $type = "OPEN";
854 $tag = $this->cfg->get("clans");
855 $this->db->query("INSERT INTO `users`(`clan`, `leader`, `type`, `members`, `points`, `level`, `coins`, `exp`, `stars`, `maxmembers`, `tag`, `need`, `listed`) VALUES('$clan', '$name', '$type', '1', '$points', '$level', '0', '$exp', '0', '30', '$tag', '0', '0')");
856}
857public function getMaxMembers($clan){
858 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
859 $lvl = $sql["maxmembers"];
860 return $lvl;
861}
862public function TopListed($p){
863 $top = $this->db->query("SELECT * FROM `users` ORDER BY listed DESC LIMIT 10");
864 $list = "";
865 $count = 0;
866 while($element = $top->fetchArray(SQLITE3_ASSOC)){
867 $guild = $element["clan"];
868 $points = $element["points"];
869 $members = $element["members"];
870 $max = $element["maxmembers"];
871 $level = $element["level"];
872 $need = $element["need"];
873 $tag = $element["tag"];
874 $type = $this->ConvertType($element["type"]);
875 $count++;
876 $p->sendMessage("§a#".$count.". §7(§e$level ур.§7) §a$guild §7- §b$points поинтов §7- §b".$members."/".$max." участников §7- $type §7- §e/guild join $tag");
877 }
878 }
879public function ConvertType($type){
880 if($type == "OPEN"){
881 return "§aТип: Открытый";
882}
883 if($type == "ONLY_INVITE"){
884 return "§6Тип: по приглашению";
885}
886 if($type == "CLOSED"){
887 return "§cТип: Закрытый";
888}
889}
890public function addCoinsInClan($clan, $coins){
891 $this->db->query("UPDATE `users` SET `coins` = `coins` + $coins WHERE `clan` = '$clan'");
892}
893public function JoinClan($clan, $points, $arrived = false, $p){
894 $this->db->query("UPDATE `users` SET `points` = `points` + $points WHERE `clan` = '$clan'");
895 $this->db->query("UPDATE `users` SET `members` = `members` + 1 WHERE `clan` = '$clan'");
896 if($arrived){
897 foreach($this->getServer()->getOnlinePlayers() as $pl){
898 if($this->api->getClan($pl) == $clan){
899 $pl->sendMessage("§7[§eGUILD-CHAT§7] §eИгрок §b".$p->getName()." §eприсоединился к вашей гильдии!");
900}
901}
902}
903}
904public function GuildChat($p, $txt){
905 foreach($this->getServer()->getOnlinePlayers() as $pl){
906 if($this->api->getClan($pl) == $this->api->getClan($p)){
907 $pl->sendMessage("§7[§eGUILD-CHAT§7] §a".$p->getName().": §e$txt");
908}
909}
910}
911public function QuitClan($clan, $points){
912 $this->db->query("UPDATE `users` SET `points` = `points` - $points WHERE `clan` = '$clan'");
913 $this->db->query("UPDATE `users` SET `members` = `members` - 1 WHERE `clan` = '$clan'");
914}
915public function addPoint($clan){
916 $this->db->query("UPDATE `users` SET `points` = `points` + 1 WHERE `clan` = '$clan'");
917}
918public function addExp($clan, $count){
919 $this->db->query("UPDATE `users` SET `exp` = `exp` + $count WHERE `clan` = '$clan'");
920 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
921 $exp = $sql["exp"];
922 if($exp >= $this->countExpUp($clan)){
923 $this->db->query("UPDATE `users` SET `level` = `level` + 1 WHERE `clan` = '$clan'");
924 $this->db->query("UPDATE `users` SET `exp` = `exp` - $exp WHERE `clan` = '$clan'");
925 $lvl = $sql["level"] + 1;
926 foreach($this->getServer()->getOnlinePlayers() as $p){
927 if($this->api->getClan($p) == $clan){
928 $p->sendMessage("§7> §aНовый уровень гильдии! §eТеперь уровень гильдии: §b$lvl");
929}
930}
931}
932}
933public function setPoints($clan, $count){
934 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
935 $points = $sql["need"];
936 if($points <= 0){
937 $this->db->query("UPDATE `users` SET `need` = `need` + $count WHERE `clan` = '$clan'");
938}else{
939 $this->db->query("UPDATE `users` SET `need` = `need` - $points WHERE `clan` = '$clan'");
940 $this->db->query("UPDATE `users` SET `need` = `need` + $count WHERE `clan` = '$clan'");
941}
942}
943public function getGuildOnline($clan){
944 $count = 0;
945 foreach($this->getServer()->getOnlinePlayers() as $p){
946 if($this->api->getClan($p) == $clan){
947 $count++;
948 }
949 }
950 return $count;
951 }
952public function checkCoinsStatus($clan){
953 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
954 $coins = $sql["coins"];
955 if($coins >= $this->needToBuy($clan)){
956 return "§a§l✔";
957}else{
958 return "§c§l✖";
959}
960}
961public function checkLevelStatus($clan){
962 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
963 $coins = $sql["level"];
964 if($coins >= $this->needToLevel($clan)){
965 return "§a§l✔";
966}else{
967 return "§c§l✖";
968}
969}
970public function checkStatus($clan){
971 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
972 $coins = $sql["coins"];
973 $lvl = $sql["level"];
974 $a = $this->needToBuy($clan);
975 $b = $this->needToLevel($clan);
976 if($coins >= $a && $lvl >= $b){
977 return true;
978}else{
979 return false;
980}
981}
982public function needToBuy($clan){
983 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
984 $exp = $sql["maxmembers"];
985 if($exp <= 30){
986 return 8600;
987}
988 if($exp == 35){
989 return 10000;
990}
991 if($exp == 40){
992 return 11800;
993}
994 if($exp == 45){
995 return 14200;
996}
997 if($exp == 50){
998 return 18400;
999}
1000 if($exp == 55){
1001 return 21200;
1002}
1003 if($exp == 60){
1004 return 26800;
1005}
1006 if($exp == 65){
1007 return 33400;
1008}
1009 if($exp == 70){
1010 return 41200;
1011}
1012 if($exp >= 75){
1013 return 50000;
1014}
1015}
1016public function needToLevel($clan){
1017 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1018 $exp = $sql["maxmembers"];
1019 if($exp <= 30){
1020 return 3;
1021}
1022 if($exp == 35){
1023 return 4;
1024}
1025 if($exp == 40){
1026 return 5;
1027}
1028 if($exp == 45){
1029 return 8;
1030}
1031 if($exp == 50){
1032 return 10;
1033}
1034 if($exp == 55){
1035 return 12;
1036}
1037 if($exp == 60){
1038 return 15;
1039}
1040 if($exp == 65){
1041 return 18;
1042}
1043 if($exp == 70){
1044 return 20;
1045}
1046 if($exp >= 75){
1047 return 25;
1048}
1049}
1050public function getPos($p){
1051 $top = $this->db->query("SELECT * FROM `users` ORDER BY points DESC LIMIT 10000");
1052 $list = "";
1053 $post = 0;
1054 while($element = $top->fetchArray(SQLITE3_ASSOC)){
1055 $post++;
1056 if($element["clan"] == $this->api->getClan($p)){
1057 return $post;
1058}
1059}
1060}
1061public function hasGuildByTag($tag){
1062 $top = $this->db->query("SELECT * FROM `users` ORDER BY points DESC LIMIT 10000");
1063 $list = "";
1064 $post = 0;
1065 while($element = $top->fetchArray(SQLITE3_ASSOC)){
1066 $post++;
1067 if($element["tag"] == $tag){
1068 return true;
1069}else{
1070 return false;
1071}
1072}
1073}
1074public function getGuildType($clan){
1075 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1076 $type = $sql["type"];
1077 return $type;
1078}
1079public function searchGuildByTag($tag){
1080 $top = $this->db->query("SELECT * FROM `users` ORDER BY points DESC LIMIT 10000");
1081 $list = "";
1082 $post = 0;
1083 while($element = $top->fetchArray(SQLITE3_ASSOC)){
1084 $post++;
1085 if($element["tag"] == $tag){
1086 return $element["clan"];
1087}else{
1088 return false;
1089}
1090}
1091}
1092public function ReNameGuild($clan, $name){
1093 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1094 $leader = $sql["leader"];
1095 $mem = $sql["members"];
1096 $points = $sql["points"];
1097 $levl = $sql["level"];
1098 $coins = $sql["coins"];
1099 $exp = $sql["exp"];
1100 $stars = $sql["stars"];
1101 $type = $sql["type"];
1102 $tag = $sql["tag"];
1103 $maxmembers = $sql["maxmembers"];
1104 $need = $sql["need"];
1105 $listed = $sql["listed"];
1106 $this->db->query("DELETE FROM `users` WHERE `clan` = '$clan'");
1107 $this->db->query("INSERT INTO `users`(`clan`, `leader`, `type`, `members`, `points`, `level`, `coins`, `exp`, `stars`, `maxmembers`, `tag`, `need`, `listed`) VALUES('$name', '$leader', '$type', '$mem', '$points', '$level', '$coins', '$exp', '$stars', '$maxmembers', '$tag', '$listed', '$listed')");
1108}
1109public function getGuildSlots($clan){
1110 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1111 return $sql["maxmembers"];
1112}
1113public function buySlots($clan){
1114 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1115 $slots = $sql["maxmembers"];
1116 if($slots <= 75){
1117 $this->db->query("UPDATE `users` SET `slots` = `slots` + 5 WHERE `clan` = '$clan'");
1118}
1119}
1120public function changeGuildOwner($clan, $owner, $p){
1121 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1122 $leader = $owner;
1123 $mem = $sql["members"];
1124 $points = $sql["points"];
1125 $levl = $sql["level"];
1126 $coins = $sql["coins"];
1127 $exp = $sql["exp"];
1128 $stars = $sql["stars"];
1129 $type = $sql["type"];
1130 $tag = $sql["tag"];
1131 $maxmembers = $sql["maxmembers"];
1132 $need = $sql["need"];
1133 $listed = $sql["listed"];
1134 $this->db->query("DELETE FROM `users` WHERE `clan` = '$clan'");
1135 $this->db->query("INSERT INTO `users`(`clan`, `leader`, `type`, `members`, `points`, `level`, `coins`, `exp`, `stars`, `maxmembers`, `tag`, `need`, `listed`) VALUES('$clan', '$leader', '$type', '$mem', '$points', '$level', '$coins', '$exp', '$stars', '$maxmembers', '$tag', '$listed', '$listed')");
1136 foreach($this->getServer()->getOnlinePlayers() as $pl){
1137 if($this->api->getClan($pl) == $clan){
1138 $pl->sendMessage("§7[§eGUILD-CHAT§7] §b".$p->getName()." §eпередал §aОснователя гильдии §eигроку §b".$owner."! §eПоздравим его!");
1139}
1140}
1141}
1142public function changeGuildType($clan, $type){
1143 $sql = $this->db->query("SELECT * FROM `users` WHERE `clan` = '$clan'")->fetchArray(SQLITE3_ASSOC);
1144 $leader = $sql["leader"];
1145 $mem = $sql["members"];
1146 $points = $sql["points"];
1147 $levl = $sql["level"];
1148 $coins = $sql["coins"];
1149 $exp = $sql["exp"];
1150 $stars = $sql["stars"];
1151 $tag = $sql["tag"];
1152 $maxmembers = $sql["maxmembers"];
1153 $need = $sql["need"];
1154 $listed = $sql["listed"];
1155 $this->db->query("DELETE FROM `users` WHERE `clan` = '$clan'");
1156 $this->db->query("INSERT INTO `users`(`clan`, `leader`, `type`, `members`, `points`, `level`, `coins`, `exp`, `stars`, `maxmembers`, `tag`, `need`, `listed`) VALUES('$clan', '$leader', '$type', '$mem', '$points', '$level', '$coins', '$exp', '$stars', '$maxmembers', '$tag', '$listed', '$listed')");
1157}
1158public function getRole($p){
1159 $name = strtolower($p->getName());
1160 $role = $this->getServer()->getPluginManager()->getPlugin("Ranked_API")->getPlayerRole($name);
1161 if($role <= 0){
1162 return false;
1163}
1164 if($role == 1){
1165 return "Участник";
1166}
1167 if($role == 2){
1168 return "Офицер";
1169}
1170 if($role == 3){
1171 return "Основатель";
1172}
1173}
1174public function getRole2($name){
1175 $role = $this->getServer()->getPluginManager()->getPlugin("Ranked_API")->getPlayerRole($name);
1176 if($role <= 0){
1177 return false;
1178}
1179 if($role == 1){
1180 return "Участник";
1181}
1182 if($role == 2){
1183 return "Офицер";
1184}
1185 if($role == 3){
1186 return "Основатель";
1187}
1188}
1189public function setRole($p, $role){
1190 if($role == "Участник"){
1191 $this->getServer()->getPluginManager()->getPlugin("Ranked_API")->setRole($p, 1);
1192}
1193 if($role == "Офицер"){
1194 $this->getServer()->getPluginManager()->getPlugin("Ranked_API")->setRole($p, 2);
1195}
1196 if($role == "Основатель"){
1197 $this->getServer()->getPluginManager()->getPlugin("Ranked_API")->setRole($p, 3);
1198}
1199}
1200public function onDisable(){}
1201}
1202?>