
amarelax
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
amarelax deu reputação a Nysman em player info ajudaUsa :
Talkaction.xml add:
<talkaction log="yes" words="/info" event="script" value="playerinfo.lua"/>
-
amarelax deu reputação a Ed.Specter em (Resolvido)Trocar premium points no tradeadiciona a função que citei.
e vê se funciona esse aqui:
talkactions
function onSay(cid, words, param, param2, channel) local t = string.explode(param, ",") local target = getCreatureByName(t[1]) local points = tonumber(t[2]) local item = 2233 local storage = 21223 if(param == '') then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") end if (target ~= nil) and isPlayer(target) and not isPlayerGhost(target) then if (points ~= nil) and (type(points) == 'number') and (points>0) then if getPlayerVipPoints(cid) > points then local addItem = doPlayerAddItem(cid, item, 1) doStartTrade(cid, target, addItem) doItemSetAttribute(addItem, "description", "Transferência de "..points.." premium points.") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você deu trade no jogador "..getPlayerName(target)..", com a intenção de trocar "..points.." premium points.") doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "O Jogador "..getPlayerName(cid).." deu trade em você, e está disposto a trocar "..points.." premium points.") setPlayerStorageValue(cid, storage, points) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem essa quantidade de premium points.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end return true end
creaturescripts:
function onTradeAccept(cid, target, item) local storage = 21223 local sto = getPlayerStorageValue(cid, storage) if sto > 0 then doPlayerRemoveVipPoints(cid, sto) doPlayerAddVipPoints(target, sto) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você trocou "..sto.." premium points, Parabéns.") doPlayerSendTextMessage(target, MESSAGE_STATUS_CONSOLE_BLUE, "Você realizou uma troca e adquiriu "..sto.." premium points, Parabéns.") setPlayerStorageValue(cid, storage, 0) end return true end
nesse caso você vai usar !trade NomeDoOutroPlayer, Quantidade de points. Exemplo: !trade Eduardo, 3
acho que deu pra ter uma boa base de como funciona..
não entendi direito esse do npc
-
amarelax deu reputação a Enzo Caue em NPC policialOlá, espero ajudar.. Fiz correndo e ficou bem básico.
Crie um arquivo com o nome Loyer.xml e dentro cole isto:
<?xml version="1.0" encoding="UTF-8"?> <npc name="Loyer" script="Loyer.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="129" head="19" body="69" legs="125" feet="50" addons="0" /> </npc> Modifique o looktype se quiser, estou usando como base o do Captain Bluebear.
Agora em npcs/script crie outro arquivo chamado Loyer.lua e coloque isto dentro:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local voices = { {text = 'Passages to Carlin, Ab\'Dendriel, Edron, Venore, Port Hope, Liberty Bay, Yalahar, Roshamuul, Krailos, Oramond and Svargrond.'} } npcHandler:addModule(VoiceModule:new(voices)) -- Travel local function addTravelKeyword(keyword, cost, destination, action) local travelKeyword = keywordHandler:addKeyword({keyword}, StdModule.say, {npcHandler = npcHandler, text = 'Do you seek a passage to ' .. keyword:titleCase() .. ' for |TRAVELCOST|?', cost = cost, discount = 'postman'}) travelKeyword:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, cost = cost, discount = 'postman', destination = destination}, nil, action) travelKeyword:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, text = 'We would like to serve you some time.', reset = true}) end addTravelKeyword('carlin', 5000000, Position(32387, 31820, 6)) addTravelKeyword('ab\'dendriel', 5000000, Position(32734, 31668, 6)) addTravelKeyword('edron', 5000000, Position(33175, 31764, 6)) addTravelKeyword('venore', 5000000, Position(32954, 32022, 6)) addTravelKeyword('port hope', 5000000, Position(32527, 32784, 6)) addTravelKeyword('roshamuul', 5000000, Position(33494, 32567, 7)) addTravelKeyword('svargrond', 5000000, Position(32341, 31108, 6)) addTravelKeyword('liberty bay', 5000000, Position(32285, 32892, 6)) addTravelKeyword('yalahar', 5000000, Position(32816, 31272, 6)) addTravelKeyword('oramond', 5000000, Position(33479, 31985, 7)) addTravelKeyword('krailos', 5000000, Position(33492, 31712, 6)) addTravelKeyword('thais', 5000000, Position(32310, 32210, 6)) keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, text = 'I can get you out of this prision by the price of 5kk, are you interested? If so, say any city where you wish to go. E.g: {thais},{carlin},{venore},{yalahar},{krailos},{liberty bay} and so on.'}) npcHandler:setMessage(MESSAGE_GREET, 'Welcome, |PLAYERNAME|. How can I {help} you today?') npcHandler:setMessage(MESSAGE_FAREWELL, 'Good bye. Recommend us if you were satisfied with our service.') npcHandler:setMessage(MESSAGE_WALKAWAY, 'Good bye then.') npcHandler:addModule(FocusModule:new()) Para alterar os preços, é só editar em : addTravelKeyword('carlin', 5000000, Position(32387, 31820, 6)), onde o preço é 5kk (5000000).
Por default, todos os lugares levam aos boats de suas respectivas cidades, mas você pode trocar pelos templos de cada cidade..
Espero ter ajudado.. O script que fiz foi baseado em tfs 1.2.
-
amarelax deu reputação a Movie em Peça seu scriptNão testei, esse é o primeiro, jaja atualizo e posto o do NPC
-- ChangeSex para TFS 1.3 -- Feito por Movie local custo = 10000 local cor = 94 -- Cor da calça local splash = 2016 -- ID do splash function onSay(player, words, param) if player:removeMoney(custo) then if player:getSex() == 0 then player:setSex(PLAYERSEX_MALE) Game.createItem(splash, 1, player:getPosition()) player:setOutfit({lookHead = 0, lookBody = 0, lookLegs = cor, lookFeet = 0}) player:say("AAAAAA", TALKTYPE_MONSTER_SAY) player:save() else player:setSex(PLAYERSEX_FEMALE) Game.createItem(splash, 1, player:getPosition()) player:setOutfit({lookHead = 0, lookBody = 0, lookLegs = cor, lookFeet = 0}) player:say("AAAAAA", TALKTYPE_MONSTER_SAY) player:save() return true end else player:say("Você não tem dinheiro suficiente.", TALKTYPE_MONSTER_SAY) return true end end
-
amarelax deu reputação a DdJs em [Link Quebrado] Teleports Room | 10.98Teleports Room
Version: 10.98
[Scan]
Type: .RAR
Size: 11KB
Position(s): [X: 1005 Y: 1029 Z: 9]
File password: tibiaking
34 Monsters TPs
15 Quests/Events TPs
Images:
-
amarelax deu reputação a DdJs em Knight Guild Fort | 10.98Knight Guild Fort
Version: 10.98
KnightFort_10.98.rar
[Scan]
Type: .RAR
Size: 13KB
Position(s): [X: 1025 Y: 1025 Z: 7]
File password: tibiaking
Images:
-
amarelax deu reputação a Dwarfer em (Resolvido)Corpse por vocaçãolocal array = { [1] = {[0] = 6080, [1] = 6080}, [2] = {[0] = 6080, [1] = 6080}, --- coloque os outros aqui [30] = {[0] = 5966, [1] = 5966} } function onDeath(cid, corpse) local voc = array[getPlayerVocation(cid)] if voc then local newId = voc[getPlayerSex(cid)] doTransformItem(corpse.uid, newId, 1) doDecayItem(corpse.uid) end return true end
No array:
[1] = { [0] = 6080, -- [0] = id do corpo feminino [1] = 6080 -- [1] = id do corpo masculino }, Faça para os demais, fiz apenas para alguns para exemplificar.
-
amarelax deu reputação a Everson Miranda em (Resolvido)Pedido Teleporte por comando para OTserver 10.98@amarelax o script do @Dwarfer parece ser funcional, apenas altere as coordenadas
local places = { ["kazordoon"] = Position(X,Y,Z), ["mines"] = Position(X,Y,Z), ["gnomebase"] = Position(X,Y,Z) }
Teste ai
-
amarelax deu reputação a Dwarfer em (Resolvido)Pedido Teleporte por comando para OTserver 10.98Em talkactions/scripts crie um arquivo.lua:
No talkactions.xml, adicione a tag: <talkaction words="/ir" separator=" " script="NOMEDOARQUIVO.lua" />
-
A forma mais simplificada de fazer isso, é retornando falso no evento onChangeOutfit e dando a outfit relacionada à vocação ao criar o personagem. Assim é meio que um bloqueio para evitar que mudem a outfit de seus personagens.
o evento onChangeOutift você encontra no arquivo data/events/scripts/creature.lua.
-
amarelax deu reputação a FlavioHulk em PedidoExiste sim
-
local level = 20 function onUse(player, item, fromPosition, target, toPosition, isHotkey) if (player:getLevel() < level) then return player:sendTextMessage(MESSAGE_INFO_DESCR, 'Apenas jogadores level '.. level ..' podem coletar.') and false end item:transform(2786) item:decay() Game.createItem(2677, 3, fromPosition) return true end @amarelax
-
-
amarelax deu reputação a Marcio Silva em Crazy Vipot (Mapa+Website+Basa De Dados)Ola pessoal cá estou eu de novo.
Este servidor é 100% baseado no OpenTibia SVN, ou sejá, este server não possui uma versão SQLite, este server não possui Account Manager, ou seja... este server é apenas para quem sabe mexer com xampp e website.
Mas vamos mas é falar do mapa.
• O Que Contêm no Servidor:
+ Scripts.
+ Maps.
+ Pack de Monstros 100 % Proprios.
+ Milhares NPC'S,um File para Cada NPC.
+ War System.
+ TFS 0.4 DEV Rev: 3884 com War System Já Compilado.
+Varios Teleportes free e Vip
+ Varias hunts por level
+ Mapa proprio com uma nova cidade e varias hunts implantadas
• Lista Das Principais Quests (Todas Funcionando 100%):
+ The Annihilator Quest
+ Demon Helmet Quest
+ Firewalker Boots Quest
+ The Inquisition Quest
+ The Pits of Inferno Quest
+ Sless Set
+ The Demon Oak Quest
+ Quest de dias Vip
+ Quest de addon doll
+Entre outras
Prints
Area 2k
Vários Teleportes
Peço que fechem o topico pois o ot irá abrir brevemente de novo
Créditos:
Thales Valentim
CrAzYboY
Márcio Silva
+*Nota: o server esta ainda incompleto mas ja esta jogável, eu adicionei aos itens iniciais um item que da 100 points no website se quiserem retirem, como estou sem tempo para corrigir alguns bugs que ainda tem principalmente nos eventos partilho com vocês.
Bom Jogo