What's new

Skrypty & Kody Potrzebna pomoc! 3Problemy.

Status
Not open for further replies.

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Witam,og?lnie to nie prosz? o pomoc bo sam sobie ze wszystkim radz? ale napotka?em na swoim ots malutki problem mianowicie:

*Gdy wpisuje komende !aol nie zak?ada mi go na szyje tylko wpada do bp, tak samo jest z innymi komendami np.
mam komende !set po jej wpisaniu powinno wskoczy? na miejsce ekwipunku ca?y p set ale on r?wnie? trafia do bp.

*Nast?pnym problemem jest niedzia?aj?ca komenda !bless pr?bowa?em ju? wszystkiego ale jak kto? padnie to trci bp i bless nie dzia?a.

*Trzeci i ostatni problem polega na tym ?e mimo i? gracz ma x(not logout during a fight) mo?e si? wylogowa? :)

Prosz? o szybk? odpowiedz :)
Za pomoc oczywi?cie Rep +
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

~~Refresh~~

Nikt nie potrafi mi pom?c?!?
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

~~Ref~~ pomo?e kto? czy nie?
 

kloska

Advanced User
Joined
Nov 24, 2012
Messages
315
Reaction score
25
Odp: Potrzebna pomoc! 3Problemy.

Pom?g? bym ci ale nie Umie;d Wez mo?e poszukaj kogo? na forum kto umie te kody skrypty i napisz mu nw PW moja rada.
 

Forseti

Senior User
Joined
Dec 23, 2011
Messages
954
Reaction score
82
Odp: Potrzebna pomoc! 3Problemy.

2. Spr?buj podmieni? bless na to:
PHP:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)


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


local node1 = keywordHandler:addKeyword({'first bless'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the first blessing for 10000 gold?'})
	node1:addChildKeyword({'yes'}, StdModule.bless, {npcHandler = npcHandler, bless = 1, premium = true, cost = 10000})
	node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})

local node2 = keywordHandler:addKeyword({'second bless'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the second blessing for 10000 gold?'})
	node2:addChildKeyword({'yes'}, StdModule.bless, {npcHandler = npcHandler, bless = 2, premium = true, cost = 10000})
	node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})

local node3 = keywordHandler:addKeyword({'third bless'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the third blessing for 10000 gold?'})
	node3:addChildKeyword({'yes'}, StdModule.bless, {npcHandler = npcHandler, bless = 3, premium = true, cost = 10000})
	node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})

local node4 = keywordHandler:addKeyword({'fourth bless'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the fourth blessing for 10000 gold?'})
	node4:addChildKeyword({'yes'}, StdModule.bless, {npcHandler = npcHandler, bless = 4, premium = true, cost = 10000})
	node4:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})

local node5 = keywordHandler:addKeyword({'fifth bless'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the fifth blessing for 10000 gold?'})
	node5:addChildKeyword({'yes'}, StdModule.bless, {npcHandler = npcHandler, bless = 5, premium = true, cost = 10000})
	node5:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})

npcHandler:addModule(FocusModule:new())
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

zaraz sprawdz? ten skrypt jak b?dzie dzia?a? to napisze i dam rep :) a w innych problemach mo?ecie mi pom?c?
Dochodzi jeszcze jeden problem mianowicie chodzi mi o to ?e gracz powiedzmy ma 50lvl i skiluje sobie wali po 10,40,60 i nagle wali za tyle ?e training monk pada :)

Pomo?e kto??


~~Weso?ych ?wi?t~~
Dami

---Aktualizacja---

Kurde dopiero teraz zauwa?y?em ?e skrypt nie taki jak trzeba. Ja nie posiadam npc tylko komende :)

---Aktualizacja---

Problem z komend? bless rozwi?zany je?li kto? ma taki sam problem niech we?mie ten skrypt:

local bless = {1, 2, 3, 4, 5}
local cost = 50000
local maxlevel = 50000

function onSay(cid, words, param)
local lvl = getPlayerLevel(cid)
local new_cost = (lvl * cost) / 500
local target = getPlayerGUID(cid)


for i = 1, table.maxn(bless) do
if(getPlayerBlessing(cid, bless)) then
doPlayerSendCancel(cid, "You have already have been blessed.")
return TRUE
end
end

