Skrypty & Kody Vip Acces na wszystkie chary

Status
Zamknięty.

HulaHops

Advanced User
Zarejestrowany
Dołączył
Maj 1, 2009
Posty
186
Liczba reakcji
2
Witam, ot?? mam Otsa i plugin Vip Acces.
A wi?c tak, zrobi?em wszystko pi?knie, ?adnie, ale mam pewien problem z Vip Acces poniewa? jak go u?yje na danym charze to daje mi konto vip tylko i wy??cznie na 1 posta?.

A chc?, ?eby Vip Acces po u?yciu by? na wszystkie postacie, czyli na ca?e konto.

Z g?ry dzi?kuje :*, reput + ode mnie :)

Tutaj m?j skrypt na Vipa:

Kod:
-- Vip Access by raphy246 --
function onUse(cid, item, frompos, item2, topos)
local config = {
item = 5785,
tekst = "Gratulacje! Teraz jestes posiadaczem Konta Vip!"
}
if item.itemid == config.item then
local playerpos = getCreaturePosition(cid)
doRemoveItem(item.uid,1)
setPlayerStorageValue(cid,21555,1)
doSendMagicEffect(playerpos, 12)
doCreatureSay(cid, config.tekst, TALKTYPE_ORANGE_1)
end
end



A tutaj na Vip Door.


Kod:
-- Vip Door by raphy246 --
function onUse(cid, item, fromPosition, itemEx, toPosition)
local config = {
actionid = 1008, --actionID drzwi N/S
tekst = "Nie posiadasz Konta Vip." --tekst odmowy
}
local cidPosition = getCreaturePosition(cid)
if item.actionid == config.actionid and getPlayerStorageValue(cid,21555) == 1 then
if cidPosition.x < toPosition.x then
doTeleportThing(cid, {x=toPosition.x,y=toPosition.y+1,z=toPosition.z}, TRUE)
else
doTeleportThing(cid, {x=toPosition.x,y=toPosition.y-1,z=toPosition.z}, TRUE)
end
return TRUE
else
doCreatureSay(cid, config.tekst, TALKTYPE_ORANGE_1)
return TRUE
end
return FALSE
end
 
Odp: Vip Acces na wszystkie chary

Mam problem z tym pluginem z Actions z tymi skryptami.
Wszystko pi?knie ?adnie, doda?em do Bazy Danych do Global events itp.
Doda?em te skrypty do actions, to po odpaleniu silnika wyskakuje mi ot?? taki error:

ImageShack® - Online Photo and Video Hosting

Prosz? o pomoc.
 
Odp: Vip Acces na wszystkie chary

dzwi.lua
Kod:
    -- Vip system by Sassin
local config = {
    storage = 246282, -- nie ruszac
    wejscie = "Witaj vip graczu!", -- tekst, ktory pojawi sie nad graczem po przesciu przez drzwi vip
    brakvip = "Nie masz vip'a, nie mozesz przesc przez te drzwi.", -- tekst, ktory wyswietli sie gracza, ktorzy probuja przesc, a nie maja vipa

}

    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local gracz = getCreaturePosition(cid) -- nie ruszac

            if (item.actionid == 12694 and getAccountStorageValue(cid, config.storage) >= 1) then
                if gracz.x < toPosition.x then
                    doTeleportThing(cid, {x=toPosition.x+1,y=toPosition.y,z=toPosition.z}, TRUE)
                    doCreatureSay(cid, ""..config.wejscie.."", TALKTYPE_ORANGE_1)
                else
                    doTeleportThing(cid, {x=toPosition.x-1,y=toPosition.y,z=toPosition.z}, TRUE)
                    doCreatureSay(cid, ""..config.wejscie.."", TALKTYPE_ORANGE_1)
                end
                    return TRUE
                else
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ""..config.brakvip.."")
                return TRUE
            end
    return FALSE
    end

Nie jestem do konca pewien czy tak to ma byc, ale chyba tak :p
Blad jest ogolnie w configu. Ale jak patrze na nastepne kody to wyglada tak samo jak w tamtym, wiec tu nie powinno byc bledu, a jak jest to w innych tez moze byc w tym miejscu... Chyba...
 
Ostatnia edycja:
Odp: Vip Acces na wszystkie chary

Ok, dzi?ki ju? problem z drzwiami zosta? chyba naprawiony, bynajmniej b??du nie wywala.

Zosta? jeszcze podobny problem z vip.lua czy by? m?g? go te? naprawi?? z g?ry dzi?ki.
 
Odp: Vip Acces na wszystkie chary

Ok, dzi?ki ju? problem z drzwiami zosta? chyba naprawiony, bynajmniej b??du nie wywala.

Zosta? jeszcze podobny problem z vip.lua czy by? m?g? go te? naprawi?? z g?ry dzi?ki.

Bynajmniej to nie przynajmniej to raz :p
Wiem juz dokladnie w czym problemy w tych kodach. Nie wiem czemu tam wczesniej nikt nie pisal, moze na jakiejs starej wersji tak mozna bylo robic.
Vip:
PHP:
-- Vip system by Sassin
local config = {
    lvl = 10, -- lvl od jakiego mozna uzyc vip itemu
    storage = 246282, -- nie ruszac
    dni = 10, -- ile item zadekralorwany w actions.xml ze sciezka do tego pliku ma dawac dni vipa
    braklvl = "Level wymagany to "..config.lvl..", wbij i sprobuj ponownie.", -- co ma pisac gdy nie ma lvl
    tekstgracz = "Gratulacje! Otrzymales vipa na "..config.dni.." dni! Mozesz isc do miast vip!.", -- co ma pisac graczowi uzywajacemu vipa
}

    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local gracz = getPlayerPosition(cid) -- nie ruszac

        if(getPlayerLevel(cid) >= config.lvl) then
            getAccountStorageValue(cid, config.storage)
            doCreatureSay(cid, ""..config.tekstgracz.."", TALKTYPE_ORANGE_1)
            setAccountStorageValue(cid, config.storage, (getAccountStorageValue(cid, config.storage) + config.dni))
            doRemoveItem(item.uid, 1)
        else
            doPlayerSendCancel(cid, ""..config.braklvl.."")
        end
return TRUE
end

Nastepne tylko jesli wywali bledy, bo nie jestem pewny czy przy pojedynczych tez trzeba ani czy mozna w ogole.

DNI:
PHP:
    -- Vip system by Sassin
local config = {
    storage = 246282, -- nie ruszac
}

    function onThink(cid, item, fromPosition, toPosition)
    for _, name in ipairs(getOnlinePlayers()) do
    local gracz = getPlayerByName(name)
    
            if getAccountStorageValue(gracz, config.storage) > 1 then
                setAccountStorageValue(gracz, config.storage, getAccountStorageValue(gracz) - 1)
            end
        end
    end
Drugi plik VIP:
PHP:
    -- Vip system by Sassin
local config = {
    storage = 246282, -- nie ruszac
}

    function onThink(cid, item, fromPosition, toPosition)
    for _, name in ipairs(getOnlinePlayers()) do
    local gracz = getPlayerByName(name)

            if getAccountStorageValue(gracz, config.storage) == 1 then
                setAccountStorageValue(gracz, config.storage, 0)
            end
        end
    end

Po tym powinno juz nie byc zadnych bledow.
 
Odp: Vip Acces na wszystkie chary

Moze w configu nie moze byc wykorzystana informacja z configu przed jego "skonsumowaniem w calosci".
PHP:
-- Vip system by Sassin
local config = {
    lvl = 10, -- lvl od jakiego mozna uzyc vip itemu
    storage = 246282, -- nie ruszac
    dni = 10, -- ile item zadekralorwany w actions.xml ze sciezka do tego pliku ma dawac dni vipa
    braklvl = "Level wymagany to 10, wbij i sprobuj ponownie.", -- co ma pisac gdy nie ma lvl
    tekstgracz = "Gratulacje! Otrzymales vipa na "..config.dni.." dni! Mozesz isc do miast vip!.", -- co ma pisac graczowi uzywajacemu vipa
}

    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local gracz = getPlayerPosition(cid) -- nie ruszac

        if(getPlayerLevel(cid) >= config.lvl) then
            getAccountStorageValue(cid, config.storage)
            doCreatureSay(cid, ""..config.tekstgracz.."", TALKTYPE_ORANGE_1)
            setAccountStorageValue(cid, config.storage, (getAccountStorageValue(cid, config.storage) + config.dni))
            doRemoveItem(item.uid, 1)
        else
            doPlayerSendCancel(cid, ""..config.braklvl.."")
        end
