GM jog!

Indította Xeron, 2017-10-30, 22:33:39

2017-10-30, 22:33:39 Utolsó szerkesztés: 2017-10-30, 22:37:31 Szerző: M3RX
Sziasztok!

Már próbálkoztam vele de semelyik próbálkozásom sem jött be.
Egy olyan questet írni, hogy egy tárgyra kattintva GM jogot ad!
Ha ebben tudna nekem valaki segíteni nagyon megköszönném.

Egy questel próbálkoztam amit epvp-n találtam hátha át tudom írni de sajnos nem sikerült. :(

Quest:

quest premium_user begin
state start begin
when login with pc.getqf("premium_user")==1 and not npc.is_pc() begin
end
when 70010.use with pc.getqf("premium_user")==0 begin
say_title("Vanos2-Team")
say("")
say("Mit diesem Item kannst du den Premium Status")
say("aktivieren. Der Premium Status bleibt")
say("Permanent! Du Kannst dieses Item nur einmal")
say("benutzen. Also entscheide Weise")
say("")
say_title("Willst du den Premium Status Aktivieren?")

local s = select("Ja", "Nein")

if s == 1 then
pc.remove_item(70010, 1)
pc.setqf("premium_user", 1)
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 30 MINUTE WHERE id = "..pc.get_account_id())
mysql_query("UPDATE player.player SET name="..string.format("%q","[VIP]"..pc.get_name()).." WHERE id = "..pc.get_player_id())
say_title("Änderung erfolgreich!")
say("Du wirst nun fuer 30 minuten nicht einloggen")
say("koennen, damit Dein VIP erfolgreich aktiviert")
say("werden kann.")
say("")
say("")
say("")
say("BITTE AUSLOGGEN!!")
else
return
end
end
end
end


Válaszokat előre is köszönöm.
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Mindenképpen kell új funkció, amivel reloadolod az adminokat. De ha a nevét is módosítani akarod, (pl eléírod, hogy [GM] vagy [VIP]) akkor a felhasználókat is újra kell töltened, amit nem ajánlok. Szóval max. jogot adj csak neki, de a nevét ne akard módosítani.
Aztán egy queryvel csak irasd bele a gmlistbe.

C++ programmer at Gameloft

Az a legnagyobb problémám hogy nem vagyok egy nagy quest író. Tehát több questböl én összerakok magamnak egy épp-et de még ilyet nem írtam.  Ezért kértem a segítséget.
Persze teljesen érthető amit le írtál.
Úgy szeretném hogy jogot kapjon egy tárgyra kattintva pl: GM_VIP.
De a neve elé be sem tenném.
Az csak egy kis forrás és már mást is ír a neve előtt :D
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Hát most gyorsan összedobtam egy új függvényt neked erre:
questlua_pc.cpp-be tedd be:

int pc_give_implementor(lua_State* L)
{
DBManager::instance().Query("INSERT INTO common.gmlist (mID, mAccount, mName, mContactIP, mServerIP, mAuthority) VALUES ('%d','%s','%s','','ALL','IMPLEMENTOR') ;",
CQuestManager::instance().GetCurrentCharacterPtr()->GetDesc()->GetAccountTable().id,
CQuestManager::instance().GetCurrentCharacterPtr()->GetDesc()->GetAccountTable().login,
CQuestManager::instance().GetCurrentCharacterPtr()->GetName());
db_clientdesc->DBPacket(HEADER_GD_RELOAD_ADMIN, 0, NULL, 0);
return 0;
}


Majd keres meg ezt a részt:
{ "hasguild",      pc_hasguild      },
Alá:

{ "give_implementor", pc_give_implementor },


nem teszteltem, próbáld ki

C++ programmer at Gameloft

2017-10-30, 23:07:03 #4 Utolsó szerkesztés: 2017-10-30, 23:17:25 Szerző: M3RX
Köszönöm a segítséget kipróbálom.

Üzenet összefésülés: 2017-10-30, 23:16:23

Tehát ha nekem lefordul a szerverforrás, akkor ezzel a "pc_give_implementor" fügvénnyel tudok írni egy questet ami tegyük fel egy tárgyra kattintva megadja azt a jogot az adott játékosnak.?
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

questben pc.give_implementor() paranccsal GM jogot tudsz adni a felhasználónak

C++ programmer at Gameloft