Ir para conteúdo
  • Cadastre-se

Posts Recomendados

.Qual servidor ou website você utiliza como base?  TFS 1.3

 

Qual o motivo deste tópico?  Eaí rapaziada, a fita é o seguinte..

Estou com um problema na função "X", ela não existe no meu TFS, esse script é responsável pelas quests existentes no mapa, o UniqueID, etc...

Alguém me ajuda a trocar essa função? OBG!

 

Está surgindo algum erro? Se sim coloque-o aqui.  Lua Script Error: [Action Interface]
data/actions/scripts/quest_reward.lua:onUse
data/actions/scripts/quest_reward.lua:302: attempt to call global 'getItemNameById' (a nil value)
stack traceback:
        [C]: in function 'getItemNameById'
        data/actions/scripts/quest_reward.lua:302: in function <data/actions/scripts/quest_reward.lua:5>

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

-- For full information, visit http://otfans.net/showthread.php?p=849367
-- a magic sword, 5 meats and a key with actionId 2149
-- parameters = {rewards = {{2400}, {2666, 5}, {2086, 1, 2149}}, storageValue = item.uid, itemName = getItemNameById(item.itemid)}

function onUse(cid, item, frompos, item2, topos)
    if (item.uid == 1000) then
        -- Frosts - Hailstorm rod
        parameters = {reward = {2183}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1001) then
        -- Black Knights - Knight Axe
        parameters = {reward = {2430}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1002) then
        -- Dwarfs - dwarven legs
        parameters = {reward = {2504}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1003) then
        -- Amazons - ripper lance
        parameters = {reward = {3964}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1004) then
        -- Cathedral - Blue Robe
        parameters = {reward = {2656}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1005) then
        -- Cathedral - Skull Staff
        parameters = {reward = {2436}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1006) then
        -- Bree - Chain Armor
        parameters = {reward = {2464}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1007) then
        -- Minos - Scale Armor
        parameters = {reward = {2483}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1008) then
        -- Dworcs - Native Armor
        parameters = {reward = {2508}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1009) then
        -- DL sub - Wand of Inferno
        parameters = {reward = {2187}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1010) then
        -- Frosts - Red Robe
        parameters = {reward = {2655}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1011) then
        -- Pirates - Pirate Boots
        parameters = {reward = {5462}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1012) then
        -- Undeads - Ice Rapier
        parameters = {reward = {2396}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1013) then
        -- Hero - Noble Armor
        parameters = {reward = {2486}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1014) then
        -- Hero - Horseman Helmet
        parameters = {reward = {3969}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1015) then
        -- Pit - Devil Helmet
        parameters = {reward = {2462}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1017) then
        -- Cyc - Dark Helmet
        parameters = {reward = {2490}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1018) then
        -- Quara - Glacier Kilt
        parameters = {reward = {7896}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1019) then
        -- Pirata - Helmet of the Deep
        parameters = {reward = {5461}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1020) then
        -- GS - Arcane Wand
        parameters = {reward = {2453}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1021) then
        -- Barbarians - Glacier Boots
        parameters = {reward = {7892}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1022) then
        -- Hellhounds - Magma Legs
        parameters = {reward = {7894}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1023) then
        -- Macacos - 
        parameters = {reward = {2087,1,3001}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1024) then
        -- Macacos - 
        parameters = {reward = {2087,1,3002}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1025) then
        -- Macacos - 
        parameters = {reward = {2087,1,3003}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1026) then
        -- Terror Birds - Barbarian Axe
        parameters = {reward = {2429}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1027) then
        -- Lava Succubus - Magma Coat
        parameters = {reward = {7899}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1028) then
        -- Orc Fortress - sapphire hammer
        parameters = {reward = {7437}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1029) then
        -- Ilha - Fire Axe
        parameters = {reward = {2432}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1030) then
        -- Ferumbras - Saruman Scepter
        parameters = {reward = {7451}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1031) then
        --  Dragon VIP - Ring of the Tarrasque
        parameters = {reward = {6300}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1032) then
        --  Frost Razor
        parameters = {reward = {7455}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1033) then
        --  Bright Sword
        parameters = {reward = {2407}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1034) then
        --  Crossbow
        parameters = {reward = {2455}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1035) then
        --  BOH
        parameters = {reward = {2195}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1036) then
        --  Crown
        parameters = {reward = {2128}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1037) then
        --  glacier robe
        parameters = {reward = {7897}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1038) then
        --  Aghanim legs
        parameters = {reward = {7895}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1039) then
        --  golden key
        parameters = {reward = {2091,1,666}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1040) then
        --  motaba wand
        parameters = {reward = {7379}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1041) then
        --  devil helmet
        parameters = {reward = {2462}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1042) then
        --  light shovel
        parameters = {reward = {5710}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1043) then
        --  ice rapier
        parameters = {reward = {2396}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1044) then
        --  amazon armor
        parameters = {reward = {2500}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1045) then
        --  Ancient Rune
        parameters = {reward = {2348}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1046) then
        --  Guardian Shield
        parameters = {reward = {2515}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1047) then
        --  Guardian Halberd
        parameters = {reward = {2427}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1048) then
        --  Gandalf Ring
        parameters = {reward = {2357}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1049) then
        --  Soft Boots
        parameters = {reward = {2640}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1050) then
        --  Aghanim Boots
        parameters = {reward = {7893}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1051) then
        --  Holly Orchid
        parameters = {reward = {5922}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1052) then
        --  Pirate Boots
        parameters = {reward = {5462}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1053) then
        --  Tower Shield
        parameters = {reward = {2528}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1054) then
        --  Damaged Helmet
        parameters = {reward = {2339}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1055) then
        --  helmet ornament
        parameters = {reward = {2335}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1056) then
        --   piece of helmet of the ancient
        parameters = {reward = {2336}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1057) then
        --  piece of helmet of the ancient
        parameters = {reward = {2337}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1058) then
        --  piece of helmet of the ancient
        parameters = {reward = {2338}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1059) then
        --  piece of helmet of the ancient
        parameters = {reward = {2340}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1060) then
        --  piece of helmet of the ancient
        parameters = {reward = {2341}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1061) then
        --  terra amulet
        parameters = {reward = {7887}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1062) then
        --  cook book
        parameters = {reward = {2347}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1063) then
        --  strange book
        parameters = {reward = {6103}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1064) then
        --  defiler remains
        parameters = {reward = {6552}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1065) then
        --  aghanim robe
        parameters = {reward = {7898}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1066) then
        --  estilingue
        parameters = {reward = {5907}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1067) then
        --  elven bow
        parameters = {reward = {7438}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1068) then
        --  vampire dust
        parameters = {reward = {6551}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1069) then
        --  amulet of loss
        parameters = {reward = {2173}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1070) then
        --  bruning heart
        parameters = {reward = {2353}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1071) then
        --  steel helmet
        parameters = {reward = {2457}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1072) then
        --  brass armor
        parameters = {reward = {2465}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1073) then
        --  scale armor
        parameters = {reward = {2483}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1074) then
        --  scimitar
        parameters = {reward = {2419}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1075) then
        --  brass legs
        parameters = {reward = {2478}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1076) then
        --  crocodile boots
        parameters = {reward = {3982}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1077) then
        --  battle axe
        parameters = {reward = {2378}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1078) then
        --  mysterious fetish
        parameters = {reward = {2194}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1079) then
        --  drum
        parameters = {reward = {2367}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1080) then
        --  plate armor
        parameters = {reward = {2463}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1081) then
        --  black perl
        parameters = {reward = {2144}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1082) then
        --  dwarven legs
        parameters = {reward = {2504}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1083) then
        --  green gem
        parameters = {reward = {2155}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1084) then
        --  iron helmet
        parameters = {reward = {2459}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1085) then
        --  wand of cosmic energy
        parameters = {reward = {2189}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1086) then
        --  Saurons Breath Scepter
        parameters = {reward = {8910}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1087) then
        --  Dark Lords Cape
        parameters = {reward = {8865}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1088) then
        --  Warsinger Bow
        parameters = {reward = {8854}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1089) then
        --  Ancient Tiara
        parameters = {reward = {2139}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1090) then
        --  Phoenix Plate
        parameters = {reward = {8877}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1091) then
        --  Vile Axe
        parameters = {reward = {7388}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1092) then
        --  Emerald Sword
        parameters = {reward = {8930}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1093) then
        --  Backpack Yalahar
        parameters = {reward = {9774}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1094) then
        --  Icicle
        parameters = {reward = {4848}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1095) then
        --  Blue Note
        parameters = {reward = {2349}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1096) then
        --  Crystaline Armor
        parameters = {reward = {8878}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1097) then
        --  Tear of Daraman
        parameters = {reward = {2346}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1098) then
        --  Hailstorm Rod
        parameters = {reward = {2183}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1099) then
        --  Griffen shield
        parameters = {reward = {2533}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1100) then
        --  Raspberry
        parameters = {reward = {8840,1}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1101) then
        --  Raspberry
        parameters = {reward = {8840,1}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1102) then
        --  Shield of Honor
        parameters = {reward = {2517}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1103) then
        --  Yellow Gem
        parameters = {reward = {2154}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1104) then
        --  Native Armor
        parameters = {reward = {2508}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1105) then
        --  Gold Nugget
        parameters = {reward = {2157}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1106) then
        --  Magician Hat
        parameters = {reward = {2323}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1107) then
        --  Divine Armor
        parameters = {reward = {9776}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1108) then
        --  Legolas Plate
        parameters = {reward = {8891}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1109) then
        --  Pharao Sword
        parameters = {reward = {2446}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1110) then
        --  Zenit Cuirass
        parameters = {reward = {11301}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1111) then
        --  Divine Robe
        parameters = {reward = {11356}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1112) then
        --  Divine Scepter
        parameters = {reward = {7429}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1113) then
        --  Dragon Scale Boots
        parameters = {reward = {11118}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1114) then                
        --  Blockers Ring
        parameters = {reward = {2164,100}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1115) then        
        --  Montaria Joaninha
        parameters = {reward = {15546}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    elseif (item.uid == 1116) then    
        --  Montaria Crustacio
        parameters = {reward = {13305}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
       elseif (item.uid == 1117) then    
        --  Tempest Shield
        parameters = {reward = {2138}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
       elseif (item.uid == 1118) then    
        --  Starlight amulet
        parameters = {reward = {2542}, storageValue = item.uid, itemName = getItemNameById(item.itemid), requiredLevel = (item.actionid - 1000)}
    else
        return TRUE
    end
    
    doPlayerAddQuestReward(cid, parameters)
    
    return TRUE
end

function doPlayerAddQuestReward(cid, parameters)
    local rewardProtection = parameters.rewardProtection
    local requiredVocation = parameters.requiredVocation
    local requiredSex = parameters.requiredSex
    local requiredLevel = parameters.requiredLevel
    local requiredMagicLevel = parameters.requiredMagicLevel
    local requiredSoul = parameters.requiredSoul
    local requiredStorageValue = parameters.requiredStorageValue
    local premiumRequired = parameters.premiumRequired
    local itemName = parameters.itemName
    local storageValue = parameters.storageValue
    local containerId = parameters.containerId
    local reward = parameters.reward
    local rewards = parameters.rewards
    local playerMagicEffect = parameters.playerMagicEffect
    
    if (rewardProtection ~= nil and getPlayerAccess(cid) >= rewardProtection) then
        if (itemName ~= nil) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Esta " .. itemName .. " esta vazia.")
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Esta vazio.")
        end
        
        return TRUE
    end
    
    if (storageValue ~= nil and getPlayerStorageValue(cid, storageValue) > 0) then
        if (itemName ~= nil) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Esta " .. itemName .. " esta vazia.")
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Esta vazio.")
        end
        
        return TRUE
    end
    
    if (requiredVocation ~= nil) then
        if (type(requiredVocation) == "table") then
            if (isInArray(requiredVocation, getPlayerVocation(cid)) == FALSE) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua classe nao pode completar esta quest.")
                
                return TRUE
            end
        else
            if (getPlayerVocation(cid) ~= requiredVocation) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua classe nao pode completar esta quest.")
                
                return TRUE
            end
        end
    end
    
    if (requiredSex ~= nil and getPlayerSex(cid) ~= requiredSex) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your sex can not to take this reward.")
        
        return FALSE
    end
    
    if (requiredLevel ~= nil and getPlayerLevel(cid) < requiredLevel) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao tem level suficiente.")
        
        return FALSE
    end
    
    if (requiredMagicLevel ~= nil and getPlayerMagLevel(cid) < requiredMagicLevel) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You do not have enought magic level to take this reward.")
        
        return FALSE
    end
    
    if (requiredSoul ~= nil and getPlayerSoul(cid) < requiredSoul) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You do not have enought soul to take this reward.")
        
        return FALSE
    end
    
    if (requiredStorageValue ~= nil and getPlayerStorageValue(cid, requiredStorageValue) <= 0) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You do not can take this reward yet.")
        
        return FALSE
    end
    
    if (premiumRequired ~= nil and premiumRequired >= 1 and isPremium(cid) == FALSE) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce precisa ser VIP para terminar esta quest.")
        
        return FALSE
    end
    
    local leftSlot = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
    local rightSlot = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
    local ammunitionSlot = getPlayerSlotItem(cid, CONST_SLOT_AMMO)
    local backpackSlot = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
    
    if (leftSlot.itemid > 0 and rightSlot.itemid > 0 and ammunitionSlot.itemid > 0 and (isContainer(backpackSlot.uid) == FALSE or getContainerCap(backpackSlot.uid) == getContainerSize(backpackSlot.uid))) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao tem espaco suficiente.")
        
        return FALSE
    end
    
    if (reward ~= nil and rewards == nil) then
        if (reward[1] == nil) then
            debugPrint("doPlayerAddQuestReward() - reward ID not found")
            
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Error. Please report to a gamemaster.")
            
            return FALSE
        end
        
        if (reward[2] == 0 or reward[2] == nil) then
            reward[2] = 1
        end
        
        local rewardEx = doCreateItemEx(reward[1], reward[2])
        local rewardWeight = getItemWeight(rewardEx)
        local i = 1
        
        doRemoveItem(rewardEx)
        
        if (rewardWeight > getPlayerFreeCap(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O item esta pesado demais pra voce.")
            
            return FALSE
        end
        
        local rewardDescriptions = getItemDescriptionsById(reward[1])
        
        if (reward[2] == 1 or isItemRune(reward[1]) == TRUE or isItemFluidContainer(reward[1]) == TRUE) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce encontrou " .. rewardDescriptions.article .. " " ..  rewardDescriptions.name .. ".")
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce encontrou " .. reward[2] .. " " ..  rewardDescriptions.plural .. ".")
        end
        
        local reward_ = doPlayerAddItem(cid, reward[1], reward[2])
        
        if (reward[3] ~= nil) then
            doSetItemActionId(reward_, reward[3])
        end
        
        if (reward[4] ~= nil) then
            doSetItemSpecialDescription(reward_, reward[4])
        end
    else
        if (containerId == nil) then
            containerId = 1987
        end
        
        local containerEx = doCreateItemEx(containerId, 1)
        local containerWeight = getItemWeight(containerEx)
        local rewardWeight = containerWeight
        local i = 1
        
        for i, j in ipairs(rewards) do
            if (j[1] == nil) then
                debugPrint("doPlayerAddQuestReward() - #" .. i .. ", reward ID not found")
                
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Error. Please report to a gamemaster.")
                
                return FALSE
            end
            
            if (j[2] == 0 or j[2] == nil) then
                j[2] = 1
            end
            
            local rewardEx = doCreateItemEx(j[1], j[2])
            rewardWeight = rewardWeight + getItemWeight(rewardEx)
            
            doRemoveItem(rewardEx, 1)
        end
        
        if (rewardWeight > getPlayerFreeCap(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O item esta pesado demais pra voce.")
            
            return FALSE
        end
        
        local containerDescriptions = getItemDescriptions(containerId)
        
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce encontrou " .. containerDescriptions.article .. " " ..  containerDescriptions.name .. ".")
        
        for i, j in ipairs(rewards) do
            if (j[2] == 0 or j[2] == nil) then
                j[2] = 1
            end
            
            reward = doAddContainerItem(containerEx, j[1], j[2])
            
            if (j[3] ~= nil) then
                doSetItemActionId(reward, j[3])
            end
            
            if (j[4] ~= nil) then
                doSetItemSpecialDescription(reward, j[4])
            end
        end
        
        doPlayerAddItemEx(cid, containerEx)
    end
    
    if (playerMagicEffect ~= nil) then
        doSendMagicEffect(getPlayerPosition(cid), playerMagicEffect)
    end
    
    if (storageValue ~= nil) then
        setPlayerStorageValue(cid, storageValue, 1)
    end
    
    return TRUE
end
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link para o post
Compartilhar em outros sites

Procura no seu talkactions, a de create_item do god e manda aqui, q lá deve ter o jeito certo
E aqui, nao recomendo usar isso nao, ela meio q sai criando storages a rodo, sem seu controle, as vezes c poe uma "vip" q fica com msm storage de uma quest, qd c vai ver tá bugadao lá

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por cloudrun2023
      CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
      Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
       
      Recursos Exclusivos - Proteção DDoS Avançada:
      Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
       
      Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
       
      Armazenamento NVMe de Alta Velocidade:
      Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
       
      Uplink de até 1GB:
      Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
       
      Suporte 24 Horas:
      Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
       
      Fácil e Rápido de Começar:
      Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
       
      Entre em Contato Agora!
      Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
      Email: [email protected]
      Telefone: (47) 99902-5147

      Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
       
      https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
       
      CloudRun - Onde a Velocidade Encontra a Confiabilidade!
       

    • Por FeeTads
      SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player.

      **script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts

      vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag.

      SOURCE OTX 2 / TFS 0.x, Funciona em TFS 1.x mudando as tags e ajeitando as sintaxes.

      vá em creatureevent.cpp

      procure por:
      else if(type == "preparedeath") _type = CREATURE_EVENT_PREPAREDEATH;
      Adiciona abaixo:
      else if(type == "nocountfrag") _type = CREATURE_EVENT_NOCOUNTFRAG;

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";  
      Adicione abaixo: 
      case CREATURE_EVENT_NOCOUNTFRAG: return "noCountFragArea";

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
      Adicione abaixo:
      case CREATURE_EVENT_NOCOUNTFRAG: return "cid, target";

      agora no mesmo arquivo, vá até o final do arquivo e adicione essa função:
      uint32_t CreatureEvent::executeNoCountFragArea(Creature* creature, Creature* target) { //noCountFragArea(cid, target) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::ostringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local target = " << env->addThing(target) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::ostringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, env->addThing(target)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::noCountFragArea] Call stack overflow." << std::endl; return 0; } }

      agora vá em creatureevent.h

      procure por:
      CREATURE_EVENT_PREPAREDEATH
      adicione abaixo:
      CREATURE_EVENT_NOCOUNTFRAG

      procure por:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
      Adicione abaixo:
      uint32_t executeNoCountFragArea(Creature* creature, Creature* target);

      agora vá em player.cpp

      procure por:
      bool Player::onKilledCreature(Creature* target, DeathEntry& entry)
      abaixo de:
      War_t enemy; if(targetPlayer->getEnemy(this, enemy)) { if(entry.isLast()) IOGuild::getInstance()->updateWar(enemy); entry.setWar(enemy); }
      Adicione o seguinte código:
      if (targetPlayer){ CreatureEventList killEvents = getCreatureEvents(CREATURE_EVENT_NOCOUNTFRAG); for (const auto &event : killEvents) { if (!event->executeNoCountFragArea(this, target)) { return true; } } }

      //

      Feito isso, tudo completo na sua source, agora é necessário adicionar o creaturescript dentro do servidor

      vá até creaturescripts/scripts
      crie um arquivo chamado, "noCountFragInArea.lua"
      e dentro dele cole o código:
       
      --[[ script feito por feetads / TibiaKing ]]-- --[[ discord: feetads / FeeTads#0246 ]]-- -- Add positions here for which you do not want to count frags local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, -- from = area superior esquerda / to = area inferior direita (formando um quadrado) } local onlyKillerInArea = false -- only killer need to be in area? function noCountFragArea(cid, target) if not isCreature(cid) or not isCreature(target) then return true end local posKiller = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) for i = 1, #areas do local area = areas[i] if isInArea(posKiller, area.from, area.to) then if onlyKillerInArea then return false elseif isInArea(posTarget, area.from, area.to) then return false end end end return true end
      agora em creaturescripts.xml
      <event type="nocountfrag" name="fragarea" event="script" value="noCountFragInArea.lua"/>
      agora em creaturescripts/scripts/login.lua
       procure por OU semelhante a esse:
      registerCreatureEvent(cid, "AdvanceSave")
      e abaixo adicione:
      registerCreatureEvent(cid, "fragarea")

      //


      Agora tudo certo, quando quiser adiciona uma area que não pega frag, vá até o script e apenas coloque a area, igual o demonstrado no script

      Exemplo:
      local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, [2] = {from = {x = 1000, y = 1000, z = 7}, to = {x = 1100, y = 1100, z = 7}}, }
      assim somente colocando a area no script e abrindo o server ou dando /reload, já funcionará a area como não pegar frag.
      Esse sistema pode ser bom pra areas de pvp ativo, onde você ainda quer que o player que morrer perca os atributos, como se fosse uma morte normal, porém não conta frag pra quem matar.
      Bom pra sistemas tipo castle 48h (guild war), onde há diversas mortes e risco de pegar red, atrapalhando a war.

      Façam bom proveito dos scripts, e deixem os créditos no script rsrs

      **Eu fiz as alterações e o simples código por isso vim disponibilizar, créditos meus**
    • Por Muvuka
      Abri canal a força creaturescript acho que funcione no creaturescript cria script creaturescript
       
      <channel id="9" name="HELP" logged="yes"/>
      <channel id="12" name="Report Bugs" logged="yes"/>
      <channel id="13" name="Loot" logged="yes"/>
      <channel id="14" name="Report Character Rules Tibia Rules" logged="yes"/>
      <channel id="15" name="Death Channel"/>
      <channel id="6548" name="DexSoft" level="1"/>
      <channel id="7" name="Reports" logged="yes"/>
       
      antes de 
              if(lastLogin > 0) then adicione isso:
                      doPlayerOpenChannel(cid, CHANNEL_HELP) doPlayerOpenChannel(cid, 1,  2, 3) = 1,2 ,3 Channels, entendeu? NÃO FUNCIONA EU QUERO UM MEIO DE ABRI SEM USA A SOURCE
       
      EU NÃO CONSEGUI ABRI EU NÃO TENHO SOURCE
       
       
    • Por bolachapancao
      Rapaziada seguinte preciso de um script que ao utilizar uma alavanca para até 4 jogadores.
      Os jogadores serão teleportados para hunt durante uma hora e depois de uma hora os jogadores serão teleportados de volta para o templo.
       
      Observação: caso o jogador morra ou saia da hunt o evento hunt é cancelado.

      Estou a base canary
      GitHub - opentibiabr/canary: Canary Server 13.x for OpenTibia community.
       
    • Por RAJADAO
      .Qual servidor ou website você utiliza como base? 
      Sabrehaven 8.0
      Qual o motivo deste tópico? 
      Ajuda com novos efeitos
       
      Olá amigos, gostaria de ajuda para introduzir os seguintes efeitos no meu servidor (usando o Sabrehaven 8.0 como base), adicionei algumas runas novas (avalanche, icicle, míssil sagrado, stoneshower & Thunderstorm) e alguns novos feitiços (exevo mas san, exori san, exori tera, exori frigo, exevo gran mas frigo, exevo gran mas tera, exevo tera hur, exevo frigo hur) mas nenhum dos efeitos dessas magias parece existir no servidor, alguém tem um link para um tutorial ou algo assim para que eu possa fazer isso funcionar?
      Desculpe pelo mau inglês, sou brasileiro.

      Obrigado!


      AVALANCHE RUNE id:3161 \/
      (COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)

      STONESHOWER RUNE id:3175 \/
      (COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_STONES)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)

      THUNDERSTORM RUNE id:3202 \/
      (COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_E NERGYHIT)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)

      ICICLE RUNE id:3158 \/
      COMBAT_ICEDAMAGE
      CONST_ME_ICEAREA
      CONST_ANI_ICE

      SANTO MÍSSIL RUNA id:3182 \/
      (COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)

      CONST_ME_PLANTATTACK (exevo gran mas tera)
      CONST_ME_ICETORNADO (exevo gran mas frigo)
      CONST_ME_SMALLPLANTS (exevo tera hur)
      CONST_ME_ICEAREA (exevo frigo hur)
      CONST_ME_ICEATTACK (exori frigo)
      CONST_ME_CARNIPHILA (exori tera)

      EXORI SAN \/
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
      CONST_ME_HOLYDAM IDADE

      EXEVO MAS SAN \/
      CONST_ME_HOLYAREA
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo