• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

[C++] Vocation - savePlayer

Status
Not open for further replies.
No niestety, to też nie działa hehe.
 
Masz funkcje znalazłem na tibia net by deaven. (Proszę nie zabijajcie mnie za to)

Ok, widziałem już kilka tematów, w których użytkownicy pisali, że zmiana profesji nie działa poprawnie, dlatego postanowiłem napisać nową funkcje, która ma jedną wadę, ale posiada baaardzo dużą zaletę:
wada - kickuje gracza
zaleta - zapisuje dane do bazy, dlatego nawet po crashu etc, dane zostana zapisane!
ok, wejdźmy do data/lib/functions.lua
i dodajmy:
Kod:

function setPlayerProf(cid, vocation)
setGlobalStorageValue(9000,getPlayerGUID(cid))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `vocation` = " .. vocation .. " WHERE `id` = " .. getGlobalStorageValue(9000) .. ";")
return TRUE
end

teraz aby zmienić profesje gracza na knighta (vocation id 4), wystarczy tylko dodać do skryptu linijkę:
Cytat:
setPlayerProf(cid, 4)
Screena nie ma, bo nie ma sensu go dawać! Zresztą do funkcji nikt screena nie daje...
Zadziała na tfs 0.3.5 (prwadopodobnie wszystkie OTS sql, zależy od budowy bazy danych!)



#Ewentualnie spróbuj
doPlayerSetVocation(cid,voc)
 
Ok dzięki przetestuje.

EDIT: Po relogu działa, po kolejnym już nie.
 
Last edited:
Aktualnie to chyba próbowałem już wszystkiego ;)
 
Spróbuj
Code:
setPlayerPromotionLevel(cid)
Jeżeli nowe profesje na Twoim serwerze są rozszerzeniem starych, to możesz zrobić to w ten sposób:
Code:
onUse BLABLA
if getPlayerPromotionLevel(cid) == 1 then
     setPlayerPromotionLevel(cid, 2)
     return true
end
Ponieważ tak mi się zdaje, że profesji jest tylko 4, dlatego nie chce zmienić. A o profesji może decydować promotion level.

Sprawdź to :d
 
Last edited:
Chodzi o to, że z sorcerera próbuję zrobić sorcerer1 lub sorcerer2, a później z sorcerera1 sorcerer11, a z sorcerera2 sorcerer22, ale może i masz rację. Na razie czekam na odpowiedź elfa może coś rozkmini.

EDIT: No to wszystko jasne, nie mogę zrobić sorcerer1 i sorcerer2 from voc 1(sorcerer) tylko sorcerer fromvoc 1, sorcerer1 fromvoc 2, a srocerer2 fromvoc 3 i dopiero promotion level do sorcerer11 fromvoc 2 i sorcerer22 fromvoc 3.
 
Last edited:
Status
Not open for further replies.
Back
Top