What's new

Item daj?cy premium punkty

Status
Not open for further replies.

Batonek

Senior User
Joined
Apr 26, 2008
Messages
605
Reaction score
25
Witam. Chcia?em przerobi? skrypt daj?cy premium punkty ?eby mo?na by?o go u?ywa? na np. gold ingotach. Uzyska?em co? takiego:
Code:
local points = 1

function onUse(cid, item, fromPosition, itemEx, toPosition)

    db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `name` = '" .. getAccountByName(getCreatureName(itemEx.uid)) .. "' LIMIT 1;")
    doCreatureSay(cid, "You have received 1 premium point!", TALKTYPE_ORANGE_1, false, nil, toPosition)
    doSendMagicEffect(toPosition, 13)
    doRemoveItem(item.uid,1)
    return true
end
Ingot ?adnie znika, efekt jest tylko ?e nie ma ani punktu, ani tekstu.
Z g?ry dzi?ki,
pozdrawiam.
 

Batonek

Senior User
Joined
Apr 26, 2008
Messages
605
Reaction score
25
Odp: Item daj?cy premium punkty

Nie jest to skrypt nawet przybli?ony do tego kt?ry chcia?em naprawi?. Mi jest potrzebny skrypt acions dodaj?cy punkty po u?yciu itemu (bez opcji u?ywania na sobie - po prostu use)
Pozdrawiam.
 

Xart Irok

Senior User
Joined
Sep 7, 2008
Messages
2,925
Reaction score
419
Age
32
Odp: Item daj?cy premium punkty

PHP:
local function doPlayerAddPremiumPoints(cid, points)
    return db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	doPlayerAddPremiumPoints(cid, 1)
    doCreatureSay(itemEx.uid, "You have received 1 premium point!", TALKTYPE_ORANGE_1)
    doSendMagicEffect(toPosition, 13)
    doRemoveItem(item.uid,1)
    return true
end
 

Batonek

Senior User
Joined
Apr 26, 2008
Messages
605
Reaction score
25
Odp: Item daj?cy premium punkty

Wi?c punkt ?adnie si? dodaje ale tekstu nie ma. Przyda?oby si? ?eby by? no ale na razie i tak wielkie dzi?ki ;p

#edit
Code:
[02/06/2010 08:50:42] [Error - Action Interface] 
[02/06/2010 08:50:42] data/actions/scripts/premiumpoint.lua:onUse
[02/06/2010 08:50:42] Description: 
[02/06/2010 08:50:42] (luaDoCreatureSay) Creature not found
Rzecz w tym ?e przedmiotu nie u?ywam na sobie tylko po prostu USE dlatego nie widzi postaci ale jak to zmieni??
 
Last edited:

Aragornkk

Senior User
Joined
Oct 11, 2008
Messages
705
Reaction score
44
Odp: Item daj?cy premium punkty

w funkcjach dajesz:
function doAddPoints(cid, points)
local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
if Info:getID() ~= LUA_ERROR then
db.executeQuery("UPDATE accounts SET premium_points = premium_points + " .. points .. " WHERE id=" .. getPlayerAccountId(cid) .. ";")
Info:free()
return 1
end
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local points = 1
doAddPoints(cid, points)
doCreatureSay(cid, "You have received ".. points .." premium point!", TALKTYPE_ORANGE_1)
doSendMagicEffect(toPosition, 13)
doRemoveItem(item.uid,1)
return true
end
 
Last edited:

Haketil

User
Joined
Apr 27, 2010
Messages
37
Reaction score
11
Age
30
Odp: Item daj?cy premium punkty

Cze??, wi?c tak:

@Xart Irok:
Wydaje mi si?, ?e ta zmienna localna nie jest zbytnio potrzebna.

A skrypt proponuj? taki :
PHP:
function doPlayerAddPremiumPoints(cid, points)
    return db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end  

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(not isPlayer(itemEx.uid)) then
        return false
    end

    doPlayerAddPremiumPoints(cid, 1)
    doCreatureSay(itemEx.uid, "You have received 1 premium points!", TALKTYPE_ORANGE_1, false, nil, toPosition)
    doSendMagicEffect(toPosition, 13)
    doRemoveItem(item.uid, 1)
    return true
end
 

Yavgaliel

Banned
Joined
Jun 11, 2009
Messages
139
Reaction score
9
Odp: Item daj?cy premium punkty

=.=

Code:
function doPlayerAddPremiumPoints(cid, points)
    return db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end  

function onUse(cid, item, fromPosition, itemEx, toPosition)
    doPlayerAddPremiumPoints(cid, 1)
    doCreatureSay(cid, "You have received 1 premium points!", TALKTYPE_ORANGE_1, false, nil, toPosition)
    doSendMagicEffect(toPosition, 13)
    doRemoveItem(item.uid, 1)
    return true
end
 

Batonek

Senior User
Joined
Apr 26, 2008
Messages
605
Reaction score
25
Odp: Item daj?cy premium punkty

?aden z tych skrypt?w nie dzia?a...
W najlepszym wypadku dzia?a tak jak ten Xarta :p
Czyli nie ma ?adnego napisu.
 

Xart Irok

Senior User
Joined
Sep 7, 2008
Messages
2,925
Reaction score
419
Age
32
Odp: Item daj?cy premium punkty

Zmieni?em funkcje, teraz powinna si? pojawia? wiadomo??:
PHP:
local function doPlayerAddPremiumPoints(cid, points)
    return db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    doPlayerAddPremiumPoints(cid, 1)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have received 1 premium point!")
    doSendMagicEffect(toPosition, 13)
    doRemoveItem(item.uid,1)
    return true
end
 
Last edited:

Batonek

Senior User
Joined
Apr 26, 2008
Messages
605
Reaction score
25
Odp: Item daj?cy premium punkty

Dzia?a, dzi?ki Xarcie ;]
Prosz? o zamkni?cie tematu.
 
Status
Not open for further replies.
Top