if (getPlayerLevel(cid) >= maxlevel) then
if(doPlayerRemoveMoney(cid, new_cost) == TRUE) then
for i = 1, table.maxn(bless) do
doPlayerAddBlessing(cid, bless)
doPlayerSendTextMessage(cid,22,"You have been successfully blessed.!")
end
else
doPlayerPopupFYI(cid, "You need "..new_cost.." to buy blessings.")
end

elseif(getPlayerLevel(cid) < maxlevel) then
if(doPlayerRemoveMoney(cid, cost) == TRUE) then
for i = 1, table.maxn(bless) do
doPlayerAddBlessing(cid, bless)
end
doPlayerPopupFYI(cid, "You have successfully been blessed.")
else
doPlayerPopupFYI(cid, "You need to have "..cost.."gp to buy blessings.")
end
end
return FALSE
end



Ale reszta problem?w nie rozwi?zana:


*Gdy wpisuje komende !aol nie zak?ada mi go na szyje tylko wpada do bp, tak samo jest z innymi komendami np.
mam komende !set po jej wpisaniu powinno wskoczy? na miejsce ekwipunku ca?y p set ale on r?wnie? trafia do bp.


*mimo i? gracz ma x(not logout during a fight) mo?e si? wylogowa?
[-]
*Gracz powiedzmy z 50lvl skiluje sobie i nagle wali za tyle ?e zabija training monka wydaje mi sie ?e to jest takie co? jak krytyczne uderzenie ale nie wiem gdzie to zmieni? :)[/-](ROZWI?ZANE)
 
Last edited:

ctxtm

Advanced User
Joined
Jan 7, 2010
Messages
329
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Co do ekstremalnie wielkiego hita znajd? w config.lua linijke
Code:
 criticalHitMultiplier
i zmniejsz cios krytyczny.
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Z krytycznym waleniem ju? sobie poradzi?em przyda?aby sie pomoc przy logout :p i tej komendzie aol :) ale dzi?ki za ch?ci rep leci :)
 

Fardos

Senior User
Joined
Mar 21, 2009
Messages
868
Reaction score
34
Odp: Potrzebna pomoc! 3Problemy.

znajd? linijk? kt?ra odpowiada za mo?liwo?? wylogowania si? podczas walki (nie b?d? pobiera? silnika ?eby ci j? poda?) bd tam co? z fighting = yes / no :p

wiadomo - ma by? no a pewnie masz yes xD
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Dam ci config bo nie moge tego znale??:

-- The Forgotten Server Config

-- Account manager
accountManager = true
namelockManager = true
newPlayerChooseVoc = true
newPlayerSpawnPosX = 1000
newPlayerSpawnPosY = 1000
newPlayerSpawnPosZ = 7
newPlayerTownId = 1
newPlayerLevel = 8
newPlayerMagicLevel = 0
generateAccountNumber = false

-- Auto Combo Dedecter
comboTime = 100
comboMembers = 2
comboFriends = 3
comboFriendsClearTime = 5 * 60 * 1000
comboFriendsClearInterval = 1 * 60 * 1000
comboShowAnimation = 1

-- Damage Guild/Party --
noDamageToGuildMates = false -- if true then no damage, if false then damage
noDamageToPartyMembers = false -- if true then no damage, if false then damage

-- Anti-Push Prevention System by Xampy
useAntiPush = true --// enabled = true or disabled = false
antiPushDelay = 3000 --// default is 3000 (3 seconds)
antiPushItems = "2148,2152,2160,3976" --// add as much items as you want separated by comma

capacityOverload = 0.75


-- Unjustified kills
-- NOTE: *Banishment and *BlackSkull variables are >summed up<
-- (dailyFragsToRedSkull + dailyFragsToBanishment) with their
-- *RedSkull equivalents.
-- Auto banishing works only if useBlackSkull set to negative.
-- advancedFragList is not advised if you use huge frags
-- requirements.
redSkullLength = 30 * 24 * 60 * 60
blackSkullLength = 45 * 24 * 60 * 60
dailyFragsToRedSkull = 3
weeklyFragsToRedSkull = 5
monthlyFragsToRedSkull = 10
dailyFragsToBlackSkull = dailyFragsToRedSkull
weeklyFragsToBlackSkull = weeklyFragsToRedSkull
monthlyFragsToBlackSkull = monthlyFragsToRedSkull
dailyFragsToBanishment = dailyFragsToRedSkull
weeklyFragsToBanishment = weeklyFragsToRedSkull
monthlyFragsToBanishment = monthlyFragsToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = true
useFragHandler = true
advancedFragList = false

