Postado Janeiro 22, 2019 6 anos Olá... estou tentando instalar um evento no meu servidor porém está com um errinho... IOE.lua Spoiler function onStepIn(cid, item, fromPos, toPos) local random_item = IOE_REWARDS[math.random(1, #IOE_REWARDS)] local templo = getPlayerTown(cid) local hora = os.date("%X") local data = os.date("%x") if isPlayer(cid) then if item.uid == 5550 then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doBroadcastMessage("[ISLAND OF ELEMENTALS] The player ["..getCreatureName(cid).."] joined!") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Welcome, wait for the opening of the event. Call your friends to a minimum of players required for them to open. Remembering if you get older will lose items and skills.') end if item.uid == 5551 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 1);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5552 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 2);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5553 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 3);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5554 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 4);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5555 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 5);") doTeleportThing(cid, getTownTemplePosition(templo)) doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you have completed the event!') end if item.uid == 5556 then doTeleportThing(cid, getTownTemplePosition(templo)) doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] You left the event.!') end end return true end Já em outro evento, tenho esse erro: Spoiler function onSay(cid, words, param, channel) local k = string.explode(param, ",") if(k[1] ~= nil) then if(string.upper(k[1]) == 'INFO') then local score = {} local output = "You have " .. getPlayerStorageValue(cid, SBW_SCORE) .. " points.\nYou have "..getPlayerStorageValue(cid, SBW_AMMO).."x munitions.\n------------------\nThe biggest killer:\n" for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, SBW_INEVENT) then table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)}) end end local lx = table.getn(score) if(lx > 3) then lx = 3 end table.sort(score, function(a, b) return a[2] > b[2] end) for k = 1,lx do output = output .. k..". "..score[k][1] .." [".. score[k][2] .."].\n" end doPlayerPopupFYI(cid, output) end if (string.upper(k[1]) == 'ATIRAR') then if(getPlayerStorageValue(cid, SBW_INEVENT) == 1) and not getTileInfo(getThingPos(cid)).protection then if getPlayerStorageValue(cid, SBW_EXAUSTHED) <= 1 then if(getPlayerStorageValue(cid, SBW_AMMO) > 0) then if SBW_STATUS == 'on' then if(SBW_AMMOINFI == false) then doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)-1) end doPlayerSetStorageValue(cid, SBW_EXAUSTHED, 2) lineAnimation(getPlayerLookDirection(cid),getCreaturePosition(cid),12,cid,1,0,1,0,0,0,1,0) addEvent(doPlayerSetStorageValue, SBW_SHOOTEXAUSTHED, cid, SBW_EXAUSTHED, 1) if (getPlayerStorageValue(cid, SBW_AMMO) ~= 1) then doPlayerSendTextMessage(cid, 27, "Remain "..getPlayerStorageValue(cid, SBW_AMMO).."x snowball.") else doPlayerSendTextMessage(cid, 27, "Using your last snowball, recharge.") end end else doPlayerSendCancel(cid, "You are without snowballs, recharge in the center of the field or kill an enemy.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end else doPlayerPopupFYI(cid, "Calm down you should wait to shoot again.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end else doPlayerPopupFYI(cid, "You need to be indoors or out of the protection zone..") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end end return true end function lineAnimation(lookDir,playerPos,effect,cid,fvar,fpos,ffound,fposV,fcheck,fvcid,floopCounter,fvpid, name) local var = fvar local pos = fpos local found = ffound local posV = fposV local check = fcheck local vcid = fvcid local loopCounter = floopCounter local vpid = fvpid local storage = SBW_EXAUSTHED if var < 2 then vcid = cid end pos = playerPos if not isInWallArray(convert(lookDir,pos)) then--isInWallArray({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z}) then --isInArray(t.onShoot.misc.walls_id, getThingfromPos({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z, stackpos=0}).itemid) then doSendDistanceShoot(pos, convert(lookDir,pos),effect) pos = convert(lookDir,pos) var=var+1 posV = convertV(lookDir,playerPos) for _, pid in ipairs(getPlayersOnline()) do if (getCreaturePosition(pid).x == pos.x and getCreaturePosition(pid).y == pos.y and getCreaturePosition(pid).z == pos.z) then --if loopCounter > 2 then vpid = pid --end if (vpid ~= vcid) then if var > 2 then if (getCreaturePosition(pid).x == posV.x and getCreaturePosition(pid).y == posV.y and getCreaturePosition(pid).z == posV.z) then killPlayer(pid,pos,getCreatureName(vcid)) if (lookDir == 0) or (lookDir == 2) then var = 6 else var = 8 end end end killPlayer(pid,pos,vcid) if (lookDir == 0) or (lookDir == 2) then var = 6 else var = 8 end end end loopCounter = loopCounter +1 end if (lookDir == 0) or (lookDir == 2) then if var ~= 6 then addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid) else var = 1 end else if var ~= 8 then addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid) else var = 1 end end else doSendMagicEffect(convert(lookDir,pos),2) var = 1 end end local ret = {} function convert(lookDir,pos) local positions = { [0] = {x = pos.x, y = pos.y-1, z = pos.z}, [1] = {x = pos.x+1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y+1, z = pos.z}, [3] = {x = pos.x-1, y = pos.y, z = pos.z} } ret = positions[lookDir] return ret end local ret = {} function convertV(lookDir,pos) local positions = { [0] = {x = pos.x, y = pos.y+1, z = pos.z}, [1] = {x = pos.x-1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y-1, z = pos.z}, [3] = {x = pos.x+1, y = pos.y, z = pos.z} } ret = positions[lookDir] return ret end function isInWallArray(pos) for k = 0, table.getn(SBW_WALLSID) do if getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k] then --this doesn't even make sense but tried other ways and it gave errors, so meh 2lazy2search return true end end return false end function killPlayer(cid, pos, killer) local t_l = SBW_AREA[1] local b_r = SBW_AREA[2] local posti = {} local isPossibleToTeleportPlayer = false while (isPossibleToTeleportPlayer == FALSE) do posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7) if isInWallArray(posti) == FALSE then isPossibleToTeleportPlayer = TRUE end end doTeleportThing(cid, posti) doSendMagicEffect(pos,2) doSendMagicEffect(posti,6) doSendAnimatedText(pos, ""..getCreatureName(killer).." ", 55) doPlayerSendTextMessage(cid, 27, "You died to "..getCreatureName(killer)..".") doPlayerSetStorageValue(killer, SBW_SCORE, getPlayerStorageValue(killer, SBW_SCORE)+SBW_POINTSKILL) doPlayerSendTextMessage(killer, 27, "You've killed "..getCreatureName(cid)..".") if SBW_LOSTSCORE then doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1) end if SBW_RESETAMMO then doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO) end end @Vodkart Editado Janeiro 22, 2019 6 anos por movie (veja o histórico de edições) Baiak Thunder New TFS Downgrade [TFS 1.5 - 8.60] Gesior Ferobra Downgrade Evento Monster Hunt [TFS 1.X] Evento SafeZone [TFS 1.X] Online Bonus System [TFS 1.X] Dodge & Critical [TFS 1.X] Nova moeda, funcionando com NPCs [TFS 1.X] Square System [TFS 1.X] Loot Channel [TFS 1.X] Gerenciador de Quests [All TFS] NPCs comprando vial/flasks por storage [TFS 1.X] AntiBot [TFS 1.X] Como compilar TFS 0.X
Postado Janeiro 22, 2019 6 anos Autor Já está postado colega.. Aperta em mostrar conteúdo oculto. Baiak Thunder New TFS Downgrade [TFS 1.5 - 8.60] Gesior Ferobra Downgrade Evento Monster Hunt [TFS 1.X] Evento SafeZone [TFS 1.X] Online Bonus System [TFS 1.X] Dodge & Critical [TFS 1.X] Nova moeda, funcionando com NPCs [TFS 1.X] Square System [TFS 1.X] Loot Channel [TFS 1.X] Gerenciador de Quests [All TFS] NPCs comprando vial/flasks por storage [TFS 1.X] AntiBot [TFS 1.X] Como compilar TFS 0.X
Postado Janeiro 22, 2019 6 anos Autor 15 minutos atrás, victor4312 disse: function onStepIn(cid, item, fromPos, toPos) local random_item = IOE_REWARDS[math.random(1, #IOE_REWARDS)] local templo = getPlayerTown(cid) local hora = os.date("%X") local data = os.date("%x") if isPlayer(cid) then if item.uid == 5550 then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doBroadcastMessage("[ISLAND OF ELEMENTALS] The player ["..getCreatureName(cid).."] joined!") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Welcome, wait for the opening of the event. Call your friends to a minimum of players required for them to open. Remembering if you get older will lose items and skills.') end if item.uid == 5551 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 1);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5552 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 2);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5553 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 3);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5554 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 4);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5555 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 5);") doTeleportThing(cid, getTownTemplePosition(templo)) doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you have completed the event!') end if item.uid == 5556 then doTeleportThing(cid, getTownTemplePosition(templo)) doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] You left the event.!') end end return true end function onSay(cid, words, param, channel) local k = string.explode(param, ",") if(k[1] ~= nil) then if(string.upper(k[1]) == 'INFO') then local score = {} local output = "You have " .. getPlayerStorageValue(cid, SBW_SCORE) .. " points.\nYou have "..getPlayerStorageValue(cid, SBW_AMMO).."x munitions.\n------------------\nThe biggest killer:\n" for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, SBW_INEVENT) then table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)}) end end local lx = table.getn(score) if(lx > 3) then lx = 3 end table.sort(score, function(a, b) return a[2] > b[2] end) for k = 1,lx do output = output .. k..". "..score[k][1] .." [".. score[k][2] .."].\n" end doPlayerPopupFYI(cid, output) end if (string.upper(k[1]) == 'ATIRAR') then if(getPlayerStorageValue(cid, SBW_INEVENT) == 1) and not getTileInfo(getThingPos(cid)).protection then if getPlayerStorageValue(cid, SBW_EXAUSTHED) <= 1 then if(getPlayerStorageValue(cid, SBW_AMMO) > 0) then if SBW_STATUS == 'on' then if(SBW_AMMOINFI == false) then doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)-1) end doPlayerSetStorageValue(cid, SBW_EXAUSTHED, 2) lineAnimation(getPlayerLookDirection(cid),getCreaturePosition(cid),12,cid,1,0,1,0,0,0,1,0) addEvent(doPlayerSetStorageValue, SBW_SHOOTEXAUSTHED, cid, SBW_EXAUSTHED, 1) if (getPlayerStorageValue(cid, SBW_AMMO) ~= 1) then doPlayerSendTextMessage(cid, 27, "Remain "..getPlayerStorageValue(cid, SBW_AMMO).."x snowball.") else doPlayerSendTextMessage(cid, 27, "Using your last snowball, recharge.") end end else doPlayerSendCancel(cid, "You are without snowballs, recharge in the center of the field or kill an enemy.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end else doPlayerPopupFYI(cid, "Calm down you should wait to shoot again.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end else doPlayerPopupFYI(cid, "You need to be indoors or out of the protection zone..") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end end return true end function lineAnimation(lookDir,playerPos,effect,cid,fvar,fpos,ffound,fposV,fcheck,fvcid,floopCounter,fvpid, name) local var = fvar local pos = fpos local found = ffound local posV = fposV local check = fcheck local vcid = fvcid local loopCounter = floopCounter local vpid = fvpid local storage = SBW_EXAUSTHED if var < 2 then vcid = cid end pos = playerPos if not isInWallArray(convert(lookDir,pos)) then--isInWallArray({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z}) then --isInArray(t.onShoot.misc.walls_id, getThingfromPos({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z, stackpos=0}).itemid) then doSendDistanceShoot(pos, convert(lookDir,pos),effect) pos = convert(lookDir,pos) var=var+1 posV = convertV(lookDir,playerPos) for _, pid in ipairs(getPlayersOnline()) do if (getCreaturePosition(pid).x == pos.x and getCreaturePosition(pid).y == pos.y and getCreaturePosition(pid).z == pos.z) then --if loopCounter > 2 then vpid = pid --end if (vpid ~= vcid) then if var > 2 then if (getCreaturePosition(pid).x == posV.x and getCreaturePosition(pid).y == posV.y and getCreaturePosition(pid).z == posV.z) then killPlayer(pid,pos,getCreatureName(vcid)) if (lookDir == 0) or (lookDir == 2) then var = 6 else var = 8 end end end killPlayer(pid,pos,vcid) if (lookDir == 0) or (lookDir == 2) then var = 6 else var = 8 end end end loopCounter = loopCounter +1 end if (lookDir == 0) or (lookDir == 2) then if var ~= 6 then addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid) else var = 1 end else if var ~= 8 then addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid) else var = 1 end end else doSendMagicEffect(convert(lookDir,pos),2) var = 1 end end local ret = {} function convert(lookDir,pos) local positions = { [0] = {x = pos.x, y = pos.y-1, z = pos.z}, [1] = {x = pos.x+1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y+1, z = pos.z}, [3] = {x = pos.x-1, y = pos.y, z = pos.z} } ret = positions[lookDir] return ret end local ret = {} function convertV(lookDir,pos) local positions = { [0] = {x = pos.x, y = pos.y+1, z = pos.z}, [1] = {x = pos.x-1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y-1, z = pos.z}, [3] = {x = pos.x+1, y = pos.y, z = pos.z} } ret = positions[lookDir] return ret end function isInWallArray(pos) for k = 0, table.getn(SBW_WALLSID) do if getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k] then --this doesn't even make sense but tried other ways and it gave errors, so meh 2lazy2search return true end end return false end function killPlayer(cid, pos, killer) local t_l = SBW_AREA[1] local b_r = SBW_AREA[2] local posti = {} local isPossibleToTeleportPlayer = false while (isPossibleToTeleportPlayer == FALSE) do posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7) if isInWallArray(posti) == FALSE then isPossibleToTeleportPlayer = TRUE end end doTeleportThing(cid, posti) doSendMagicEffect(pos,2) doSendMagicEffect(posti,6) doSendAnimatedText(pos, ""..getCreatureName(killer).." ", 55) doPlayerSendTextMessage(cid, 27, "You died to "..getCreatureName(killer)..".") doPlayerSetStorageValue(killer, SBW_SCORE, getPlayerStorageValue(killer, SBW_SCORE)+SBW_POINTSKILL) doPlayerSendTextMessage(killer, 27, "You've killed "..getCreatureName(cid)..".") if SBW_LOSTSCORE then doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1) end if SBW_RESETAMMO then doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO) end end está na ordem, tenta. Baiak Thunder New TFS Downgrade [TFS 1.5 - 8.60] Gesior Ferobra Downgrade Evento Monster Hunt [TFS 1.X] Evento SafeZone [TFS 1.X] Online Bonus System [TFS 1.X] Dodge & Critical [TFS 1.X] Nova moeda, funcionando com NPCs [TFS 1.X] Square System [TFS 1.X] Loot Channel [TFS 1.X] Gerenciador de Quests [All TFS] NPCs comprando vial/flasks por storage [TFS 1.X] AntiBot [TFS 1.X] Como compilar TFS 0.X
Postado Janeiro 22, 2019 6 anos Autor Baiak Thunder New TFS Downgrade [TFS 1.5 - 8.60] Gesior Ferobra Downgrade Evento Monster Hunt [TFS 1.X] Evento SafeZone [TFS 1.X] Online Bonus System [TFS 1.X] Dodge & Critical [TFS 1.X] Nova moeda, funcionando com NPCs [TFS 1.X] Square System [TFS 1.X] Loot Channel [TFS 1.X] Gerenciador de Quests [All TFS] NPCs comprando vial/flasks por storage [TFS 1.X] AntiBot [TFS 1.X] Como compilar TFS 0.X
Postado Janeiro 22, 2019 6 anos Autor 1 minuto atrás, victor4312 disse: Ocultar conteúdo function onStepIn(cid, item, fromPos, toPos) local random_item = IOE_REWARDS[math.random(1, #IOE_REWARDS)] local templo = getPlayerTown(cid) local hora = os.date("%X") local data = os.date("%x") if isPlayer(cid) then if item.uid == 5550 then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doBroadcastMessage("[ISLAND OF ELEMENTALS] The player ["..getCreatureName(cid).."] joined!") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Welcome, wait for the opening of the event. Call your friends to a minimum of players required for them to open. Remembering if you get older will lose items and skills.') end if item.uid == 5551 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 1);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5552 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 2);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5553 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 3);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5554 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 4);") doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you advanced one level!') end if item.uid == 5555 then doPlayerAddItem(cid, random_item, 1) db.query("INSERT INTO `ioe` VALUES ('', ".. db.escapeString(getPlayerName(cid)) .. ",".. db.escapeString(data) ..", ".. db.escapeString(hora) ..", ".. random_item ..", 5);") doTeleportThing(cid, getTownTemplePosition(templo)) doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] Congratulations, you have completed the event!') end if item.uid == 5556 then doTeleportThing(cid, getTownTemplePosition(templo)) doPlayerSendTextMessage(cid,25, '[ISLAND OF ELEMENTALS] You left the event.!') end end return true end Ocultar conteúdo function onSay(cid, words, param, channel) local k = string.explode(param, ",") if(k[1] ~= nil) then if(string.upper(k[1]) == 'INFO') then local score = {} local output = "You have " .. getPlayerStorageValue(cid, SBW_SCORE) .. " points.\nYou have "..getPlayerStorageValue(cid, SBW_AMMO).."x munitions.\n------------------\nThe biggest killer:\n" for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, SBW_INEVENT) then table.insert(score, {getCreatureName(pid), getPlayerStorageValue(pid, SBW_SCORE)}) end end local lx = table.getn(score) if(lx > 3) then lx = 3 end table.sort(score, function(a, b) return a[2] > b[2] end) for k = 1,lx do output = output ..k..". "..score[k] [1] .." [".. score[k] [2] .."].\n" end doPlayerPopupFYI(cid, output) end if (string.upper(k[1]) == 'ATIRAR') then if(getPlayerStorageValue(cid, SBW_INEVENT) == 1) and not getTileInfo(getThingPos(cid)).protection then if getPlayerStorageValue(cid, SBW_EXAUSTHED) <= 1 then if(getPlayerStorageValue(cid, SBW_AMMO) > 0) then if SBW_STATUS == 'on' then if(SBW_AMMOINFI == false) then doPlayerSetStorageValue(cid, SBW_AMMO, getPlayerStorageValue(cid, SBW_AMMO)-1) end doPlayerSetStorageValue(cid, SBW_EXAUSTHED, 2) lineAnimation(getPlayerLookDirection(cid),getCreaturePosition(cid),12,cid,1,0,1,0,0,0,1,0) addEvent(doPlayerSetStorageValue, SBW_SHOOTEXAUSTHED, cid, SBW_EXAUSTHED, 1) if (getPlayerStorageValue(cid, SBW_AMMO) ~= 1) then doPlayerSendTextMessage(cid, 27, "Remain "..getPlayerStorageValue(cid, SBW_AMMO).."x snowball.") else doPlayerSendTextMessage(cid, 27, "Using your last snowball, recharge.") end end else doPlayerSendCancel(cid, "You are without snowballs, recharge in the center of the field or kill an enemy.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end else doPlayerPopupFYI(cid, "Calm down you should wait to shoot again.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end else doPlayerPopupFYI(cid, "You need to be indoors or out of the protection zone..") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end end return true end function lineAnimation(lookDir,playerPos,effect,cid,fvar,fpos,ffound,fposV,fcheck,fvcid,floopCounter,fvpid, name) local var = fvar local pos = fpos local found = ffound local posV = fposV local check = fcheck local vcid = fvcid local loopCounter = floopCounter local vpid = fvpid local storage = SBW_EXAUSTHED if var < 2 then vcid = cid end pos = playerPos if not isInWallArray(convert(lookDir,pos)) then--isInWallArray({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z}) then --isInArray(t.onShoot.misc.walls_id, getThingfromPos({x=convert(lookDir,pos).x, y=convert(lookDir,pos).y,z=convert(lookDir,pos).z, stackpos=0}).itemid) then doSendDistanceShoot(pos, convert(lookDir,pos),effect) pos = convert(lookDir,pos) var=var+1 posV = convertV(lookDir,playerPos) for _, pid in ipairs(getPlayersOnline()) do if (getCreaturePosition(pid).x == pos.x and getCreaturePosition(pid).y == pos.y and getCreaturePosition(pid).z == pos.z) then --if loopCounter > 2 then vpid = pid --end if (vpid ~= vcid) then if var > 2 then if (getCreaturePosition(pid).x == posV.x and getCreaturePosition(pid).y == posV.y and getCreaturePosition(pid).z == posV.z) then killPlayer(pid,pos,getCreatureName(vcid)) if (lookDir == 0) or (lookDir == 2) then var = 6 else var = 8 end end end killPlayer(pid,pos,vcid) if (lookDir == 0) or (lookDir == 2) then var = 6 else var = 8 end end end loopCounter = loopCounter +1 end if (lookDir == 0) or (lookDir == 2) then if var ~= 6 then addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid) else var = 1 end else if var ~= 8 then addEvent(lineAnimation, SBW_BALLSPEED, lookDir,pos,effect,nil,var,pos,found,posV,check,vcid,loopCounter,vpid) else var = 1 end end else doSendMagicEffect(convert(lookDir,pos),2) var = 1 end end local ret = {} function convert(lookDir,pos) local positions = { [0] = {x = pos.x, y = pos.y-1, z = pos.z}, [1] = {x = pos.x+1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y+1, z = pos.z}, [3] = {x = pos.x-1, y = pos.y, z = pos.z} } ret = positions[lookDir] return ret end local ret = {} function convertV(lookDir,pos) local positions = { [0] = {x = pos.x, y = pos.y+1, z = pos.z}, [1] = {x = pos.x-1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y-1, z = pos.z}, [3] = {x = pos.x+1, y = pos.y, z = pos.z} } ret = positions[lookDir] return ret end function isInWallArray(pos) for k = 0, table.getn(SBW_WALLSID) do if getTileItemById(pos, SBW_WALLSID[k]).itemid == SBW_WALLSID[k] then --this doesn't even make sense but tried other ways and it gave errors, so meh 2lazy2search return true end end return false end function killPlayer(cid, pos, killer) local t_l = SBW_AREA[1] local b_r = SBW_AREA[2] local posti = {} local isPossibleToTeleportPlayer = false while (isPossibleToTeleportPlayer == FALSE) do posti = Position(math.random(t_l.x,b_r.x), math.random(t_l.y, b_r.y), 7) if isInWallArray(posti) == FALSE then isPossibleToTeleportPlayer = TRUE end end doTeleportThing(cid, posti) doSendMagicEffect(pos,2) doSendMagicEffect(posti,6) doSendAnimatedText(pos, ""..getCreatureName(killer).." ", 55) doPlayerSendTextMessage(cid, 27, "You died to "..getCreatureName(killer)..".") doPlayerSetStorageValue(killer, SBW_SCORE, getPlayerStorageValue(killer, SBW_SCORE)+SBW_POINTSKILL) doPlayerSendTextMessage(killer, 27, "You've killed "..getCreatureName(cid)..".") if SBW_LOSTSCORE then doPlayerSetStorageValue(cid, SBW_SCORE, getPlayerStorageValue(cid, SBW_SCORE)-1) end if SBW_RESETAMMO then doPlayerSetStorageValue(cid, SBW_AMMO, SBW_MINAMMO) end end @movie Tá foda kkkkk Baiak Thunder New TFS Downgrade [TFS 1.5 - 8.60] Gesior Ferobra Downgrade Evento Monster Hunt [TFS 1.X] Evento SafeZone [TFS 1.X] Online Bonus System [TFS 1.X] Dodge & Critical [TFS 1.X] Nova moeda, funcionando com NPCs [TFS 1.X] Square System [TFS 1.X] Loot Channel [TFS 1.X] Gerenciador de Quests [All TFS] NPCs comprando vial/flasks por storage [TFS 1.X] AntiBot [TFS 1.X] Como compilar TFS 0.X
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.