
cain23
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
cain23 deu reputação a gabisa00 em [CreatureScript] [Premium] No Nome[Premium] No Nome Ao Logar
Informações:
Sistema sem complicações, quando o player logar se ele for PACC ele irá ganhar [Premium] no início de seu nome.
Instalação
Vá em data/creaturescripts/scripts e cria um arquivo chamado premname.lua, dentro dele coloque.
Logo em seguida vá até data/creaturescripts abra o arquivo creaturescripts.xml e adicione essa tag.
Adicione essa tag em data/creaturescripts/scripts/login.lua.
Créditos Pelo Script:
100% - Gabisa00
Créditos Pela Idéia:
100% - lolksky
Dúvidas, bugs, sugestões, somente no tópico.
Gostou do Sistema Faça Seu Pedido Aqui!
-
cain23 deu reputação a Vodkart em Recovery ExpExplicação:
Você compra no npc a exp que você perdeu na sua última morte.
Lib > functions.lua adc
death_tabble = {before_exp = 135215,after_exp = 135216, check = 251201} creaturescript/script exp_buy.lua function onLogin(cid) registerCreatureEvent(cid, "Exp_P") if getPlayerStorageValue(cid, death_tabble.check) >= 1 then setPlayerStorageValue(cid, death_tabble.after_exp, getPlayerExperience(cid)) setPlayerStorageValue(cid, death_tabble.check, -1) end return true end function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) setPlayerStorageValue(cid, death_tabble.before_exp, getPlayerExperience(cid)) setPlayerStorageValue(cid, death_tabble.check, 1) return TRUE end creaturescript.xml <event type="preparedeath" name="Exp_P" event="script" value="exp_buy.lua"/> <event type="login" name="Exp_L" event="script" value="exp_buy.lua"/> NPC: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) local itemid,count = 9020,10 -- edite o id e count do item aqui if isInArray({"recover","recuperar","exp","experience"}, msg) then npcHandler:say("você deseja recuperar a exp perdida após á sua morte por "..count.." "..getItemNameById(itemid).."? {yes}", cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, death_tabble.before_exp) ~= -1 and getPlayerExperience(cid) < getPlayerStorageValue(cid, death_tabble.before_exp) then if doPlayerRemoveItem(cid, itemid, count) == TRUE then local count = (getPlayerStorageValue(cid, death_tabble.before_exp) - getPlayerStorageValue(cid, death_tabble.after_exp)) doPlayerAddExp(cid, count) npcHandler:say("Obrigado! aqui está sua experiência.", cid) else npcHandler:say("Desculpe, você não tem "..getItemNameById(itemid).." suficientes!", cid) talkState[talkUser] = 0 end else npcHandler:say("Desculpe, você não morreu ou já recuperou sua exp perdida!", cid) talkState[talkUser] = 0 end elseif msg == "no" then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
cain23 deu reputação a Dwarfer em Item Key SystemFala, galerinha! Há um tempo atrás tinha feito esse sisteminha simples, como achei que não seria muito útil, acabou sumindo nas profundezas das pastas do meu computador. No entanto, como vi o pedido do membro @DboHere, acho que outras pessoas podem precisar.
Como funciona:
Uma key única que pode ser usada somente uma vez adicionará um item ao player quando for utilizada.
- Criando uma key contendo 10 crystal coins:
!createkey 2160,10 ou !createkey crystal coin,10
O player receberá a mensagem: "You have created the key: rXo-980376. You can add other items using !addkey."
- Adicionando novos itens à mesma key:
!addkey rXo-980376,2463,1
O player receberá a mensagem: "You have added other items to the key rXo-980376."
- Checando os itens que uma key possui:
!checkkey rXo-980376
- Utilizando a key o player receberá todos os itens associados a essa key. Depois disso, a key ficará inválida.
!key rXo-980376
- Deletando a key da database (apenas se necessário):
!deletekey rXo-980376
Configuração:
Execute o seguinte comando no mysql do seu servidor:
CREATE TABLE `code_key` ( `id` INT NOT NULL AUTO_INCREMENT, `key` VARCHAR(255) NOT NULL, `item_id` INT NOT NULL, `count` INT NOT NULL, `invalid` INT NOT NULL DEFAULT 0, PRIMARY KEY (`id`) );
Em talkactions/scripts, crie um arquivo:
keysystem.lua
Em "access" edite o grupo que pode utilizar cada comando. No exemplo abaixo, apenas players com acesso maior que 3 podem utilizar o comando !createkey.
["!createkey"] = {access = 3},
Em talkactions.xml, adicione a tag: <talkaction words="!key;!createkey;!deletekey;!checkkey;!addkey" event="script" value="keysystem.lua"/>
E é isso, espero que seja útil
-
cain23 deu reputação a Sekk em Equivalente a math.random?Resolvido!
Fazer o seguinte:
#include <ctime>
#include <cstdlib>
dentro do int main colocar:
srand(time(NULL));
e usar o seguinte codigo para randomizar:
rand() % 10; // 10 é a quantidade de valores que pode pegar, no caso, 10 valores(entre 0 e 9)
Se for colocar algum valor minimo, por exemplo quero 10 numeros, e o inicial é 3:
rand() % 10 + 3; // primeiro numero: 0+3=3.... segundo: 1+3=4..... ultimo: 9+3=12
-
cain23 deu reputação a danilloalves50 em Servidor 8.6 com visual tibia globalBoa tarde pessoal,
eu tinha um servidor a 10 anos atras e sei que muita coisa mudou
andei jogando alguns 8.6 este mês e vi que muitos estão com visual mais "bonito", bem parecido com global, itens, monstros, efeitos etc
A pergunta é, como faço pra deixar meu servidor 8.6 assim?
-
cain23 deu reputação a Kamuizera em [AJUDA] OtClientV8 buga quando entra em portaisO meu tinha o mesmo problema, bastou eu seguir um tutorial que tinha nos próprios issues do cliente, lá disseram pra colocar o Uint16.
Bastar ir até o arquivo modules/game_features/features.lua e adicionar em baixo da versão o seguinte:
g_game.enableFeature(GameMagicEffectU16)
g_game.enableFeature(GameDistanceEffectU16)