-- Banishments
-- violationNameReportActionType 1 = just a report, 2 = name lock, 3 = player banishment
-- killsBanLength works only if useBlackSkull option is disabled.
notationsToBan = 3
warningsToFinalBan = 4
warningsToDeletion = 5
banLength = 7 * 24 * 60 * 60
killsBanLength = 7 * 24 * 60 * 60
finalBanLength = 30 * 24 * 60 * 60
ipBanishmentLength = 1 * 24 * 60 * 60
broadcastBanishments = true
maxViolationCommentSize = 200
violationNameReportActionType = 2
autoBanishUnknownBytes = false

-- Battle
-- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage.
-- loginProtectionPeriod is the famous Tibia anti-magebomb system.
-- deathLostPercent set to nil enables manual mode.
worldType = "pvp"
protectionLevel = 250
pvpTileIgnoreLevelAndVocationProtection = true
pvpTileIgnoreLevelAndVocationProtection = true
pzLocked = 35 * 1000
huntingDuration = 30 * 1000
criticalHitChance = 7
criticalHitMultiplier = 1
displayCriticalHitNotify = true
removeWeaponAmmunition = false
removeWeaponCharges = false
removeRuneCharges = false
whiteSkullTime = 8 * 60 * 1000
noDamageToSameLookfeet = false
showHealingDamage = false
showHealingDamageForMonsters = false
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = false
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 1 * 1000
pushCreatureDelay = 1 * 1000
deathContainerId = 1987
gainExperienceColor = 215
addManaSpentInPvPZone = true
squareColor = 0
allowFightback = true
fistBaseAttack = 7


-- Connection config
worldId = 0
ip = "25.84.151.247"
bindOnlyConfiguredIpAddress = true
loginPort = 7171
gamePort = 7172
adminPort = 7171
statusPort = 7171
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome to the Forgotten Server 8.60!"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = true
allowClones = false
serverName = "Forgotten 8.60"
loginMessage = "Welcome to the Forgotten Server 8.60!"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = true
forceSlowConnectionsToDisconnect = false
loginOnlyWithLoginServer = false
premiumPlayerSkipWaitList = false

-- Database
-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
-- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value.
sqlType = "sqlite"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = ""
sqlDatabase = "theforgottenserver"
sqlFile = "forgottenserver.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
encryptionType = "plain"

-- Deathlist
deathListEnabled = true
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 1
maxDeathRecords = 5

-- Guilds
ingameGuildManagement = false
levelToFormGuild = 200
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 20

-- Highscores
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 60

-- Houses
buyableAndSellableHouses = true
houseNeedPremium = true
bedsRequirePremium = true
levelToBuyHouse = 1
housesPerAccount = 0
houseRentAsPrice = false
housePriceAsRent = false
housePriceEachSquare = 1000
houseRentPeriod = "never"
houseCleanOld = 0
guildHalls = false

-- Item usage
timeBetweenActions = 200
timeBetweenExActions = 1000
hotkeyAimbotEnabled = true

-- Map
-- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
mapName = "forgotten"
mapAuthor = "Komic"
randomizeTiles = true
storeTrash = true
cleanProtectedZones = true
mailboxDisabledTowns = "-1"

-- Process
-- NOTE: defaultPriority works only on Windows and niceLevel on *nix
-- coresUsed are seperated by comma cores ids used by server process,
-- default is -1, so it stays untouched (automaticaly assigned by OS).
defaultPriority = "high"
niceLevel = 5
coresUsed = "-1"

-- Startup
optimizeDatabaseAtStartup = true
removePremiumOnInit = true
confirmOutdatedVersion = false

-- Spells
formulaLevel = 5.0
formulaMagic = 1.0
bufferMutedOnSpellFailure = false
spellNameInsteadOfWords = false
emoteSpells = false

-- Outfits
allowChangeOutfit = true
allowChangeColors = true
allowChangeAddons = true
disableOutfitsForPrivilegedPlayers = false
addonsOnlyPremium = true

-- Miscellaneous
-- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature,
-- called "exception tracer" (__EXCEPTION_TRACER__ flag).
dataDirectory = "data/"
bankSystem = true
displaySkillLevelOnAdvance = false
promptExceptionTracerErrorBox = true
separateViplistPerCharacter = false
maximumDoorLevel = 500
maxMessageBuffer = 4

