[SERVICE] Die Questkontrolle

02/15/2015 11:29 rollback#11071
Quote:
Originally Posted by mkiiing View Post
Also die quest ist von 2012^^ und .JayZon meint, dass man halt die mysgl_query anpassen müsse... ich kenne mich auf diesem Gebiet überhaupt nicht aus :(
könntest du mir die vlt die semikolon einfügen?... wäre sehr nett

Liebe Grüsse
PHP Code:
if pvp_attenders != nil then
    mysql_query
("INSERT INTO player_s4.pvptournament_winlog (pid, points) VALUES ((SELECT id FROM player_s4.player WHERE name='"..tostring(pvp_attenders[winner_id].name).."'), "..tostring(points)..") ON DUPLICATE KEY UPDATE points=points+"..points..";"ql.mysql["user"], ql.mysql["pass"], nilql.mysql["ip"])
end 
PHP Code:
local ranking mysql_query("SELECT (SELECT name FROM player_s4.player WHERE id = pid) AS name, points FROM player_s4.pvptournament_winlog ORDER BY points DESC LIMIT 10;"ql.mysql["user"], ql.mysql["pass"], nilql.mysql["ip"])
say_title("PVP-Turnier Rangliste:")
    if 
ranking == "ERROR" then
        say_reward
("Es gibt noch keine Spieler in der Rangliste.")
        
say("")
        return
    
end
for 1table.getn(ranking.name), do
    
say(i..". "..tostring(ranking.name[i]).." ("..tostring(ranking.points[i]).." Punkte)")
end
say
("")
local self_rank mysql_query("SELECT rank, points FROM (SELECT @rownum := @rownum + 1 AS rank, points, pid FROM player_s4.pvptournament_winlog JOIN (SELECT @rownum := 0) r ORDER BY pvptournament_winlog.points DESC) x WHERE x.pid = '"..tostring(pc.get_player_id()).."';"ql.mysql["user"], ql.mysql["pass"], nilql.mysql["ip"])
if 
self_rank == "ERROR" then
    
return
end 
02/16/2015 19:14 WyppyOne#11072
Hi,the files in object for 20060 are created but the quest doesn't work ... when i put items on 20060 nothing happens
PHP Code:
quest minereuri begin
    state start begin
        when 20060.take with item
.get_vnum >= 50601 and item.get_vnum 50619 begin
            
if item.get_vnum == 50601 then
                
if pc.count_item(50601) >= 100 then
                    item
.remove(50601,100)
                    
pc.give_item(50621,1)
                else
                    
say("nu ai destule finisaje")
                
end
            end
        end
    end            
end 
02/16/2015 19:36 Shaojun#11073
Moin zusammen ich mach mich denk mal zum Affen aber das ist mir egal der Fehler stört mich schon den ich habe
Und zwar kann ich auf meinen Reittieren sitzen kloppen geben bonis und absteigen und nun kommt das Problem
sobald man portet oder aus und einloggt bleibt das Siegel oben bei der slotgabe
wo die Emomaske und die Windschuhe etc. sind
das ist die quest um aufzusteigen

PHP Code:
quest Rappen90 begin    
    state start begin    
        when 71134.
use begin  
            affect
.remove_collect()            
            
pc.mount(20119,10800)   
        
end   
    end    
end 
Ich habe sowieso was vergessen ich war in quest schreiben eh nie der beste
und die bonis habe ich in itemproto serverside stehen die funktionieren ich will nur das des Siegel beim porten oder neu einloggen nicht mehr angelegt ist ich bedanke mich jetzt schon mal für die Hilfe

Lg Shaojun
02/16/2015 20:35 Nick#11074
Quote:
Originally Posted by WyppyOne View Post
Hi,the files in object for 20060 are created but the quest doesn't work ... when i put items on 20060 nothing happens
PHP Code:
quest minereuri begin
    state start begin
        when 20060.take with item
.get_vnum >= 50601 and item.get_vnum 50619 begin
            
if item.get_vnum == 50601 then
                
if pc.count_item(50601) >= 100 then
                    item
.remove(50601,100)
                    
pc.give_item(50621,1)
                else
                    
say("nu ai destule finisaje")
                
end
            end
        end
    end            
end 
You have forgotten the brackets. Replace
PHP Code:
item.get_vnum 
with
PHP Code:
item.get_vnum() 
Greetings
02/17/2015 05:26 Vordeaux#11075
Quote:
Originally Posted by .JayZoN View Post
You have forgotten the brackets. Replace
PHP Code:
item.get_vnum 
with
PHP Code:
item.get_vnum() 
Greetings
or just item.vnum
02/17/2015 09:48 .Various#11076
Compiler nimmt es an, ingame bricht die quest ab nach dem mysql befehl.. was hab ich da falsch gemacht?
Code:
	local name = pc.getname()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";")
02/17/2015 10:53 DerForenLeser#11077
Quote:
Originally Posted by C-3PO. View Post
Compiler nimmt es an, ingame bricht die quest ab nach dem mysql befehl.. was hab ich da falsch gemacht?
Code:
	local name = pc.getname()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";")
PHP Code:
    local name pc.get_name()
    
mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";"
kA ob es der _ macht.
02/17/2015 11:02 .Various#11078
Quote:
Originally Posted by DerForenLeser View Post
PHP Code:
    local name pc.get_name()
    
mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";"
kA ob es der _ macht.
ne, daran liegt es nicht, beide Funktionen geben den Playernamen wieder, trotzdem danke.
02/17/2015 11:48 He3o Sippel#11079
Quote:
Originally Posted by C-3PO. View Post
Compiler nimmt es an, ingame bricht die quest ab nach dem mysql befehl.. was hab ich da falsch gemacht?
Code:
	local name = pc.getname()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";")
Code:
	local name = pc.get_name()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = '"..name.."';")
02/17/2015 11:57 .Various#11080
Quote:
Originally Posted by .He3o Sippel View Post
Code:
	local name = pc.get_name()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = '"..name.."';")

Leider bringt das auch nichts.
Hier mal die ganze when bedingung:
Code:
when 20011.chat."Spielzeit zurücksetzen" begin
	local name = pc.get_name()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";")
	say("Spielzeit wurde auf 0 zurückgesetzt!")
end
02/17/2015 12:12 He3o Sippel#11081
Quote:
Originally Posted by C-3PO. View Post
Leider bringt das auch nichts.
Hier mal die ganze when bedingung:
Code:
when 20011.chat."Spielzeit zurücksetzen" begin
	local name = pc.get_name()
	mysql_query("UPDATE player.player SET playtime = 0 WHERE name = "..name..";")
	say("Spielzeit wurde auf 0 zurückgesetzt!")
end
Du hast es nicht richtig kopiert ^^

Code:
WHERE name = '"..name.."'
02/17/2015 12:27 .Various#11082
Quote:
Originally Posted by .He3o Sippel View Post
Du hast es nicht richtig kopiert ^^

Code:
WHERE name = '"..name.."'
Sorry, mein Fehler. Hab versehentlich meine Quest nochmal kopiert :rolleyes:
Vielen Dank, hast recht da mysql name = "pc.name" erwartet.
Thanks :handsdown:
02/17/2015 14:34 Chikudo#11083
Hallo Liebe Leute,

versuche die Quest umzuschreiben aber irgendwie will es nicht egal wie ich es probiere...

PHP Code:
quest steineentf begin
    state start begin
        when 20006.take begin 
-- npc vnum
            
if pc.count_item(31708) < 1 then 
            say
("Du Brauchst den BLA"
            else
            
say_title(mob_name(20006))
            
say()
            if 
not ((item.get_type() == and item.get_sub_type() < 6) or (item.get_type() == and item.get_sub_type() == 0)) then
                say
('Du kannst nur bei Rüstungen und Waffen gesteine entfernen')
                return
            
end
            local data
,= {{},{}},1
            
for 0,do
                
local c item.get_socket(i)
                if 
and ~= 28960 then
                    data
[1][x],data[2][x]= i,item_name(c)
                    
1
                end
            end
            
if data[1][1]==nil then say('Es gibt kein Gestein der Entfernt werden soll') return end
            table
.insert(data[2],'Abbrechen')
            
say('Welchen Stein möchtest du entfernen?')
            
local s=select_table(data[2])
            if 
s==table.getn(data[2]) then return end
            say
(data[2][s]..' Entfernen?')
            if 
select('Ja','Nein')==2 then return end
            say
(data[2][s]..' Entfernt')
            
pc.give_item2(item.get_socket(data[1][s]),1)
            
item.set_socket(data[1][s],28960)
            
pc.remove_item(317081)
        
end
    end
end 
danke schon mal für die Hilfe ..

Gruß

Chikudo
02/17/2015 16:53 Rofelmau#11084
Quote:
Originally Posted by Chikudo View Post
Hallo Liebe Leute,

versuche die Quest umzuschreiben aber irgendwie will es nicht egal wie ich es probiere...

PHP Code:
quest steineentf begin
    state start begin
        when 20006.take begin 
-- npc vnum
            
if pc.count_item(31708) < 1 then 
            say
("Du Brauchst den BLA"
            else
            
say_title(mob_name(20006))
            
say()
            if 
not ((item.get_type() == and item.get_sub_type() < 6) or (item.get_type() == and item.get_sub_type() == 0)) then
                say
('Du kannst nur bei Rüstungen und Waffen gesteine entfernen')
                return
            
end
            local data
,= {{},{}},1
            
for 0,do
                
local c item.get_socket(i)
                if 
and ~= 28960 then
                    data
[1][x],data[2][x]= i,item_name(c)
                    
1
                end
            end
            
if data[1][1]==nil then say('Es gibt kein Gestein der Entfernt werden soll') return end
            table
.insert(data[2],'Abbrechen')
            
say('Welchen Stein möchtest du entfernen?')
            
local s=select_table(data[2])
            if 
s==table.getn(data[2]) then return end
            say
(data[2][s]..' Entfernen?')
            if 
select('Ja','Nein')==2 then return end
            say
(data[2][s]..' Entfernt')
            
pc.give_item2(item.get_socket(data[1][s]),1)
            
item.set_socket(data[1][s],28960)
            
pc.remove_item(317081)
        
end
    end
end 
danke schon mal für die Hilfe ..

Gruß

Chikudo
da fehlte auf jeden fall 1 end, dass hab ich mal hinzugefügt, ansonsten müsste man mal wissen, was du ändern willst
02/17/2015 17:04 Chikudo#11085
da muss nix geändert werden habe ich schon aber funzt net :/