Ir para conteúdo
Banner com Efeitos

Adriano SwaTT

Membro
  • Registro em

  • Última visita

Tudo que Adriano SwaTT postou

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Nossa cara, muito bom mesmo. Vai ajudar muitos membros. Continue sexy assim
  6. #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.
  7. 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.
  8. 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.
  9. Adriano SwaTT postou uma resposta no tópico em Websites
    Seu site está Online como localhost ou posso acessá-lo daqui? Se puder, ficar mais fácil, me mande o link.
  10. Obrigado, que bom que funcionou. Faça bom proveito e boa sorte com seu projeto. Até breve.
  11. 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.
  12. Exatamente, mas é o seguinte, teria que criar um script pra não poder deslogar usando estes atributos. Fácil de fazer.
  13. 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.
  14. 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.
  15. 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.
  16. 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?
  17. 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.
  18. Certo, agora poste o script da Bike. Aguardando.
  19. Boa tarde, você tem as sources do seu servidor?
  20. 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.
  21. 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.
  22. 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.
  23. 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.

Informação Importante

Confirmação de Termo