[SERVICE] Die Questkontrolle

09/01/2015 21:37 Rofelmau#11881
bei deiner waren nur die ends nicht ganz richtig
09/04/2015 15:04 LyRockZz#11882
09/04/2015 19:49 rollback#11883
Quote:
Originally Posted by MaxChri View Post
Ich wollte ne kleine Q machen, die einen Spieler warpen soll.

PHP Code:
function player_warp(name)
    
test pc.select(find_pc_by_name(name))
    
pc.select(test)
    
pc.warp(5000,5000)
end 
Wenn ich jetzt in einer Quest den Befehl:
PHP Code:
player_warp("Spielername"
eingebe, um einen Spieler zu 5000, 5000 zu warpen, werde immer ich selbst gewarpt.
Weiß einer vielleicht wieso? Eigentlich ist doch alles richtig. :mad:
PC.warp über das PC.select
Also in die Mitte der 3 Zeilen
09/04/2015 20:44 noahsipos#11884
Kann mir jemand diese Quest übersichtlicher bzw. "besser" machen?


Edit: Zu viele local select's oder woran liegt es, dass manchmal ein paar Funktionen in der/n Liste/n nicht funktionieren?

und suche nach zwei Funktionen: 1. Eine mit der man sich zu einem Spieler teleportieren kann und Spieler zu sich teleportieren kann (mit Namenseingabe) als normaler Spieler (keine GM-Rechte benötigt). Und 2. : Eine Zurück-Funktion die in local select's eingebaut werden kann (die Funktion soll den Spieler zum vorherigen Menü zurückleiten ohne das Fenster zu schließen)
09/04/2015 23:37 _Xer0x_#11885
Guten Abend, ich habe mir mal das Banpanel von Mijago eingebaut,
wenn ich jetzt jedoch InGame auf "Bannen" klicke bekomme ich eine leere Seite.

In Putty wird das angezeigt:

Ich hatte schon eine bestehende Quest wo ich den Action-Questteil,
aus Mijagos Quest eingefügt habe.

Das ist der Teil:
PHP Code:
say("Was möchtest du tun?"

local s select('Bannen','Entbannen',"Nichts"
if 
== 3 then 
    
return
    
elseif 
== 2 then 
    local ban
,bantxt,bantxt2 "OK","entbannen","entbannt" 
    
elseif == 1 then 
    local ban
,bantxt,bantxt2 "BLOCK","bannen","gebannt" 
    
--[[say(col.blue('Spieler '..bantxt));]] say('[ENTER]Gib den Spielernamen ein.[ENTER](ein Teil reicht auch)'
    
local inp input(); inp mysql_escape(inp)
    
    if 
inp == "" or inp == pc.get_name() then 
        say
('Ungültige Eingabe.[ENTER]Abbruch!'
        return 
    
end 
    
    local q 
mysql_query('SELECT * FROM player.player WHERE name LIKE \\"%'..inp..'%\\" AND name NOT like \\"%[%\\"'
    if 
== "ERROR" then 
        say
('Fehler beim Lesen der Daten oder es existiert niemand mit diesem Namen.'
        return 
    
end 
    
    say
('Wähle den User, der '..bantxt2..' werden soll:'
    
local wahl q.nametable.insert(wahl,"-Abbruch-"
    
table.insert(wahl,1,6)      -- 6 ist die Anzahl der Maximalen User auf einer Seite
    
local auswahl select2(wahl
    
    if 
wahl[auswahl] == "-Abbruch-" then 
        
return 
    
end 
    
    say
('Den Spieler \\"'..q.name[auswahl]..'\\" wirklich '..bantxt..'?'
    if 
select("Ja","Nein") == 2 then 
        
return 
    
end 
    
    mysql_query
('UPDATE account.account SET status = \\"'..ban..'\\" WHERE id = '..q.account_id[auswahl]..' LIMIT 1'
    
say('Der Spieler wurde gebannt.'
end 
09/05/2015 08:41 ArmaniMetin2#11886
Ich wollte gerade das VIP System einfügen von kilroy. allerdings, zeigt mir Putty einen kleinen Fehler an, wenn ich die Quest reloade.

[Only registered and activated users can see links. Click Here To Register...]

Habe dann die Funktionen in die quest_function eingetragen, wieder reloadet, gerebootet, geht aber trotzdem nicht? Weiß einer warum?!

Hier die Quest:

09/05/2015 12:04 .Ryuzaki™#11887
Calls uncleared function:

mysql_query
pc.can_warp
split
string.find
__________________________________________-

Er sagt er kann diese Funktionen nicht "erklären".
Trag diese Funktionen bitte in deine quest_functions ein.
Wenn du Vanilla Core hast, dann heißt es: game.mysql_query

lg
09/05/2015 23:13 synthou1234#11888
#gelöst
09/06/2015 17:05 _Xer0x_#11889
Hat keiner eine Idee, was der Fehler ist oder sein könnte ?
09/08/2015 11:45 ArmaniMetin2#11890
Hatte die VIP Quest eingefügt, das VIP geht zwar, aber sofort wenn ich einen neuen Acc, mit einem neuen Charakter erstelle, bin ich sofort VIP, ohne das VIP Item zu benutzen?

Quote:
.Ryuzaki™ Calls uncleared function:

mysql_query
pc.can_warp
split
string.find
__________________________________________-

Er sagt er kann diese Funktionen nicht "erklären".
Trag diese Funktionen bitte in deine quest_functions ein.
Wenn du Vanilla Core hast, dann heißt es: game.mysql_query

lg
09/08/2015 14:42 .Delta#11891
Quote:
Originally Posted by ArmaniMetin2 View Post
Hatte die VIP Quest eingefügt, das VIP geht zwar, aber sofort wenn ich einen neuen Acc, mit einem neuen Charakter erstelle, bin ich sofort VIP, ohne das VIP Item zu benutzen?
Wie wäre es, wenn du die Quest mal zeigst? ;)
09/09/2015 15:20 xKingix#11892
Code:
quest jagd05 begin
	state start begin
		when login or levelup with pc.level >= 1 begin
			set_state(information_lv5)
		end
	end
	
	state information_lv5 begin
		when letter begin
			send_letter("Die Bitte des Hauptmannes")
		end
		
		when button or info begin
			say_title("Die Bitte des Hauptmannes")
			say("")
			say("Der Hauptmann möchte, dass du die")
			say("Dorfbewohner von den grausamen")
			say("Kreaturen schützt, die vor dem Dorf")
			say("ihr Unwesen treiben.")
			say("")
			say_reward("Welche Kreaturen möchtest du erledigen?")
			local a = select("35 Alpha-Blauwolf", "20 Grauwolf")
				if a == 1 then
					say_title("Alpha-Blauwölfe")
					say("")
					say("Der Hauptmann hat dir die Aufgabe erteilt")
					say("35 Alpha-Blauwölfe zu erledigen.")
					say("Du findest sie vor dem Dorf!")
					say("")
					pc.setqf("state1", 35)
					q.set_counter("Alpha-Blauwolf", 35)
					set_state(blauwolf)
				else
					say_title("Grauwölfe")
					say("")
					say("Der Hauptmann hat dir die Aufgabe erteilt")
					say("20 Grauwölfe zu erledigen.")
					say("Du findest sie vor dem Dorf!")
					say("")
					pc.setqf("state2", 20)
					q.set_counter("Grauwolf", 20)
					set_state(grauwolf)
				end
		end
	end
	
	state blauwolf begin
		when letter begin
			send_letter("Alpha-Blauwölfe")
		end
		
		when button or info begin
			say_title("Alpha-Blauwölfe")
			say("")
			say("Der Hauptmann hat dir die Aufgabe erteilt")
			say("35 Alpha-Blauwölfe zu erledigen.")
			say("")
			say_reward("Du musst noch "..pc.getqf("state1").." Alpha-Blauwölfe töten!")
		end
		
		when 105.kill begin
			local count1 = pc.getqf("state1") - 1
			if count1 <= 35 then
				pc.setqf("state1", count1)
				q.set_counter("Alpha-Blauwolf", count1)
			end
			if count == 35 then
				set_state(reward)
			end
		end
	end
	
	state grauwolf begin
		when letter begin
			send_letter("Grauwölfe")
		end
		
		when button or info begin
			say_title("Grauwölfe")
			say("")
			say("Der Hauptmann hat dir die Aufgabe erteilt")
			say("20 Grauwölfe zu erledigen.")
			say("")
			say_reward("Du musst noch "..pc.getqf("state2").." Grauwölfe töten!")
		end
		
		when 106.kill begin
			local count2 = pc.getqf("state2") - 1
			if count2 <= 20 then
				pc.setqf("state2", count2)
				q.set_counter("Grauwolf", count2)
			end
			if count == 20 then
				set_state(reward)
			end
		end
	end
	
	state reward begin
		when letter begin
			send_letter("Auftrag abgeschlossen")
		end
		
		when button or info begin
			say_title("Auftrag abgeschlossen")
			say("")
			say("Du hast die Aufgabe des Hauptmannes")
			say("mit Erfolg abgeschlossen.")
			say("")
			say("Du erhälst:")
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
Der State REWARD wird nicht abgerufen.
Bitte im Hilfe!
09/09/2015 15:41 Ide.#11893
Quote:
Originally Posted by xKingix View Post

Der State REWARD wird nicht abgerufen.
Bitte im Hilfe!
Du musst deinem count auch die richtige Benennung geben. In deinem Fall count1 und count2. :)

PHP Code:
when 105.kill begin
            local count1 
pc.getqf("state1") - 1
            
if count1 <= 35 then
                pc
.setqf("state1"count1)
                
q.set_counter("Alpha-Blauwolf"count1)
            
end
            
if count1 == 35 then
                set_state
(reward)
            
end
        end 
PHP Code:
when 106.kill begin
            local count2 
pc.getqf("state2") - 1
            
if count2 <= 20 then
                pc
.setqf("state2"count2)
                
q.set_counter("Grauwolf"count2)
            
end
            
if count2 == 20 then
                set_state
(reward)
            
end
        end 
09/10/2015 16:06 Ide.#11894
Jetzt habe ich leider selber ein Problem wo ich feststecke. Und zwar möchte ich die Yangbomben an den Bossen per Quest einstellen, damit diese unabhängig von den Rates sind und nicht beeinflusst werden. Zur Zeit sieht das ganze so aus:

PHP Code:
when 1901.kill with pc.get_level() <= 82 begin                -- max 10 level    höher    
            pc
.setqf("bomben_anzahl"66)
            
pc.setqf("bomben_anzahl"pc.getqf("bomben_anzahl") - 1)
            
game.drop_item_with_ownership(25040,1)                    -- 100Segi 
            game
.drop_item_with_ownership(70102,1)                    -- 100Zen-Bohne
            game
.drop_item_with_ownership(50077,1)                    -- 100Truhe
            game
.drop_item_with_ownership(1,200)
            if 
pc.getqf("bomben_anzahl") > 0 then
                game
.drop_item_with_ownership(1,200)
            
end
            
if pc.getqf("bomben_anzahl") <= 0 then
            end    
end 
Da droppt er dann aber leider nur 2x die Yangbombe :/
09/14/2015 20:27 .Colossus.#11895
Quote:
Originally Posted by Ide. View Post
Jetzt habe ich leider selber ein Problem wo ich feststecke. Und zwar möchte ich die Yangbomben an den Bossen per Quest einstellen, damit diese unabhängig von den Rates sind und nicht beeinflusst werden. Zur Zeit sieht das ganze so aus:

PHP Code:
when 1901.kill with pc.get_level() <= 82 begin                -- max 10 level    höher    
            pc
.setqf("bomben_anzahl"66)
            
pc.setqf("bomben_anzahl"pc.getqf("bomben_anzahl") - 1)
            
game.drop_item_with_ownership(25040,1)                    -- 100Segi 
            game
.drop_item_with_ownership(70102,1)                    -- 100Zen-Bohne
            game
.drop_item_with_ownership(50077,1)                    -- 100Truhe
            game
.drop_item_with_ownership(1,200)
            if 
pc.getqf("bomben_anzahl") > 0 then
                game
.drop_item_with_ownership(1,200)
            
end
            
if pc.getqf("bomben_anzahl") <= 0 then
            end    
end 
Da droppt er dann aber leider nur 2x die Yangbombe :/
Code:
when 1901.kill with pc.get_level() <= 82 begin                -- max 10 level    höher    
			if pc.getqf("bomben_anzahl") <= 0 then
				pc.setqf("bomben_anzahl", 66)
            end    
            pc.setqf("bomben_anzahl", pc.getqf("bomben_anzahl") - 1)
            game.drop_item_with_ownership(25040,1)                    -- 100% Segi 
            game.drop_item_with_ownership(70102,1)                    -- 100% Zen-Bohne
            game.drop_item_with_ownership(50077,1)                    -- 100% Truhe
            game.drop_item_with_ownership(1,200)
            if pc.getqf("bomben_anzahl") > 0 then
                game.drop_item_with_ownership(1,200)
            end
end