return TRUE
end

Sprawdz tak. Ewentualnie aby zautomatyzowac tez wiadomosc o poziomie mozna by wywalic z local config i wpakowac samo local braklvl juz poza configiem, ale mysle, ze nie jest to duze utrudnienie wiec nie ma potrzeby tego robic... O ile w ogole bedzie teraz dobrze.
 
Odp: Vip Acces na wszystkie chary

Niestety, dalej ten sam b??d ;(

Tylko si? zmieni? Vip.lua:6 na Vip.lua:7 , ale wszystko to samo.
 
Odp: Vip Acces na wszystkie chary

PHP:
-- Vip system by Sassin
local config = {
    lvl = 10, -- lvl od jakiego mozna uzyc vip itemu
    storage = 246282, -- nie ruszac
    dni = 10, -- ile item zadekralorwany w actions.xml ze sciezka do tego pliku ma dawac dni vipa
    braklvl = "Level wymagany to 10, wbij i sprobuj ponownie.", -- co ma pisac gdy nie ma lvl
    tekstgracz = "Gratulacje! Otrzymales vipa na 10 dni! Mozesz isc do miast vip!.", -- co ma pisac graczowi uzywajacemu vipa
}

    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local gracz = getPlayerPosition(cid) -- nie ruszac

        if(getPlayerLevel(cid) >= config.lvl) then
            getAccountStorageValue(cid, config.storage)
            doCreatureSay(cid, ""..config.tekstgracz.."", TALKTYPE_ORANGE_1)
            setAccountStorageValue(cid, config.storage, (getAccountStorageValue(cid, config.storage) + config.dni))
            doRemoveItem(item.uid, 1)
        else
            doPlayerSendCancel(cid, ""..config.braklvl.."")
        end
return TRUE
To samo co z poziomem tylko z iloscia dni. Wczesniej nie zwrocilem uwagi. Jesli to nie to to narazie nie wiem co. W kazdym razie juz lece wiec jak nikt nie pomoze to bede dopiero wieczorem :D
 
Odp: Vip Acces na wszystkie chary

Dzia?a, w silniku nie wywala ?adnego b??du podczas odpalania Otka. Ale co? dalej nie tak jest.
Po naci?ni?ciu na Vip Medal, albo po wej?ciu do drzwi wywala takie b??dy w konsoli i nie dzia?aj? drzwi i vip medal.

ImageShack® - Online Photo and Video Hosting
 
Odp: Vip Acces na wszystkie chary

data/lib/050-function.lua\function.lua (na samym ko?cu):
PHP:
function setAcccountStorageValue(cid, key, value)
 
    local result = db.getResult("SELECT `key` FROM `accounts_storage` WHERE (`id` = '" .. getPlayerAccountId(cid) .. "' and `key` = '" .. key .. "');")
    if result:getDataInt("key") == nil then
        return db.executeQuery("INSERT INTO `accounts_storage` (`id`, `key`, `value`) VALUES (" .. getPlayerAccountId(cid) .. ", " .. key .. ", " .. value .. ")")
    else
        return db.executeQuery("UPDATE `accounts_storage` SET `value` = " .. value .. " WHERE (`id` = '" .. getPlayerAccountId(cid) .. "' and `key` = '" .. key .. "');")
    end
end
 
function getAccountStorageValue(cid, key)
    local value = db.getResult("SELECT `value` FROM `accounts_storage` WHERE (`id` = '" .. getAccountId(cid) .. "' and `key` = '" .. key .. "');")
    return value:getDataInt("value")
end

Zamien to wczesniejsze na to. Choc nie jestem pewny czy to to w ogole...
 
Odp: Vip Acces na wszystkie chary

W function.lua dopisales to nowe na koncu czy skasowales to co wczesniej i dopiero dopisales to nowe?
Bo wyglada jak by sie stary blad w ogole nie zmienil.
Poza tym w ogole nie chca dzialac nowe funkcje... Nie wiem czemu. Nie znam sie na tym za dobrze jak widac... Generalnie to sam system powinien dzialac odrazu, no chyba, ze z tablicami bylo cos nie tak. Ale czemu nowe ustawienia funkcji nie chca dzialac to nie mam pojecia. Moze sa gdzie indziej funkcje deklarowane w twoim silniku albo cos...
Wszedzie wywala puste wartosci, przy kazdej funkcji, tyle, ze one sa wykorzystane i okreslone...

No ja nie wiem co zrobic ani o co chodzi wiec ci nie pomoge.
Jedyne co moge jeszcze zaproponowac to poszukanie innego systemu, wywalenie tego, wrzucenie tamtego i sprawdzenia czy dziala. Albo czekanie az ktos(kto sie zna lepiej ode mnie :P) laskawie zwroci uwage na ten temat i powie co jest zle.
 
Ostatnia edycja:
Odp: Vip Acces na wszystkie chary

Ja skasowa?em te stare i dopisa?em te nowe zamiast starego.
Ale to znaczy, ?e trzeba wszystko poprawia? czy nie da si? z tym nic zrobi? czy jak :(?

@up Innego systemu nie widzia?em... Po pr?buje co? jeszcze pokombinowa?, ale w?tpi? czy sam dam rad?.
Czekam na pomoc w zwi?zku z tym, mo?e si? kto? na tym zna i pomo?e.
Ale dzi?ki za ch?ci i za stracony czas Kikimora, jak ju? nic nie zdzia?asz to trudno, Dzi?ki :)
 
Ostatnia edycja:
Odp: Vip Acces na wszystkie chary

~~~~~~~~~~ Podbijam Temat RefresH ~~~~~~~~
Dalej potrzebuje pomocy.
 
Odp: Vip Acces na wszystkie chary

~~~~~~~r e f r e s h? ~~~~~~~~
 
Odp: Vip Acces na wszystkie chary

R eeeee fffff rrrrr eeeee ssss hhhhhhh
 
Odp: Vip Acces na wszystkie chary

Jedno pytanie chcesz mie? vip tak jak mia?e? czyli na zawsze, ale na wszystkie postacie ? czy na okre?lon? ilo?? dni jak ten system z linku kikimory ?

Je?li na zawsze bez limitu czasowego u?yj skryptu na drzwi taki jaki masz, a ni?ej podaje na vip access mam nadziej?, ?e b?dzie dzia?a? bo nie testowany (nie mam gdzie)
PHP:
local function setPlayerAcccountStorageValue(cid, key, value)
    local res = db.getResult("SELECT `id` FROM `players` WHERE `account_id` = '" .. getPlayerAccountId(cid) .. "';")
    if res:getDataInt("id") == nil then
        return false
    else
		local v = res:getDataInt("id")
		for i = 1, #v do
			setPlayerStorageValue(v[i], key, value)
		end
        return true
	end
	res:free
end

-- Vip Access by raphy246 --
function onUse(cid, item, frompos, item2, topos)
	local config = {
		item = 5785,
		tekst = "Gratulacje! Teraz jestes posiadaczem Konta Vip!"
		}
	if item.itemid == config.item then
		local playerpos = getCreaturePosition(cid)
		doRemoveItem(item.uid, 1)
		setPlayerAccountStorageValue(cid, 21555, 1)
		doSendMagicEffect(playerpos, 12)
		doCreatureSay(cid, config.tekst, TALKTYPE_ORANGE_1)
	end
end
 
Odp: Vip Acces na wszystkie chary

Tak dok?adnie chc? mie? (Na zawsze, bez limitu czasowego) - VIp Acces
Ale w twoim skrypcie znajduje bledn? warto?ci. Tzn wyskakuj? b??dy z "end", jak pr?bowa?em zmieni? to potem wyskakuj? "function", "local", "return" i po jakie? zmianie wyskakuj? nowe. Ten skrypt nie dzia?a.
Popraw go jak mo?esz, z g?ry dzi?ki.

P.S O to w?a?nie mi chodzi?o, bez limitu czasowego(Wszystkie postacie), ale to du?o zmienia ten limit?
 
Status
Zamknięty.
Back
Do góry