*Problemă/Întrebare: Se trimite o data mesajul dar daca modific textul caracterele ce au primit deja nu mai primesc mesajul
Tipologie server:
*Resursă folosită: https://mega.nz/file/dR02kC6C#bS9J4X45w ... ZPHkXBSN6c Nu mai gasesc link-ul de pe j4m
*ServerFiles utilizat: serverfiles/serverfiles-clean-martysama-t75119.html
*Syserr: -
Poză: -
*Detalii suplimentare: Cum am mai spus, se trimite prima oara la implementare, daca modific textul nu se mai trimite de nici o culoare... cel putin nu pt cei ce au primit o data acest mesaj
Problema PM AUTOMAT
- Marius Dragomir
-

- Mesaje: 1020
- Membru din: 13 Noi 2017, 21:32
- Server: HellHound
- Regat: Jinno
- Aprecieri: 499
- Mulţumiri: 1211
- Discord: Copiază ID
- Pentru acest mesaj, Marius Dragomir a primit 2 (de) mulţumiri
- haristhc • you_ionut94
- Vladii
-

- Mesaje: 402
- Membru din: 03 Iun 2018, 18:33
- Server: Arena2
- Regat: Chunjo
- Aprecieri: 230
- Mulţumiri: 252
- Discord: Copiază ID
- Contact:
ai version.txt, tre sa modifici si acolo.
- Marius Dragomir
-

- Mesaje: 1020
- Membru din: 13 Noi 2017, 21:32
- Server: HellHound
- Regat: Jinno
- Aprecieri: 499
- Mulţumiri: 1211
- Discord: Copiază ID
Acolo banuiesc ca trebuie doar sa sterg cifrele nu?
EDIT: Am sters, am modificat, am recompilat questul. NIMIC, nu trimite din nou
- Pentru acest mesaj, Marius Dragomir for the post:
- you_ionut94
- Kazuhiri
-

- Mesaje: 2088
- Membru din: 26 Mar 2017, 19:14
- Server: Demetris
- Regat: Shinsoo
- Aprecieri: 396
- Mulţumiri: 3227
- Rezolvări prob.: 2
- Discord: Copiază ID
Salut,deci intri in folderul system,din quest,acolo ai un fisier numit text_file.txt.Modific acolo ce text vrei,apoi mergi in putty si scrii /.qc notificari.lua.In final ,pe joc o sa dai un /reload q
- Marius Dragomir
-

- Mesaje: 1020
- Membru din: 13 Noi 2017, 21:32
- Server: HellHound
- Regat: Jinno
- Aprecieri: 499
- Mulţumiri: 1211
- Discord: Copiază ID
Am facut asta si nu se intampla nimic, primesc noul mesaj doar cei ce nu au primit initial primul mesaj. Aici este problema cea mai mare
- Marius Dragomir
-

- Mesaje: 1020
- Membru din: 13 Noi 2017, 21:32
- Server: HellHound
- Regat: Jinno
- Aprecieri: 499
- Mulţumiri: 1211
- Discord: Copiază ID
- [RaffaeL]
-

- Mesaje: 3223
- Membru din: 19 Mar 2016, 12:58
- Server: ...
- Aprecieri: 15
- Mulţumiri: 2502
- Rezolvări prob.: 2
- Discord: Copiază ID
- Contact:
Daca citesti acel quest cu atentie, vei observa ca dupa trimiterea mesajului, se seteaza un questflag, care este egal cu "version"
pc.setqf("state_of_quest", version), iar in loop_timer, se verifica relatia "version-questflag" if tonumber(version) > pc.getqf("state_of_quest") then.
Bun, acum, daca verifici db(navicat)->baza player->tabela quest, vei observa ca acel flag este inregistrat cu numarul prezent in fisierul "version.txt" notificari state_of_quest 258.
Prin urmare, revenind la verificarea din acel timer(nu stiu cum sa ma exprim, ca sa intelegi ce si cum), va trimite un nou mesaj, doar daca tonumber(version) este mai mare decat version, ceea ce este fals, acel version fiind tot timpul 258.
Ca solutie, modifica if tonumber(version) > pc.getqf("state_of_quest") then cu if tonumber(version) >= pc.getqf("state_of_quest") then in acest fel relatia fiind adevarata(258 =258 bineinteles).
pc.setqf("state_of_quest", version), iar in loop_timer, se verifica relatia "version-questflag" if tonumber(version) > pc.getqf("state_of_quest") then.
Bun, acum, daca verifici db(navicat)->baza player->tabela quest, vei observa ca acel flag este inregistrat cu numarul prezent in fisierul "version.txt" notificari state_of_quest 258.
Prin urmare, revenind la verificarea din acel timer(nu stiu cum sa ma exprim, ca sa intelegi ce si cum), va trimite un nou mesaj, doar daca tonumber(version) este mai mare decat version, ceea ce este fals, acel version fiind tot timpul 258.
Ca solutie, modifica if tonumber(version) > pc.getqf("state_of_quest") then cu if tonumber(version) >= pc.getqf("state_of_quest") then in acest fel relatia fiind adevarata(258 =258 bineinteles).
- Marius Dragomir
-

