• logo_cipsoft
    Nowe serwery zostały otwarte 27 Paź 2025:
    Idyllia (Optional PvP) Hostera (Open PvP) us_logo Dracobra (Open PvP)

Skrypty na zam?wienie!

Status
Zamknięty.
Odp: Skrypty na zam?wienie!

Harr harr harr! B?j si?!
Rodzaj skryptu: NPC
Opis: NPC sprzedaje skill (np sword) tylko dla okre?lonych profesji ; cena zale?na od poziomu skilla, np.
Knight: Hi
NPC: Hi
Knight: Learn sword
NPC: *skill postaci * 100*. (11-12 sworda to 1100 gp, 12-13 1200 GP)
Knight: Yes
You advanced in sword fighting.
 

Our partners and their custom servers:

Odp: Skrypty na zam?wienie!

Gdzie to trzeba dokladnie umiescic moze jakas instrukcja ? chodzi o system pucharow

// Pierwsze - creaturescripts.xml, drugie - login.lua, trzecie - nowy plik o nazwie puchary.lua // Xayan
 
Ostatnio edytowane przez moderatora:
Odp: Skrypty na zam?wienie!

Wiesz, przecie? to w sumie nie jest takie trudne ; po prostu zobacz na tytu? (rodzaj) skryptu, i tam to wklej. Je?eli jakiej? pomocy b?dziesz potrzebowa? z wklejaniem, ch?tnie wyr?cze Ksajana :P
 
Odp: Skrypty na zam?wienie!

Witaj, znowu Ci? prosz? o pomoc.
Potrzebuje NPC, kt?ry po rozmowie da nam mo?liwo?? otworzenia Questu :)

Oraz

Potrzebuje NPC, kt?ry po daniu mu np : Nose Ringa + Behemoth Fanga da nam Assassin Mieczyk;)

Pozdrawiam,
Hilary

Notka moderatorska:
Wz?r!
 
Ostatnio edytowane przez moderatora:
Odp: Skrypty na zam?wienie!

Rodzaj skryptu: movements.
Opis skryptu: Pier?cie? kt?ry zmienia nam (wygl?d na wolfa,dodaje szybko?ci,trwa 30 min). Jak robie co? takiego :
-- >> Small config section --

local outfitMale =
{
lookType = 27,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0
}

local outfitFemale =
{
lookType = 27,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0
}

local cointype = 2148 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 99000 -- coin wasting time interval (miliseconds) --
local ncws = 0 -- number of coins used up during time interval --
local ncni = 10 -- number of coins needed to trigger the transformation --
local stcn = 10 -- number of coins needed to execute script (must be higher than ncni value) --
local warn = 0 -- warns player when runing short on coins, 1 = yes --
local cwar = 20 -- number of coins that triggers the warnings --

local bmaineff = CONST_ME_YELLOW_RINGS
local bsecondeff = CONST_ME_BLOCKHIT
local bflingeff = CONST_ANI_SMALLHOLY
local blandeff = CONST_ME_HOLYAREA
local bringwaste = CONST_ME_FIREWORK_YELLOW
local bringabsorb = CONST_ME_MAGIC_GREEN

local gmaineff = CONST_ME_EXPLOSIONAREA
local gsecondeff = CONST_ME_FIREAREA
local gflingeff = CONST_ANI_FIRE
local glandeff = CONST_ME_FIREWORK_RED
local gringwaste = CONST_ME_FIREWORK_RED
local gringabsorb = CONST_ME_MAGIC_RED

-- Small config section << --

local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 5)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 4)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 105)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 105)

local condition2 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setConditionFormula(condition2, 2.5, 0, 3.0, 0)

function superform1(param)
if param.crca == 1 then

local pos = getCreaturePosition(param.cid)
local sex = getPlayerSex(param.cid)

local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}

local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}

if sex == 1 then
doSendMagicEffect(pos, bmaineff)
doSendMagicEffect(pos, bsecondeff)

doSendDistanceShoot(pos, nha, bflingeff)
doSendDistanceShoot(pos, sha, bflingeff)
doSendDistanceShoot(pos, wha, bflingeff)
doSendDistanceShoot(pos, eha, bflingeff)
doSendDistanceShoot(pos, nwa, bflingeff)
doSendDistanceShoot(pos, nea, bflingeff)
doSendDistanceShoot(pos, sea, bflingeff)
doSendDistanceShoot(pos, swa, bflingeff)

