Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''action''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. brendoonh

    task

    Boa tarde xTibianos... Estou com um sistema de task, que aparentimente está funcionando até um certo ponto, qnd pedimos a task recebemos normalmente, ai qnd vamos la matar o bixo a task nao conta.. LIB: -- Sistema de Task feito por Leoric (Omega no XTibia) -- taskstg = { kills = 3451, permission = 3452, killstotal = 3453, monster = 3454, stage = 3455, points = 3456, } timeBetweenTasks = 1 -- tempo até poder fazer outra task (24 * 60 * 60 = 24hs) taskLevel = false -- true se quiser que as tasks sejam feitas por level / false se quiser que elas sejam feitas na ordem taskMsg = {bool = true, msg = 'Voce acaba de matar monstros suficientes para completar sua task!'} -- bool = false > sem mensagens; bool = true > aviso quando terminar a task taskEnd = true -- [não tem função no modo Level] se estiver como true, quando o jogador terminar a última task disponível, ele não poderá repeti-la. Se estiver false, ele poderá repetir a última task infinitamente. taskmonsters = { [1] = {'rotworm','carrion worm', killstotal = 270}, -- aqui você deve mudar [2] = {'bandit','assassin', killstotal = 285}, [3] = {'dwarf','dwarf soldier', killstotal = 300}, [4] = {'amazon','amazons', killstotal = 315}, [5] = {'orc warrior','orc spearman','orc shaman','orc leader','orc berserker','orc warlord','orc rider', killstotal = 330}, [6] = {'elf scout','elf arcanist', killstotal = 345}, [7] = {'tarantula', killstotal = 360}, [8] = {'cyclop','cyclops','cyclops drone','cyclops smith', killstotal = 375}, [9] = {'dwarf guard', killstotal = 390}, [10] = {'beholder','elder beholder','braindeath', killstotal = 405}, [11] = {'pirate buccaneer','pirate corsair','pirate Cutthroat','pirate ghost','pirate marauder','pirate skeleton', killstotal = 425}, [12] = {'crypt shambler', killstotal = 445}, [13] = {'monk','dark monk', killstotal = 465}, [14] = {'dark magician','mad scientist', killstotal = 485}, [15] = {'lizard sentinel','lizard snakecharmer','lizard templar', killstotal = 505}, [16] = {'blue djinn','green djinn','efreet','marid', killstotal = 525}, [17] = {'demon skeleton', killstotal = 545}, [18] = {'mercury blob','death blob','acid blob','slime', killstotal = 565}, [19] = {'necromancer', killstotal = 585}, [20] = {'vampire','vampire bride', killstotal = 605}, [21] = {'bone beast', killstotal = 630}, [22] = {'ice witch', killstotal = 655}, [23] = {'mutated bat', killstotal = 680}, [24] = {'dragon', killstotal = 705}, [25] = {'ancient scarab', killstotal = 730}, [26] = {'frost dragon hatchling', killstotal = 755}, [27] = {'crystal spider', killstotal = 780}, [28] = {'lich', killstotal = 805}, [29] = {'banshee', killstotal = 830}, [30] = {'giant spider', killstotal = 855}, [31] = {'hero', killstotal = 885}, [32] = {'nightmare','nightmare scion', killstotal = 915}, [33] = {'black knight', killstotal = 945}, [34] = {'dragon lord', killstotal = 975}, [35] = {'frost dragon', killstotal = 1005}, [36] = {'hydra', killstotal = 1035}, [37] = {'behemoth', killstotal = 1065}, [38] = {'plaguesmith', killstotal = 1095}, [39] = {'blightwalker', killstotal = 1125}, [40] = {'dark torturer', killstotal = 1155}, [41] = {'hand of cursed fate', killstotal = 1190}, [42] = {'warlock', killstotal = 1225}, [43] = {'infernalist', killstotal = 1260}, [44] = {'phantasm', killstotal = 1295}, [45] = {'grim reaper', killstotal = 1330}, [46] = {'son of verminor', killstotal = 1365}, [47] = {'demon', killstotal = 1400}, [48] = {'hellhound', killstotal = 1435}, [49] = {'undead dragon', killstotal = 1470}, [50] = {'Juggernaut', killstotal = 1500}, [51] = {'ferumbras', killstotal = 80}, [52] = {'verminor','annihilon','latrivan','zoralurk','hellgorak','madareth', killstotal = 60}, [53] = {'orshabaal', killstotal = 40}, [54] = {'ghazbaran','morgaroth', killstotal = 40} } taskreward = -- em gps { [1] = {money = 3000000,xp = 64000,item = {5940, 5940, 5919, 5809, 5804}, amount = {1,1,1,1,1}}, [2] = {money = 2,xp = 11000}, -- 1 item(2458) será adicionado e nenhum ponto de task [3] = {money = 3,xp = 12000}, -- aqui serão adicionados 2 itens com id 2458 (se ele for amontoável - stackable) e 5 pontos de task [4] = {money = 4,xp = 13000}, [5] = {money = 5,xp = 14000}, [6] = {money = 6,xp = 15000}, [7] = {money = 7,xp = 16000}, [8] = {money = 8,xp = 17000}, [9] = {money = 9,xp = 18000}, [10] = {money = 3000000,xp = 19000,item = {8300}, amount = {2}}, [11] = {money = 10,xp = 20000}, [12] = {money = 11,xp = 21000}, [13] = {money = 12,xp = 22000}, [14] = {money = 13,xp = 23000}, [15] = {money = 14,xp = 24000}, [16] = {money = 15,xp = 25000}, [17] = {money = 16,xp = 26000}, [18] = {money = 17,xp = 27000}, [19] = {money = 18,xp = 28000}, [20] = {money = 3000000,xp = 29000,item = {8300}, amount = {3}}, [21] = {money = 20,xp = 30000}, [22] = {money = 21,xp = 31000}, [23] = {money = 22,xp = 32000}, [24] = {money = 23,xp = 33000}, [25] = {money = 24,xp = 34000}, [26] = {money = 25,xp = 35000}, [27] = {money = 26,xp = 36000}, [28] = {money = 27,xp = 37000}, [29] = {money = 28,xp = 38000}, [30] = {money = 29,xp = 39000,item = {5015,8300}, amount = {1,1}}, [31] = {money = 30,xp = 40000}, [32] = {money = 31,xp = 41000}, [33] = {money = 32,xp = 42000}, [34] = {money = 33,xp = 43000}, [35] = {money = 34,xp = 44000}, [36] = {money = 35,xp = 45000}, [37] = {money = 36,xp = 46000}, [38] = {money = 37,xp = 47000}, [39] = {money = 38,xp = 48000}, [40] = {money = 5000000,xp = 49000,item = {8306, 8300}, amount = {1,1}}, [41] = {money = 39,xp = 50000}, [42] = {money = 40,xp = 51000}, [43] = {money = 41,xp = 52000}, [44] = {money = 42,xp = 53000}, [45] = {money = 43,xp = 54000}, [46] = {money = 44,xp = 55000}, [47] = {money = 45,xp = 56000}, [48] = {money = 46,xp = 57000}, [49] = {money = 47,xp = 58000}, [50] = {money = 48,xp = 59000}, [51] = {money = 49,xp = 60000}, [52] = {money = 50,xp = 61000}, [53] = {money = 51,xp = 62000}, [54] = {money = 3000000,xp = 64000,item = {5940, 5940, 5919, 5809, 5804}, amount = {1,1,1,1,1}} } function canDoTask(cid) local stage = getPlayerStorageValue(cid, taskstg.stage) if stage + 1 > #taskmonsters then return false elseif getPlayerStorageValue(cid,taskstg.permission) <= 0 then return true elseif getPlayerStorageValue(cid,taskstg.permission) == 1 then return false elseif getPlayerStorageValue(cid,taskstg.permission) >= os.time(t) then return false end return true end function doResetTask(cid) setPlayerStorageValue(cid,taskstg.kills,-1) setPlayerStorageValue(cid,taskstg.permission,os.time(t) + timeBetweenTasks) setPlayerStorageValue(cid,taskstg.killstotal,-1) setPlayerStorageValue(cid,taskstg.monster,-1) return true end function doRewardTask(cid) local monster = getPlayerStorageValue(cid,taskstg.monster) local reward = taskreward[monster] if reward.item then for i= 1, #reward.item do doPlayerAddItem(cid,reward.item[i],reward.amount[i]) end end if reward.points then local points = getPlayerStorageValue(cid, taskstg.points) if points == -1 then setPlayerStorageValue(cid, taskstg.points, 0) end setPlayerStorageValue(cid, taskstg.points, reward.points + points) end if monster and reward then doPlayerAddMoney(cid,reward.money) doPlayerAddExperience(cid, reward.xp) end return true end function isSummon(cid) -- baseada na função do Vodkart if getCreatureMaster(cid) ~= nil or getCreatureMaster(cid) == true then return true end return false end function doCompleteTask(cid) doRewardTask(cid) doResetTask(cid) return true end function doStartTask(cid) if not taskLevel then local stage = getPlayerStorageValue(cid, taskstg.stage) if stage <= 0 then setPlayerStorageValue(cid, taskstg.monster, 1) setPlayerStorageValue(cid, taskstg.killstotal, taskmonsters[1].killstotal) setPlayerStorageValue(cid, taskstg.stage, 1) else setPlayerStorageValue(cid, taskstg.monster, stage+1) setPlayerStorageValue(cid, taskstg.killstotal, taskmonsters[stage+1].killstotal) if taskEnd or stage < #taskmonsters then setPlayerStorageValue(cid, taskstg.stage, stage+1) end end setPlayerStorageValue(cid, taskstg.permission, 1) setPlayerStorageValue(cid, taskstg.kills, 0) return true end local lvl = getPlayerLevel(cid) if lvl < 20 then local killstotal = taskmonsters[1].killstotal setPlayerStorageValue(cid,taskstg.monster,1) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) elseif lvl < 50 then local killstotal = taskmonsters[2].killstotal setPlayerStorageValue(cid,taskstg.monster,2) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) else local killstotal = taskmonsters[3].killstotal setPlayerStorageValue(cid,taskstg.monster,3) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) end setPlayerStorageValue(cid,taskstg.kills,0) return true end Talkactions: -- Sistema de Task feito por Leoric (Omega no XTibia) -- function onSay(cid, words, param, channel) local monster, permission = getPlayerStorageValue(cid,taskstg.monster), getPlayerStorageValue(cid,taskstg.permission) local kills, killstotal = getPlayerStorageValue(cid,taskstg.kills), getPlayerStorageValue(cid,taskstg.killstotal) if monster == -1 or monster == 0 then doPlayerSendTextMessage(cid,27,'Voce nao tem nenhuma task ativa.') else local left = killstotal - kills if left <= 0 then doPlayerSendTextMessage(cid,27,'Voce ja matou monstros suficientes para terminar sua task.') else doPlayerSendTextMessage(cid,27,'Andamento da sua task de '..taskmonsters[monster][1]..'s -> ['..kills..'/'..killstotal..']') end end return true end Creatureevents: -- Sistema de Task feito por Leoric (Omega no XTibia) -- function onKill(cid, target) if not isPlayer(cid) then return true end if isSummon(target) then return true end local monster, permission = getPlayerStorageValue(cid,taskstg.monster), getPlayerStorageValue(cid,taskstg.permission) local kills, killstotal = getPlayerStorageValue(cid,taskstg.kills), getPlayerStorageValue(cid,taskstg.killstotal) if monster ~= -1 and monster ~= 0 then if isInArray(taskmonsters[monster],string.lower(getCreatureName(target))) then if kills == -1 then setPlayerStorageValue(cid,taskstg.kills,1) elseif kills + 1 == killstotal and taskMsg.bool == true then doPlayerSendTextMessage(cid, 21, taskMsg.msg) setPlayerStorageValue(cid,taskstg.kills,kills+1) else setPlayerStorageValue(cid,taskstg.kills,kills+1) end end end return true end AJUDEM PLISSS !!! UP
  2. Boa Tarde, Estava tentando criar um site pro meu servidor ai na hora de procurar o arquivo "otserv.s3db" da um erro e no config.lua coloquei tudo certo sqlDatabase = "otserv" sqlFile = "otserv.s3db" ai no site eu vo la abro esse aqui otserv.s3db e da o erro da print alguem ajuda? @ acho que problema ta nesse arquivo alguem pode deixar ele pronto ? CREATE TABLE "server_config" ( "config" VARCHAR(35) NOT NULL DEFAULT '', "value" INTEGER ' at line 1 UNIQUE ("config") ); INSERT INTO "server_config" VALUES ('db_version', 23); CREATE TABLE "server_motd" ( "id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "text" TEXT NOT NULL DEFAULT '', UNIQUE ("id", "world_id") ); INSERT INTO "server_motd" VALUES (1, 0, 'Welcome to The Forgotten Server!'); CREATE TABLE "server_record" ( "record" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "timestamp" INTEGER NOT NULL, UNIQUE ("record", "world_id", "timestamp") ); INSERT INTO "server_record" VALUES (0, 0, 0); CREATE TABLE "server_reports" ( "id" INTEGER PRIMARY KEY, "world_id" INTEGER NOT NULL DEFAULT 0, "player_id" INTEGER NOT NULL DEFAULT 0, "posx" INTEGER NOT NULL DEFAULT 0, "posy" INTEGER NOT NULL DEFAULT 0, "posz" INTEGER NOT NULL DEFAULT 0, "timestamp" INTEGER NOT NULL DEFAULT 0, "report" TEXT NOT NULL DEFAULT '', "reads" INTEGER NOT NULL DEFAULT 0 ); CREATE TABLE "accounts" ( "id" INTEGER PRIMARY KEY NOT NULL, "name" VARCHAR(255) NOT NULL, "password" VARCHAR(255) NOT NULL, "premdays" INTEGER NOT NULL DEFAULT 0, "lastday" INTEGER NOT NULL DEFAULT 0, "email" VARCHAR(255) NOT NULL DEFAULT '', "key" VARCHAR(20) NOT NULL DEFAULT '0', "blocked" BOOLEAN NOT NULL DEFAULT 0, "warnings" INTEGER NOT NULL DEFAULT 0, "group_id" INTEGER NOT NULL DEFAULT 1, UNIQUE ("name") ); INSERT INTO "accounts" VALUES (1, '1', '1', 65535, 0, '', '0', 0, 0, 1); CREATE TABLE "players" ( "id" INTEGER PRIMARY KEY NOT NULL, "name" VARCHAR(255) NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "group_id" INTEGER NOT NULL, "account_id" INTEGER NOT NULL, "level" INTEGER NOT NULL DEFAULT 1, "vocation" INTEGER NOT NULL DEFAULT 0, "health" INTEGER NOT NULL DEFAULT 100, "healthmax" INTEGER NOT NULL DEFAULT 100, "experience" INTEGER NOT NULL DEFAULT 0, "lookbody" INTEGER NOT NULL DEFAULT 10, "lookfeet" INTEGER NOT NULL DEFAULT 10, "lookhead" INTEGER NOT NULL DEFAULT 10, "looklegs" INTEGER NOT NULL DEFAULT 10, "looktype" INTEGER NOT NULL DEFAULT 136, "lookaddons" INTEGER NOT NULL DEFAULT 0, "maglevel" INTEGER NOT NULL DEFAULT 0, "mana" INTEGER NOT NULL DEFAULT 100, "manamax" INTEGER NOT NULL DEFAULT 100, "manaspent" INTEGER NOT NULL DEFAULT 0, "soul" INTEGER NOT NULL DEFAULT 0, "town_id" INTEGER NOT NULL, "posx" INTEGER NOT NULL DEFAULT 0, "posy" INTEGER NOT NULL DEFAULT 0, "posz" INTEGER NOT NULL DEFAULT 0, "conditions" BLOB NOT NULL, "cap" INTEGER NOT NULL DEFAULT 0, "sex" INTEGER NOT NULL DEFAULT 0, "lastlogin" INTEGER NOT NULL DEFAULT 0, "lastip" INTEGER NOT NULL DEFAULT 0, "save" BOOLEAN NOT NULL DEFAULT 1, "skull" INTEGER NOT NULL DEFAULT 0, "skulltime" INTEGER NOT NULL DEFAULT 0, "rank_id" INTEGER NOT NULL, "guildnick" VARCHAR(255) NOT NULL DEFAULT '', "lastlogout" INTEGER NOT NULL DEFAULT 0, "blessings" INTEGER NOT NULL DEFAULT 0, "balance" INTEGER NOT NULL DEFAULT 0, "stamina" INTEGER NOT NULL DEFAULT 151200000, "direction" INTEGER NOT NULL DEFAULT 2, "loss_experience" INTEGER NOT NULL DEFAULT 100, "loss_mana" INTEGER NOT NULL DEFAULT 100, "loss_skills" INTEGER NOT NULL DEFAULT 100, "loss_containers" INTEGER NOT NULL DEFAULT 100, "loss_items" INTEGER NOT NULL DEFAULT 100, "premend" INTEGER NOT NULL DEFAULT 0, "online" TINYINT NOT NULL DEFAULT 0, "marriage" INTEGER NOT NULL DEFAULT 0, "promotion" INTEGER NOT NULL DEFAULT 0, "deleted" BOOLEAN NOT NULL DEFAULT 0, "description" VARCHAR(255) NOT NULL DEFAULT '', UNIQUE ("name", "deleted"), FOREIGN KEY ("account_id") REFERENCES "accounts" ("id") ); INSERT INTO "players" VALUES (1, 'Account Manager', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, ''); CREATE TABLE "account_viplist" ( "account_id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "player_id" INTEGER NOT NULL, UNIQUE ("account_id", "player_id"), FOREIGN KEY ("account_id") REFERENCES "accounts" ("id"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "global_storage" ( "key" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "value" VARCHAR(255) NOT NULL DEFAULT '0', UNIQUE ("key", "world_id") ); CREATE TABLE "guilds" ( "id" INTEGER PRIMARY KEY, "world_id" INTEGER NOT NULL DEFAULT 0, "name" VARCHAR(255) NOT NULL, "ownerid" INTEGER NOT NULL, "creationdata" INTEGER NOT NULL, "motd" VARCHAR(255) NOT NULL DEFAULT '', UNIQUE ("name", "world_id"), FOREIGN KEY ("ownerid") REFERENCES "players" ("id") ); CREATE TABLE "guild_invites" ( "player_id" INTEGER NOT NULL, "guild_id" INTEGER NOT NULL, UNIQUE ("player_id", "guild_id"), FOREIGN KEY ("player_id") REFERENCES "players" ("id"), FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ); CREATE TABLE "guild_ranks" ( "id" INTEGER PRIMARY KEY, "guild_id" INTEGER NOT NULL, "name" VARCHAR(255) NOT NULL, "level" INTEGER NOT NULL, FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ); CREATE TABLE "houses" ( "id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "owner" INTEGER NOT NULL, "paid" INTEGER NOT NULL DEFAULT 0, "warnings" INTEGER NOT NULL DEFAULT 0, "lastwarning" INTEGER NOT NULL DEFAULT 0, "name" VARCHAR(255) NOT NULL, "town" INTEGER NOT NULL DEFAULT 0, "size" INTEGER NOT NULL DEFAULT 0, "price" INTEGER NOT NULL DEFAULT 0, "rent" INTEGER NOT NULL DEFAULT 0, "doors" INTEGER NOT NULL DEFAULT 0, "beds" INTEGER NOT NULL DEFAULT 0, "tiles" INTEGER NOT NULL DEFAULT 0, "guild" BOOLEAN NOT NULL DEFAULT FALSE, "clear" BOOLEAN NOT NULL DEFAULT FALSE, UNIQUE ("id", "world_id") ); CREATE TABLE "house_lists" ( "house_id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "listid" INTEGER NOT NULL, "list" TEXT NOT NULL, UNIQUE ("house_id", "world_id", "listid"), FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id") ); CREATE TABLE "house_data" ( "house_id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "data" LONGBLOB NOT NULL, UNIQUE ("house_id", "world_id"), FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id") ); CREATE TABLE "house_auctions" ( "house_id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "player_id" INTEGER NOT NULL, "bid" INTEGER NOT NULL DEFAULT 0, "limit" INTEGER NOT NULL DEFAULT 0, "endtime" INTEGER NOT NULL DEFAULT 0, UNIQUE ("house_id", "world_id"), FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id") FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "player_deaths" ( "id" INTEGER PRIMARY KEY, "player_id" INTEGER NOT NULL, "date" INTEGER NOT NULL, "level" INTEGER NOT NULL, FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "killers" ( "id" INTEGER PRIMARY KEY, "death_id" INTEGER NOT NULL, "final_hit" BOOLEAN NOT NULL DEFAULT FALSE, "unjustified" BOOLEAN NOT NULL DEFAULT FALSE, FOREIGN KEY ("death_id") REFERENCES "player_deaths" ("id") ); CREATE TABLE "player_killers" ( "kill_id" INTEGER NOT NULL, "player_id" INTEGER NOT NULL, FOREIGN KEY ("kill_id") REFERENCES "killers" ("id"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "environment_killers" ( "kill_id" INTEGER NOT NULL, "name" VARCHAR(255) NOT NULL, FOREIGN KEY ("kill_id") REFERENCES "killers" ("id") ); CREATE TABLE "player_depotitems" ( "player_id" INTEGER NOT NULL, "sid" INTEGER NOT NULL, "pid" INTEGER NOT NULL DEFAULT 0, "itemtype" INTEGER NOT NULL, "count" INTEGER NOT NULL DEFAULT 0, "attributes" BLOB NOT NULL, UNIQUE ("player_id", "sid"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "player_namelocks" ( "player_id" INTEGER NOT NULL, "name" VARCHAR(255) NOT NULL, "new_name" VARCHAR(255) NOT NULL, "date" INTEGER NOT NULL DEFAULT 0, FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "player_skills" ( "player_id" INTEGER NOT NULL, "skillid" INTEGER NOT NULL, "value" INTEGER NOT NULL DEFAULT 0, "count" INTEGER NOT NULL DEFAULT 0, UNIQUE ("player_id", "skillid"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "player_storage" ( "player_id" INTEGER NOT NULL, "key" INTEGER NOT NULL, "value" VARCHAR(255) NOT NULL DEFAULT '0', UNIQUE ("player_id", "key"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "player_viplist" ( "player_id" INTEGER NOT NULL, "vip_id" INTEGER NOT NULL, UNIQUE ("player_id", "vip_id"), FOREIGN KEY ("player_id") REFERENCES "players" ("id"), FOREIGN KEY ("vip_id") REFERENCES "players" ("id") ); CREATE TABLE "tiles" ( "id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "house_id" INTEGER NOT NULL, "x" INTEGER NOT NULL, "y" INTEGER NOT NULL, "z" INTEGER NOT NULL, UNIQUE ("id", "world_id"), FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id") ); CREATE TABLE "tile_items" ( "tile_id" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "sid" INTEGER NOT NULL, "pid" INTEGER NOT NULL DEFAULT 0, "itemtype" INTEGER NOT NULL, "count" INTEGER NOT NULL DEFAULT 0, "attributes" BLOB NOT NULL, UNIQUE ("tile_id", "world_id", "sid"), FOREIGN KEY ("tile_id") REFERENCES "tiles" ("id") ); CREATE TABLE "player_items" ( "player_id" INT NOT NULL, "sid" INT NOT NULL, "pid" INT NOT NULL DEFAULT 0, "itemtype" INT NOT NULL, "count" INT NOT NULL DEFAULT 0, "attributes" BLOB NOT NULL, UNIQUE ("player_id", "sid"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "player_spells" ( "player_id" INTEGER NOT NULL, "name" VARCHAR(255) NOT NULL, UNIQUE ("player_id", "name"), FOREIGN KEY ("player_id") REFERENCES "players" ("id") ); CREATE TABLE "bans" ( "id" INTEGER PRIMARY KEY NOT NULL, "type" INTEGER NOT NULL, "value" INTEGER NOT NULL, "param" INTEGER NOT NULL DEFAULT 4294967295, "active" BOOLEAN NOT NULL DEFAULT 1, "expires" INTEGER NOT NULL, "added" INTEGER NOT NULL, "admin_id" INTEGER NOT NULL DEFAULT 0, "comment" TEXT NOT NULL, "reason" INTEGER NOT NULL DEFAULT 0, "action" INTEGER NOT NULL DEFAULT 0, "statement" VARCHAR(255) NOT NULL DEFAULT '' ); CREATE TRIGGER "oncreate_guilds" AFTER INSERT ON "guilds" BEGIN INSERT INTO "guild_ranks" ("name", "level", "guild_id") VALUES ("Leader", 3, NEW."id"); INSERT INTO "guild_ranks" ("name", "level", "guild_id") VALUES ("Vice-Leader", 2, NEW."id"); INSERT INTO "guild_ranks" ("name", "level", "guild_id") VALUES ("Member", 1, NEW."id"); END; CREATE TRIGGER "oncreate_players" AFTER INSERT ON "players" BEGIN INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 0, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 1, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 2, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 3, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 4, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 5, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 6, 10); END; CREATE TRIGGER "ondelete_accounts" BEFORE DELETE ON "accounts" FOR EACH ROW BEGIN DELETE FROM "players" WHERE "account_id" = OLD."id"; DELETE FROM "account_viplist" WHERE "account_id" = OLD."id"; DELETE FROM "bans" WHERE "type" IN (3, 4) AND "value" = OLD."id"; END; CREATE TRIGGER "ondelete_players" BEFORE DELETE ON "players" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'DELETE on table "players" violates foreign: "ownerid" from table "guilds"') WHERE (SELECT "id" FROM "guilds" WHERE "ownerid" = OLD."id") IS NOT NULL; DELETE FROM "account_viplist" WHERE "player_id" = OLD."id"; DELETE FROM "player_viplist" WHERE "player_id" = OLD."id" OR "vip_id" = OLD."id"; DELETE FROM "player_storage" WHERE "player_id" = OLD."id"; DELETE FROM "player_skills" WHERE "player_id" = OLD."id"; DELETE FROM "player_items" WHERE "player_id" = OLD."id"; DELETE FROM "player_depotitems" WHERE "player_id" = OLD."id"; DELETE FROM "player_spells" WHERE "player_id" = OLD."id"; DELETE FROM "player_killers" WHERE "player_id" = OLD."id"; DELETE FROM "player_deaths" WHERE "player_id" = OLD."id"; DELETE FROM "guild_invites" WHERE "player_id" = OLD."id"; DELETE FROM "bans" WHERE "type" IN (2, 5) AND "value" = OLD."id"; UPDATE "houses" SET "owner" = 0 WHERE "owner" = OLD."id"; END; CREATE TRIGGER "ondelete_guilds" BEFORE DELETE ON "guilds" FOR EACH ROW BEGIN UPDATE "players" SET "guildnick" = '', "rank_id" = 0 WHERE "rank_id" IN (SELECT "id" FROM "guild_ranks" WHERE "guild_id" = OLD."id"); DELETE FROM "guild_ranks" WHERE "guild_id" = OLD."id"; DELETE FROM "guild_invites" WHERE "guild_id" = OLD."id"; END; CREATE TRIGGER "oninsert_players" BEFORE INSERT ON "players" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "players" violates foreign: "account_id"') WHERE NEW."account_id" IS NULL OR (SELECT "id" FROM "accounts" WHERE "id" = NEW."account_id") IS NULL; END; CREATE TRIGGER "onupdate_players" BEFORE UPDATE ON "players" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "players" violates foreign: "account_id"') WHERE NEW."account_id" IS NULL OR (SELECT "id" FROM "accounts" WHERE "id" = NEW."account_id") IS NULL; END; CREATE TRIGGER "oninsert_guilds" BEFORE INSERT ON "guilds" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "guilds" violates foreign: "ownerid"') WHERE NEW."ownerid" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."ownerid") IS NULL; END; CREATE TRIGGER "onupdate_guilds" BEFORE UPDATE ON "guilds" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "guilds" violates foreign: "ownerid"') WHERE NEW."ownerid" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."ownerid") IS NULL; END; CREATE TRIGGER "ondelete_houses" BEFORE DELETE ON "houses" FOR EACH ROW BEGIN DELETE FROM "house_lists" WHERE "house_id" = OLD."id"; END; CREATE TRIGGER "ondelete_tiles" BEFORE DELETE ON "tiles" FOR EACH ROW BEGIN DELETE FROM "tile_items" WHERE "tile_id" = OLD."id"; END; CREATE TRIGGER "oninsert_guild_ranks" BEFORE INSERT ON "guild_ranks" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "guild_ranks" violates foreign: "guild_id"') WHERE NEW."guild_id" IS NULL OR (SELECT "id" FROM "guilds" WHERE "id" = NEW."guild_id") IS NULL; END; CREATE TRIGGER "onupdate_guild_ranks" BEFORE UPDATE ON "guild_ranks" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "guild_ranks" violates foreign: "guild_id"') WHERE NEW."guild_id" IS NULL OR (SELECT "id" FROM "guilds" WHERE "id" = NEW."guild_id") IS NULL; END; CREATE TRIGGER "oninsert_house_lists" BEFORE INSERT ON "house_lists" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "house_lists" violates foreign: "house_id"') WHERE NEW."house_id" IS NULL OR (SELECT "id" FROM "houses" WHERE "id" = NEW."house_id") IS NULL; END; CREATE TRIGGER "onupdate_house_lists" BEFORE UPDATE ON "house_lists" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "house_lists" violates foreign: "house_id"') WHERE NEW."house_id" IS NULL OR (SELECT "id" FROM "houses" WHERE "id" = NEW."house_id") IS NULL; END; CREATE TRIGGER "oninsert_player_depotitems" BEFORE INSERT ON "player_depotitems" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_depotitems" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "onupdate_player_depotitems" BEFORE UPDATE ON "player_depotitems" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_depotitems" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "oninsert_player_skills" BEFORE INSERT ON "player_skills" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_skills" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "onupdate_player_skills" BEFORE UPDATE ON "player_skills" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_skills" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "oninsert_player_storage" BEFORE INSERT ON "player_storage" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_storage" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "onupdate_player_storage" BEFORE UPDATE ON "player_storage" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_storage" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "oninsert_player_viplist" BEFORE INSERT ON "player_viplist" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_viplist" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; SELECT RAISE(ROLLBACK, 'INSERT on table "player_viplist" violates foreign: "vip_id"') WHERE NEW."vip_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."vip_id") IS NULL; END; CREATE TRIGGER "onupdate_player_viplist" BEFORE UPDATE ON "player_viplist" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_viplist" violates foreign: "vip_id"') WHERE NEW."vip_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."vip_id") IS NULL; END; CREATE TRIGGER "oninsert_account_viplist" BEFORE INSERT ON "account_viplist" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "account_viplist" violates foreign: "account_id"') WHERE NEW."account_id" IS NULL OR (SELECT "id" FROM "accounts" WHERE "id" = NEW."account_id") IS NULL; SELECT RAISE(ROLLBACK, 'INSERT on table "account_viplist" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "onupdate_account_viplist" BEFORE UPDATE ON "account_viplist" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "account_viplist" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "oninsert_tile_items" BEFORE INSERT ON "tile_items" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "tile_items" violates foreign: "tile_id"') WHERE NEW."tile_id" IS NULL OR (SELECT "id" FROM "tiles" WHERE "id" = NEW."tile_id") IS NULL; END; CREATE TRIGGER "onupdate_tile_items" BEFORE UPDATE ON "tile_items" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "tile_items" violates foreign: "tile_id"') WHERE NEW."tile_id" IS NULL OR (SELECT "id" FROM "tiles" WHERE "id" = NEW."tile_id") IS NULL; END; CREATE TRIGGER "oninsert_player_spells" BEFORE INSERT ON "player_spells" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_spells" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "onupdate_player_spells" BEFORE UPDATE ON "player_spells" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_spells" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "oninsert_player_deaths" BEFORE INSERT ON "player_deaths" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_deaths" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "onupdate_player_deaths" BEFORE UPDATE ON "player_deaths" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_deaths" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; END; CREATE TRIGGER "oninsert_killers" BEFORE INSERT ON "killers" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "killers" violates foreign: "death_id"') WHERE NEW."death_id" IS NULL OR (SELECT "id" FROM "player_deaths" WHERE "id" = NEW."death_id") IS NULL; END; CREATE TRIGGER "onupdate_killers" BEFORE UPDATE ON "killers" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "killers" violates foreign: "death_id"') WHERE NEW."death_id" IS NULL OR (SELECT "id" FROM "player_deaths" WHERE "id" = NEW."death_id") IS NULL; END; CREATE TRIGGER "oninsert_environment_killers" BEFORE INSERT ON "environment_killers" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "enviroment_killers" violates foreign: "kill_id"') WHERE NEW."kill_id" IS NULL OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL; END; CREATE TRIGGER "onupdate_environment_killers" BEFORE UPDATE ON "environment_killers" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "enviroment_killers" violates foreign: "kill_id"') WHERE NEW."kill_id" IS NULL OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL; END; CREATE TRIGGER "oninsert_player_killers" BEFORE INSERT ON "player_killers" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'INSERT on table "player_killers" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; SELECT RAISE(ROLLBACK, 'INSERT on table "player_killers" violates foreign: "kill_id"') WHERE NEW."kill_id" IS NULL OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL; END; CREATE TRIGGER "onupdate_player_killers" BEFORE UPDATE ON "player_killers" FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'UPDATE on table "player_killers" violates foreign: "player_id"') WHERE NEW."player_id" IS NULL OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL; SELECT RAISE(ROLLBACK, 'UPDATE on table "killers" violates foreign: "kill_id"') WHERE NEW."kill_id" IS NULL OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL; END;
  3. to tentando usar o script de um tutorial que ta assim: --- Porta Temporizada by Runando/Belianmort --- function onUse(cid, item, frompos, item2, topos) -------- Pausa -------- local pausa = 10000 -------- Cordenadas -------- local door = {x=332, y=342, z=5, stackpos=1} local ddoor = getThingfromPos(door) -------- ITEM -------- local open_door = 9174 local itemU = 13780 local verify = 0 --- NÃO MEXA AQUI -------- PRIMEIRO SISTEMA -------- if item2.uid == itemU then if ddoor.itemid ~= verify then doTransformItem(ddoor.uid,open_door) addEvent(close,pausa,door) end else doPlayerSendCancel(cid,"This key can not be used here") end return 1 end function close(door) -------- ITEM -------- local to_close_door = 9173 ------- SEGUNDO SISTEMA -------- local the_close_door = getThingfromPos(door) doTransformItem(the_close_door.uid,to_close_door) end e no actions colo normal com o id da chave.. 2089 (estava falando que estava duplicando essa action dai reparei que tinha la no actions id 2086 to 2092, dai separei o 2089 deles..) mesmo assim não funcionou, e outro detalhe.. é meio falho esse sistema porque a porta fica aberta 10 segundos e fecha.. o ideal pra mim seria abrir com a chave e a proxima vez que fechasse a porta trancasse, dai eu ia colocar pra remover a chave quando usar (mas claro que ia esclarecer numa placa, só pra não ter de player ficar com a chave e dar para outro) esqueci de dizer, o Uid da porta esta igual o do script, assim como position e id's da porta aberta e fechada
  4. tem um erro do caramba na minha doors ja trokei por varios script e nada ainda to usando um OTX Server Version: (2.51 - SE - 1549) esta acontecendo em todas minhas porta quando vo abrir [Error - Action Interface] [15/12/2015 17:13:28] data/actions/scripts/other/doors.lua:onUse [15/12/2015 17:13:28] Description: [15/12/2015 17:13:28] data/actions/scripts/other/doors.lua:13: attempt to index global 'DOORS' (a nil value) [15/12/2015 17:13:28] stack traceback: [15/12/2015 17:13:28] data/actions/scripts/other/doors.lua:13: in function <data/actions/scripts/other/doors.lua:7> REP ++ Achei a solução in outro FORUM ta ai para quem tiver com esse problema!
  5. Dennyz Dias

    ERRRO!

    alguem me ajuda nesse erro tentei de tudo, ta ficando chato ja, sempre agleum da use em uma porta ele carrega isso e trava o server depois que ele carrega isso o server volta . The OTX Server [Error - Action Interface] [15/12/2015 12:46:59] data/actions/scripts/other/doors.lua:onUse [15/12/2015 12:46:59] Description: [15/12/2015 12:47:0] data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil) [15/12/2015 12:47:0] stack traceback: [15/12/2015 12:47:0] [C]: in function 'ipairs' [15/12/2015 12:47:0] data/lib/050-function.lua:10: in function 'isInArray' [15/12/2015 12:47:1] data/actions/scripts/other/doors.lua:87: in function <data/actions/scripts/other/doors.lua:16>
  6. Ola, tenho um mapa que gostei da abse dele e gostaria de edita-lo mas o distro esta anunciando muito erros, teria como da uma olhanda e ver quais deles podem ser solucionados ? - Apaguei alguns que sei, que são inofensivos ou que eu sei retirar.
  7. Galera no meu servidor os player tão falando !buypremium e obtendo 90 dias vip gratis sendo que no talkaction não tem esse comando galera pode me ajuda pfv
  8. Bom galera, no meu server, tem a talkaction !promotion, que ao usar, o player é promovido, como exemplo: o paladin usa o comando, ai ele vira royal paladin entendeu? Então, eu testei vários scripts de promotion, mas nenhum funciona devidamente no server, ele chegam a promover o player, mas se o mesmo deslogar ou ser morto, ele perde o promotion... Ja teste vários scripts, e o meu atural script é: O que pode ocasionar o problema? Ele simplesmente não salva a vocation nova do player.. ME AJUDEM POR FAVOR!! USO TFS 0.4
  9. alguem poderia me ajudar num script que o player clika numa placa vai para lugar X porem precisa ter 10 resets para ir , e so pode ir denovo apos 1 Hora Obrigado REP++
  10. Ae galera do xtibia, entao estou precisando de um script com as seguintes características. 1) Quando um monstro (CONGURAVEL) for morto por uma pessoa de uma guild (SOMENTE PLAYERS COM GUILD PODERAM ATACAR O MONSTRO), A guild ganhara uma storage. 2) Quando outra guild vir á matar o monstro, a guild que estava com a storage perdara e a guild que matou esse monstro ganhara a storage. 3) Somente player (MEMBRO DA GUILD) com a storeges podera passa por um tile (ACTION) É isso gente, Aguardo resposta !
  11. Olá pessoal, gostaria que alguém me ajudasse em uns scripts de frag, um é o de rank frags, que já usei 2 diferentes e nenhum deu certo. Um deles abre a janelinha do rank mas não aparece ninguém nela, e o outro script faz cair o server quando eu executo a talkaction pra abrir o rank. O outro é que eu tenho um script que aparece os frags do player quando dá look nele, o problema é como eu tenho um ot de war, eu gostaria que contabilizasse todas as mortes nesse contador de frags. Por exemplo, se eu pego pz em um player e eu mato ele, o frag conta. Só que se esse mesmo cara abrir PZ em mim ou se ele já tiver pego pz em outra pessoa e eu abrir "yellow" no cara e matar ele, o frag não conta. Obrigado amigos e aguardo ajuda.
  12. Alguem sabe me dizer o seguinte.. Quando os pokemons estão com pouca life, tipo no red, eles demoram pra morrer.. Alguem sabe solucionar ou dizer o que é? Meu script:
  13. Então pessoal, eu tenho dois scripts, um de tile que só pode passar quem é VIP e outro que heala a mana do player. Eu queria que meu script de healar mana, só heala-se a mana se o player fosse vip, caso o player não for vip, o script manda uma mensagem assim, "Você não é vip, portanto o manapool não irá healar sua mana" entenderam? Tile Vip : function onStepIn(cid, item, position, fromPosition) if item.actionid == 13700 and not HaveCharaterAcess(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você não é vip.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"bem vindo.") return true end Piso Que Heala: local control = {} function addManaInTime(cid) local time = 1000 --tempo entre os addMana local addMana = 3150 --qnt mana vai subir if isPlayer(cid) then local max = getPlayerMana(cid) >= getPlayerMaxMana(cid) and true or false doPlayerAddMana(cid, max and 0 or addMana) if not max then doSendMagicEffect(getPlayerPosition(cid), 12) end if not max then doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) end control[cid] = addEvent(addManaInTime, time, cid) elseif control[cid] then control[cid] = nil end end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if control[cid] then stopEvent(control[cid]) control[cid] = nil end addManaInTime(cid) return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) if control[cid] then stopEvent(control[cid]) control[cid] = nil end return true end Se possivel, colocar para o script que heala a mana dos players, fosse possivel, ele healar a quantidade de mana, dependendo da vocação
  14. Boa noite, gostaria de pedir uma ajuda de vocês gostaria de um script que vou postar a baixo que é de 8.6, gostaria um igual ou um parecido para versão 10.82 alguem poderia me ajuda ? @up @up
  15. Oláa!! Estou com um sistema de cofre e queria passar ele para versao 0.3 , na versao 0.4 funfo normal, alguem que saiba poderia ajudar?? Globalevents: <globalevent name="staff_salary" time="12:00" event="script" value="bankstaff.lua"/> Talkactions: <talkaction words="/cofreLimits;/cofreTransfer" access="3" event="script" value="bankstaff.lua"/>
  16. Bom galera, tenho um mapa aqui, ele é um Hero editado, nele contém algumas talkactions bugadas de dar skill full para o player, criei um tópico e ninguém viu :V Vou tentar pedir assim: Quero o seguinte: Se o player for paladin ou knight, ele SÓ PODE USAR as talkactions: OBRIGAÇÃO DE TER PROMOTION! E se for druid ou sorcerer, SÓ PODE USAR: OBRIGAÇÃO DE TER PROMOTION! Funcionam assim: Quando o player disser a talkaction X, como exemplo a !sword, o player deve ser knight com promotion e ele vai receber skill full sword(400), a mesma coisa para distance, shield, club e axe. Já o Magic Level, o player deve ser druid ou sorcerer com promotion, quando ele disser como exemplo !druid, ele receberá skill full magic level(250), e é isso! Obrigado desde já, espero que possam me ajudar! resolvido
  17. Olá, to com um probleminha aqui, deve ser simples resolver pra quem entende, acontece o seguinte: quando eu aperto a alavanca da quest ocorre tudo normal a pedra some certinho como é pra funcionar, porém, 2 minutos depois a pedra reaparece com uma alavanca em cima (o id dessa alavanca é 1946), WTF--' SCRIPT DA ACTION: @EDIT RESOLVIDO! Resolvi sozinho, como vi que o id da alavanca que aparecia na pedra era 1946, e só tinha uma parte do script que aparecia esse id então excluí essa parte, vou deixar o scipt aqui em baixo e em vermelho oque foi removido pro funcionamento ficar 100%. @resolvido
  18. Boa noite Galerinha do XTibia então gostaria de saber se alguem poderia me ajudar, criar um .xml onde eu posso adicionar diversos actions para quests. Um arquivo só nos ACTIONS para adicionar items de quests VERSÃO 10.82
  19. Oi! Td bom? Estou aqui as 00:19 da noite para criar um tópico de atualizações!!! Com um changelog com todas as atualizações! [+]Edições na source Foi Adicionado Sistema de Anti-Divulgação Agora Help/Tutor Falam em Laranja e GM/Adm falam em vermelho no Game-Chat, Help e Trade Agora Player Não pode Adicionar GM/Adm na lista vip Foi Adicionado o Sistema de Auto-Stacking Foi Adicionado Sistema de Pokémon Passivo [+]Pequenas Atualizações e remoções de bugs/erros na source Resolvido Bug de Crashar o server pela house Resolvido Problema de ao pokemon usar magia em área, acertava o player e ele não levava dano Foi Tirado o Black-List para Inicialização Mais Rapida Foi Corrigido o problema de clonar items pelo Elfbot Foi Corrigido o Bug de Puxar um item várias vezes emuito rapido e crashando o server [+]Edições no server Outfits: Foram adicionadas as seguintes outfits: Foxy, Deadpool, Homen-Aranha, Homer Simpsons, Dr House, Capetinha, Bruxa e Esqueleto! - As mesmas poderam ser conseguidas atravez de eventos ou algo proposto pela equipe! Talkactions: Adicionado Sistema de TV por comandos 70% - Já está utilizavel, mas com algums probleminhas Comando "!save" Adicionado - Para salvar seu char Adicionado Turn System - Pokémon Vira de Lado de Acordo com o Comando do Player t1/t2/t3/t4 end Adicionado Sistema de Invasão de Pokémons Adicionado Sistema de Pokémon Falar - Usando o Comando !x //Foi Feito o Script do Shop System end Globalevents: Adicionado Mensagens Automaticas - Dicas, Informações, Anuncios, etc Items: Foi Adicionado nova Cédula! Chamada KK Dolars Foi Removido a Moeda Cents! Channels: //Adicionado Catch Channel! Manda uma mensagem de catch para este channel! Creatureevents: Agora a Mensagem Ao dar Look na porta da House foi Traduzida Adicionado Delay ao Fazer Login - Para Diminuir o Lag Adicionado Mensagem Ao Primeiro Login Adicionado Mensagem Ao Fazer Login Npc's: Foi Adicionado NPC Felix. Npc que você deposita, saca e transfere seu dinheiro. Foi Modificado o Npc Dalk! Agora com as funções de comprar Premium e Mudar de Sexo por Diamond e Foi traduzido! Edições Gerais: Vip System Adicionado! com Tile Vip e Vantagem de 30% a mais de xp! [+]Edições no Cliente Remake da Primeira Geração Completa Remake de Algumas Walls e Algums Tiles Foi Adicionado Remake dos Hds! Pessoal pela manha estárei postando imagens! Mas por enquanto é só!
  20. Olá pessoal, eu achei um script na internet, criado pelo Maxwellden, só que eu queria que vocês modificassem para poder utiliza-lo sómente dentro de houses, vou postar abaixo o script inteiro. Vale ressaltar que é um mod e um npc. Agora a parte dos npc Como eu não entendo nada de script, gostaria que se possivel modificassem o script para poder utilizar o comando sómente se estiver dentro de uma house
  21. tipo do script: action versão: 8.60 O que o script faz: Ao usar um item upgrader (exemplo: itemid=8306) em um equipamento ou arma especifico, ele ira remover certa quantidade do upgrader e trocara o item por um outro item especifico. exemplo: tenho 10 item upgrader 1º caso: vou usar em meu axe (exemplo: itemid=7773) e ele ira virar um outro axe (exemplo: itemid=8096), removendo 2 upgraders. 2º caso: mesma coisa para equipamentos, usando o upgrader em um devil helmet ele ira virar um iron helmet, porem removendo somente 1 upgrader. após efetuar esses upgrades, só me restaram 7 item upgrader. Como diz no titulo """"upgrade""""(em muitas aspas), não quero que o script, em si, troque os atributos do item e sim troque o item por outro que eu já tenho modificado. em caso de não usar o item upgrader em um item inicial(no 1º caso o itemid=7773 ou no 2º caso o devil helmet) retornara com a mensagem="Nao foi possivel evoluir este item". em caso de não ter a quantidade necessária, retornara="Voce precisa de x item upgrader" se possível gostaria de utilizar somente 1 script para vários "upgrades"(tipo utilizar esse script para evoluir um set e weapon completo para o proximo nivel), criando uma copia modificada desse para o proximo nivel de "upgrade". se não for possivel não tenho problema algum em criar 200 arquivos para efetuar todos os upgrades que brotar na mente, porem facilitaria a vida Desde já agradecido.
  22. Bom dia... O @Vodk fez uma atualização no sistema de autoloot dele... Porem, eu queria adicionar uma função, e nao sei como faz... 1. Adicionar uma função que colocaria um limite de slot, (poderia adicionar no maximo 3 itens no autoloot) 2. Um item que ao clicar nele, adicionaria 2 slot no autoloot, assim sendo possivel adicionar 5 itens! 3. Eu estava notando um autoloto de um outro server, que aparece no server log quando mata o bixo o quanto de gold ele coletou e nesse que o Vodk fez nao aparece teria como adicionar isso tb? OBS:: A prioridade maior é no primeiro pedido, os demais se não tiver como não tem problema.. Agradeço desde já.. REP+ pra quem tiver a boa vontade de ajudar! Mod do autoloot:
  23. Em anexo deixei a imagem... queria uma action que tivesse duas opções, podendo eu configurar o que cada faria, eu sei fazer o pop-up aparecer e tudo mais, mas só aparece o boao [ok] como faz pra ter mais de um botao? TFS 0.3.6
  24. Esse sistema foi feito por Mark Samman. Level mínimo, preço da transmissão, tempo entre as transmissões; e como é exibido no bate-papo, pode ser configurado. O sistema foi modificado por Hokku pra 1.1 data/talkactions/scripts/broadcast22.lua local config = { storage = 19400, -- change to an non used storage if u use it cor = "advance", -- No working on TFS 1.1, edit line 21 param tempo = 2, -- in minutes price = 1000, -- price of each bc level = 100 -- lvl requiered to use bc } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if getPlayerLevel(cid) >= config.level then if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then if doPlayerRemoveMoney(cid, config.price) then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*60)) Game.broadcastMessage("[ALL] "..getCreatureName(cid)..": "..param.."", MESSAGE_STATUS_CONSOLE_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You have successfully sent a broadcast, now you'll have to wait " ..config.tempo.. " minute(s) until you broadcast again.") else doPlayerSendCancel(cid, "You don't have " ..config.price.. " gp's for broadcasting.") return true end else doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.") return true end else doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.") end end data/talkactions.xml <talkaction words="/all" separator=" " script="broadcast22.lua"/>
  25. Bom, vi por aqui e não achei nenhum autoloot igual o da pxg ou sem bugs, então decidi vir aqui postar o que eu fiz. Vamos lá. 1º - Vá na pasta Lib, no arquivo some functions.lua e adicione isso depois do ultimo "end": function doPlayerAddItemStacking(cid, itemid, quant) local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end break end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end 2º - Vá em actions/script e crie um arquivo.lua com nome de Autoloot, dentro coloque: --local toloot = {11441, 11441, 11443, 11444, 11445, 11446, 11447, 11448, 11449,11450, 11451, 11452, 11453, 11454, 12618, 12232, 12244} -- PREFERENCIAL - SE QUISER APENAS COM ALGUNS ITENS function onUse(cid, item, frompos, item2, topos) if getItemAttribute(item.uid, "corpseowner") ~= cid then doPlayerSendCancel(cid, "You're not the owner.") return true end local items = {} for x=0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end for y=1, #items do doPlayerAddItemStacking(cid, items[y].i, items[y].q) doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".") end if #items > 0 then return true else return false end end --[[ AUTO LOOT BY GABRIEL SALES SE QUISER ATIVAR O AUTOLOOT APENAS PARA ALGUNS ITENS, ADICIONE OS IDS NA TABELA toloot E TIRE OS COMENTÁRIOS(--). --]] Agora, no actions.xml adicione a tag: <action itemid="" event="script" value="Autoloot.lua"/> Dentro de itemid="", coloque o id dos corpses. Para conseguir o id dos corpses, podemos fazer um pequeno script, que pegará o corpse de cada pokemon capturável. Créditos: Mkalo -- Auto Stacking Gabriel Sales(eu) -- Resto
×
×
  • Criar Novo...