- Mesaje: 1020
- Membru din: 13 Noi 2017, 21:32
- Server: HellHound
- Regat: Jinno
- Aprecieri: 499
- Mulţumiri: 1211
- Discord: Copiază ID
Cu metoda asta a functionat, a trimis iar pm dar mi s-a intamplat sa imi trimita unul dupa altul, nu se mai oprea, sa fie din cauza ca am modificat si loop timer din 5 in 1?[RaffaeL] scrie: ↑28 Apr 2020, 15:26 Daca citesti acel quest cu atentie, vei observa ca dupa trimiterea mesajului, se seteaza un questflag, care este egal cu "version"
pc.setqf("state_of_quest", version), iar in loop_timer, se verifica relatia "version-questflag" if tonumber(version) > pc.getqf("state_of_quest") then.
Bun, acum, daca verifici db(navicat)->baza player->tabela quest, vei observa ca acel flag este inregistrat cu numarul prezent in fisierul "version.txt" notificari state_of_quest 258.
Prin urmare, revenind la verificarea din acel timer(nu stiu cum sa ma exprim, ca sa intelegi ce si cum), va trimite un nou mesaj, doar daca tonumber(version) este mai mare decat version, ceea ce este fals, acel version fiind tot timpul 258.
Ca solutie, modifica if tonumber(version) > pc.getqf("state_of_quest") then cu if tonumber(version) >= pc.getqf("state_of_quest") then in acest fel relatia fiind adevarata(258 =258 bineinteles).
EDIT : Am modificat inapoi in 5 si imi trimite acelasi mesaj o data la 5 secunde, cum as putea rezolva sa trimita o singura pana modific eu mesajul?
- [RaffaeL]
-

- Mesaje: 3223
- Membru din: 19 Mar 2016, 12:58
- Server: ...
- Aprecieri: 15
- Mulţumiri: 2502
- Rezolvări prob.: 2
- Discord: Copiază ID
- Contact:
Cel mai simplu ar fi(parerea mea) sa modifici questul de notificari, in asa fel incat sa trimiti notificare doar atunci cand vrei tu(modificand in prealabil textul din "text_file.txt").mariusdrg95 scrie: ↑28 Apr 2020, 16:59Cu metoda asta a functionat, a trimis iar pm dar mi s-a intamplat sa imi trimita unul dupa altul, nu se mai oprea, sa fie din cauza ca am modificat si loop timer din 5 in 1?[RaffaeL] scrie: ↑28 Apr 2020, 15:26 Daca citesti acel quest cu atentie, vei observa ca dupa trimiterea mesajului, se seteaza un questflag, care este egal cu "version"
pc.setqf("state_of_quest", version), iar in loop_timer, se verifica relatia "version-questflag" if tonumber(version) > pc.getqf("state_of_quest") then.
Bun, acum, daca verifici db(navicat)->baza player->tabela quest, vei observa ca acel flag este inregistrat cu numarul prezent in fisierul "version.txt" notificari state_of_quest 258.
Prin urmare, revenind la verificarea din acel timer(nu stiu cum sa ma exprim, ca sa intelegi ce si cum), va trimite un nou mesaj, doar daca tonumber(version) este mai mare decat version, ceea ce este fals, acel version fiind tot timpul 258.
Ca solutie, modifica if tonumber(version) > pc.getqf("state_of_quest") then cu if tonumber(version) >= pc.getqf("state_of_quest") then in acest fel relatia fiind adevarata(258 =258 bineinteles).
EDIT : Am modificat inapoi in 5 si imi trimite acelasi mesaj o data la 5 secunde, cum as putea rezolva sa trimita o singura pana modific eu mesajul?
Pentru a realiza acest lucru, modifica questul de forma asta:
Cod: Selectaţi tot
quest notificari begin
state start begin
function read_notice_line(l)
return read_server_line("/usr/game/share/locale/romania/quest/system/text_file.txt", l)
end
when 20094.click begin -- schimbi cu alt npc, sau pui pe un item, folosind when vnum_item.use begin
if pc.is_gm() then
say("[ENTER]Trimite notificare globala")
if select("Trimite notificare", "Anuleaza") == 1 then
local lines = 0
for line in io.lines("/usr/game/share/locale/romania/quest/system/text_file.txt") do lines = lines + 1 end
cmdchat("open_notice_info")
for i = 1,lines do
cmdchat("write_notice_info "..string.gsub(notificari.read_notice_line(i), ' ', '_'))
end
end
end
end
end
endCod: Selectaţi tot
quest notificari begin
state start begin
function read_notice_line(l)
return read_server_line("/usr/game/share/locale/romania/quest/system/text_file.txt", l)
end
when 20094.click begin -- schimbi cu alt npc, sau pui pe un item, folosind when vnum_item.use begin
if pc.is_gm() then
say("[ENTER]Trimite notificare globala")
if select("Trimite notificare", "Anuleaza") == 1 then
local lines = 0
for line in io.lines("/usr/game/share/locale/romania/quest/system/text_file.txt") do lines = lines + 1 end
cmdchat("open_notice_info")
for i = 1,lines do
cmdchat("write_notice_info "..string.gsub(notificari.read_notice_line(i), ' ', '_'))
end
pc.setqf("new", 1)
end
end
end
when login begin
if pc.getqf("new") == 1 then
local lines = 0
for line in io.lines("/usr/game/share/locale/romania/quest/system/text_file.txt") do lines = lines + 1 end
cmdchat("open_notice_info")
for i = 1,lines do
cmdchat("write_notice_info "..string.gsub(notificari.read_notice_line(i), ' ', '_'))
end
pc.setqf("new", 0)
end
end
end
end- Pentru acest mesaj, [RaffaeL] for the post:
- Marius Dragomir
- Marius Dragomir
-

