• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

Ani

bartektk5

User
Zarejestrowany
Dołączył
Listopad 16, 2008
Posty
44
Liczba reakcji
0
Ot?? korzyustam z takiego skrypta:
function onUse(cid, item, fromPosition, itemEx, toPosition)

-- Annihaltor by Maxi (Shawak) v1.0

local room = { -- room with demons
fromX = 2118,
fromY = 2073,
fromZ = 10,
toX = 2124,
toY = 2077,
toZ = 10
}

local monster_pos = {
[1] = {pos = {2119,2073,10}},
[2] = {pos = {2123,2073,10}},
[3] = {pos = {2123,2075,10}},
[4] = {pos = {2124,2075,10}},
[5] = {pos = {2119,2077,10}},
[6] = {pos = {2123,2077,10}}
}

local players_pos = {
{x = 1224,y = 969,z = 11,stackpos = 253},
{x = 1223,y = 969,z = 7,stackpos = 253},
{x = 1222,y = 969,z = 7,stackpos = 253},
{x = 1221,y = 969,z = 7,stackpos = 253}
}

local new_player_pos = {
{x = 2122, y = 2075, z = 10},
{x = 2121, y = 2075, z = 10},
{x = 2120, y = 2075, z = 10},
{x = 2119, y = 2075, z = 10}
}

local monster = "Demon"
local questLevel = 100


-- don't touch ------------
local player = {0, 0, 0, 0}
local all_ready = 0
---------------------------

local player1 = getThingfromPos(players_pos[1])
local player2 = getThingfromPos(players_pos[2])
local player3 = getThingfromPos(players_pos[3])
local player4 = getThingfromPos(players_pos[4])

if item.itemid == 1945 then
if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
for i = 1, 4 do
player = getThingfromPos(players_pos)
if player.itemid > 0 then
all_ready = 1
end
end
else
doPlayerSendTextMessage(cid,19,"You need 4 players to do this quest.")
end
if all_ready == 1 then
for _, area in pairs(monster_pos) do
doSummonCreature(monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]})
end
for i = 1, 4 do
doSendMagicEffect(players_pos, CONST_ME_POFF)
doTeleportThing(player.uid, new_player_pos, FALSE)
doSendMagicEffect(new_player_pos, CONST_ME_ENERGYAREA)
all_ready = 0
end
doTransformItem(item.uid,1946)
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
player_room = 0
doTransformItem(item.uid,1945)
end
end
return TRUE
end


Nie chce on dzialac. Gdy 4 graczy stoi na wyznaczonych polach i gdy jeden uzywa dzwigni to pisze ze potrzeba 4 ludzi do tego questu i nikogo nie przenosi. Prosze powiedziec co mam zle zrobione ;]
Oczywiscie dam reputa.
 
Odp: Ani

Spr?buj To Mi dzia?a


HTML:
function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 7000 then
 if item.itemid == 1946 then

            player1pos = {x=169, y=247, z=10, stackpos=253}
            player1 = getThingfromPos(player1pos)

            player2pos = {x=168, y=247, z=10, stackpos=253}
            player2 = getThingfromPos(player2pos)

            player3pos = {x=167, y=247, z=10, stackpos=253}
            player3 = getThingfromPos(player3pos)

            player4pos = {x=166, y=247, z=10, stackpos=253}
            player4 = getThingfromPos(player4pos)


     if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

        player1level = getPlayerLevel(player1.uid)
        player2level = getPlayerLevel(player2.uid)
        player3level = getPlayerLevel(player3.uid)
        player4level = getPlayerLevel(player4.uid)
        questlevel = 100

  if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then

      queststatus1 = getPlayerStorageValue(player1.uid,100)
      queststatus2 = getPlayerStorageValue(player2.uid,100)
      queststatus3 = getPlayerStorageValue(player3.uid,100)
      queststatus4 = getPlayerStorageValue(player4.uid,100)

      if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
    --if 1==1 then
                        demon1pos = {x=179, y=247, z=10}
                        demon2pos = {x=180, y=247, z=10}
                        demon3pos = {x=177, y=245, z=10}
                        demon4pos = {x=175, y=245, z=10}
                        demon5pos = {x=176, y=249, z=10}
                        demon6pos = {x=178, y=249, z=10}
 
   doSummonCreature("Demon", demon1pos)
   doSummonCreature("Demon", demon2pos)
   doSummonCreature("Demon", demon3pos)
   doSummonCreature("Demon", demon4pos)
   doSummonCreature("Demon", demon5pos)
   doSummonCreature("Demon", demon6pos)

                        nplayer1pos = {x=178, y=247, z=10}
                        nplayer2pos = {x=177, y=247, z=10}
                        nplayer3pos = {x=176, y=247, z=10}
                        nplayer4pos = {x=175, y=247, z=10}

   doSendMagicEffect(player1pos,2)
   doSendMagicEffect(player2pos,2)
   doSendMagicEffect(player3pos,2)
   doSendMagicEffect(player4pos,2)

   doTeleportThing(player1.uid,nplayer1pos)
   doTeleportThing(player2.uid,nplayer2pos)
   doTeleportThing(player3.uid,nplayer3pos)
   doTeleportThing(player4.uid,nplayer4pos)

     doSendMagicEffect(nplayer1pos,10)
     doSendMagicEffect(nplayer2pos,10)
     doSendMagicEffect(nplayer3pos,10)
     doSendMagicEffect(nplayer4pos,10)

     doTransformItem(item.uid,1945)

    else
     doPlayerSendCancel(cid,"Someone has already done this quest")
    end
   else
    doPlayerSendCancel(cid,"Your level is too low")
   end
  else
  doPlayerSendCancel(cid,"You need 4 players in your team.")
  end
 end
 if item.itemid == 1945 then
-- Here is the code start:
    starting={x=160, y=60, z=8, stackpos=253}
    checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
    ending={x=160, y=60, z=8, stackpos=253}
    players=0
    totalmonsters=0
    monster = {}
    repeat
    creature= getThingfromPos(checking)
        if creature.itemid > 0 then
            if getPlayerAccess(creature.uid) == 0 then
                players=players+1
            end
            if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
                totalmonsters=totalmonsters+1
                monster[totalmonsters]=creature.uid
            end
        end
            checking.x=checking.x+1
        if checking.x>ending.x then
            checking.x=starting.x
            checking.y=checking.y+1
        end
        until checking.y>ending.y
        if players==0 then
            trash= {x=160, y=60, z=8}
            current=0
        repeat
            current=current+1
            doTeleportThing(monster[current],trash)
        until current>=totalmonsters
            doTransformItem(item.uid,1946)
        end


end
end
if item.uid == 5006 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus == -1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a demon armor.")
doPlayerAddItem(cid,2494,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
if item.uid == 5007 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a magic sword.")
doPlayerAddItem(cid,2400,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
if item.uid == 5008 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a stonecutter axe.")
doPlayerAddItem(cid,2431,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
if item.uid == 5009 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a Thunder Hammer.")
doPlayerAddItem(cid,2421,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
return 5
end
 
Back
Do góry