Item daj?cy premium punkty

Status
Zamknięty.

Batonek

Senior User
Zarejestrowany
Dołączył
Kwiecień 26, 2008
Posty
605
Liczba reakcji
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:
Kod:
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.
 
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.
 
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
 
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
Kod:
[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??
 
Ostatnia edycja:
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
 
Ostatnia edycja:
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
 
Odp: Item daj?cy premium punkty

=.=

Kod:
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
 
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.
 
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
 
Ostatnia edycja:
Odp: Item daj?cy premium punkty

Dzia?a, dzi?ki Xarcie ;]
Prosz? o zamkni?cie tematu.
 
Status
Zamknięty.
Back
Do góry