Tudo que Adriano SwaTT postou
-
(Resolvido)Anunciar morte
Tente assim: #EDITADO Em creaturescripts.xml adicione a tag: <event type="PrepareDeath" name="YouDead" script="youdead.lua"/> E youdead.lua adicione o script abaixo: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) then print('morri') if not isPlayer(mostDamageKiller) and not isPlayer(getCreatureMaster(mostDamageKiller)) then print('NÃO para player') doBroadcastMessage("O jogador "..getCreatureName(cid).." ["..getPlayerLevel(cid).."] acaba de morrer para "..getCreatureName(mostDamageKiller)..".") else print('para player') doBroadcastMessage("O jogador "..getCreatureName(cid).." ["..getPlayerLevel(cid).."] acaba de morrer para "..getCreatureName(mostDamageKiller).." ["..getPlayerLevel(mostDamageKiller).."].") end end return true end Agora em login.lua adicione a tag junto com as do gênero: registerCreatureEvent(cid, "YouDead") Boa sorte.
-
(Resolvido)Uniqueid
Boa tarde, conforme disse pelo skype, o que pretende fazer não irá ajudar mudando de actions para unique. E como este pedido é para pedido plenamente particular, não creio que seja necessário postar o mesmo aqui pois não fará efeito para outros membros. Sem mais, Até breve.
-
(Resolvido)[Quest] Diaria Reset Storage
tente assim: local config = { premiumDays = 1, storageQuest = 9999, timeWait = 1, -- tempo em dias. staminaRefuel = 3, -- tempo que irá recuperar em horas } function onUse(cid, item, frompos, item2, topos) if (getPlayerStorageValue(cid, config.storageQuest) < os.time()) then setPlayerStorageValue(cid, config.storageQuest, os.time() + (config.timeWait * 24 * 60 * 60 * 1000)) doPlayerSetStamina(cid, (getPlayerStamina(cid)) + (config.staminaRefuel * 60 * 60)) doSendMagicEffect(getThingPos(cid), 52) doPlayerAddPremiumDays(cid, config.premiumDays) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de receber um dia de GOLD CARD.") doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ainda nao pode usar.") end return true end Boa sorte, caso não dê bolo um script pra você aqui. Abraços.
-
[Pedido] Abrindo NPC por clique.
Boa tarde, consegui fazer um "sisteminha" que faz abrir o trade automaticamente ao parar em frente ao NPC. Mas tem um bugzinho que preciso remover. Caso consiga, posto aqui. Abraços.
-
[10.90] Vanaheim Global Opensource - TFS 1.2
Nossa cara, muito bom mesmo. Vai ajudar muitos membros. Continue sexy assim
-
getCreaturePathTo
#TOPICO: Muito bom cara, está de parabéns, irá ajudar demais. Seria realmente interessante isso. Mas dependendo do que quer fazer, há uma maneira meio gambiarra de fazer. Aos que usam a versão 0.3.6, pode acontecer erro ao compilar, porque na versão citada, há uma pequena diferença no: int32_t LuaInterface::luaGetCreatureName(lua_State* L) Ficando assim: int32_t LuaScriptInterface::luaGetCreatureName(lua_State* L) Reparem no LuaInterface para LuaScriptInterface que é reconhecido pelo 0.3.6. Enfim, ótimo sistema.
-
[Pedido] Abrindo NPC por clique.
Opss, isso mesmo. Ainda bem que entendeu, digitei correndo pois estava saindo. Vou testar um script que tenho aqui e se funcionar posto pra você. Me diz qual a versão da sua distro/source. Abraços.
-
NPC que compra e vende itens so por diamonds
Bom dia. Bom, criei um script onde você configura os itens que serão vendidos no início e o preço será sempre por diamantes (configura o item que será usado como moeda). Porém, não é OpenTrade e sim dinâmico... pois para ser opentrade creio que será preciso editar algo nas sources do servidor. Enfim... Crie o seu npc com o nome desejado e a extensão (XML) na pasta npcs, como por exemplo: "Jack Stone.xml" e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Jack Stone" script="jack_stone.lua" walkinterval="0" floorchange="0"> <health now="0" max="0"/> <look type="274" corpse="2212"/> <parameters> <parameter key="message_greet" value=" Seja bem-vindo{ |PLAYERNAME|}!"/> </parameters> </npc> Agora abra a pasta scripts e crie um arquivo com o nome "jack_stone.lua" e adicione o código abaixo dentro: Configure à gosto e diga se é isto mesmo que precisas. Boa sorte.
-
(Resolvido)[Pedido] Bike System Poketibia
Que bom, faça bom aproveito.
- Gesior by Matk
-
(Resolvido)[Pedido] Bike System Poketibia
Obrigado, que bom que funcionou. Faça bom proveito e boa sorte com seu projeto. Até breve.
-
(Resolvido)[Pedido] Bike System Poketibia
O script da bike ficará assim: Agora em creaturescripts.xml adicione a tag: <event type="logout" name="EventLogout" event="script" value="SystemLogout.lua"/> E em SystemLogout.lua, adicione o script abaixo: function onLogout(cid) if getPlayerStorageValue(cid, 12120) > 0 then return doPlayerSendCancel(cid, "You can't logout while riding in the bike.") and false end return true end Agora em login.lua, adicione a tag abaixo junto com as do gênero: registerCreatureEvent(cid, "EventLogout") Boa sorte.
-
(Resolvido)[Pedido] Bike System Poketibia
Exatamente, mas é o seguinte, teria que criar um script pra não poder deslogar usando estes atributos. Fácil de fazer.
-
(Resolvido)[Pedido] Bike System Poketibia
Na verdade não... Mas tente assim: Só o player que usar pode desativar para depois outro usar, ou seja, não tem como mais de 1 pessoa usar. local t = {text='Mount, bike!', dtext='Demount, bike!', s=5700, speed = 9999} local bikeid = 1212 -- ITEMID da Bike local function BikeSpeedOn(cid, t) setPlayerStorageValue(cid, t.s, t.speed) doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, t.speed) end local function BikeSpeedOff(cid, t) setPlayerStorageValue(cid, t.s, -1) doRegainSpeed(cid) end function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getThingPos(cid) if getPlayerItemCount(cid, 12774) <= 0 then return doPlayerSendCancel(cid, "Você precisa ter a bike na sua bag.") end if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then return doPlayerSendCancel(cid, "You can't do that right now.") end if getPlayerStorageValue(cid, t.s) <= 0 then if item.actionid ~= 12120 then doRemoveItem(item.uid, 1) local create_action = doPlayerAddItem(cid, bikeid, 1) doItemSetAttribute(create_action, "aid", 12120) doSendMagicEffect(pos, 177) doCreatureSay(cid, t.text, 19) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You have mounted in a bike.') BikeSpeedOn(cid, t) if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1951}, -1) else doSetCreatureOutfit(cid, {lookType = 1950}, -1) end else doPlayerSendCancel(cid, "This bike is in use.") end else if item.actionid == 12120 and getCreatureOutfit(cid).lookType == 1951 or getCreatureOutfit(cid).lookType == 1950 then doRemoveItem(item.uid, 1) doPlayerAddItem(cid, bikeid, 1) doSendMagicEffect(pos, 177) doCreatureSay(cid, t.dtext, 19) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'You haven demouted of a bike.') BikeSpeedOff(cid, t) doRemoveCondition(cid, CONDITION_OUTFIT) else doPlayerSendCancel(cid, "This bike isn't yours.") end end return true end No caso, não precisará mais dos outros scripts que postei. Boa sorte.
-
(Resolvido)[Pedido] Bike System Poketibia
Sim, eu entendi.. Da pra bloquear o item para que tipo... Eu uso, mesmo que eu jogue no chão e outro pegue, ele não poder usar. Assim da pra fazer. Ou então, por o nome do player no item, assim só quem for o dono poder usar.
-
(Resolvido)[Pedido] Bike System Poketibia
Entendi, olhando o script eu entendi como funciona. Seria mais fácil se no caso ela tivesse em algum slot do player, como helmet, etc.. Aí daria pra bloquear, mas assim na backpack teria que ver as possibilidades de criar uma função.
-
(Resolvido)[Pedido] Bike System Poketibia
hmm, então a função primária sobre a bike está certo, agora temos que ver uma função para bloquear o item de ser jogado. No caso, é só dar use no item né? Não precisa equipar na cabeça, e tals?
-
(Resolvido)[Pedido] Bike System Poketibia
Tente assim: Atualize seu script da bike por este e configure a id do item no início do script "bikeid": Agora em movements.xml adicione a tag abaixo: <movevent type="RemoveItem" actionid="12120" event="script" value="bikesystem.lua"/> E agora o script bikesystem.lua: function onRemoveItem(item, tile, lastpos, cid) if isPlayer(cid) then return false end end Boa sorte.
-
(Resolvido)[Pedido] Bike System Poketibia
Certo, agora poste o script da Bike. Aguardando.
-
[Pedido] Abrindo NPC por clique.
Boa tarde, você tem as sources do seu servidor?
-
[Pedido] se o player usar tal item ele não consigo soltar
No seu caso, teria que criar outro tópico, pois não pode usar tópicos de outros usuários para pedido próprio. Enfim, preciso do script da bicicleta para adaptar. Crie um novo tópico e me envie o link por private. Aguardo.
-
(Resolvido)Usar X item apenas com X item
Tente assim: Registre a tag abaixo em creaturescripts.xml: <event type="target" name="Weapons" event="script" value="weapons.lua" /> E o script abaixo, "weapons.lua", configurando a ID da arma com a ID da munição, conforme exemplo. local bows = { [7438] = {2352}, -- Arma, Munição [5907] = {8304}, -- Arma, Munição [8851] = {6529}, -- Arma, Munição [5803] = {2547}, -- Arma, Munição } local slot = nil function onTarget(cid, target) if not bows[getPlayerSlotItem(cid, 5).itemid] and not bows[getPlayerSlotItem(cid, 6).itemid] then return true end if bows[getPlayerSlotItem(cid, 5).itemid] then slot = 5 elseif bows[getPlayerSlotItem(cid, 6).itemid] then slot = 6 end local bow = bows[getPlayerSlotItem(cid, slot).itemid] if bow then if (getPlayerSlotItem(cid, 10).itemid == bow[1]) then return true else doPlayerSendCancel(cid, "This ammunition is not for this weapon.") return false end end return true end Agora em login.lua da pasta creaturescripts/scripts, adicione a tag abaixo junto com as do gênero. registerCreatureEvent(cid, "Weapons") Salve e reinicie o server. Boa sorte.
-
(Resolvido)Usar X item apenas com X item
Hmm, teste assim, acho que vacilei em um detalhe. local bows = { [7438] = {2352}, -- Arma, Munição [5907] = {8304}, -- Arma, Munição [8851] = {6529}, -- Arma, Munição [5803] = {2547}, -- Arma, Munição } local slot = nil function onTarget(cid, target) if not bows[getPlayerSlotItem(cid, 5).itemid] or not bows[getPlayerSlotItem(cid, 6).itemid] then return true end if bows[getPlayerSlotItem(cid, 5).itemid] then slot = 5 elseif bows[getPlayerSlotItem(cid, 6).itemid] then slot = 6 end local bow = bows[getPlayerSlotItem(cid, slot).itemid] if bow then if (getPlayerSlotItem(cid, 10).itemid == bow[1]) then return true else doPlayerSendCancel(cid, "This ammunition is not for this weapon.") return false end end return true end Boa sorte.
-
(Resolvido)Usar X item apenas com X item
Reiniciou o server?
-
(Resolvido)Usar X item apenas com X item
Atualize o script para este: local bows = { [idbow] = {ammunitionID}, -- Arma, Munição [idbow2] = {ammunitionID2}, -- Arma, Munição [idbow3] = {ammunitionID3}, -- Arma, Munição } local slot = nil function onTarget(cid, target) if not bows[getPlayerSlotItem(cid, 5).itemid] or bows[getPlayerSlotItem(cid, 6).itemid] then return true end if bows[getPlayerSlotItem(cid, 5).itemid] then slot = 5 elseif bows[getPlayerSlotItem(cid, 6).itemid] then slot = 6 end local bow = bows[getPlayerSlotItem(cid, slot).itemid] if bow then if (getPlayerSlotItem(cid, 10).itemid == bow[1]) then return true else doPlayerSendCancel(cid, "Esta munição não é para esta arma.") return false end end return true end Boa sorte.