Tudo que Toruk postou
-
Onde que eu mudo no src
Posta o spawn.cpp
-
Um ''inteligentao'' derrubando a maquina da google cloud
Google não da um bom suporte anti-ddos, a melhor coisa a ser feito é pegar uma host que suporte isso ou então fazer um bloqueio multi layer ao servidor, porém é pouco viável. Além de mudar pra linux, pq windows só vai gerar sor de cabeça pra vc.
-
Revscript Remove skull
O problema é que vc está tentando usar um script 0..4 em um tfs 1.3. Então, sem adaptá-lo, não irá funcionar mesmo. Tente esse (não testado): local removeSkull = Action() function removeSkull.onUse(player, item, fromPosition, target, toPosition, isHotkey) local playerskull = player:getSkull() local skulls = { SKULL_NONE, SKULL_YELLOW, SKULL_GREEN, SKULL_WHITE } if isInArray(skulls, playerskull) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You can't remove that skull !") return 0 else player:setSkull(skulls[1]) item:remove(1) db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. player:getGuid() .. ")") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your Skull has been removed !") end return true end removeSkull:id(9930) removeSkull:register()
-
Ao dar use no item, receber tibia coins
local addCoins = Action() function addCoins.onUse(player, item, fromPosition, target, toPosition, isHotkey) local coins = 1 db.query("UPDATE `accounts` SET `coins` = `coins` + '" .. coins .. "' WHERE `id` = '" .. player:getAccountId() .. "';") player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce recebeu "..coins.." coins") item:remove(1) return true end addCoins:id(XXXXXX) addCoins:register() Lembre de mudar o id.
-
New Magic Shield
Essa adição não depende de um "scripts", mas sim, de alterações na src para torná-la funcional. Para adicioná-la apenas "visualmente", só fazer alterações no protocolgame.cpp: 1 - Em void ProtocolGame::sendBasicData(), adiciona o byte(0) para determinar que essa byte está ativa. 2 - Em void ProtocolGame::AddPlayerStats(), adiciona 2. Uma para mostrar a mana atual e outra para mostrar a quantidade máxima de mana.
-
Ajuda com Script
local removeSkull = Action() function removeSkull.onUse(cid, item) if not getTileInfo(getThingPos(cid)).protection then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You can't remove your skull in this area.") return true end if getCreatureSkullType(cid) == SKULL_RED or getCreatureSkullType(cid) == SKULL_black then db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") db.executeQuery("UPDATE `players` SET `skulltime` = 0") doCreatureSetSkullType(cid, 0) doPlayerSendTextMessage(cid, 19, "Você removeu seus Frags/Skull com sucesso.") doSendMagicEffect(getThingPos(cid), 26) doRemoveItem(item.uid,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your skull has been removed!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have red/black skull!") end return true end removeSkull:id(9930) removeSkull:register()
-
Revscript Remove skull
local removeSkull = Action() function removeSkull.onUse(cid, item, frompos, item2, topos) local playerSkull = getCreatureSkullType(cid) local skulls = {SKULL_RED, SKULL_BLACK} if isInArray(skulls, playerSkull) then doCreatureSetSkullType(cid, 0) doRemoveItem(item.uid, 1) db.executeQuery("UPDATE `players` SET `skulltime` = 0") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seus skull foi removido!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa estar red/black skull para suar este item.") end return true end removeSkull:id(9930) removeSkull:register()
-
More info: ERROR: #C-2 : Class::ConfigLUA - LUA config file doesn't exist. Path: C:/OTServ 12x/config.lua
Como diz no erro, o diretório “C:/OTServ 12x/“ não contém o config.lua ou não está configurado corretamente no config.php do site.
-
Adicionar item sem o Moviments.xml
No otbr n tem mais actions.xml. Se quiser add uma actions, terá que ir no diretório “/server/data/scripts/actions/“. Os scripts devem ir em formato rev.
-
Ajuda FREE BLESS
Creio que o motivo do erro foi a falta de registro ao revscript nas primeiras linhas. Exemplo: local freeBless = CreatureEvent("freeBless") function freeBless.onLogin(player) Porém esse script q vc mandou ai tem algumas falhas. Um deles é que só dará a bless 1~5, ou seja, como a twist of fate é a bless numero 1, poderia ainda haver episódios de drop de items com essa bless. Exemplo desse script mais otimizado: local freeBless = CreatureEvent("freeBless") function freeBless.onLogin(player) local freeBlessMaxLevel = 100 if player:getLevel() <= freeBlessMaxLevel then for i = 1, 6 do if not player:hasBlessing(i) then player:addBlessing(i, 1) end end player:sendTextMessage(MESSAGE_EVENT_ADVANCE,'You received adventurers blessings for you to be level less than ' .. freeBlessMaxLevel .. '!') player:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE) end return true end freeBless:register()
-
Reconectar ot server automaticamente
Remova a linha só, pq era apenas pra “mostrar” onde houve o crash/restart do sv.
-
Reconectar ot server automaticamente
Creio q isso deve resolver seu problema:
-
Ajuda IMAGENS STORE TIBIA 12 64x64 png
Se vc salvar as imagens q estao em sites de tibia como o tibiawiki, elas ja vao estar em 64 pixels.
-
X MONSTER MORRE NASCE BOSS
Só usar um script onDeath Game.createMonster(“nome”, Position(x, y, z), true, true)
-
Rascacoon Island 12.60
Parabéns pela iniciativa. Poderia passar o otb compatível com o mapa?
-
Action Para Quiver
Só lebre também, q o git q vc colocou, ele especifica que o quiver deve obrigatoriamente ter o nome do item “Quiver”, senão o script nao funcionara. Btw, fazendo essas alterações o script funcionará.
-
Action Para Quiver
Kara, poste o seu player.cpp. Pq algo la q está bloqueando. (Apenas com a comparação de 2 commints n tem como saber oq q está ocorrendo)
-
Action Para Quiver
O erro deve estar nesse intervalo. Para corrigir, só fazer a checagem da arrow dentro do quiver. https://github.com/Fir3element/3777/blob/master/src/player.cpp#L311-L324
-
[AJUDA] Reset System
Na verdade, ele está executando normalmente a querry, porém está retornando nil. Pra corrigir isso, só arrumar os 3 parâmetros: lvl_querry, reset_querry e nolook_querry.
-
Fazer porta funciona
Portas geralmente ficam nas libs do sv. Só adicionar o id dela la.
-
(Resolvido)Duvida instalação server + site em UBUNTU 14.04 64bits
São salvas tudo em sql, porem usa-se um arquivo php para conseguir linkar database-character. Exemplos q eu usava em bases q eu trabalhei: o login.php fazia um json_encode no calendário de eventos, boosted creature, e itens do player para informar na pagina inicial do client. Ou seja, ao invez de usar o ip da maquina, usa-se um link do site para assim dar o o $json_decode() e acessando o game. Esse tipo de login é mais seguro para os devs, ja q da pra explorar a proteção baseada no site, como o waf.
-
(Resolvido)Duvida instalação server + site em UBUNTU 14.04 64bits
Servidores que utilizam o protocol 11+ usam apenas o site para logar no personagem.
-
(Resolvido)Erro de análise : erro de sintaxe, '$' inesperado em C: \ xampp \ htdocs \ config \ config.php na linha 4
Altere seu $config['site']['serverPath'] para: $config['site']['serverPath'] = "C:/Users/Usuario/Desktop/narutibia/Server/"
-
(Resolvido)Efeito giratório no templo
local templeCicleEff = { eff = 20, delay = 100, [1] = {x = 155, y = 154, z = 7,}, -- topLeft [2] = {x = 154, y = 156, z = 7,}, -- bottomLeft [3] = {x = 157, y = 157, z = 7,}, -- bottomRight [4] = {x = 158, y = 154, z = 7,}, -- topRight } function onThink(interval, lastExecution) for i = 1, 4 do local initialPos = templeCicleEff[i] local finalPos = templeCicleEff[i+1] if i == 4 then finalPos = templeCicleEff[1] end doSendDistanceShoot(initialPos, finalPos, templeCicleEff.eff) end end
-
(Resolvido)Efeito giratório no templo
Mas vc está usando o evento como startup ou interval? Pq ele já está usando um "addEvent".