OM

Advanced Guild System

Por Omega, 22 de jan. de 2014 em Mods, funções e outros

omega
ags
otserv
tibia
script
5.0 (1)
21
8.5k
curruwilliamC
21 de abril de 2014 às 22:57

 

Atualizei, pode tentar de novo que deve funcionar sem problemas.

 

p3lJ7TB.jpg

OmegaO
22 de abril de 2014 às 22:04

Adicionei o método manual de instalação com a explicação no tópico. Substitua seu arquivo guildlib.lua por esse também, fiz outra mudança.

Caso apareça algum erro quando você estiver executando as queries, ignore e continue.

surfnamentS
25 de abril de 2014 às 19:01

Ao instalar pela talkaction tive erro , ai prossegui e tiver mais alguns erros nas sql's... Ignorei-as e na hora de falar com o npc da um erro de SQL..

Poderia me ajudar a resolver? Gostei muito do seu sistema e queria utiliza-lo no meu servidor

iJSkkwz.png

OmegaO
27 de abril de 2014 às 23:11

Atualizei o código novamente. Tente trocar seu guildlib antigo por esse e reexecutar as queries. Ignore os possíveis erros.

5 anos depois...
gmstrikkerG
20 de setembro de 2019 às 05:32

Tentei aqui e não funcionou, gostaria mt de usar esse sistema :(

Quando eu uso o talkaction pra instalar o sistema:

<talkaction words="/agsinstall" access="5" event="script" value="advanced_guild_system_install.lua"/>

/agsinstall

[5:30:59.549] mysql_real_query(): SELECT points FROM guilds; - MYSQL ERROR: Unknown column 'points' in 'field list' (1054)
[5:31:01.692] mysql_real_query(): CREATE TRIGGER [`rank_id update`] AFTER UPDATE OF rank_id ON players BEGIN UPDATE players SET guild_id = IFNULL((SELECT guild_id FROM guild_ranks WHERE `id` = rank_id), 0); END; - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[`rank_id update`] AFTER UPDATE OF rank_id ON players BEGIN UPDATE players SET g' at line 1 (1064)
Advanced Guild System could NOT be installed.

Editado Setembro 20 por gmstrikker

1 ano depois...
gmstrikkerG
19 de abril de 2021 às 08:48

Gesior.pl fixou essa lib, o que vcs precisam mudar é:

---

Trocar o trigger pra:
[code]

DELIMITER $$

CREATE TRIGGER guilds_update
BEFORE UPDATE
ON players FOR EACH ROW
BEGIN
    IF old.rank_id <> new.rank_id THEN
        SET new.guild_id = COALESCE((SELECT guild_id FROM guild_ranks WHERE id = new.rank_id), 0);
    END IF;
END$$

DELIMITER ;

[/code]

---

Trocar:
[code]

UPDATE guilds SET points = (1 + (SELECT points FROM guilds WHERE id = 2)) WHERE id = 2
UPDATE guilds SET balance = (SELECT balance FROM guilds WHERE `id` = 2) + 150000 WHERE `id` = 2
[/code]

Pra:

[code]
UPDATE guilds SET points = points + 1 WHERE id = 2
UPDATE guilds SET balance = balance + 150000 WHERE `id` = 2
[/code]