- Mesaje: 1020
- Membru din: 13 Noi 2017, 21:32
- Server: HellHound
- Regat: Jinno
- Aprecieri: 499
- Mulţumiri: 1211
- Discord: Copiază ID
Am incercat in acest fel dar nu merge, nu se trimite acel mesaj ...[RaffaeL] scrie: ↑28 Apr 2020, 17:47Cel mai simplu ar fi(parerea mea) sa modifici questul de notificari, in asa fel incat sa trimiti notificare doar atunci cand vrei tu(modificand in prealabil textul din "text_file.txt").mariusdrg95 scrie: ↑28 Apr 2020, 16:59Cu metoda asta a functionat, a trimis iar pm dar mi s-a intamplat sa imi trimita unul dupa altul, nu se mai oprea, sa fie din cauza ca am modificat si loop timer din 5 in 1?[RaffaeL] scrie: ↑28 Apr 2020, 15:26 Daca citesti acel quest cu atentie, vei observa ca dupa trimiterea mesajului, se seteaza un questflag, care este egal cu "version"
pc.setqf("state_of_quest", version), iar in loop_timer, se verifica relatia "version-questflag" if tonumber(version) > pc.getqf("state_of_quest") then.
Bun, acum, daca verifici db(navicat)->baza player->tabela quest, vei observa ca acel flag este inregistrat cu numarul prezent in fisierul "version.txt" notificari state_of_quest 258.
Prin urmare, revenind la verificarea din acel timer(nu stiu cum sa ma exprim, ca sa intelegi ce si cum), va trimite un nou mesaj, doar daca tonumber(version) este mai mare decat version, ceea ce este fals, acel version fiind tot timpul 258.
Ca solutie, modifica if tonumber(version) > pc.getqf("state_of_quest") then cu if tonumber(version) >= pc.getqf("state_of_quest") then in acest fel relatia fiind adevarata(258 =258 bineinteles).
EDIT : Am modificat inapoi in 5 si imi trimite acelasi mesaj o data la 5 secunde, cum as putea rezolva sa trimita o singura pana modific eu mesajul?
Pentru a realiza acest lucru, modifica questul de forma asta:Iar daca vrei sa fii sigur, ca playerii care se logheaza dupa ce ai trimis notificarea, primesc acea notificare, foloseste questul de forma asta:Cod: Selectaţi tot
quest notificari begin state start begin function read_notice_line(l) return read_server_line("/usr/game/share/locale/romania/quest/system/text_file.txt", l) end when 20094.click begin -- schimbi cu alt npc, sau pui pe un item, folosind when vnum_item.use begin if pc.is_gm() then say("[ENTER]Trimite notificare globala") if select("Trimite notificare", "Anuleaza") == 1 then local lines = 0 for line in io.lines("/usr/game/share/locale/romania/quest/system/text_file.txt") do lines = lines + 1 end cmdchat("open_notice_info") for i = 1,lines do cmdchat("write_notice_info "..string.gsub(notificari.read_notice_line(i), ' ', '_')) end end end end end endCod: Selectaţi tot
quest notificari begin state start begin function read_notice_line(l) return read_server_line("/usr/game/share/locale/romania/quest/system/text_file.txt", l) end when 20094.click begin -- schimbi cu alt npc, sau pui pe un item, folosind when vnum_item.use begin if pc.is_gm() then say("[ENTER]Trimite notificare globala") if select("Trimite notificare", "Anuleaza") == 1 then local lines = 0 for line in io.lines("/usr/game/share/locale/romania/quest/system/text_file.txt") do lines = lines + 1 end cmdchat("open_notice_info") for i = 1,lines do cmdchat("write_notice_info "..string.gsub(notificari.read_notice_line(i), ' ', '_')) end pc.setqf("new", 1) end end end when login begin if pc.getqf("new") == 1 then local lines = 0 for line in io.lines("/usr/game/share/locale/romania/quest/system/text_file.txt") do lines = lines + 1 end cmdchat("open_notice_info") for i = 1,lines do cmdchat("write_notice_info "..string.gsub(notificari.read_notice_line(i), ' ', '_')) end pc.setqf("new", 0) end end end end
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 49 vizitatori



