[Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Deconectat
Avatar utilizator
[RaffaeL]
Fost Helper
Fost Helper
Mesaje: 1924
Membru din: 19 Mar 2016
Localitate: Almeria ,Spania
Reputație: ==================
► Helper Experimentat J4M
==================
► Fost Helper Avansat J4M
==================
► Fost Helper J4M
==================
►Fost Trial Helper J4M
==================
► Mister J4M
==================
Status: Incerc sa ajut,cum stiu,cum pot..pe toti
Server Metin2: ...
Mulțumiri acordate: 0
Mulțumiri primite: 412
Contact:

[Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde [RaffaeL] » 14 Aug 2017, 17:38

Nume: Cufar premium user
Descriere: Cu ajutorul acestui quest poti activa statusul VIP permanent.
Questul ofera posibilitatea schimbarii numelui, in cazul in care acesta este prea lung(8 caractere)
Imagini: Fara.
Quest:

Cod: Selectaţi tot

quest cufar_vip begin
   state start begin
      when 38053.use begin
         say_title("Salut "..pc.get_name().."")
         say("")
         say("Odata cu deschiderea acestui cufar")
         say("vei primi iteme corespunzatoare,")
         say("si tagul VIP in fata numelui,")
         say("PERMANENT.")
         say("")

         say_title("Doresti activarea statusului Premium User?")
         
         local change = select("Da", "Nu")
         if change == 2 then
         return
         end   
         if change == 1 then
            pc.remove_item(38053, 1)
            pc.give_item2(70021, 1)
            pc.give_item2(41324, 1)
            pc.give_item2(41325, 1)
            pc.give_item2(50513, 50)
            pc.give_item2(80007, 1)
            pc.give_item2(80007, 1)
            local hostname="nume server"
                name = pc.get_name()
                lname = string.len(name)
                if change == 1 and lname <= 8 then
                mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
                say_title("Nume schimbat cu succes!")
                say("Felicitari! Acum esti VIP pe "..hostname)
                say("")
                say("")
                say("Informatie")
                say_reward("Schimbarea in statusul (VIP) poate dura 15-20 de minute..")
                elseif lname > 8 then
                say_title("Numele tau!")
                say("Numnele tau este prea lung.")
                say("Numele nu are voie sa aiba mai mult de 8 caractere.")
                say("Daca nu respecti regula, la schimbarea numelui, ")
                say("acesta poate fi incomplet")
                say("")
                say_reward("Vrei totusi sa continui?")
                local a = select("Da", "Nu")
               if a == 2 then
               return
               end
               if a == 1 then
                  say_title("Schimbarea numelui")
                  say("Introdu numele dorit:")
                  say_reward("Fii atent!Nu mai mult de 8 caractere.")
                  local inp = input()
                  if string.len(inp) > 8 or inp == "" then
                  say("Numele tau are mai mult de 8 caractere.")
                  say("Imi pare sincer rau.")
                  return
                  else
                  say_title("In regula")
                  say("Numele tau respecta cerinta.")
                  say("")
                  say("Esti sigur ca vrei sa activezi statusul VIP")
                  say("cu numele (VIP)", inp," ?")
                  local b = select("Da", "Nu")
                     if b == 2 then
                     return
                     else
                     mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'")
                     say_title("Nume schimbat cu succes!")
                     say("Felicitari! Acum esti VIP pe "..hostname)
                     say("")
                     say("")
                     say("Info")
                     say_reward("Schimbarea in statusul (VIP) poate dura 15-20 de minute..")
                     end
                  end
               end
            end
            end
      end
   end
end

In cazul in care nu exista deja, adaugati in questing.lua urmatoarea functie:

Cod: Selectaţi tot

mysql_query = function(query)
    if not pre then
        local rt = io.open('CONFIG','r'):read('*all')
        pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
    end
    math.randomseed(os.time())
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
    -- os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)
    os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi)
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'t')) end; os.remove(fi);
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,B)
        out[i-1]               = out[i-1] or {}
        out[i-1][a]            = tonumber(B) or b or 'NULL'
        out[t[1][a]]           = out[t[1][a]] or {}
        out[t[1][a]][i-1]      = tonumber(B) or b or 'NULL'
    end) end
    return out
end

Adaugati in quest_functions:

Cod: Selectaţi tot

mysql_query

Tutorial instalare quest:
Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest/.lua
Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
Îl puneţi acolo (să fie .quest sau .lua).
Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
Intraţi pe server şi scrieţi /reload q
Testaţi quest-ul.

Puteti modifica itemele oferite, prin modificarea in quest a vnum-urilor

Cod: Selectaţi tot

pc.give_item2(70021, 1)
            pc.give_item2(41324, 1)
            pc.give_item2(41325, 1)
            pc.give_item2(50513, 50)
            pc.give_item2(80007, 1)
            pc.give_item2(80007, 1)


