The doll CAN or CAN NOT be traded and used by another player?The doll can not be used by a player to another player.
Thus it can be sold or traded.
local looktypes = {
[1] = {male = 128, female = 136, name = 'citizen'},
[2] = {male = 129, female = 137, name = 'hunter'},
[3] = {male = 130, female = 138, name = 'mage'},
[4] = {male = 131, female = 139, name = 'knight'},
[5] = {male = 133, female = 141, name = 'summoner'},
[6] = {male = 134, female = 142, name = 'warrior'},
[7] = {male = 143, female = 147, name = 'barbarian'},
[8] = {male = 144, female = 148, name = 'druid'},
[9] = {male = 145, female = 149, name = 'wizard'},
[10] = {male = 146, female = 150, name = 'oriental'},
[11] = {male = 151, female = 155, name = 'pirate'},
[12] = {male = 152, female = 156, name = 'assassin'},
[13] = {male = 153, female = 157, name = 'beggar'},
[14] = {male = 154, female = 158, name = 'shaman'},
[15] = {male = 251, female = 252, name = 'norseman'},
[16] = {male = 268, female = 269, name = 'nightmare'},
[17] = {male = 273, female = 270, name = 'jester'},
[18] = {male = 278, female = 279, name = 'brotherhood'},
[19] = {male = 289, female = 288, name = 'demonhunter'},
[20] = {male = 325, female = 324, name = 'yalaharian'},
[21] = {male = 335, female = 336, name = 'warmaster'},
[22] = {male = 367, female = 366, name = 'wayfarer'},
[23] = {male = 430, female = 431, name = 'afflicted'},
[24] = {male = 463, female = 464, name = 'deepling'},
[25] = {male = 465, female = 466, name = 'insectoid'},
[26] = {male = 472, female = 471, name = 'entrepreneur'},
[27] = {male = 512, female = 513, name = 'crystal warlord'},
[28] = {male = 516, female = 514, name = 'soil guardian'},
[29] = {male = 541, female = 542, name = 'demon'},
[30] = {male = 574, female = 575, name = 'cave explorer'},
[31] = {male = 577, female = 578, name = 'dream warden'},
}
local cost = 200000
function onUse(cid, item, fromPosition, itemEx, toPosition)
local player = Player(cid)
if player:getMoney() < cost then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need 20 cc to use this doll.")
return true
end
local random1 = math.random(31)
outfitName = looktypes[random1].name
if player:getSex() == 1 then
outfit = looktypes[random1].male
else
outfit = looktypes[random1].female
end
if not player:hasOutfit(outfit) then
player:addOutfit(outfit)
player:removeMoney(cost)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the base ".. outfitName .." outfit.")
elseif player:hasOutfit(outfit) and not player:hasOutfit(outfit, 1) then
player:addOutfitAddon(outfit, 1)
player:removeMoney(cost)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the first ".. outfitName .." addon.")
elseif player:hasOutfit(outfit, 1) and not player:hasOutfit(outfit, 2) then
player:addOutfitAddon(outfit, 2)
player:removeMoney(cost)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the second ".. outfitName .." addon.")
else
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the full ".. outfitName .." outfit.")
end
return true
end
Just wondering, isn't it better to give the addon for both sexes?This will work, I already tested it.
Let me know if you get any errors or want to make some changes.
Code:local looktypes = { [1] = {male = 128, female = 136, name = 'citizen'}, [2] = {male = 129, female = 137, name = 'hunter'}, [3] = {male = 130, female = 138, name = 'mage'}, [4] = {male = 131, female = 139, name = 'knight'}, [5] = {male = 133, female = 141, name = 'summoner'}, [6] = {male = 134, female = 142, name = 'warrior'}, [7] = {male = 143, female = 147, name = 'barbarian'}, [8] = {male = 144, female = 148, name = 'druid'}, [9] = {male = 145, female = 149, name = 'wizard'}, [10] = {male = 146, female = 150, name = 'oriental'}, [11] = {male = 151, female = 155, name = 'pirate'}, [12] = {male = 152, female = 156, name = 'assassin'}, [13] = {male = 153, female = 157, name = 'beggar'}, [14] = {male = 154, female = 158, name = 'shaman'}, [15] = {male = 251, female = 252, name = 'norseman'}, [16] = {male = 268, female = 269, name = 'nightmare'}, [17] = {male = 273, female = 270, name = 'jester'}, [18] = {male = 278, female = 279, name = 'brotherhood'}, [19] = {male = 289, female = 288, name = 'demonhunter'}, [20] = {male = 325, female = 324, name = 'yalaharian'}, [21] = {male = 335, female = 336, name = 'warmaster'}, [22] = {male = 367, female = 366, name = 'wayfarer'}, [23] = {male = 430, female = 431, name = 'afflicted'}, [24] = {male = 463, female = 464, name = 'deepling'}, [25] = {male = 465, female = 466, name = 'insectoid'}, [26] = {male = 472, female = 471, name = 'entrepreneur'}, [27] = {male = 512, female = 513, name = 'crystal warlord'}, [28] = {male = 516, female = 514, name = 'soil guardian'}, [29] = {male = 541, female = 542, name = 'demon'}, [30] = {male = 574, female = 575, name = 'cave explorer'}, [31] = {male = 577, female = 578, name = 'dream warden'}, } local cost = 200000 function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if player:getMoney() < cost then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need 20 cc to use this doll.") return true end local random1 = math.random(31) outfitName = looktypes[random1].name if player:getSex() == 1 then outfit = looktypes[random1].male else outfit = looktypes[random1].female end if not player:hasOutfit(outfit) then player:addOutfit(outfit) player:removeMoney(200000) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the base ".. outfitName .." outfit.") elseif player:hasOutfit(outfit) and not player:hasOutfit(outfit, 1) then player:addOutfitAddon(outfit, 1) player:removeMoney(200000) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the first ".. outfitName .." addon.") elseif player:hasOutfit(outfit, 1) and not player:hasOutfit(outfit, 2) then player:addOutfitAddon(outfit, 2) player:removeMoney(200000) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the second ".. outfitName .." addon.") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the full ".. outfitName .." outfit.") end return true end
Yes.Where do you put this file? Is it an action script?
<action itemid="1111111111" script="random_addon_doll.lua"/>
local looktypes = {
[1] = {male = 128, female = 136, name = 'citizen'},
[2] = {male = 129, female = 137, name = 'hunter'},
[3] = {male = 130, female = 138, name = 'mage'},
[4] = {male = 131, female = 139, name = 'knight'},
[5] = {male = 133, female = 141, name = 'summoner'},
[6] = {male = 134, female = 142, name = 'warrior'},
[7] = {male = 143, female = 147, name = 'barbarian'},
[8] = {male = 144, female = 148, name = 'druid'},
[9] = {male = 145, female = 149, name = 'wizard'},
[10] = {male = 146, female = 150, name = 'oriental'},
[11] = {male = 151, female = 155, name = 'pirate'},
[12] = {male = 152, female = 156, name = 'assassin'},
[13] = {male = 153, female = 157, name = 'beggar'},
[14] = {male = 154, female = 158, name = 'shaman'},
[15] = {male = 251, female = 252, name = 'norseman'},
[16] = {male = 268, female = 269, name = 'nightmare'},
[17] = {male = 273, female = 270, name = 'jester'},
[18] = {male = 278, female = 279, name = 'brotherhood'},
[19] = {male = 289, female = 288, name = 'demonhunter'},
[20] = {male = 325, female = 324, name = 'yalaharian'},
[21] = {male = 335, female = 336, name = 'warmaster'},
[22] = {male = 367, female = 366, name = 'wayfarer'},
[23] = {male = 430, female = 431, name = 'afflicted'},
[24] = {male = 463, female = 464, name = 'deepling'},
[25] = {male = 465, female = 466, name = 'insectoid'},
[26] = {male = 472, female = 471, name = 'entrepreneur'},
[27] = {male = 512, female = 513, name = 'crystal warlord'},
[28] = {male = 516, female = 514, name = 'soil guardian'},
[29] = {male = 541, female = 542, name = 'demon'},
[30] = {male = 574, female = 575, name = 'cave explorer'},
[31] = {male = 577, female = 578, name = 'dream warden'}
}
local cost = 200000
function onUse(cid, item, fromPosition, itemEx, toPosition)
local player = Player(cid)
if player:getMoney() < cost then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need 20 cc to use this doll.")
return true
end
local random1 = math.random(31)
outfitName = looktypes[random1].name
if player:getSex() == 1 then
outfit = looktypes[random1].male
else
outfit = looktypes[random1].female
end
if not player:hasOutfit(outfit) then
player:addOutfit(outfit)
player:removeMoney(cost)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the base ".. outfitName .." outfit.")
elseif player:hasOutfit(outfit) and not player:hasOutfit(outfit, 1) then
player:addOutfitAddon(outfit, 1)
player:removeMoney(cost)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the first ".. outfitName .." addon.")
elseif player:hasOutfit(outfit, 1) and not player:hasOutfit(outfit, 2) then
player:addOutfitAddon(outfit, 2)
player:removeMoney(cost)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the second ".. outfitName .." addon.")
else
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the full ".. outfitName .." outfit.")
end
return true
end
No point in using indexes in the table, might as well remove themYes.
Here's the script tabbed as well.
Code:<action itemid="1111111111" script="random_addon_doll.lua"/>
Code:local looktypes = { [1] = {male = 128, female = 136, name = 'citizen'}, [2] = {male = 129, female = 137, name = 'hunter'}, [3] = {male = 130, female = 138, name = 'mage'}, [4] = {male = 131, female = 139, name = 'knight'}, [5] = {male = 133, female = 141, name = 'summoner'}, [6] = {male = 134, female = 142, name = 'warrior'}, [7] = {male = 143, female = 147, name = 'barbarian'}, [8] = {male = 144, female = 148, name = 'druid'}, [9] = {male = 145, female = 149, name = 'wizard'}, [10] = {male = 146, female = 150, name = 'oriental'}, [11] = {male = 151, female = 155, name = 'pirate'}, [12] = {male = 152, female = 156, name = 'assassin'}, [13] = {male = 153, female = 157, name = 'beggar'}, [14] = {male = 154, female = 158, name = 'shaman'}, [15] = {male = 251, female = 252, name = 'norseman'}, [16] = {male = 268, female = 269, name = 'nightmare'}, [17] = {male = 273, female = 270, name = 'jester'}, [18] = {male = 278, female = 279, name = 'brotherhood'}, [19] = {male = 289, female = 288, name = 'demonhunter'}, [20] = {male = 325, female = 324, name = 'yalaharian'}, [21] = {male = 335, female = 336, name = 'warmaster'}, [22] = {male = 367, female = 366, name = 'wayfarer'}, [23] = {male = 430, female = 431, name = 'afflicted'}, [24] = {male = 463, female = 464, name = 'deepling'}, [25] = {male = 465, female = 466, name = 'insectoid'}, [26] = {male = 472, female = 471, name = 'entrepreneur'}, [27] = {male = 512, female = 513, name = 'crystal warlord'}, [28] = {male = 516, female = 514, name = 'soil guardian'}, [29] = {male = 541, female = 542, name = 'demon'}, [30] = {male = 574, female = 575, name = 'cave explorer'}, [31] = {male = 577, female = 578, name = 'dream warden'} } local cost = 200000 function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if player:getMoney() < cost then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You need 20 cc to use this doll.") return true end local random1 = math.random(31) outfitName = looktypes[random1].name if player:getSex() == 1 then outfit = looktypes[random1].male else outfit = looktypes[random1].female end if not player:hasOutfit(outfit) then player:addOutfit(outfit) player:removeMoney(cost) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the base ".. outfitName .." outfit.") elseif player:hasOutfit(outfit) and not player:hasOutfit(outfit, 1) then player:addOutfitAddon(outfit, 1) player:removeMoney(cost) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the first ".. outfitName .." addon.") elseif player:hasOutfit(outfit, 1) and not player:hasOutfit(outfit, 2) then player:addOutfitAddon(outfit, 2) player:removeMoney(cost) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have gained the second ".. outfitName .." addon.") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the full ".. outfitName .." outfit.") end return true end
It's not my script? fuck off?No point in using indexes in the table, might as well remove them