-- Saving-related
-- useHouseDataStorage usage may be found at README.
saveGlobalStorage = true
useHouseDataStorage = false
storePlayerDirection = false

-- Loot
-- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's)
checkCorpseOwner = true
monsterLootMessage = 3
monsterLootMessageType = 19

-- Ghost mode
ghostModeInvisibleEffect = false
ghostModeSpellEffects = true

-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
reportsExpirationAfterReads = 1
playerQueryDeepness = 2
tileLimit = 0
protectionTileLimit = 0
houseTileLimit = 0

-- Premium-related
freePremium = false
premiumForPromotion = true

-- Blessings
-- NOTE: blessingReduction* regards items/containers loss.
-- eachBlessReduction is how much each bless reduces the experience/magic/skills loss.
blessingOnlyPremium = true
blessingReductionBase = 30
blessingReductionDecreament = 5
eachBlessReduction = 8

-- Rates
-- NOTE: experienceStages configuration is located in data/XML/stages.xml.
-- rateExperienceFromPlayers 0 to disable.
experienceStages = false
rateExperience = 5.0
rateExperienceFromPlayers = 0
rateSkill = 3.0
rateMagic = 3.0
rateLoot = 2.0
rateSpawn = 1

-- Monster rates
rateMonsterHealth = 1.0
rateMonsterMana = 1.0
rateMonsterAttack = 1.0
rateMonsterDefense = 1.0

-- Experience from players
-- NOTE: min~Threshold* set to 0 will disable the minimum threshold:
-- player will gain experience from every lower leveled player.
-- max~Threshold* set to 0 will disable the maximum threshold:
-- player will gain experience from every higher leveled player.
minLevelThresholdForKilledPlayer = 0.9
maxLevelThresholdForKilledPlayer = 1.1

-- Stamina
-- NOTE: Stamina is stored in miliseconds, so seconds are multiplied by 1000.
-- rateStaminaHits multiplies every hit done a creature, which are later
-- multiplied by player attack speed.
-- rateStaminaGain is divider of every logged out second, eg:
-- 60000 / 3 = 20000 milliseconds, what gives 20 stamina seconds for 1 minute being logged off.
-- rateStaminaThresholdGain is divider for the premium stamina.
-- staminaRatingLimit* is in minutes.
rateStaminaLoss = 1
rateStaminaGain = 3
rateStaminaThresholdGain = 12
staminaRatingLimitTop = 41 * 60
staminaRatingLimitBottom = 14 * 60
rateStaminaAboveNormal = 1.5
rateStaminaUnderNormal = 0.5
staminaThresholdOnlyPremium = true

-- Party
-- NOTE: experienceShareLevelDifference is float number.
-- experienceShareLevelDifference is highestLevel * value
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 2 / 3
extraPartyExperienceLimit = 20
extraPartyExperiencePercent = 5
experienceShareActivity = 2 * 60 * 1000

-- Global save
-- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours,
-- if you want such a system please check out data/globalevents/globalevents.xml.
globalSaveEnabled = false
globalSaveHour = 8
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = false

-- Spawns
deSpawnRange = 2
deSpawnRadius = 50

-- Summons
maxPlayerSummons = 2
teleportAllSummons = false
teleportPlayerSummons = false

-- Status
ownerName = ""
ownerEmail = "@otland.net"
url = "http://otland.net/"
location = "Europe"
displayGamemastersWithOnlineCommand = false

-- Logs
-- NOTE: This kind of logging does not work in GUI version.
-- For such, please compile the software with __GUI_LOGS__ flag.
adminLogsEnabled = false
displayPlayersLogging = true
prefixChannelLogs = ""
runFile = ""
outLogName = ""
errorLogName = ""
truncateLogsOnStartup = false
 

ctxtm

Advanced User
Joined
Jan 7, 2010
Messages
329
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Co do wylogowania si? to faktycznie musi by? co? w ?r?dle. Wpisz w find in files fraze "Can not logout" i sprawd? czy co? Ci wgl znajdzie.
A z aolem.. hmm z ciekawo?ci sprawdzi?em i na tfs 0.3.6pl1 i ten skrypt dzia?a dobrze i aol leci na miejsce amuletu. Wyproboj moze zadziala..

PHP:
 function onSay(cid, words, param)
