Ir para conteúdo

Xagah

Membro
  • Registro em

  • Última visita

Tudo que Xagah postou

  1. Testa assim: function onSay(cid, words, param, channel) local config = { dias = 1, -- Número de Dias para pode usar a função exhaustionStorage = 16785, exhaustionTime = 120, -- segundos char = 100 --maximo de letras na msg } local list = { 'dot','com','net','servegame','hopto','ip','no-ip','org','whore','slut','fuck','mother','fucker','hopto','ass','cock','pussy', } if (getPlayerPremiumDays(cid) < config.dias) then doPlayerSendCancel(cid, 'Somente donates pode usar esse comando.') return true end if param == '' then doPlayerSendCancel(cid, 'Command requires a message.') return true end if exhaustion.check(cid, config.exhaustionStorage) then doPlayerSendCancel(cid, 'Voce nao pode usar esse comando ainda, espere ['..exhaustion.get(cid, config.exhaustionStorage)..'] segundos.') return true else exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime) end local forbid, param2 = false, param:lower() for i = 1, #list do if string.find(param2, list) ~= nil then forbid = true break end end local forbid, param2 = false, param:lower() if forbid then doPlayerSendCancel(cid, 'Your message contains a forbidden word.') return true end if string.len(param) >= char then doPlayerSendCancel(cid, 'Your message is too long.') return true end doPlayerBroadcastMessage(cid, '['..getPlayerLevel(cid)..'] '..param..'') return true end
  2. Xagah postou uma resposta no tópico em Suporte Tibia OTServer
    Ah, blz. O nome do seu deve estar diferente. Pra não dar conflito, cola o seu 'creaturescripts.xml' aqui.
  3. Xagah postou uma resposta no tópico em Suporte Tibia OTServer
    Ah, nem precisa do Skype. Faça assim, vá na pasta: data data > creaturescripts > scripts Pega seu arquivo 'reset.lua' e posta aqui.
  4. Cara, até onde eu sei não. As senhas acabam sendo acusadas como inválidas ('invalid passowrd'). Isto se tratando do Modern ACC. Para corrigir isto vá no arquivo 'config.lua', antes da pasta 'data' e onde estver: sqlType = "xxxx" sqlHost = "xxxx" sqlPort = xxxx sqlUser = "xxxx" sqlPass = "xxx" sqlDatabase = "xxxx" sqlFile = "forgottenserver.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 [COLOR="Red"][U][B]encryptionType = "sha1"[/B][/U][/COLOR] Mude para: encryptionType = "sha1" Como pode haver senhas dentro do seu banco de dados que já foram 'encriptadas' como 'plain', vá em sua 'database' e execute este comando: UPDATE accounts SET password=SHA1(password) WHERE id = 1; Deu certo aí? Ajudei de alguma? Rep+
  5. Xagah postou uma resposta no tópico em Suporte Tibia OTServer
    @di12345d, Vc quer que o nome do Sujeito fique aparecendo [VIP]? Claro que cada OTAdmin faz o que bem entende com seu próprio servidor, mas não seria mais elegante colocar isto na descrição do char? Assim, quando alguém desse um 'look' no char apareceria que ele é VIP. Penso que isto é mais fera. Além do mais, o gerenciamento PHP (no site) para controle de não repetição de 'names' já estaria pronto. Não bastasse o que já disse, o controle de remoção do comentário na descrição de cada 'player' seria automaticamente removido quando esta vantagem acabasse. O que acha?
  6. O @vyctor17 tem razão. Porque o 'talkaction' é desencadeado pela vontade individual, já o 'globalevent' é automático. Por isto a inconsistência da pergunta. Mas o que você queria? Explica o que você queria que, talvez, possa ser criada uma função diferente.
  7. local config = { dias = 1, -- Número de Dias para pode usar a função exhaustionStorage = 16785, exhaustionTime = 120, -- segundos char = 100 --maximo de letras na msg } local list = { 'dot','.com','.net','servegame','hopto','ip','no-ip','.org','whore','slut','fuck','mother','fucker','hopto','ass','cock','pussy', } function onSay(cid, words, param, channel) if (getPlayerPremiumDays(cid) < config.dias) then doPlayerSendCancel(cid, 'Only vips can use this command.') return true end if param == '' then doPlayerSendCancel(cid, 'Command requires a message.') return true end if exhaustion.check(cid, config.exhaustionStorage) then doPlayerSendCancel(cid, 'You can not use this command yet['..exhaustion.get(cid, config.exhaustionStorage)..'].') return true else exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime) end local forbid, param2 = false, param:lower() for i = 1, #list do if string.find(param2, list) ~= nil then forbid = true break end end if forbid then doPlayerSendCancel(cid, 'Your message contains a forbidden word.') return true end if string.len(param) >= char then doPlayerSendCancel(cid, 'Your message is too long.') return true end doPlayerBroadcastMessage(cid, param) return true end Mudei ali no 'script' do @vankk
  8. Analisando o 'script' do @vankk vi que está perfeito. Houve algum erro? Se sim, pegue no 'console' (tela preta) o erro e cole-o aqui. No mais, vá no arquivo: data > talkactions > 'talkactions.xml' Abra-o e na última linha adicione: <talkaction log="yes" words="!broad" event="script" value="broadcastpremiun.lua"/> Depois vá na pasta: Data > talkactions > scripts E crie o arquivo 'broadcastpremiun' e salve-o no formato '.lua'. E pronto. Teste aí.
  9. Cola seu arquivo 'config.php' aqui e já vemos isto. As vezes pode estar com outro nome. Fico no aguardo.
  10. Truco!!!!!!! Vou salvar aqui nos resolvidos dos favoritos. Boa sorte no server.
  11. Coloca seu arquivo "talkactions.xml" aqui.
  12. Não, não... a account é diferente da senha. Tenta account '1' e senha '12345678' Vê lá.
  13. Claro: Mas, tipo, penso que irá haver erros por que sua tabela 'accounts' tem colunas com nomes diferentes. Você tá montando seu OT sozinho?
  14. Deu certo?
  15. Então, cara, o meu VIP é chamado por Premiun. Desde o início eu não compreendi a razão de buscar a diferença. O sistema que uso é quase idêntico ao seu. A diferença é que no meu a coluna se chama 'premiun_points' e no seu 'vipdays'.
  16. Oooopps, onde vc tem: public static $fields = array('id', 'name', 'password', 'premdays', 'lastday', 'email', 'key', 'group_id', 'create_ip', 'create_date', 'premium_points', 'page_access', 'location', 'rlname', 'email_new', 'email_new_time', 'email_code', 'next_email', 'last_post', 'flag', 'vote'); Coloque: ,'vipdays' Depois de: 'vote' E tenta de novo.
  17. O char tá usando alguma weapon na mão?
  18. Mais um teste: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) -- local arma= getPlayerWeapon(cid) -- local darma= getItemAttack(arma) local skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) local item1 = getPlayerSlotItem(cid, CONST_SLOT_LEFT) local item2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT) local atk, atk1, atk2 = 0, 0, 0 if item1.uid ~= 0 then atk1 = getItemAttack(item1.uid) end if item2.uid ~= 0 then atk2 = getItemAttack(item2.uid) end if atk1 > atk2 then atk = atk1 else atk = atk2 end min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -atk max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -atk return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Edited: Tinha um trecho diferente. Copia agora.
  19. Tem no Fórum já: Rep+ se já ajudei iUHEAIUHEUA
  20. Vamos fazer uma 'gambiarra'. Abra o seu 'xamp', vá na tabela 'accounts' e abra a conta do 'account manager' para edição. No local da senha (independente do que tiver) coloque: 7c222fb2927d828af22f592134e8932480637c0d Tente abrir o server usando a senha '12345678' hahaha, tenta aí, se der certo, ótimo, se não volta aí.
  21. Vamo lá, tenta isto: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) local arma= getPlayerWeapon(cid) local darma= getItemAttack(arma) local skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -darma max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -darma return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end
  22. Pronto. Primeiro abra o arquivo: www > (pasta com nome do seu site) > classes > account.php No início do 'script', onde vc tem: public $data = array('name' => null, 'password' => null, 'premdays' => null, 'lastday' => null, 'email' => null, 'key' => null, 'group_id' => null, 'create_ip' => null, 'create_date' => null, 'premium_points' => null, 'page_access' => null, 'location' => null, 'rlname' => null, 'email_new' => null, 'email_new_time' => null, 'email_code' => null, 'next_email' => null, 'last_post' => null, 'flag' => null, 'vote' => null); Depois de: 'vote' => null Insira: , 'vipdays' => null Depois, bem no fim do 'script', logo abaixo de: public function getLastLogin(){return $this->getLastDay();} Coloque: public function getVipsDays(){return $this->data['vipsday'];} public function isVipPlayer(){return ($this->getVipsDays() > 0);} Depois, vá no 'script' ' characters.php' e onde há: $main_content .= ($account->isVipTime() > 0) ? '<font color="#00CD00"><b>VIP Account</b></font>' : '<font color="#FF0000"><b>Free Account</b></font>'; Mude por: $main_content .= ($account->isVipPlayer() > 0) ? '<font color="#00CD00"><b>VIP Account</b></font>' : '<font color="#FF0000"><b>Free Account</b></font>'; Tenta aí e me diz se deu certo.
  23. Xagah postou uma resposta no tópico em Suporte Tibia OTServer
    Cola seu 'scrip' aí.
  24. Tenta assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) function onGetFormulaValues(cid, level, item) local arma= getPlayerWeapon(cid).uid darma= getItemAttribute(arma.uid, 'attack') skillsword= getPlayerSkill(cid, 2) local forca= getPlayerStorageValue(cid, 70001) local agilidade= getPlayerStorageValue(cid, 70003) min = -(level*0.25) + -(forca*0.5) + -(agilidade*0.2) + -(skillsword*0.4) + -darma max = -(level*0.35) + -(forca*0.6) + -(agilidade*0.3) + -(skillsword*0.8) + -darma return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end

Informação Importante

Confirmação de Termo