Schimbati in quest "hostname" cu numele serverului vostru.
Când faci bine, nu e bine;Când faci rău, tot nu e bine;
Dacă încerci să ajuţi, toţi zic:"Şi ăsta e deştept"
Eu încerc, dar dacă şi reuşesc,în colţul din dreapta sus ai butonulImagine
Ar fi frumos din partea ta dacă l-ai apăsa

Deconectat
Avatar utilizator
.Jose
Nivel 1
Nivel 1
Mesaje: 77
Membru din: 08 Apr 2017
Mulțumiri acordate: 4
Mulțumiri primite: 32

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde .Jose » 14 Aug 2017, 18:12

nu ai verificat daca ce a introdus sunt doar numere si litere
poti introduce asa '; ca nume si toate numele din tabelul player se modifica in [VIP]
si nu ai verificat daca numele e deja luat
Ultima oară modificat 14 Aug 2017, 18:18 de către .Jose, modificat 1 dată în total.
Imagine

Deconectat
Avatar utilizator
ManiacRobert
Membru Club
Membru Club
Mesaje: 1255
Membru din: 09 Dec 2013
Localitate: București.
Reputație: Membru Club Permanent
Nume anterior: R.Gabriel.
Status: I-o dau lui Chuli
Server Metin2: Dinastry-World
Regat: Shinsoo
Mulțumiri acordate: 122
Mulțumiri primite: 146
Contact:

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde ManiacRobert » 14 Aug 2017, 18:15

Nici verificare pentru nume nu este, eu daca am numele ManiacRobert, e clar ca nu o sa incapa acolo [VIP]ManiacRobert si o sa-mi poceasca numele.
Imagine
Imagine
Imagine
Imagine

Deconectat
Avatar utilizator
[RaffaeL]
Fost Helper
Fost Helper
Mesaje: 1924
Membru din: 19 Mar 2016
Localitate: Almeria ,Spania
Reputație: ==================
► Helper Experimentat J4M
==================
► Fost Helper Avansat J4M
==================
► Fost Helper J4M
==================
►Fost Trial Helper J4M
==================
► Mister J4M
==================
Status: Incerc sa ajut,cum stiu,cum pot..pe toti
Server Metin2: ...
Mulțumiri acordate: 0
Mulțumiri primite: 412
Contact:

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde [RaffaeL] » 14 Aug 2017, 18:19

R.Gabriel. scrie:Nici verificare pentru nume nu este, eu daca am numele ManiacRobert, e clar ca nu o sa incapa acolo [VIP]ManiacRobert si o sa-mi poceasca numele.



if string.len(inp) > 8 or inp == "" then
say("Numele tau are mai mult de 8 caractere.")
Când faci bine, nu e bine;Când faci rău, tot nu e bine;
Dacă încerci să ajuţi, toţi zic:"Şi ăsta e deştept"
Eu încerc, dar dacă şi reuşesc,în colţul din dreapta sus ai butonulImagine
Ar fi frumos din partea ta dacă l-ai apăsa

Deconectat
Avatar utilizator
[RaffaeL]
Fost Helper
Fost Helper
Mesaje: 1924
Membru din: 19 Mar 2016
Localitate: Almeria ,Spania
Reputație: ==================
► Helper Experimentat J4M
==================
► Fost Helper Avansat J4M
==================
► Fost Helper J4M
==================
►Fost Trial Helper J4M
==================
► Mister J4M
==================
Status: Incerc sa ajut,cum stiu,cum pot..pe toti
Server Metin2: ...
Mulțumiri acordate: 0
Mulțumiri primite: 412
Contact:

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde [RaffaeL] » 14 Aug 2017, 18:21

.Jose scrie:nu ai verificat daca ce a introdus sunt doar numere si litere
poti introduce asa '; ca nume si toate numele din tabelul player se modifica in [VIP]
si nu ai verificat daca numele e deja luat



mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
Ai testat tu? , pentru ca atunci cand am facut eu acest lucru nu s-au schimbat toate in [VIP].
Când faci bine, nu e bine;Când faci rău, tot nu e bine;
Dacă încerci să ajuţi, toţi zic:"Şi ăsta e deştept"
Eu încerc, dar dacă şi reuşesc,în colţul din dreapta sus ai butonulImagine
Ar fi frumos din partea ta dacă l-ai apăsa

Deconectat
Avatar utilizator
.Jose
Nivel 1
Nivel 1
Mesaje: 77
Membru din: 08 Apr 2017
Mulțumiri acordate: 4
Mulțumiri primite: 32

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde .Jose » 14 Aug 2017, 18:28