local cost = 20000
local item = 2173
local quantity = 1
        if doPlayerRemoveMoney(cid, cost) == TRUE then
                doPlayerAddItem(cid, item, quantity)
                        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREDAMAGE)
                        doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'KUPILES AOL')
        else
                doPlayerSendCancel(cid, "Nie stac Cie.")
        end
return TRUE
end


@up.

W configu tego nie ma, tam nawet nie masz co szukac xP
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Nie dzia?a aol wpada do bp wydaje mi si? ?e to mo?na gdzie? pewnie w config.lua zmieni? tylko nie wiem gdzie tak jak nie wiem gdzie zmienic z tym wylogowywaniem :)
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: Potrzebna pomoc! 3Problemy.

Sprawdz flagi graczy. Byc moze masz tam ustawione, ze moze sie wylogowac zawsze.
Jesli chodzi o ten aol ze leci do bp. Zbyt duzy problem to to nie jest... W configu nigdzie o tym nic nie znajdziesz. Ale mozliwe, ze masz cos w silniku nagrzebane... Co ty masz za silniik w ogole? Czysty czy jakis edytowany?
 

Grimekk

memsoria.pl
Joined
Oct 9, 2011
Messages
609
Reaction score
56
Odp: Potrzebna pomoc! 3Problemy.

PHP:
function onSay(cid, words, param)
local cost = 50000
local item = 2173
local quantity = 1
	if doPlayerRemoveMoney(cid, cost) == TRUE then
		doPlayerAddItem(cid, item, quantity)
	else
		doPlayerSendCancel(cid, "You have not enough gold.")
	end
return TRUE
end
masz to na pewno?
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Tak mam wszystko ok. Tak jak m?wi Kikimora moge mie? co? pogrzebane w silniku i ten silnik jest edytowany :p pomo?e kto?? :p

---Aktualizacja---

Silnik TFS 0.3.6 (8.60) V7
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: Potrzebna pomoc! 3Problemy.

Wejdz w luascript.cpp i znajdz DoPlayerAddItem.
Potem cala funkcje podmien na to:


PHP:
int32_t LuaInterface::luaDoPlayerAddItem(lua_State* L)
{
	//doPlayerAddItem(cid, itemid[, count/subtype = 1[, canDropOnMap = true[, slot = 0]]])
	//doPlayerAddItem(cid, itemid[, count = 1[, canDropOnMap = true[, subtype = 1[, slot = 0]]]])
	int32_t params = lua_gettop(L), subType = 1, slot = SLOT_WHEREEVER;
	if(params > 5)
		slot = popNumber(L);

	if(params > 4)
	{
		if(params > 5)
			subType = popNumber(L);
		else
			slot = popNumber(L);
	}

	bool canDropOnMap = true;
	if(params > 3)
		canDropOnMap = popNumber(L);

	uint32_t count = 1;
	if(params > 2)
		count = popNumber(L);

	uint32_t itemId = popNumber(L);
	if(slot > SLOT_AMMO)
	{
		errorEx("Invalid slot.");
		lua_pushboolean(L, false);
		return 1;
	}

	ScriptEnviroment* env = getEnv();
	Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
	if(!player)
	{
		errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
		lua_pushboolean(L, false);
		return 1;
	}

	const ItemType& it = Item::items[itemId];
	int32_t itemCount = 1;
	if(params > 4)
		itemCount = std::max((uint32_t)1, count);
	else if(it.hasSubType())
	{
		if(it.stackable)
			itemCount = (int32_t)std::ceil((float)count / 100);

		subType = count;
	}

	while(itemCount > 0)
	{
		int32_t stackCount = std::min(100, subType);
		Item* newItem = Item::CreateItem(itemId, stackCount);
		if(!newItem)
		{
			errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND));
			lua_pushboolean(L, false);
			return 1;
		}

		if(it.stackable)
			subType -= stackCount;

		ReturnValue ret = g_game.internalPlayerAddItem(NULL, player, newItem, canDropOnMap, (slots_t)slot);
		if(ret != RET_NOERROR)
		{
			delete newItem;
			lua_pushboolean(L, false);
			return 1;
		}

		--itemCount;
		if(itemCount)
			continue;

		if(newItem->getParent())
			lua_pushnumber(L, env->addThing(newItem));
		else //stackable item stacked with existing object, newItem will be released
			lua_pushnil(L);

		return 1;
	}

	lua_pushnil(L);
	return 1;
}
Skompiluj i sprawdz czy bedzie dodawac itemy normalnie.
(nie gwarantuje, ze to ma w ogole jakas szanse zadzialac, ale sprobowac mozesz)
 

