Postado Março 28, 2016 9 anos Boa noite, galera do TK. Eu to montando um servidor RPG, e to usando uma script de annihilator de 4 pessoas, para ser 5 pessoas, porém está dando um erro que é parte da minha script "18:27 You need 5 players to do this quest." Porém os 5 players estão em seus lugares, e todos são lvl 10, sendo que a quest requer level 8. Segue a script: -- Annihilator by Shawak v2.1 -- CONFIG -- local room = { -- room with demons fromX = 1128, fromY = 246, fromZ = 9, -------------- toX = 1245, toY = 322, toZ = 13 } local monster_pos = { [1] = {pos = {1170, 270, 9}, monster = "Blood Bug"}, [2] = {pos = {1164, 271, 9}, monster = "Blood Bug"}, [3] = {pos = {1162, 290, 9}, monster = "Blood Bug"}, [4] = {pos = {1161, 269, 8}, monster = "Blood Bug"}, [5] = {pos = {1162, 280, 8}, monster = "Blood Bug"}, [6] = {pos = {1161, 290, 8}, monster = "Blood Bug"}, [7] = {pos = {1163, 292, 8}, monster = "Blood Bug"}, [8] = {pos = {1161, 288, 10}, monster = "Blood Bug"}, [9] = {pos = {1162, 286, 10}, monster = "Blood Bug"}, [10] = {pos = {1157, 275, 10}, monster = "Blood Bug"}, [11] = {pos = {1147, 280, 10}, monster = "Blood Bug"} } local players_pos = { {x = 1160, y =273, z = 3, stackpos = 253}, {x = 1159, y =274, z = 3, stackpos = 253}, {x = 1159, y =275, z = 3, stackpos = 253}, {x = 1161, y =274, z = 3, stackpos = 253}, {x = 1161, y =275, z = 3, stackpos = 253} } local new_player_pos = { {x = 1141, y = 264, z = 8}, {x = 1140, y = 265, z = 8}, {x = 1140, y = 266, z = 8}, {x = 1142, y = 265, z = 8}, {x = 1142, y = 266, z = 8} } local playersOnly = "yes" local questLevel = 8 ------------------------------------------------------ --- CONFIG END --------------------------------------- ------------------------------------------------------ function onUse(cid, item, fromPosition, itemEx, toPosition) local all_ready, monsters, player, level = 0, 0, {}, 0 if item.itemid == 1945 then for i = 1, #players_pos do table.insert(player, 0) end for i = 1, #players_pos do player[i] = getThingfromPos(players_pos[i]) if player[i].itemid > 0 then if string.lower(playersOnly) == "yes" then if isPlayer(player[i].uid) == TRUE then all_ready = all_ready+1 else monsters = monsters+1 end else all_ready = all_ready+1 end end end if all_ready == #players_pos then for i = 1, #players_pos do player[i] = getThingfromPos(players_pos[i]) if isPlayer(player[i].uid) == TRUE then if getPlayerLevel(player[i].uid) >= questLevel then level = level+1 end else level = level+1 end end if level == #players_pos then if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then local door = getTileItemById({x=33225, y=31659, z=13}, 5109).uid for _, area in pairs(monster_pos) do doSummonCreature(area.monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]}) end for i = 1, #players_pos do doSendMagicEffect(players_pos[i], CONST_ME_POFF) doTeleportThing(player[i].uid, new_player_pos[i], FALSE) doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA) doTransformItem(item.uid,1946) end else doPlayerSendTextMessage(cid,19,"Only players can do this quest.") end else doPlayerSendTextMessage(cid,19,"All Players have to be level "..questLevel.." to do this quest.") end else doPlayerSendTextMessage(cid,19,"You need "..table.getn(players_pos).." players to do this quest.") end elseif item.itemid == 1946 then local player_room = 0 for x = room.fromX, room.toX do for y = room.fromY, room.toY do for z = room.fromZ, room.toZ do local pos = {x=x, y=y, z=z,stackpos = 253} local thing = getThingfromPos(pos) if thing.itemid > 0 then if isPlayer(thing.uid) == TRUE then player_room = player_room+1 end end end end end if player_room >= 1 then doPlayerSendTextMessage(cid,19,"There is already a team in the quest room.") elseif player_room == 0 then for x = room.fromX, room.toX do for y = room.fromY, room.toY do for z = room.fromZ, room.toZ do local pos = {x=x, y=y, z=z,stackpos = 253} local thing = getThingfromPos(pos) if thing.itemid > 0 then doRemoveCreature(thing.uid) end end end end doTransformItem(item.uid,1945) end end return TRUE end <action uniqueid="5000" script="quests/annihilator.lua" /> Alguém poderia me ajudar, por favor mesmo, de coração. s2
Postado Março 30, 2016 9 anos 27 minutos atrás, Trayron1 disse: Ajuda eu, por favor Não ta fazendo muito sentido a primeira parte do script: local room = { -- room with demons fromX = 1128, fromY = 246, fromZ = 9, toX = 1245, toY = 322, toZ = 13 } From seria o canto superior esquerdo < /\ E to seria o canto inferior direito > \/ Da sala que os players vão parar após puxarem a alavanca. (o from e o to seriam no mesmo andar.) Corrige isso e vê se o problema continua.
Postado Março 30, 2016 9 anos Agora, Trayron1 disse: Certo, vou olhar e já retorno. vi agora que os monstros também nascem em diferentes andares, não sei se esse script vai servir pra você, tendo em vista que ele checa se há players na sala pra não deixar o proximo time ir, e você esta usando vários andares. Mas estranho o erro ser relacionado ao numero de jogadores.
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.