doSendMagicEffect(nha, blandeff)
doSendMagicEffect(sha, blandeff)
doSendMagicEffect(wha, blandeff)
doSendMagicEffect(eha, blandeff)
doSendMagicEffect(nwa, blandeff)
doSendMagicEffect(nea, blandeff)
doSendMagicEffect(sea, blandeff)
doSendMagicEffect(swa, blandeff)

doSetCreatureOutfit(param.cid, outfitMale, -1)
else
doSendMagicEffect(pos, gmaineff)
doSendMagicEffect(pos, gsecondeff)

doSendDistanceShoot(pos, nha, gflingeff)
doSendDistanceShoot(pos, sha, gflingeff)
doSendDistanceShoot(pos, wha, gflingeff)
doSendDistanceShoot(pos, eha, gflingeff)
doSendDistanceShoot(pos, nwa, gflingeff)
doSendDistanceShoot(pos, nea, gflingeff)
doSendDistanceShoot(pos, sea, gflingeff)
doSendDistanceShoot(pos, swa, gflingeff)

doSendMagicEffect(nha, glandeff)
doSendMagicEffect(sha, glandeff)
doSendMagicEffect(wha, glandeff)
doSendMagicEffect(eha, glandeff)
doSendMagicEffect(nwa, glandeff)
doSendMagicEffect(nea, glandeff)
doSendMagicEffect(sea, glandeff)
doSendMagicEffect(swa, glandeff)
doSetCreatureOutfit(param.cid, outfitFemale, -1)
end

doAddCondition(param.cid, condition1)
doAddCondition(param.cid, condition2)

local mhp = getCreatureMaxHealth(param.cid)
local mma = getPlayerMaxMana(param.cid)
local chp = getCreatureHealth(param.cid)
local cma = getPlayerMana(param.cid)

local dhp = mhp - chp
local dma = mma - cma

doCreatureAddHealth(param.cid, dhp)
doPlayerAddMana(param.cid, dma)
doPlayerRemoveItem(param.cid, cointype, ncni)

param.crcb = 1
param.sex = sex
setPlayerStorageValue(param.cid, 50780, 1)

addEvent(superform2, 1, param)
end
end


function superform2(param)
if param.crca == 1 and param.crcb == 1 and isCreature(param.cid) == TRUE and getPlayerStorageValue(param.cid, 50780) == 1 then
local pos = getCreaturePosition(param.cid)
doPlayerRemoveItem(param.cid, cointype, ncws)
if param.sex == 1 then
doSendMagicEffect(pos, bringwaste)
doSendMagicEffect(pos, bringabsorb)
else
doSendMagicEffect(pos, gringwaste)
doSendMagicEffect(pos, gringabsorb)
end
local goldleft = getPlayerItemCount(param.cid, cointype)
if goldleft < cwar and warn == 1 then
doPlayerSendTextMessage(param.cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..goldleft.. ".")
end
if goldleft < ncws then
param.crca = 0
param.crcb = 0
setPlayerStorageValue(param.cid, 50780, 0)
doPlayerSendTextMessage(param.cid, MESSAGE_EVENT_DEFAULT, "No cash left!")

local pos = getCreaturePosition(param.cid)

local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}

local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}


doRemoveCondition(param.cid, CONDITION_OUTFIT)
doRemoveCondition(param.cid, CONDITION_ATTRIBUTES)
doRemoveCondition(param.cid, CONDITION_HASTE)

if param.sex == 1 then
doSendMagicEffect(pos, bmaineff)
doSendMagicEffect(pos, bsecondeff)

doSendDistanceShoot(pos, nha, bflingeff)
doSendDistanceShoot(pos, sha, bflingeff)
doSendDistanceShoot(pos, wha, bflingeff)
doSendDistanceShoot(pos, eha, bflingeff)
doSendDistanceShoot(pos, nwa, bflingeff)
doSendDistanceShoot(pos, nea, bflingeff)
doSendDistanceShoot(pos, sea, bflingeff)
doSendDistanceShoot(pos, swa, bflingeff)

doSendMagicEffect(nha, blandeff)
doSendMagicEffect(sha, blandeff)
doSendMagicEffect(wha, blandeff)
doSendMagicEffect(eha, blandeff)
doSendMagicEffect(nwa, blandeff)
doSendMagicEffect(nea, blandeff)
doSendMagicEffect(sea, blandeff)
doSendMagicEffect(swa, blandeff)
else
doSendMagicEffect(pos, gmaineff)
doSendMagicEffect(pos, gsecondeff)