[RaffaeL] scrie:
.Jose scrie:nu ai verificat daca ce a introdus sunt doar numere si litere
poti introduce asa '; ca nume si toate numele din tabelul player se modifica in [VIP]
si nu ai verificat daca numele e deja luat



mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
Ai testat tu? , pentru ca atunci cand am facut eu acest lucru nu s-au schimbat toate in [VIP].

nume: ';
asa o sa fie echivalent cu
UPDATE player.player SET name='[VIP]';
nu o sa mai citeasca ce ai dupa ; si o sa faca update la toate
nu am nevoie sa testez ceva ce este evident
Imagine

Deconectat
Avatar utilizator
[RaffaeL]
Fost Helper
Fost Helper
Mesaje: 1924
Membru din: 19 Mar 2016
Localitate: Almeria ,Spania
Reputație: ==================
► Helper Experimentat J4M
==================
► Fost Helper Avansat J4M
==================
► Fost Helper J4M
==================
►Fost Trial Helper J4M
==================
► Mister J4M
==================
Status: Incerc sa ajut,cum stiu,cum pot..pe toti
Server Metin2: ...
Mulțumiri acordate: 0
Mulțumiri primite: 412
Contact:

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde [RaffaeL] » 14 Aug 2017, 18:42

.Jose scrie:
[RaffaeL] scrie:
.Jose scrie:nu ai verificat daca ce a introdus sunt doar numere si litere
poti introduce asa '; ca nume si toate numele din tabelul player se modifica in [VIP]
si nu ai verificat daca numele e deja luat



mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
Ai testat tu? , pentru ca atunci cand am facut eu acest lucru nu s-au schimbat toate in [VIP].

nume: ';
asa o sa fie echivalent cu
UPDATE player.player SET name='[VIP]';
nu o sa mai citeasca ce ai dupa ; si o sa faca update la toate
nu am nevoie sa testez ceva ce este evident


Ok, fiecare cu parerea si cunostintele lui.Cine vrea sa foloseasca questul, sa o faca, cine nu ...
Eu incerc sa ajut aici cum stiu si cum pot, nu oblig pe nimeni sa faca nimic.
Când faci bine, nu e bine;Când faci rău, tot nu e bine;
Dacă încerci să ajuţi, toţi zic:"Şi ăsta e deştept"
Eu încerc, dar dacă şi reuşesc,în colţul din dreapta sus ai butonulImagine
Ar fi frumos din partea ta dacă l-ai apăsa

Deconectat
Avatar utilizator
[RaffaeL]
Fost Helper
Fost Helper
Mesaje: 1924
Membru din: 19 Mar 2016
Localitate: Almeria ,Spania
Reputație: ==================
► Helper Experimentat J4M
==================
► Fost Helper Avansat J4M
==================
► Fost Helper J4M
==================
►Fost Trial Helper J4M
==================
► Mister J4M
==================
Status: Incerc sa ajut,cum stiu,cum pot..pe toti
Server Metin2: ...
Mulțumiri acordate: 0
Mulțumiri primite: 412
Contact:

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde [RaffaeL] » 14 Aug 2017, 19:02

[CHULI] scrie:faza e că postezi cu numele tău nu o postezi in numele lui altul... şi dacă tu postezi un shit de pe numele tău automat şi conţinutul forumului just4meting e shit din cauză ce ai postat tu .. asta e ideea....că sunt atâţia care postează care nu le aparţin resursele e partea a 2 ... dar tu postezi in numele tău


Eu zic sa nu vorbiti pana nu testati, chiar si ce pare evident.
Fii sigur ca nu pun aici nimic, fara sa fi testat inainte, si luand in calcul toate posibilitatile.
Iar daca forumul devine "shit", din cauza unui quest postat de mine, sunt pe aici destui [DEV]-i care posteaza "shit" (in numele lor), si nu sunt luati la pietre...
Când faci bine, nu e bine;Când faci rău, tot nu e bine;
Dacă încerci să ajuţi, toţi zic:"Şi ăsta e deştept"
Eu încerc, dar dacă şi reuşesc,în colţul din dreapta sus ai butonulImagine
Ar fi frumos din partea ta dacă l-ai apăsa

Deconectat
Avatar utilizator
mangaliotu
Nivel 1
Nivel 1
Mesaje: 70
Membru din: 04 Oct 2013
Status: Sunt bine mersi ^.^
Regat: Chunjo
Mulțumiri acordate: 7
Mulțumiri primite: 1

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde mangaliotu » 09 Iun 2018, 04:49

[RaffaeL] scrie:Nume: Cufar premium user
Descriere: Cu ajutorul acestui quest poti activa statusul VIP permanent.
Questul ofera posibilitatea schimbarii numelui, in cazul in care acesta este prea lung(8 caractere)
Imagini: Fara.
Quest:

Cod: Selectaţi tot

quest cufar_vip begin
   state start begin
      when 38053.use begin
         say_title("Salut "..pc.get_name().."")
         say("")
         say("Odata cu deschiderea acestui cufar")
         say("vei primi iteme corespunzatoare,")
         say("si tagul VIP in fata numelui,")
         say("PERMANENT.")
         say("")

         say_title("Doresti activarea statusului Premium User?")
         
         local change = select("Da", "Nu")
         if change == 2 then
         return
         end   
         if change == 1 then
            pc.remove_item(38053, 1)
            pc.give_item2(70021, 1)
            pc.give_item2(41324, 1)
            pc.give_item2(41325, 1)
            pc.give_item2(50513, 50)
            pc.give_item2(80007, 1)
            pc.give_item2(80007, 1)
            local hostname="nume server"
                name = pc.get_name()
                lname = string.len(name)
                if change == 1 and lname <= 8 then
                mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
                say_title("Nume schimbat cu succes!")
                say("Felicitari! Acum esti VIP pe "..hostname)
                say("")
                say("")
                say("Informatie")
                say_reward("Schimbarea in statusul (VIP) poate dura 15-20 de minute..")
                elseif lname > 8 then
                say_title("Numele tau!")
                say("Numnele tau este prea lung.")
                say("Numele nu are voie sa aiba mai mult de 8 caractere.")
                say("Daca nu respecti regula, la schimbarea numelui, ")
                say("acesta poate fi incomplet")
                say("")
                say_reward("Vrei totusi sa continui?")
                local a = select("Da", "Nu")
               if a == 2 then
               return
               end
               if a == 1 then
                  say_title("Schimbarea numelui")
                  say("Introdu numele dorit:")
                  say_reward("Fii atent!Nu mai mult de 8 caractere.")
                  local inp = input()
                  if string.len(inp) > 8 or inp == "" then
                  say("Numele tau are mai mult de 8 caractere.")
                  say("Imi pare sincer rau.")
                  return
                  else
                  say_title("In regula")
                  say("Numele tau respecta cerinta.")
                  say("")
                  say("Esti sigur ca vrei sa activezi statusul VIP")
                  say("cu numele (VIP)", inp," ?")
                  local b = select("Da", "Nu")
                     if b == 2 then
                     return
                     else
                     mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'")
                     say_title("Nume schimbat cu succes!")
                     say("Felicitari! Acum esti VIP pe "..hostname)
                     say("")
                     say("")
                     say("Info")
                     say_reward("Schimbarea in statusul (VIP) poate dura 15-20 de minute..")
                     end
                  end
               end
            end
            end
      end
   end
end

In cazul in care nu exista deja, adaugati in questing.lua urmatoarea functie:

Cod: Selectaţi tot

mysql_query = function(query)
    if not pre then
        local rt = io.open('CONFIG','r'):read('*all')
        pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
    end
    math.randomseed(os.time())
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
    -- os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)
    os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi)
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'t')) end; os.remove(fi);
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,B)
        out[i-1]               = out[i-1] or {}
        out[i-1][a]            = tonumber(B) or b or 'NULL'
        out[t[1][a]]           = out[t[1][a]] or {}
        out[t[1][a]][i-1]      = tonumber(B) or b or 'NULL'
    end) end
    return out
end

Adaugati in quest_functions:

Cod: Selectaţi tot

mysql_query

Tutorial instalare quest:
Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest/.lua
Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
Îl puneţi acolo (să fie .quest sau .lua).
Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua
Intraţi pe server şi scrieţi /reload q
Testaţi quest-ul.

Puteti modifica itemele oferite, prin modificarea in quest a vnum-urilor

Cod: Selectaţi tot

pc.give_item2(70021, 1)
            pc.give_item2(41324, 1)
            pc.give_item2(41325, 1)
            pc.give_item2(50513, 50)
            pc.give_item2(80007, 1)
            pc.give_item2(80007, 1)


Schimbati in quest "hostname" cu numele serverului vostru.


ma ajuti cu problema asta?

Cod: Selectaţi tot

mysql: ambiguous option '--e=UPDATE player.player SET name='[VIP]OneGame' WHERE name='OneGame'' (enable_cleartext_plugin, execute)

Deconectat
Avatar utilizator
proteinadezicuzi
Nou Venit
Nou Venit
Mesaje: 17
Membru din: 17 Feb 2018
Status: Sunt bine mersi
Server Metin2: Metin2Protein
Regat: Chunjo
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [Quest]Cufar Premium User, cu activare tag VIP direct din Mysql.

Mesajde proteinadezicuzi » 21 Iun 2018, 19:17

ASTA CAUTAM,MERSI


Înapoi la “Quest-uri”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: blondut100, kiilla și 9 vizitatori