ctxtm

Advanced User
Joined
Jan 7, 2010
Messages
329
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Co do logout spr?b?j:
Do lib/100-compat

zamie? wszystko na:
Code:
 --[[
 * File containing deprecated functions and constants used by alot of scripts and other engines
]]--
TRUE = true
FALSE = false
LUA_ERROR = false
LUA_NO_ERROR = true
LUA_NULL = nil

TALKTYPE_CHANNEL_R1 = TALKTYPE_CHANNEL_RN
TALKTYPE_CHANNEL_R2 = TALKTYPE_CHANNEL_RA
TALKTYPE_ORANGE_1 = TALKTYPE_MONSTER
TALKTYPE_ORANGE_2 = TALKTYPE_MONSTER_YELL

TEXTCOLOR_BLACK = 0
TEXTCOLOR_BLUE = 5
TEXTCOLOR_GREEN = 18
TEXTCOLOR_TEAL = 35
TEXTCOLOR_LIGHTGREEN = 66
TEXTCOLOR_DARKBROWN = 78
TEXTCOLOR_LIGHTBLUE = 89
TEXTCOLOR_DARKPURPLE = 112
TEXTCOLOR_BROWN = 120
TEXTCOLOR_GREY = 129
TEXTCOLOR_DARKRED = 144
TEXTCOLOR_DARKPINK = 152
TEXTCOLOR_PURPLE = 154
TEXTCOLOR_DARKORANGE = 156
TEXTCOLOR_RED = 180
TEXTCOLOR_PINK = 190
TEXTCOLOR_ORANGE = 192
TEXTCOLOR_DARKYELLOW = 205
TEXTCOLOR_YELLOW = 210
TEXTCOLOR_WHITE = 215
TEXTCOLOR_NONE = 255

CONDITION_PARAM_STAT_MAXHITPOINTS = CONDITION_PARAM_STAT_MAXHEALTH
CONDITION_PARAM_STAT_MAXMANAPOINTS = CONDITION_PARAM_STAT_MAXMANA
CONDITION_PARAM_STAT_SOULPOINTS = CONDITION_PARAM_STAT_SOUL
CONDITION_PARAM_STAT_MAGICPOINTS = CONDITION_PARAM_STAT_MAGICLEVEL
CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT = CONDITION_PARAM_STAT_MAXHEALTHPERCENT
CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT = CONDITION_PARAM_STAT_MAXMANAPERCENT
CONDITION_PARAM_STAT_SOULPOINTSPERCENT = CONDITION_PARAM_STAT_SOULPERCENT
CONDITION_PARAM_STAT_MAGICPOINTSPERCENT = CONDITION_PARAM_STAT_MAGICLEVELPERCENT

STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE = 1
STACKPOS_SECOND_ITEM_ABOVE_GROUNDTILE = 2
STACKPOS_THIRD_ITEM_ABOVE_GROUNDTILE = 3
STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5

WORLD_TYPE_NO_PVP = 1
WORLD_TYPE_PVP = 2
WORLD_TYPE_PVP_ENFORCED = 3

CHANNEL_STAFF = 2
CHANNEL_COUNSELOR = 4
CHANNEL_GAMECHAT = 5
CHANNEL_TRADE = 6
CHANNEL_TRADEROOK = 7
CHANNEL_RLCHAT = 8

BANTYPE_IP_BANISHMENT = 1
BANTYPE_NAMELOCK = 2
BANTYPE_BANISHMENT = 3
BANTYPE_NOTATION = 4
BANTYPE_DELETION = 3

SKILLS = SKILL_NAMES

