Ir para conteúdo

Bizzle

Membro
  • Registro em

  • Última visita

Tudo que Bizzle postou

  1. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    pra vir falar merda do Justin Bieber, deve ser funkeiro mesmo é Bieber*, se informa. o perfil é meu, coloco a foto que eu quiser e acho que você deveria ir cuidar da sua vida e quem sabe fazer uma plástica também, pq ne velho..essa sua foto aí da câncer no olho E a única biba aqui é você com essa cara de quem tá com uma banana na bunda
  2. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    e você é fã de quem? mc catra? fica falando de sexo nas músicas pra pensar que é capaz de foder uma ppk só que nem piroca tem? "esse nasceu zuado" mano, compra um espelho e aí cê vai ver uma coisa zuada..mas bem zuada mesmo tipo pra caralho e já se prepara pros 7 anos de azar, porque não tem espelho que te aguente.
  3. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    Que nada..não ligo pra esses caras ignorantes que com ctz devem ser funkeiros Pelo menos garanti meu *DOUBLE KILL*
  4. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    Sou novo? viu aonde isso se nem sequer disponibilizei ano de nascimento? (se for por eu ser novo no forum, não inventa argumento que isso não tem nada a ver) Sou fã do Justin Bieber mesmo e aposto que como mais minas que você Queria uma opção pra evitar ter que ver essa sua cara escrota na foto de perfil também
  5. dancering.lua (data/movements/scripts): local storage, value = 38417, -1 local text = {"Você está com o DANCE ativado, retire o anel para desativar.", "Ai Que Loucuuura"} local sex = { [0] = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324}, [1] = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325} } local condition_infight = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition_infight, CONDITION_PARAM_TICKS, -1) function onEquip(cid, item, slot) local psex = sex[getPlayerSex(cid)] if psex then for _, n in pairs(psex) do otf = {lookType = math.random(n[1], n[21]), lookHead = math.random(1, 133), lookBody = math.random(1, 133), lookLegs = math.random(1, 133), lookFeet = math.random(1, 133)} doSetCreatureOutfit(cid, otf, -1) doAddCondition(cid, condition_infight) doCreatureSetNoMove(cid, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text[1]) doPlayerSendCancel(cid, text[2]) setPlayerStorageValue(cid, storage, value) end end return 1 end function onDeEquip(cid, item, slot) if getPlayerStorageValue(cid, storage) >= 1 then doRemoveCondition(cid, CONDITION_OUTFIT) doRemoveCondition(cid, CONDITION_INFIGHT) doCreatureSetNoMove(cid, 0) doPlayerSendCancel(cid, text[2]) setPlayerStorageValue(cid, storage, value) end return 1 end Adicione as seguintes tags ao arquivo movements.xml (data/movements): <movevent type="Equip" itemid="7697" slot="ring" event="script" value="dancering.lua"/> <movevent type="DeEquip" itemid="7697" slot="ring" event="script" value="dancering.lua"/> stopdance.lua (data/creaturescripts/scripts): local storage, value = 38417, -1 function onDeath(cid) if getPlayerStorageValue(cid, storage) >= 1 then setPlayerStorageValue(cid, storage, value) end return 1 end function onLogout(cid) if getPlayerStorageValue(cid, storage) >= 1 then setPlayerStorageValue(cid, storage, value) end return 1 end Na mesma pasta (data/creaturescripts/scripts), abra o arquivo login.lua e adicione as seguintes linhas ao final do script: registerCreatureEvent(cid, "StopDanceonDeath") registerCreatureEvent(cid, "StopDanceonLogout") Adicione estas tags ao arquivo creaturescripts.xml (data/creaturescripts): <event type="death" name="StopDanceonDeath" event="script" value="stopdance.lua"/> <event type="logout" name="StopDanceonLogout" event="script" value="stopdance.lua"/> Créditos: meus PS: não testei
  6. Arquivo .lua do NPC: 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 npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Can you help me? If you help me, I will reward you with beautiful addons! Say {addons} or {help} if you do not know what to do.") function playerBuyAddonNPC(cid, message, keywords, parameters, node) local player = Player(cid) if(not npcHandler:isFocused(cid)) then return false end if (parameters.confirm ~= true) and (parameters.decline ~= true) then if(player:getPremiumDays(cid) == 0) and (parameters.premium == true) then npcHandler:say('Sorry, but this addon and only for premium players!', cid) npcHandler:resetNpc() elseif (player:getStorageValue(parameters.storageVIP) <= 0) then npcHandler:say('Sorry, but this addon and only for VIP players!', cid) npcHandler:resetNpc() return true end if (player:getStorageValue(parameters.storageID) >= 1) then npcHandler:say('You already have this addon!', cid) npcHandler:resetNpc() return true end if (player:getStorageValue(parameters.storageVIP) >= 2) then npcHandler:say('You already have this VIP addon!', cid) npcHandler:resetNpc() return true end local itemsTable = parameters.items local items_list = '' if table.maxn(itemsTable) > 0 then for i = 1, table.maxn(itemsTable) do local item = itemsTable[i] items_list = items_list .. item[2] .. ' ' .. getItemName(item[1]) if i ~= table.maxn(itemsTable) then items_list = items_list .. ', ' end end end local text = '' if (parameters.cost > 0) and table.maxn(parameters.items) then text = items_list .. ' and ' .. parameters.cost .. ' gp' elseif (parameters.cost > 0) then text = parameters.cost .. ' gp' elseif table.maxn(parameters.items) then text = items_list end npcHandler:say('Brought me ' .. text .. ' by ' .. keywords[1] .. '?', cid) return true elseif (parameters.confirm == true) then local addonNode = node:getParent() local addoninfo = addonNode:getParameters() local items_number = 0 if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] if (player:getItemCount(item[1]) >= item[2]) then items_number = items_number + 1 end end end if(player:getMoney(cid) >= addoninfo.cost) and (items_number == table.maxn(addoninfo.items)) then player:removeMoney(addoninfo.cost) if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] player:removeItem(item[1],item[2]) end end player:addOutfitAddon(addoninfo.outfit_male, addoninfo.addon) player:addOutfitAddon(addoninfo.outfit_female, addoninfo.addon) player:setStorageValue(addoninfo.storageID,1) npcHandler:say('Here it is.', cid) else npcHandler:say('You do not have the necessary items or money!', cid) end if(player:getMoney(cid) >= addoninfo.cost) and (items_number == table.maxn(addoninfo.items)) and (player:getStorageValue(parameters.storageVIP) >= 1) then player:removeMoney(addoninfo.cost) if table.maxn(addoninfo.items) > 0 then for i = 1, table.maxn(addoninfo.items) do local item = addoninfo.items[i] player:removeItem(item[1],item[2]) end end if table.maxn(addoninfo.giveitems) > 0 then for i = 1, table.maxn(addoninfo.giveitems) do local giveitem = addoninfo.giveitems[i] player:addItem(giveitem[1], giveitem[2]) end end player:setStorageValue(addoninfo.storageVIP,1) npcHandler:say('Here it is.', cid) else npcHandler:say('You do not have the necessary items or money!', cid) end npcHandler:resetNpc() return true elseif (parameters.decline == true) then npcHandler:say('This does not interest you? Try another!', cid) npcHandler:resetNpc() return true end return false end local noNode = KeywordNode:new({'no'}, playerBuyAddonNPC, {decline = true}) local yesNode = KeywordNode:new({'yes'}, playerBuyAddonNPC, {confirm = true}) -- citizen local outfit_node = keywordHandler:addKeyword({'citizen addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5878,100}, {5890,100}, {5902,50}, {2480,1}}, giveitems = {9693, 1}, storageVIP = 54321}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- hunter local outfit_node = keywordHandler:addKeyword({'hunter addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5876,100}, {5948,100}, {5891,5}, {5887,1}, {5889,1}, {5888,1}, {5875,1}}, outfit_female = 137, outfit_male = 129, addon = 3, storageID = 10071}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- mage local outfit_node = keywordHandler:addKeyword({'mage addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{2182,1}, {2186,1}, {2185,1}, {8911,1}, {2181,1}, {2183,1}, {2190,1}, {2191,1}, {2188,1}, {8921,1}, {2189,1}, {2187,1}, {2392,30}, {5903,1}}, outfit_female = 138, outfit_male = 130, addon = 3, storageID = 10023) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- knight local outfit_node = keywordHandler:addKeyword({'knight addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5880,100}, {5892,1}, {5893,100}, {5885,1}, {5887,1}}, outfit_female = 139, outfit_male = 131, addon = 3, storageID = 10073}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- summoner local outfit_node = keywordHandler:addKeyword({'summoner addon'}, playerBuyAddonNPC, {premium = false, items = {{5958,1}, {5894,70}, {5911,20}, {5883,40}, {5922,35}, {5886,10}, {5881,60}, {5882,40}, {5904,15}, {5905,30}}, cost = 0, outfit_female = 141, outfit_male = 133, addon = 3, storageID = 10075}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- barbarian local outfit_node = keywordHandler:addKeyword({'barbarian addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5884,1}, {5911,10}, {5886,10}, {5880,100}, {5892,1}, {5893,50}, {5876,5}}, outfit_female = 147, outfit_male = 143, addon = 3, storageID = 10025}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- druid local outfit_node = keywordHandler:addKeyword({'druid addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5896,50}, {5897,50}, {5906,100}, {5940,1}}, outfit_female = 148, outfit_male = 144, addon = 3, storageID = 10027}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- nobleman local outfit_node = keywordHandler:addKeyword({'nobleman addon'}, playerBuyAddonNPC, {premium = false, cost = 300000, items = {}, outfit_female = 140, outfit_male = 132, addon = 3, storageID = 10029}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- oriental local outfit_node = keywordHandler:addKeyword({'oriental addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5945,1}, {5883,100}, {5895,100}, {5891,1}, {5912,100}}, outfit_female = 150, outfit_male = 146, addon = 3, storageID = 10031}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- pirate local outfit_node = keywordHandler:addKeyword({'pirate addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{6098,100}, {6126,100}, {6097,100}, {6101,1}, {6102,1}, {6100,1}, {6099,1}}, outfit_female = 155, outfit_male = 151, addon = 3, storageID = 10031}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- warrior local outfit_node = keywordHandler:addKeyword({'warrior addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5925,15}, {5899,50}, {5884,1}, {5919,1}, {5880,100}, {5887,1}}, outfit_female = 142, outfit_male = 134, addon = 3, storageID = 10033}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- wizard local outfit_node = keywordHandler:addKeyword({'wizard addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{2536,1}, {2492,1}, {2488,1}, {2123,1}, {5922,50}}, outfit_female = 149, outfit_male = 145, addon = 3, storageID = 10035}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- assassin local outfit_node = keywordHandler:addKeyword({'assassin addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5912,50}, {5910,50}, {5911,50}, {5913,50}, {5914,50}, {5909,50}, {5804,1}, {5930,10}}, outfit_female = 156, outfit_male = 152, addon = 3, storageID = 10037}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- shaman local outfit_node = keywordHandler:addKeyword({'shaman addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5810,1}, {3955,1}, {5015,1}, {3966,5}, {3967,5}}, outfit_female = 158, outfit_male = 154, addon = 3, storageID = 10039}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- jester local outfit_node = keywordHandler:addKeyword({'jester addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{7957,1}, {7958,1}}, outfit_female = 270, outfit_male = 273, addon = 3, storageID = 10041}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- nightmare local outfit_node = keywordHandler:addKeyword({'nightmare addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{6500,1500}, {6500,1500}}, outfit_female = 269, outfit_male = 268, addon = 3, storageID = 10043}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- yalaharian local outfit_node = keywordHandler:addKeyword({'yalaharian addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{9955,1}, {10309,1}}, outfit_female = 324, outfit_male = 325, addon = 3, storageID = 10045}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- warmaster local outfit_node = keywordHandler:addKeyword({'warmaster addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{11328,1}, {11231,1}}, outfit_female = 335, outfit_male = 336, addon = 3, storageID = 10047}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- wayfarer local outfit_node = keywordHandler:addKeyword({'wayfarer addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{12657,1}, {12656,1}}, outfit_female = 366, outfit_male = 367, addon = 3, storageID = 10049}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- beggar local outfit_node = keywordHandler:addKeyword({'beggar addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5878,50}, {5921,30}, {5913,20}, {5894,10}, {5883,100}}, outfit_female = 157, outfit_male = 153, addon = 3, storageID = 10071}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- brotherhood local outfit_node = keywordHandler:addKeyword({'brotherhood addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{6500,1500}, {6500,1500}}, outfit_female = 279, outfit_male = 278, addon = 3, storageID = 10073}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- norseman local outfit_node = keywordHandler:addKeyword({'norseman addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{7290,5}, {7290,10}}, outfit_female = 252, outfit_male = 251, addon = 3, storageID = 10075}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) -- demonhunter local outfit_node = keywordHandler:addKeyword({'norseman addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{7290,5}, {7290,10}}, outfit_female = 252, outfit_male = 251, addon = 3, storageID = 10075}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) keywordHandler:addKeyword({'addons'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can give you: citizen, hunter, mage, knight, nobleman, summoner, warrior, barbarian, druid, wizard, oriental, pirate, assassin, beggar, shaman, norseman, nighmare, jester, brotherhood, yalaharian, warmaster and wayfarer addons.'}) keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'For help with addons talk {help addon}.'}) keywordHandler:addKeyword({'help addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'To buy the full addon talk \'NAME addon\'. Ex: \'nobleman addon\'.'}) npcHandler:addModule(FocusModule:new()) No script acima eu usei como exemplo do seu pedido, os addons do outfit citizen. Como pode notar: -- citizen local outfit_node = keywordHandler:addKeyword({'citizen addon'}, playerBuyAddonNPC, {premium = false, cost = 0, items = {{5878,100}, {5890,100}, {5902,50}, {2480,1}}, giveitems = {9693, 1}, storageVIP = 12345}) outfit_node:addChildKeywordNode(yesNode) outfit_node:addChildKeywordNode(noNode) em troca dos itens/quantidade: items = {5878,100}, {5890,100}, {5902,50}, {2480,1} o player receberá o item/quantidade (1 jester doll): giveitem = {9693, 1} porém, ele só receberá o jester doll, se ele tiver o valor da storage VIP: storageVIP = 12345 Basta modificar os valores de acordo com o seu servidor, ou como quiser. Na pasta data/talkactions/scripts crie um arquivo nomeado por jesterdoll.lua e adicione o script: local text = {"Command param required.", "You already have this addon!", "You received the addon!", "You need a addon doll!"} local outfits = { ["citizen"] = {136, 128}, ["hunter"] = {137, 129}, ["mage"] = {138, 130}, ["knight"] = {139, 131}, ["noblewoman"] = {140, 132}, ["summoner"] = {141, 133}, ["warrior"] = {142, 134}, ["barbarian"] = {147, 143}, ["druid"] = {148, 144}, ["wizard"] = {149, 145}, ["oriental"] = {150, 146}, ["pirate"] = {155, 151}, ["assassin"] = {156, 152}, ["beggar"] = {157, 153}, ["shaman"] = {158, 154}, ["norsewoman"] = {252, 251}, ["nightmare"] = {269, 268}, ["jester"] = {270, 273}, ["brotherhood"] = {279, 278}, ["demonhunter"] = {288, 289}, ["yalaharian"] = {324, 325}, ["warmaster"] = {336, 335}, ["wayfarer"] = {366, 367} } function onSay(cid, words, param) local player, param = Player(cid), string.lower(param) local jesterdoll_id = 9693 if player:getItemCount(jesterdoll_id) > 0 then if param ~= "" and outfits[param] then if (not player:hasOutfit(outfits[param][1], 3)) or (not player:hasOutfit(outfits[param][2], 3)) then Position(getThingPos(cid)):sendMagicEffect(CONST_ME_GIFT_WRAPS) player:removeItem(jesterdoll_id, 1) player:addOutfitAddon(outfits[param][1], 3) player:addOutfitAddon(outfits[param][2], 3) player:sendTextMessage(MESSAGE_INFO_DESCR, text[3]) else player:sendCancelMessage(text[2]) end else player:sendCancelMessage(text[1]) end else player:sendCancelMessage(text[4]) end return true end Agora em talkactions.xml (data/talkactions), adicione a seguinte tag: <talkaction words="!addon" script="jesterdoll.lua"/> Para editar o ID do jester doll, basta modificar no script acima, onde está: local jesterdoll_id = 9693 pelo ID do item que você desejar (mas lembre-se de que esse item deve conter o mesmo ID do item que o player irá receber pelo NPC). Créditos da TalkAction: luanluciano93 Creditos do NPC: eu mesmo PS: não testei
  7. Poste o script completo desse NPC.
  8. Quem postou foi você. E isso não é uma crítica, nem nada pessoal, só relevei o detalhe que citei com a intenção de compartilhar conhecimento.
  9. Só lembrando que na linguagem Lua, não existe TRUE e FALSE, é errado usá-los. Esses valores são determinados por true / false e/ou 1 / 0. Fora isso, conteúdo muito bem explicado.
  10. Desculpe, digitei um comando errado. Tente agora: local storage = 19881 local msg = "Você acabou de conseguir os Items Iniciais!" local item = { {idn = 1999, count = 1}, {idn = 2665, count = 1}, {idn = 2417, count = 1}, {idn = 2427, count = 1}, {idn = 2379, count = 1}, {idn = 2545, count = 1}, {idn = 7387, count = 1}, {idn = 7436, count = 1}, {idn = 2666, count = 2} } function onStepIn(cid, item, pos, fromPos) for _, x in ipairs(item) do if isPlayer(cid) and getPlayerStorageValue(cid, storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, msg) doPlayerAddItem(cid, x.idn, x.count) setPlayerStorageValue(cid, storage, 1) end end return 1 end
  11. Bizzle postou uma resposta no tópico em Ouvidoria
    modinha É..seria bom. Mais fácil do que ir até o próprio perfil e ficar procurando quem deu os pontos de reputação.
  12. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    UAHEUAHUSHUAUSEH a piscadinha do he-man pra vc Factur
  13. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    *headshot* dica: quer moral paga coca
  14. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    Omfg é o menino king of paint mesmo
  15. Bizzle postou uma resposta no tópico em Playground (Off-topic)
    e eu achando que o meu desenho era bom..olha só pra isso engraçado..é um passarinho que faz "piu" (?!)
  16. Ops!! Obrigado por complementar, li errado.
  17. Então basta adicionar, cara..ficando assim: <item id="2510" article="a" name="fusion armor"> <attribute key="description" value="Health and Ki Regeneration +3000/s."/> <attribute key="weight" value="6500"/> <attribute key="armor" value="150"/> <attribute key="slotType" value="body"/> <attribute key="healthGain" value="1000"/> <attribute key="healthTicks" value="6000"/> </item> É só alterar o valor, como o Rusherzin disse; no caso, value="1000"/> (irá healar 1000 de HP).
  18. Ops!! Apenas substitua a primeira linha do script por: local poutfit = {lookType = 104} Ficando assim: local poutfit = {lookType = 104} function onStepIn(cid, item, pos, fromPos) if isPlayer(cid) then doSetCreatureOutfit(cid, poutfit, -1) end return 1 end function onStepOut(cid, item, pos, fromPos) if isPlayer(cid) then doRemoveCondition(cid, CONDITION_OUTFIT) end return 1 end E não se esqueça de adicionar corretamente as tags em movements.xml
  19. Já verificou se essa bag é usável no slot? Por exemplo: (items.xml) <item id="1999" article="a" name="bag"> <attribute key="weight" value="100" /> <attribute key="containerSize" value="20" /> <attribute key="slotType" value="backpack" /> </item> E outra opção..não prefere que todos os itens (incluindo a bag) sejam adicionados ao player e não à bag (sendo a bag primeiro)? Arquivo newplayer.lua (data/movements/scripts): local storage = 19881 local msg = "Você acabou de conseguir os Items Iniciais!" local item = { {idn = 1999, count = 1}, {idn = 2665, count = 1}, {idn = 2417, count = 1}, {idn = 2427, count = 1}, {idn = 2379, count = 1}, {idn = 2545, count = 1}, {idn = 7387, count = 1}, {idn = 7436, count = 1}, {idn = 2666, count = 2} } function onStepIn(cid, item, pos, fromPos) for _, x in ipairs(item) do if isPlayer(cid) and getPlayerStorageValue(cid, storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, msg) doPlayerAddItem(cid, x.idn, x.count) setPlayerStorageValue(cid, storage, 1) end end return 1 end tag no arquivo movements.xml (data/movements): <movevent type="StepIn" actionid="4321" event="script" value="newplayer.lua"/>
  20. showoutfit.lua (data/movements/scripts): local poutfit = {lookType = 104} function onStepIn(cid, item, pos, fromPos) if isPlayer(cid) then doSetCreatureOutfit(cid, poutfit, -1) end return 1 end function onStepOut(cid, item, pos, fromPos) if isPlayer(cid) then doRemoveCondition(cid, CONDITION_OUTFIT) end return 1 end movements.xml (data/movements), tags: <movevent type="StepIn" actionid="9876" event="script" value="showoutfit.lua"/> <movevent type="StepOut" actionid="9876" event="script" value="showoutfit.lua"/> Basta adicionar a ACTIONID 9876 ao piso (tile). Enquanto ao NPC irei rever o script mais tarde..
  21. Caros membros, eu reformulei o tópico modificando algumas funções do script, coisa e tal. E caso mencionem as linhas: doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, info.speed) Eu decidi não simplifica-las para (como já foi sugerido no script anterior): doChangeSpeed(cid, info.speed+(-getCreatureSpeed(cid))) pois, se por exemplo, a velocidade adicionada ao player é 500 e a velocidade retirada do player é 600 (500-600 = -100): doChangeSpeed(cid, 500+(-600)) o player ficará com a velocidade -100 em vez de 500 (como foi posto na tabela). Conclui isso com o script feito anteriormente, do qual havia esse problema e caso eu esteja errado sobre esta tese, por favor me corrijam.
  22. [Action] Bomba Plástica/Plastic Bomb Bom galera, esse script é bem antigo..então eu o editei colocando algumas funções mais atuais (alterei pouca coisa). É simplesmente um item do qual você da Use (actionscript), você vai ficar com battle e parado por determinado tempo, até que a bomba esteja bem plantada e você possa sair correndo do local (ou fique nele se você for terrorista, homem-bomba ou maluco mesmo..) antes que ela exploda na área que você usou o item. A área do script é dada como 3x3, você pode alterar; o player que estiver no meio sempre irá receber o maior dano possível e os outros vão ter um dado aleatório (entre o dano mínimo e dano máximo designado na configuração do script). Crie um arquivo Lua na pasta data/actions/scripts nomeado por plasticbomb.lua e adicione o script ao mesmo: local PLANTING_DELAY = 5 --segundos que lava para plantar a bomba local EXPLOSION_DELAY = 5000 --tempo que leva para a bomba explodir (em milissegundos, ou seja, 5 segundos = 5000 milissegundos) local MAX_HIT = 1200 --hit máximo da bomba local MIN_HIT = 300 --hit mínimo da bomba local PVP = true --se habilita o PVP = true, senão (NON-PVP) = false {ou seja, se a bomba hitar em alguém o player vai ficar com PK ou não local PLAYERS = {} function isInArray(table, valor) for i,j in pairs(table) do if (j == valor) then return i end end return 0 end function explosion(info) area = { {0,0,0,0,0}, {0,1,1,1,0}, {0,1,1,1,0}, --área que a explosão da bomba vai pegar (no caso está 3x3), basta alterar 0 por 1 e vice-versa {0,1,1,1,0}, {0,0,0,0,0}, } hitpos = {x=info.pos.x, y=info.pos.y, z=info.pos.z, stackpos=253} center = {} center.y = math.floor(table.getn(area)/2)+1 for i in ipairs(area) do center.x = math.floor(table.getn(area[i])/2)+1 for j, v in ipairs(area[i]) do if (v == 1) then hitpos.x = info.pos.x + (j - center.x) hitpos.y = info.pos.y + (i - center.y) if (getTilePzInfo(hitpos) == 0) then victim = getThingfromPos(hitpos) effect = 4 if ((j == center.x) and (i == center.y)) then doSendAnimatedText(hitpos, "KABOOOOOM", TEXTCOLOR_RED) ---mensagem animada que aparece quando a bomba explode hitpoints = MAX_HIT effect = 5 else hitpoints = math.random(MIN_HIT, MAX_HIT) end if (isPlayer(victim.uid) == 1) then if (PVP == true) then doPlayerSendTextMessage(victim.uid, 20, "Você perdeu "..hitpoints.." pontos de vida pela bomba plástica do player "..getPlayerName(info.player).."'") else hitpoints = 0 end end if (isCreature(victim.uid) == 1) then doPlayerAddHealth(victim.uid, -hitpoints) end doSendMagicEffect(hitpos, effect) end end end end PLAYERS[isInArray(PLAYERS, info.player)] = 0 doAddCondition(info.player, 0) return 1 end function planting(info) if info.num == PLANTING_DELAY then doPlayerSendTextMessage(info.player, 22, "Bomba plástica plantada com sucesso!") doCreatureSetNoMove(cid, 1) addEvent(explosion, EXPLOSION_DELAY, info) else info.num = info.num + 1 doPlayerSendTextMessage(info.player, 22, info.num.."...") addEvent(planting, 1000, info) end return 1 end function onUse(cid, item, frompos, item2, topos) position = getThingPos(item.uid) if (getTilePzInfo(position) == 0) then if (isInArray(PLAYERS, cid) == 0) then table.insert(PLAYERS, cid) doSendMagicEffect(frompos, 3) info = {player = cid, pos = position, num = 1} doPlayerSendTextMessage(cid, 22, "Plantando a bomba...") doPlayerSendTextMessage(cid, 22, "1...") doAddCondition(cid, CONDITION_INFIGHT) doCreatureSetNoMove(cid, 1) doRemoveItem(item.uid, 1) addEvent(planting, 1000, info) else doPlayerSendCancel(cid,"Você só pode plantar uma bomba ao mesmo tempo.") end else doPlayerSendCancel(cid,"Você não pode plantar a bomba em uma PZ!") end return 1 end Agora, no diretório anterior (data/actions) abra o arquivo actions.xml e adicione a tag: <action itemid="4852" script="plasticbomb.lua" /> Créditos: Colex e eu, que editei 2 funções simples (quase nada). PS: Expliquei alguns detalhes para alterar os valores no script -- Enfim..é isso.
  23. Isso só vai ser possível se o cracker estiver incluso na equipe do servidor..e creio que se for um servidor dedicado a um RPG sério, não farão isso. Também é preciso que essa pessoa tenha um grande conhecimento em conexões de rede, para usar o exploit com envio de pacote de dados e etc..acho díficil que isso aconteça rs Obrigado amigo

Informação Importante

Confirmação de Termo