doSendDistanceShoot(pos, nha, gflingeff)
doSendDistanceShoot(pos, sha, gflingeff)
doSendDistanceShoot(pos, wha, gflingeff)
doSendDistanceShoot(pos, eha, gflingeff)
doSendDistanceShoot(pos, nwa, gflingeff)
doSendDistanceShoot(pos, nea, gflingeff)
doSendDistanceShoot(pos, sea, gflingeff)
doSendDistanceShoot(pos, swa, gflingeff)

doSendMagicEffect(nha, glandeff)
doSendMagicEffect(sha, glandeff)
doSendMagicEffect(wha, glandeff)
doSendMagicEffect(eha, glandeff)
doSendMagicEffect(nwa, glandeff)
doSendMagicEffect(nea, glandeff)
doSendMagicEffect(sea, glandeff)
doSendMagicEffect(swa, glandeff)
end
else
addEvent(superform2, tbcw, param)
end
end

end

function onEquip(cid, item, slot)
local param = {cid = cid, item = item, slot = slot}
local gold = getPlayerItemCount(cid, cointype)
if gold > stcn then
param.crca = 1
--can equip here?
addEvent(superform1, 1, param)
return TRUE
end
end

function onDeEquip(cid, item, slot)
if isPlayer(cid) and getPlayerStorageValue(cid, 50780) == 1 then

doRemoveCondition(cid, CONDITION_OUTFIT)
doRemoveCondition(cid, CONDITION_ATTRIBUTES)
doRemoveCondition(cid, CONDITION_HASTE)

local pos = getCreaturePosition(cid)
setPlayerStorageValue(cid, 50780, 0)
local sex = getPlayerSex(cid)

local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}

local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}

if sex == 1 then
doSendMagicEffect(pos, bmaineff)
doSendMagicEffect(pos, bsecondeff)

doSendDistanceShoot(pos, nha, bflingeff)
doSendDistanceShoot(pos, sha, bflingeff)
doSendDistanceShoot(pos, wha, bflingeff)
doSendDistanceShoot(pos, eha, bflingeff)
doSendDistanceShoot(pos, nwa, bflingeff)
doSendDistanceShoot(pos, nea, bflingeff)
doSendDistanceShoot(pos, sea, bflingeff)
doSendDistanceShoot(pos, swa, bflingeff)

doSendMagicEffect(nha, blandeff)
doSendMagicEffect(sha, blandeff)
doSendMagicEffect(wha, blandeff)
doSendMagicEffect(eha, blandeff)
doSendMagicEffect(nwa, blandeff)
doSendMagicEffect(nea, blandeff)
doSendMagicEffect(sea, blandeff)
doSendMagicEffect(swa, blandeff)
else
doSendMagicEffect(pos, gmaineff)
doSendMagicEffect(pos, gsecondeff)

doSendDistanceShoot(pos, nha, gflingeff)
doSendDistanceShoot(pos, sha, gflingeff)
doSendDistanceShoot(pos, wha, gflingeff)
doSendDistanceShoot(pos, eha, gflingeff)
doSendDistanceShoot(pos, nwa, gflingeff)
doSendDistanceShoot(pos, nea, gflingeff)
doSendDistanceShoot(pos, sea, gflingeff)
doSendDistanceShoot(pos, swa, gflingeff)

doSendMagicEffect(nha, glandeff)
doSendMagicEffect(sha, glandeff)
doSendMagicEffect(wha, glandeff)
doSendMagicEffect(eha, glandeff)
doSendMagicEffect(nwa, glandeff)
doSendMagicEffect(nea, glandeff)
doSendMagicEffect(sea, glandeff)
doSendMagicEffect(swa, glandeff)
end
end
return TRUE
end
To dzia?a bez zarzutu ale jak zrobi? nowego o innym id to od razu jak zak?adam ten pierwszy to przerzuca mi na ofits tego drugiego ;/
Dodatkowe informacje: Prosz? o pomoc !
 
Odp: Skrypty na zam?wienie!

@Mag:

Po co robi?, skoro jest? http://tibia.net.pl/monsters/44050-halloween-hare.html

@rege stail:

Na moje oko wystarczy zmieni? storage value w drugim skrypcie.