table.getPos = table.find
doSetCreatureDropLoot = doCreatureSetDropLoot
doPlayerSay = doCreatureSay
doPlayerAddMana = doCreatureAddMana
playerLearnInstantSpell = doPlayerLearnInstantSpell
doPlayerRemOutfit = doPlayerRemoveOutfit
pay = doPlayerRemoveMoney
broadcastMessage = doBroadcastMessage
getPlayerName = getCreatureName
getCreaturePosition = getThingPosition
getPlayerPosition = getCreaturePosition
getCreaturePos = getCreaturePosition
creatureGetPosition = getCreaturePosition
getPlayerMana = getCreatureMana
getPlayerMaxMana = getCreatureMaxMana
hasCondition = getCreatureCondition
isMoveable = isMovable
isItemMoveable = isItemMovable
saveData = saveServer
savePlayers = saveServer
getPlayerSkill = getPlayerSkillLevel
getPlayerSkullType = getCreatureSkullType
getCreatureSkull = getCreatureSkullType
getAccountNumberByName = getAccountIdByName
getIPByName = getIpByName
getPlayersByIP = getPlayersByIp
getThingfromPos = getThingFromPos
getPlayersByAccountNumber = getPlayersByAccountId
getIPByPlayerName = getIpByName
getPlayersByIPNumber = getPlayersByIp
getAccountNumberByPlayerName = getAccountIdByName
convertIntToIP = doConvertIntegerToIp
convertIPToInt = doConvertIpToInteger
queryTileAddThing = doTileQueryAdd
getTileHouseInfo = getHouseFromPos
executeRaid = doExecuteRaid
saveServer = doSaveServer
cleanHouse = doCleanHouse
cleanMap = doCleanMap
shutdown = doShutdown
mayNotMove = doCreatureSetNoMove
doPlayerSetNoMove = doCreatureSetNoMove
getPlayerNoMove = getCreatureNoMove
getConfigInfo = getConfigValue
doPlayerAddExp = doPlayerAddExperience
isInArea = isInRange
doPlayerSetSkillRate = doPlayerSetRate
getCreatureLookDir = getCreatureLookDirection
getPlayerLookDir = getCreatureLookDirection
getPlayerLookDirection = getCreatureLookDirection
doCreatureSetLookDir = doCreatureSetLookDirection
getPlayerLookPos = getCreatureLookPosition
setPlayerStamina = doPlayerSetStamina
setPlayerPromotionLevel = doPlayerSetPromotionLevel
setPlayerGroupId = doPlayerSetGroupId
setPlayerPartner = doPlayerSetPartner
doPlayerSetStorageValue = doCreatureSetStorage
setPlayerStorageValue = doPlayerSetStorageValue
getPlayerStorageValue = getCreatureStorage
getGlobalStorageValue = getStorage
setGlobalStorageValue = doSetStorage
setPlayerBalance = doPlayerSetBalance
doAddMapMark = doPlayerAddMapMark
doSendTutorial = doPlayerSendTutorial
getWaypointsList = getWaypointList
getPlayerLastLoginSaved = getPlayerLastLogin
getThingPos = getThingPosition
doAreaCombatHealth = doCombatAreaHealth
doAreaCombatMana = doCombatAreaMana
doAreaCombatCondition = doCombatAreaCondition
doAreaCombatDispel = doCombatAreaDispel
getItemDescriptionsById = getItemInfo
hasProperty = hasItemProperty
hasClient = hasPlayerClient
print = std.cout
getPosByDir = getPositionByDirection
db.updateQueryLimitOperator = db.updateLimiter
db.stringComparisonOperator = db.stringComparison

