-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por daviscript
Após verificar que vários servidores estão sofrendo com problemas na página Guilds, onde era possível fazer diversas modificações com os players de qualquer guild, até a Cipsoft passou por esse problema recentemente...
Resolvi compartilhar com vocês a correção de todos os Bugs conhecidos na Página de Guilds.
Foram fixados os seguintes Bugs:
● Remover Players que não forem de sua guild.
● Aceitar guild com 1 personagem que não seja da sua conta.
● Editar o Text/Title de 1 player que não esteja na sua guild.
● Editar Ranks que não sejam da sua guild.
● Editar Rank de Players que não são da sua guild.
Qualquer outro BUG que você encontrar... Pode listar aqui nesse tópico.
OBS: É meu primeiro post... Então se estiver no local errado ou se algum moderador quiser reformular / formatar o tópico, fique a vontade.
Vou deixar o Spoiler do php abaixo, mas também estou anexando o arquivo.
Download: Mediafire
Scan: Virus Total
-
Por
Nazo
Buenas, TK!
Um usuário pediu ajuda em um script, onde queria limitar para a quest ser feita apenas uma vez por IP, mesmo que ainda seja possível mudá-lo, resolvi postar aqui xd
Execute esse código SQL no seu banco de dados MySQL, para a criação da tabela onde ficarão as storages e o IP armazenado do player:
CREATE TABLE player_ip_storage( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);
Ou caso seja SQLITE, utilize esse código:
CREATE TABLE player_ip_storage( player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);
Crie um arquivo chamado nazo-functions.lua em data/lib e adicione o seguinte conteúdo:
-- by Nazo (tibiaking.com) -- IP Storage System function getIpQuestStatus(cid, storage) storages = db.getResult("SELECT * FROM `player_ip_storage` WHERE `ip` = \"" .. doConvertIntegerToIp(getPlayerIp(cid)) .. "\" and `storage` = "..storage..";") if(storages:getID() ~= -1) then return false end return true end function setIpQuestStatus(cid, storage) db.executeQuery("INSERT INTO player_ip_storage(player_id, ip, storage) VALUES("..getPlayerGUID(cid)..",\""..doConvertIntegerToIp(getPlayerIp(cid)).."\","..storage..")") return true end
Agora, quando você tiver uma quest, adicione na verificação a função getIpQuestStatus na checagem junto, e quando finalizar a quest utilize o setIpQuestStatus, com os parâmetros cid e número da storage, porém a função só armazena que essa storage tem algo no banco de dados, ou seja, a quest já foi feita, você não armazena o valor da storage junto (como a função normal que geralmente adiciona "1" na storage).
Exemplo de quest abaixo:
-- by Nazo (tibiaking.com) config = { storage = 123123, -- storage da quest premio = {2160, 1} -- {itemid, quantia} } function onUse(cid, item, frompos, item2, toPosition) queststatus = getPlayerStorageValue(cid,config.storage) if(queststatus == -1 and getIpQuestStatus(cid, config.storage)) then -- note que eu só adicionei a função, nenhuma comparação, explicarei abaixo do código doPlayerSendTextMessage(cid,22,"Tome seu prêmio.") doPlayerAddItem(cid,config.premio[1],config.premio[2]) setPlayerStorageValue(cid,config.storage,1) setIpQuestStatus(cid,config.storage) -- função que adiciona a storage no banco de dados else doPlayerSendTextMessage(cid,22,"Você já fez esta quest.") end end
Explicação básica do motivo da função não possuir comparação na verificação e ficar como a seguir:
if(getIpQuestStatus(cid, config.storage)) then Quando você faz um if, com uma função dentro sem comparações, ela continuará o bloco de comando apenas se o retorno da mesma for verdadeiro, assim quando você fizer a quest, e tentar novamente, o get retorna falso, e isso cancela a condição e vai para o bloco de comando do "else".
-
Por Barca Furada
Boa noite meus caros colegas!
Preciso de um Help!
Quando eu coloco meu itens editados no meu xml e otb, acontece isso com os teleportes, perde todas as propriedades:
No lado direito é sem meu Itemxml
No lado Esquerdo é com meu Itemxml
Como vcs pode vem ele perde a propriedade de destino!
O arquivo Check File Signatures está desativados!
Quando eu entro no REM com meu Itemxml, ele da essas mensagem de erro:
Antes de fazer tudo isso eu No item editor, todos itens estava com essa borda vermelha, eu tinha dado reload em todos itens para o cliente OTCv8 conseguir visualizar, no primeiro momento achei que era isso que tinha acontecido para bugar meus teleportes, então eu dei reload em todos itens um por um e deixei o teleport sem dar reload, para ver se era esses o bug! e deu na mesma , quando edito o mapa para colocar novas hunt e cidade ele buga todos teleportes!
No itemxml o teleport está com mesmo id!
alguma alma bondosa para ajudar um colega?
-
Por gutx
Pessoal, estou com um certo problema,
não consigo criar um outro arquivo exe pelo vapus, por exemplo, para o client que encontrei do ot que quero fazer,
encontrei outra solução que é fazer a edição pelo próprio executável do client (.exe),
mas o que tenho aqui é limite 9,
quero saber se tem como aumentar esse limite,
pois não consigo criar um ip tão pequeno,
se alguém souber como criar um ip desse tamanho, também está ajudando,
Valendo REP!
-
Por marvadon
Boa noite pessoal.
To com problemas com os npcs dos bank.
o único que funciona é o NPC de Thais, o resto dos npcs não respondem aos comandos(balance, deposit, withdraw)
alguém poderia me ajudar?
obrigado
-
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.