• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Bug in !party and !go

Ancore

New Member
Joined
Jul 6, 2012
Messages
216
Reaction score
1
Hello, I want to make a condition for !party and !go

!party talkaction

Code:
local config = 
{
        sexChangeable = false,
        copyOutfitAndAddonsEverytime = true
}
 
function onSay(cid, words, param, channel)
        party = getPlayerParty(cid)
        if (config.sexChangeable == true) then
                sex = getPlayerSex(cid)
        end
        if (party) then
                if (party == cid) then
                        outfit = getCreatureOutfit(cid)
                        members = getPartyMembers(party)
                        if (#members >= 1) then 
                                tmp = outfit
                                for i=1,#members do     
                                        if (config.sexChangeable == true) then
                                                if (sex ~= getPlayerSex(members[i])) then
                                                        doPlayerSetSex(members[i], sex)
                                                end
                                        end
                                        if(config.copyOutfitAndAddonsEverytime == false or canPlayerWearOutfit(members[i], tmp.lookType, tmp.lookAddons) ~= TRUE) then
                                                local tmpOutfit = getCreatureOutfit(members[i])
                                                tmp.lookType = tmpOutfit.lookType
                                                tmp.lookAddons = tmpOutfit.lookAddons
                                        end
                                        doCreatureChangeOutfit(members[i], tmp)
                                        doSendMagicEffect(getCreaturePosition(members[i]), 66)
                                end
                        end
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This command can use only leader of a party!")
                end
        else
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You must be in a party!")
        end
        return true
end


!go talkaction

Code:
local config = {
	exhaustionInSeconds = 30,
	storage = 34534
}
 
function onSay(cid, words, param)
	if(exhaustion.check(cid, config.storage) == TRUE) then
		doPlayerSendCancel(cid, "You can change outfit only 1 time per " .. config.exhaustionInSeconds .. " seconds.")
		return TRUE
	end
 
	local playerGuild = getPlayerGuildId(cid)
	if(playerGuild == FALSE) then
		doPlayerSendCancel(cid, "Sorry, you're not in a guild.")
		return TRUE
	end
 
	local playerGuildLevel = getPlayerGuildLevel(cid)
	if(playerGuildLevel < GUILDLEVEL_LEADER) then
		doPlayerSendCancel(cid, "You have to be Leader of your guild to change outfits!")
		return TRUE
	end
 
	local players = getPlayersOnline()
	local outfit = getCreatureOutfit(cid)
	local message = "*Guild* Your outfit has been changed by leader. (" .. getCreatureName(cid) .. ")"
	local members = 0
	local tmp = {}
	for i, tid in ipairs(players) do
		if(getPlayerGuildId(tid) == playerGuild and cid ~= tid) then
			tmp = outfit
			if(canPlayerWearOutfit(tid, outfit.lookType, outfit.lookAddons) ~= TRUE) then
				local tidOutfit = getCreatureOutfit(tid)
				tmp.lookType = tidOutfit.lookType
				tmp.lookAddons = tidOutfit.lookAddons
			end
 
			doSendMagicEffect(getCreaturePosition(tid), 66)
			doCreatureChangeOutfit(tid, tmp)
			doPlayerSendTextMessage(tid, MESSAGE_INFO_DESCR, message)
			members = members + 1
		end
	end
 
	exhaustion.set(cid, config.storage, config.exhaustionInSeconds)
	doPlayerSendCancel(cid, "Guild members outfit has been changed. (Total: " .. members .. ")")
	return TRUE
end
 
Try this for the !party talk action.

Party.lua
Lua:
local config = 
{
	sexChangeable = true,
	copyOutfitAndAddonsEverytime = true
}
 
function onSay(cid, words, param, channel)
	party = getPlayerParty(cid)
	if (config.sexChangeable == true) then
		sex = getPlayerSex(cid)
	end
	if (party) then
		if (party == cid) then
			outfit = getCreatureOutfit(cid)
			members = getPartyMembers(party)
			if (#members >= 1) then	
				tmp = outfit
				for i=1,#members do	
					if (config.sexChangeable == true) then
						if (sex ~= getPlayerSex(members[i])) then
							doPlayerSetSex(members[i], sex)
						end
					end
					if(config.copyOutfitAndAddonsEverytime == false) then
						local tmpOutfit = getCreatureOutfit(members[i])
						tmp.lookType = tmpOutfit.lookType
						tmp.lookAddons = tmpOutfit.lookAddons
					end
					doCreatureChangeOutfit(members[i], tmp)
					doSendMagicEffect(getCreaturePosition(members[i]), 66)
				end
			end
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This command can use only leader of a party!")
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You must be in a party!")
	end
	return true
end
 
Back
Top