PlayerFlag_CannotUseCombat = 0
PlayerFlag_CannotAttackPlayer = 1
PlayerFlag_CannotAttackMonster = 2
PlayerFlag_CannotBeAttacked = 3
PlayerFlag_CanConvinceAll = 4
PlayerFlag_CanSummonAll = 5
PlayerFlag_CanIllusionAll = 6
PlayerFlag_CanSenseInvisibility = 7
PlayerFlag_IgnoredByMonsters = 8
PlayerFlag_NotGainInFight = 9
PlayerFlag_HasInfiniteMana = 10
PlayerFlag_HasInfiniteSoul = 11
PlayerFlag_HasNoExhaustion = 12
PlayerFlag_CannotUseSpells = 13
PlayerFlag_CannotPickupItem = 14
PlayerFlag_CanAlwaysLogin = 15
PlayerFlag_CanBroadcast = 16
PlayerFlag_CanEditHouses = 17
PlayerFlag_CannotBeBanned = 18
PlayerFlag_CannotBePushed = 19
PlayerFlag_HasInfiniteCapacity = 20
PlayerFlag_CanPushAllCreatures = 21
PlayerFlag_CanTalkRedPrivate = 22
PlayerFlag_CanTalkRedChannel = 23
PlayerFlag_TalkOrangeHelpChannel = 24
PlayerFlag_NotGainExperience = 25
PlayerFlag_NotGainMana = 26
PlayerFlag_NotGainHealth = 27
PlayerFlag_NotGainSkill = 28
PlayerFlag_SetMaxSpeed = 29
PlayerFlag_SpecialVIP = 30
PlayerFlag_NotGenerateLoot = 31
PlayerFlag_CanTalkRedChannelAnonymous = 32
PlayerFlag_IgnoreProtectionZone = 33
PlayerFlag_IgnoreSpellCheck = 34
PlayerFlag_IgnoreWeaponCheck = 35
PlayerFlag_CannotBeMuted = 36
PlayerFlag_IsAlwaysPremium = 37
PlayerFlag_CanAnswerRuleViolations = 38
PlayerFlag_39 = 39 -- ignore
PlayerFlag_ShowGroupNameInsteadOfVocation = 40
PlayerFlag_HasInfiniteStamina = 41
PlayerFlag_CannotMoveItems = 42
PlayerFlag_CannotMoveCreatures = 43
PlayerFlag_CanReportBugs = 44
PlayerFlag_45 = 45 -- ignore
PlayerFlag_CannotBeSeen = 46

PlayerCustomFlag_AllowIdle = 0
PlayerCustomFlag_CanSeePosition	= 1
PlayerCustomFlag_CanSeeItemDetails = 2
PlayerCustomFlag_CanSeeCreatureDetails = 3
PlayerCustomFlag_NotSearchable = 4
PlayerCustomFlag_GamemasterPrivileges = 5
PlayerCustomFlag_CanThrowAnywhere = 6
PlayerCustomFlag_CanPushAllItems = 7
PlayerCustomFlag_CanMoveAnywhere = 8
PlayerCustomFlag_CanMoveFromFar = 9
PlayerCustomFlag_CanLoginMultipleCharacters = 10
PlayerCustomFlag_HasFullLight = 11
PlayerCustomFlag_CanLogoutAnytime = 12
PlayerCustomFlag_HideLevel = 13
PlayerCustomFlag_IsProtected = 14
PlayerCustomFlag_IsImmune = 15
PlayerCustomFlag_NotGainSkull = 16
PlayerCustomFlag_NotGainUnjustified = 17
PlayerCustomFlag_HideLevel = 18
PlayerCustomFlag_IgnorePacification = 19
PlayerCustomFlag_CanStairhop = 20
PlayerCustomFlag_CanTurnhop = 21
PlayerCustomFlag_IgnoreHouseRent = 22

Je?li z logoutem jest b??d we flagach to po tym powinno by? ju? normalnie ;o
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

z tym z 100-compat nic nie pomog?o a tego luascript.cpp nie mog? znale?? ; D wi?c nadal jest problem.
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: Potrzebna pomoc! 3Problemy.

z tym z 100-compat nic nie pomog?o a tego luascript.cpp nie mog? znale?? ; D wi?c nadal jest problem.

Skoro nie masz nawet zrodel tylko sciagnales sobie gotowy silniczek to nie ma o czym gadac. Nie wiem czy to ten sam, ale znalazlem to:

Masz tam link do zrodel, wiec mozesz sobie pobrac.
Ale tez musisz ogarnac jak kompilowac, a to juz troche ciezsza robota.
Dlatego, jesli nie masz zamiaru tego robic, to musi zostac tak jak jest.

Swoja droga... Kurcze tak problem robisz a to tak na prawde zmienia w grze tyle co nic... Jak by sobie ktos nie mogl tego aola wlozyc z plecaka po kupieniu go komenda...
 

tytan53

Advanced User
Joined
Dec 13, 2008
Messages
195
Reaction score
11
Odp: Potrzebna pomoc! 3Problemy.

Ale ja mam kilka komend kt?re powinny np zak?ada? eq na miejsce a wpadaj? do bp. i jeszcze jeden problem ?e mo?na si? wylogowa? kiedy si? chc?.

---Aktualizacja---

Problem z Aol'em rozwi?zany :) pozostaje tylko problem z logout :)

---Aktualizacja---

Kikimora Rep za pomoc oczywi?cie otrzymujesz.
Jeszcze jakby kto? m?g? pom?c przy Logout :p
 
Status
Not open for further replies.
Top