Postado Novembro 3, 2015 9 anos boa boa atodos tudo em paz? espero que sim , gnt to com problema na arena [2:59:09.061] > Loading arena.xml...[Warning - Actions::registerEvent] Duplicate registered item with aid: 42357, in fromaid: 42357 and toaid: 42386 [2:59:09.061] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42361, in fromaid: 42357 and toaid: 42386 [2:59:09.062] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42362, in fromaid: 42357 and toaid: 42386 [2:59:09.063] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42363, in fromaid: 42357 and toaid: 42386 [2:59:09.063] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42364, in fromaid: 42357 and toaid: 42386 [2:59:09.064] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42365, in fromaid: 42357 and toaid: 42386 [2:59:09.064] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42366, in fromaid: 42357 and toaid: 42386 [2:59:09.065] [Warning - Actions::registerEvent] Duplicate registered item with aid: 42371, in fromaid: 42357 and toaid: 42386 [2: eu olhei alguns topicos usei o mod que tava em outro post daqui msm, mais continuou o erro, e retirei os outros scripts que eu tinha testado por favor se alguem poder me ajuda eu agradeço dez ja boa boa a todos
Postado Novembro 4, 2015 9 anos Autor até concertei tudo os duplicado, o que falta arrumar são as portas quando do use para ganhar a recompensa ela as vezes vira outro item e vira um food e dps some a porta ai qual quer um pode entrar alguem por favor pode me ajudar ? estou usando o mod arena Spoiler <?xml version="1.0" encoding="UTF-8"?> <mod name="Arena Svargrond" version="1.0" author="Tommy" contact="[email protected]" enabled="yes"> <config name="arenaFunctions"><![CDATA[ KickPosition = {x=32354, y=31144, z=6} --if the player leave the arena or time is over, where he go. RewardsRoom = {x=32312, y=31134, z=6} --rewards room position. arenaRoomMaxTime = 240 --max time for each room 240 = 4 min. OpenDoorsID = 5126 --if you change doors item ids, change me TimeStor = 42350 --here will be saved the time. myArenaLevel = 45450 --here will be saved the arena level. talkNPC = 45451 --Storage to check if the player have paid to the npc and can enter to the arena. RewardsStor = {42361, 42371, 42381} --Storage for greenshore, scrapper, warlord. isIN = 42352 --to check if the player is in the arena. myRoom = 46000 --here will be saved the current room. MonStor = 47000 --here will be saved the monster uid. DoorsActID = 42357 --Doors near the npc. LeavePortals = 42321 --The action id of the portal to leave the rooms (south portals). GobletTiles = {42360, 42370, 42380} --Action ids of the tiles for Bronze, Silver and Gold Goblets. Cancel = { --message when use door and have not paid to the npc. [1] = "You have not paid NPC yet.", --message when leave arena. [2] = "You have been kicked!", --message when the player can't get the reward. [3] = "You can\'t get this item.", --message when already got any reward. [4] = "It is empty.", --when try to open a reward door and haven't completed the level. [5] = "You have not finished this arena level.", --NPC answer if the player completed all arena levels. [6] = "You already did all the arena levels.", --message when time is over [7] = "The time is over.", --message when you can go to the next room, LoL >_> this is not a cancel btw. [8] = "You can go to the next room.", --when try to go to the next room and not killed the monster yet. [9] = "Kill the monster first!", --when try to go to the next room but there is a player yet...this text will be PLAYERNAME + this text [10] = "Is in the room yet." } Completed = { [1] = "Congatulations! You have completed the arena in", --HERE WILL BE THE ARENA NAME. [2] = "difficulty! Now you go take your reward."} --then the message will be "Congatulations! you have completed the arena in greenshore/scrapper/warlord difficulty!, now go and take your reward." Arena = { --greenshore [0] = { Cost = 10000, LevelName = 'greenshore', LevelNeeded = 30, Goblet = 5807 }, --scrapper [1] = { Cost = 50000, LevelName = 'scrapper', LevelNeeded = 50, Goblet = 5806 }, --warlord [2] = { Cost = 100000, LevelName = 'warlord', LevelNeeded = 80, Goblet = 5805 } } Rewards = { --greenshore --present with items. [42361] = { Stor = RewardsStor[1], Cont = 1990, items = {7372, 6569, 6574, 2114}, count = {1, 10, 1, 1} }, --blacksteel sword. [42362] = { Stor = RewardsStor[1], Cont = nil, item = 7406 }, --headchopper. [42363] = { Stor = RewardsStor[1], Cont = nil, item = 7380 }, --orcish maul. [42364] = { Stor = RewardsStor[1], Cont = nil, item = 7392 }, --backpack with items. [42365] = { Stor = RewardsStor[1], Cont = 7342, items = {7365, 7364}, count = {100, 100} }, --scrapper --present with items. [42371] = { Stor = RewardsStor[2], Cont = 1990, items = {7372, 6569, 6574, 7183}, count = {1, 10, 1, 1} }, --mystic blade. [42372] = { Stor = RewardsStor[2], Cont = nil, item = 7384 }, --heroic axe. [42373] = { Stor = RewardsStor[2], Cont = nil, item = 7389 }, --cranial basher [42374] = { Stor = RewardsStor[2], Cont = nil, item = 7415 }, --backpack with items. [42375] = { Stor = RewardsStor[2], Cont = 7342, items = {7365, 2547, 2547, 2311, 2304}, count = {100, 100, 100, 50, 50} }, --warlord --present with items. [42381] = { Stor = RewardsStor[3], Cont = 1990, items = {7372, 6569, 6574, 6568}, count = {1, 10, 1, 1} }, --justice seeker [42382] = { Stor = RewardsStor[3], Cont = nil, item = 7390 }, --royal axe. [42383] = { Stor = RewardsStor[3], Cont = nil, item = 7434 }, --blessed sceptre. [42384] = { Stor = RewardsStor[3], Cont = nil, item = 7429 }, --backpack with items. [42385] = { Stor = RewardsStor[3], Cont = 7342, items = {2273, 2268, 7443, 7440, 7529}, count = {50, 50, 1, 1, 100} } } arena_monsters = { --greenshore -scrapper --warlord [45300] = "Frostfur", [45310] = "Avalanche", [45320] = "Webster", [45301] = "Bloodpaw", [45311] = "Kreebosh the Exile", [45321] = "Darakan the Executioner", [45302] = "Bovinus", [45312] = "The Dark Dancer", [45322] = "Norgle Glacierbeard", [45303] = "Achad", [45313] = "The Hag", [45323] = "The Pit Lord", [45304] = "Colerian The Barbarian", [45314] = "Slim", [45324] = "Svoren the Mad", [45305] = "The Hairy One", [45315] = "Grimgor Guteater", [45325] = "The Masked Marauder", [45306] = "Axeitus Headbanger", [45316] = "Drasilla", [45326] = "Gnorre Chyllson", [45307] = "Rocky", [45317] = "Spirit of Earth", [45327] = "Fallen Mooh'tah Master Ghar", [45308] = "Cursed Gladiator", [45318] = "Spirit of Water", [45328] = "Deathbringer", [45309] = "Orcus the Cruel", [45319] = "Spirit of Fire", [45329] = "The Obliverator"} Checking = false RoomsACT = {42301, 42302, 42303, 42304, 42305, 42306, 42307, 42308, 42309} Goblets = { [42360] = {Id=Arena[0].Goblet, txt="It is given to the courageous victor of the barbarian arena "..Arena[0].LevelName.." difficulty."}, [42370] = {Id=Arena[1].Goblet, txt="It is given to the courageous victor of the barbarian arena "..Arena[1].LevelName.." difficulty."}, [42380] = {Id=Arena[2].Goblet, txt="It is given to the courageous victor of the barbarian arena "..Arena[2].LevelName.." difficulty."}} RewardsDoors = {[42366] = 1, [42376] = 2, [42386] = 3} ArenaAdding = {[0] = 3000, [1] = 3010, [2] = 3020} function myArenaLevelIs(cid) Stor = getPlayerStorageValue(cid, myArenaLevel) if Stor == -1 then setPlayerStorageValue(cid, myArenaLevel, 0) Stor = 0 elseif Stor == 3 then Stor = 2 end return { RC = Arena[Stor].Cost, LN = Arena[Stor].LevelName, RLV = Arena[Stor].LevelNeeded, LV = getPlayerStorageValue(cid, myArenaLevel) } end function getDirectionmove(cid, itempos) --function by Nahruto p = getCreaturePosition(cid) i = itempos if p.x > i.x then if p.y > i.y then ret = NORTHWEST elseif p.y < i.y then ret = SOUTHWEST else ret = WEST end elseif p.x < i.x then if p.y > i.y then ret = NORTHEAST elseif p.y < i.y then ret = SOUTHEAST else ret = EAST end else if p.y > i.y then ret = NORTH elseif p.y < i.y then ret = SOUTH else ret = nil end end return ret end function LeaveArena(cid) for i = 45300, 45329 do setPlayerStorageValue(cid, i, 0) end if isCreature(getPlayerStorageValue(cid, MonStor)) == TRUE then doRemoveCreature(getPlayerStorageValue(cid, MonStor)) end setGlobalStorageValue(getPlayerStorageValue(cid, myRoom), 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, Cancel[2]) doTeleportThing(cid, KickPosition, FALSE) setPlayerStorageValue(cid, TimeStor, 0) setPlayerStorageValue(cid, isIN, 0) end function CheckRooms() addEvent(CheckRooms, 1000) for i = 42300, 42309 do local Player = getGlobalStorageValue(i) if isPlayer(Player) == TRUE then local PlayerTime = getPlayerStorageValue(Player, TimeStor) if PlayerTime <= os.time() then doTeleportThing(Player, KickPosition, FALSE) setPlayerStorageValue(Player, TimeStor, 0) setGlobalStorageValue(i, 0) doPlayerSendTextMessage(Player,MESSAGE_STATUS_CONSOLE_ORANGE, Cancel[7]) if isCreature(getPlayerStorageValue(Player, MonStor)) == TRUE then doRemoveCreature(getPlayerStorageValue(Player, MonStor)) end elseif PlayerTime - 10 <= os.time() then doPlayerSendTextMessage(Player, MESSAGE_EVENT_DEFAULT, "you have "..PlayerTime - os.time().." seconds left.!") end else setGlobalStorageValue(i, 0) end end end function getArenaMonsterIdByName(name) for i = 45300, 45329 do if tostring(arena_monsters) == string.lower(tostring(name)) thenreturn iendendreturn falseend]]></config><event type="login" name="arenaRegister" event="script"><![CDATA[domodlib('arenaFunctions')function onLogin(cid)registerCreatureEvent(cid, "PlayerArena")registerCreatureEvent(cid, "ArenaKill")return trueend]]></event> <event type="death" name="PlayerArena" event="script"><![CDATA[domodlib('arenaFunctions')function onDeath(cid, corpse, deathList)if getPlayerStorageValue(cid, isIN) == 1 thenI = 0for i = 45300, 45329 doif getPlayerStorageValue(cid, i) == 1 thenI = iendendGlobalStor = I - ArenaAdding[myArenaLevelIs(cid).LV]setGlobalStorageValue(GlobalStor, 0)setPlayerStorageValue(cid, isIN, 0)if isCreature(getPlayerStorageValue(cid, MonStor)) thendoRemoveCreature(getPlayerStorageValue(cid, MonStor))endendreturn trueend]]></event> <event type="kill" name="ArenaKill" event="script"><![CDATA[domodlib('arenaFunctions')function onKill(cid, target, lastHit)if getPlayerStorageValue(cid, isIN) == 1 thenlocal Room = getArenaMonsterIdByName(getCreatureName(target))if Room ~= 0 thensetPlayerStorageValue(cid, Room, 1)doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, Cancel[8])endendreturn trueend]]></event> <action fromaid="42357" toaid="42386" event="script"><![CDATA[domodlib('arenaFunctions')function onUse(cid, item, fromPosition, itemEx, toPosition)local myMove = getDirectionmove(cid, fromPosition)if myMove == nil thenreturn FALSEendlocal Reward = Rewards[item.actionid]if Reward thenif getPlayerStorageValue(cid, Reward.Stor) ~= 1 thenlocal reward = nilif Reward.Cont ~= nil thenreward = doCreateItemEx(Reward.Cont, 1)for i = 1, #Reward.items dodoAddContainerItem(reward, Reward.items, Reward.count)endelsereward = doCreateItemEx(Reward.item, 1)endif reward ~= nil thenif doPlayerAddItemEx(cid, reward, FALSE) == RETURNVALUE_NOERROR thendoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,'You have found a '..getItemNameById(getThing(reward).itemid)..'.')setPlayerStorageValue(cid, Reward.Stor, 1)elsedoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Cancel[3])endendelsedoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Cancel[4])endelseif RewardsDoors[item.actionid] thenif myArenaLevelIs(cid).LV >= RewardsDoors[item.actionid] thendoTransformItem(item.uid, OpenDoorsID)doMoveCreature(cid, myMove)elsedoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Cancel[5])endelseif item.actionid == DoorsActID and getPlayerStorageValue(cid, talkNPC) == 1 thendoTransformItem(item.uid, OpenDoorsID)doMoveCreature(cid, myMove)elsedoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Cancel[1])endreturn TRUEend]]></action> <movevent type="StepIn" fromaid="42300" toaid="42380" event="script"><![CDATA[domodlib('arenaFunctions')function onStepIn(cid, item, position, fromPosition)local ArenaRoom = item.actionidif item.actionid == LeavePortals thenLeaveArena(cid)elseif isInArray(GobletTiles, item.actionid) == TRUE thenlocal gobletPos = getThingPos(item.uid)if getPlayerStorageValue(cid, item.actionid) ~= 1 thensetPlayerStorageValue(cid, item.actionid, 1)local Goblet = doCreateItemEx(Goblets[item.actionid].Id, 1)doItemSetAttribute(Goblet, "description", ""..Goblets[item.actionid].txt.."\nAwarded to "..getCreatureName(cid)..".")gobletPos.y = gobletPos.y - 1doTileAddItemEx(gobletPos, Goblet)enddoTransformItem(item.uid, item.itemid - 1)elseif isInArray(RoomsACT, ArenaRoom) == TRUE or ArenaRoom == 42300 thenif Checking == FALSE then Checking = TRUE CheckRooms() endlocal myLevelArena = myArenaLevelIs(cid).LVif ArenaAdding[myLevelArena] thenMons = ArenaRoom + ArenaAdding[myLevelArena]endif getGlobalStorageValue(ArenaRoom) == 0 thenif isCreature(getPlayerStorageValue(cid, MonStor)) == FALSE thenif ArenaRoom == 42300 and getPlayerStorageValue(cid, talkNPC) == 1 thensetPlayerStorageValue(cid, talkNPC, 0)setPlayerStorageValue(cid, isIN, 1)P = 1elseif ArenaRoom ~= 42300 and getPlayerStorageValue(cid, isIN) == 1 thenP = 1elseP = nilendif P ~= nil thenlocal SpawnPos = getThingPos(ArenaRoom)doTeleportThing(cid, SpawnPos, FALSE)SpawnPos.x = SpawnPos.x - 1SpawnPos.y = SpawnPos.y - 1local Monster = doSummonCreature(arena_monsters[Mons], SpawnPos)setGlobalStorageValue(ArenaRoom, cid)setGlobalStorageValue(ArenaRoom - 1, 0)setPlayerStorageValue(cid, TimeStor, os.time()+arenaRoomMaxTime)setPlayerStorageValue(cid, MonStor, Monster)setPlayerStorageValue(cid, myRoom, ArenaRoom)elseLeaveArena(cid)endelsedoTeleportThing(cid, fromPosition, TRUE)doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, Cancel[9])endelsedoTeleportThing(cid, fromPosition, TRUE)doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, ""..getCreatureName(getGlobalStorageValue(cid, ArenaRoom)).." "..Cancel[10].."")endelseif ArenaRoom == 42310 thenif isCreature(getPlayerStorageValue(cid, MonStor)) == FALSE thendoPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,""..Completed[1].." "..myArenaLevelIs(cid).LN.." "..Completed[2].."")setPlayerStorageValue(cid, myArenaLevel, getPlayerStorageValue(cid, myArenaLevel) + 1)setGlobalStorageValue(ArenaRoom - 1, 0)setPlayerStorageValue(cid, TimeStor, 0)setPlayerStorageValue(cid, isIN, 0)doTeleportThing(cid, RewardsRoom, TRUE)elsedoTeleportThing(cid, fromPosition, TRUE)doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'Najpierw zabij potwora!')endendreturn TRUEend]]></movevent> <movevent type="StepOut" fromaid="42357" toaid="42387" event="script"><![CDATA[domodlib('arenaFunctions')function onStepOut(cid, item, position, fromPosition)if item.actionid == DoorsActID or RewardsDoors[item.actionid] thendoTransformItem(item.uid, item.itemid - 2)elseif isInArray(GobletTiles, item.actionid) == TRUE thendoTransformItem(item.uid, item.itemid + 1)endreturn TRUEend]]></movevent> </mod> Editado Novembro 5, 2015 9 anos por p e o p l e (veja o histórico de edições)
Postado Novembro 4, 2015 9 anos Na linha Citar OpenDoorsID = 5126 --if you change doors item ids, change me =D Troque o id 5126 pelo id da sua porta.
Postado Novembro 5, 2015 9 anos Autor eu troquei o id da porta só que independente de qual id eu coloco alguma porta buga taligado
Postado Novembro 6, 2015 9 anos Autor up up up ;D Por favor alguem pode fechar este topico consegui arrumar o bug '-' obrigado
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.