@Vicious:

Harr harr harr! B?j si?!

Nie ma czego ;) XML'a nie daj?, jak chcesz jaki? przyk?ad - wal na gg.

Kod:
local config = {	
	[0] = {enabled=true,  koszt=50,  prof={1, 2, 3, 4, 5, 6, 7, 8}}, -- profesje mog?ce uczy? si? fista
	[1] = {enabled=true,  koszt=100, prof={4, 8}                  }, -- cluba
	[2] = {enabled=true,  koszt=100, prof={4, 8}                  }, -- sworda
	[3] = {enabled=true,  koszt=100, prof={4, 8}                  }, -- aksa
	[4] = {enabled=true,  koszt=100, prof={3, 7}                  }, -- dista
	[5] = {enabled=true,  koszt=150, prof={3, 4, 7, 8}            }, -- shielda
	[6] = {enabled=true,  koszt=50,  prof={1, 2, 3, 4, 5, 6, 7, 8}}, -- fishingu
	[7] = {enabled=false, koszt=200, prof={1, 2, 5, 6}            }  -- mlvla
}

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)            npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)            npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                    npcHandler:onThink()                    end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if(msgcontains(msg, 'fist') and config[0]['enabled'] == true) then
		if(isInArray(config[0]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 0)*config[0]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 0, getPlayerRequiredSkillTries(cid, 0, getPlayerSkillLevel(cid, 0) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 0)*config[0]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'club') and config[1]['enabled'] == true) then
		if(isInArray(config[1]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 1)*config[1]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 1, getPlayerRequiredSkillTries(cid, 1, getPlayerSkillLevel(cid, 1)+1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 1)*config[1]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'sword') and config[2]['enabled'] == true) then
		if(isInArray(config[2]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 2)*config[2]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 2, getPlayerRequiredSkillTries(cid, 2, getPlayerSkillLevel(cid, 2) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 2)*config[2]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'axe') and config[3]['enabled'] == true) then
		if(isInArray(config[3]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 3)*config[3]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 3, getPlayerRequiredSkillTries(cid, 3, getPlayerSkillLevel(cid, 3) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 3)*config[3]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'dist') and config[4]['enabled'] == true) then
		if(isInArray(config[4]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 4)*config[4]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 4, getPlayerRequiredSkillTries(cid, 4, getPlayerSkillLevel(cid, 4) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 4)*config[4]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'shield') and config[5]['enabled'] == true) then
		if(isInArray(config[5]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 5)*config[5]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 5, getPlayerRequiredSkillTries(cid, 5, getPlayerSkillLevel(cid, 5) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 5)*config[5]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'fish') and config[6]['enabled'] == true) then
		if(isInArray(config[6]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 6)*config[6]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 6, getPlayerRequiredSkillTries(cid, 6, getPlayerSkillLevel(cid, 6) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 6)*config[6]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
    elseif(msgcontains(msg, 'magic') and config[7]['enabled'] == true) then
		if(isInArray(config[7]['prof'], getPlayerVocation(cid)) == true) then
			if(doPlayerRemoveMoney(cid, getPlayerSkillLevel(cid, 7)*config[7]['koszt']) == true) then
				doPlayerAddSkillTry(cid, 7, getPlayerRequiredSkillTries(cid, 7, getPlayerSkillLevel(cid, 7) + 1))
				selfSay('Dzieki za zakup skilla!', cid)
			else
				selfSay('Nie masz tyle pieniedzy! Potrzebujesz '..getPlayerSkillLevel(cid, 7)*config[7]['koszt']..'gp.', cid)
			end
		else
			selfSay('Nie masz wymaganej profesji!', cid)
		end
	end
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Odp: Skrypty na zam?wienie!

Tibia 8.54
Rodzaj skryptu: actions/movements/talkactions
Opis skryptu:Chodzi mi jak mamy pet'a wyci?gni?tego z itema i on ma ataki np exori vis i zamiast pisa? exori vis to mo?na wpisa? m1
Dodatkowe informacje: Brak
dasz rade zrobic?
 
Odp: Skrypty na zam?wienie!

Rodzaj skryptu: Bez kategorii.
Opis skryptu:
PHP:
local tbl = {}
for nx = (pos(cid).x - 5), (pos(cid).x + 5) do
for ny = (pos(cid).y - 5), (pos(cid).y + 5) do
	local item_pos = {x = nx, y = ny, z = pos(cid).z, stackpos = 0}
	table.insert(tbl, item_pos.x)
	table.insert(tbl, item_pos.y)
	table.insert(tbl, item_pos.z)
Chcia?bym by? zrobi? by dla tego przedzia?u skrypt losowa? jedn? pozycj?. Wsp??rz?dne znajduj? si? w tbl.
Dodatkowe informacje: Chyba wszystko zawarte.
 
Odp: Skrypty na zam?wienie!

@Golden:
Nie, nie zrobi? tego... i ju? tu nie spamuj.

@Vergil:
Przyda?by si? ca?y skrypt w celu przetestowania :p Ale mo?esz spr?bowa? tak:

Kod:
local x = item_pos[math.random(0, #item_pos)].x
local y = item_pos[math.random(0, #item_pos)].y
local z = item_pos[math.random(0, #item_pos)].z
 
Odp: Skrypty na zam?wienie!

Tibia 8.54
Rodzaj skryptu: nieweim
Opis skryptu:Czy mog? bys napisac skrypt ze po zabiciu potwora kazdy z bijacych graczy dostanie pewien item albo ze po zabiciu potwora piszemy np nagroda i dostajemy item
Dodatkowe informacje: Brak
dasz rade zrobic?


Czy mog? bys napisac skrypt ze po zabiciu potwora kazdy z bijacych graczy dostanie pewien item albo ze po zabiciu potwora piszemy np nagroda i dostajemy item
 
Odp: Skrypty na zam?wienie!

a wiec ja poprosze zamowienie na krzeslo elektryczne, exp ticket i stamine i to all pod 8.54 ;) z gory dziekuje ;D

Notka moderatorska:
Wz?r!
 
Ostatnio edytowane przez moderatora:
Odp: Skrypty na zam?wienie!

Tibia 8.54
Rodzaj skryptu: nieweim
Opis skryptu:Czy mog? bys napisac skrypt ze po zabiciu potwora kazdy z bijacych graczy dostanie pewien item albo ze po zabiciu potwora piszemy np nagroda i dostajemy item
Dodatkowe informacje: Brak
dasz rade zrobic?
Czy mog? bys napisac skrypt ze po zabiciu potwora kazdy z bijacych graczy dostanie pewien item albo ze po zabiciu potwora piszemy np nagroda i dostajemy item

W LUA jest to niemo?liwe, gdy? wraz z funkcj? onKill przekazywane s? dwie zmienne - traget, czyli zabity potw?r/gracz oraz cid, czyli osoba, kt?ra albo zada?a najwi?cej obra?e?, albo ostatniego hita.
 
Odp: Skrypty na zam?wienie!

Rodzaj skryptu: Npc
Opis skryptu: Jest to NPC ucz?cy czar?w , lecz ?eby? nauczy? si? czaru musisz wykona? okre?lone zadanie jak np . odda? item , zabic potwora , mie? 100 sworda itp .Prosz? o zrobienie nauki dw?ch czar?w bo z reszt? to ju? sam s? poradz?.
Dodatkowe informacje: ---
 
Odp: Skrypty na zam?wienie!

Witam ;)
Ile w tym siedzisz? :D

Rodzaj Skryptu: Nie mam poj?cia ;|
Opis Skryptu: Gracz u?ywa czaru [xxx] ; co 1 sec z?era mu 1 soul, i na czas dzia?ania dodaje x% skilla, np. sworda
Dodatkowe informacje: Na przyk?ad ;
Gracz: [xxx]
10:10:39 -1 soul
10:10:40 -1 soul (oczywi?cie taka wiadomo?c si? nie wy?wietla ;o)
A gracz przez czas dzia?ania (a? do 0 soula, lub dezaktywacji) posiada dodatkowe 30% sworda ;)
Z g?ry dzi?ki szefie!
 
Odp: Skrypty na zam?wienie!

Rodzaj skryptu: Jak poprzednio.
Opis Skryptu: Tamten spos?b dzia?a, ale trzeba by?o zrobi? ma?? korekt?, jednak?e teraz inny problem mam, dotycz?cy tego samego skryptu.
PHP:
local tbl_x = {}
local tbl_y = {}
local tbl_z = {}
for nx = (pos(cid).x - 2), (pos(cid).x + 2) do
for ny = (pos(cid).y - 2), (pos(cid).y + 2) do
	local itemFound = getThingFromPos({x = nx, y = ny, z = pos(cid).z, stackpos = 0})
	local item_pos = getThingPos(itemFound.uid)
	table.insert(tbl_x, item_pos.x)
	table.insert(tbl_y, item_pos.y)
	table.insert(tbl_z, item_pos.z)
	local x_pos, y_pos, z_pos = tbl_x[math.random(1, #tbl_x)], tbl_y[math.random(1, #tbl_y)], tbl_z[math.random(1, #tbl_z)]
	local poss = {x=x_pos, y=y_pos, z=z_pos}

Ok, losuje normalnie pozycje, ale szkopu? tkwi w tym, ?e losuje ich wi?cej ani?eli jedn?. Napisz mi wi?c jak zrobi? by wybiera? tylko jedn? pozycj? oraz by poss by?o sta?e, poniewa? w skrypcie tworz? potwora i wysy?am w to samo miejsce efekt, a co za tym idzie, pozycje s? r??ne dla potwora i efektu, gdy? skrypt losuje z osobna poss dla obu z nich.

#down
Sk?d tacy jak Ty si? bior??
 
Ostatnia edycja:
Odp: Skrypty na zam?wienie!

Tibia 8.54
Rodzaj skryptu: NPC
Opis skryptu:Czy mog? bys napisac skrypt ze NPC daje nam misje na zabicie potwora jesli zabijemy go idziemy do npc i daje nam np 1000 expa???
Dodatkowe informacje: Brak
dasz rade zrobic?
 
Odp: Skrypty na zam?wienie!

@naruto555:
Hm... powiedzmy, ?e miesi?c. Zrobi? jutro, bo tw?j skrypt to akurat najwi?cej roboty =/

@Vergil93:

Co do losowania pozycji - nie mam poj?cia. Jednak, aby poss by?o sta?e, zr?b tak:

Kod:
local poss = {x=1000, y=1000, z=7}

I ju?. W LUA nie mo?na definiowa? sta?ych, wi?c po prostu nie musisz modyfikowa? warto?ci zmiennych.

@Folgowsky:

Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)            npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)            npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                    npcHandler:onThink()                    end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if(msgcontains(msg, 'light healing')) then
        local profesje = {1, 2, 3, 4, 5, 6, 7, 8}
        if(isInArray(profesje, getPlayerVocation(cid)) == true) then
            if(doPlayerRemoveItem(cid, 2383, 1) == true) then
                doPlayerLearnInstantSpell(cid, "Light Healing")
                selfSay('Nauczyles sie zaklecia Light Healing!', cid)
            else
                selfSay('Nie masz spike sworda!', cid)
            end
        else
            selfSay('Nie masz wymaganej profesji!', cid)
        end
    elseif(msgcontains(msg, 'antidote')) then
        local profesje = {1, 2, 3, 4, 5, 6, 7, 8}
        if(isInArray(profesje, getPlayerVocation(cid)) == true) then
            if(getPlayerSkillLevel(cid, 7) >= 3) then
                doPlayerLearnInstantSpell(cid, "Antidote")
                selfSay('Nauczyles sie zaklecia Antidote!', cid)
            else
                selfSay('Nie masz 3 mlvla!', cid)
            end
        else
            selfSay('Nie masz wymaganej profesji!', cid)
        end
    end
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Odp: Skrypty na zam?wienie!

Rodzaj Skryptu: Bez kategorii.
Opis Skryptu: Napisz/Znajd? mi funkcj? sprawdzaj?c? czy item z danej pozycji ma warto?? blokuj?c?.
Np.
PHP:
for i = 1, 254 do
stackpos = i
local itemUp = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=stackpos})
end
I niech sprawdza czy ten item blokuje nam przej?cie.

#edit
PHP:
if itemUp.uid == 0 then
xd
 
Ostatnia edycja:
Odp: Skrypty na zam?wienie!

Rodzaj skryptu: npc/monster
Opis skryptu: Co? w stylu misji. Idziemy do npc, kt?ry daje nam misje o zabiciu potwora. Gdy zabijamy wracamy si? i mu o tym m?wimy. Z tym, ?e najlepiej by by?o, je?eli danego potwora mo?na bi? tylko podczas tej misji, nigdy wi?cej.
Dodatkowe informacje: ----
 
Status
Zamknięty.
Back
Do góry Bottom