Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 03:48

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 04/12/2017, 15:23   #12511
 
zuppy°'s Avatar
 
elite*gold: 0
Join Date: Jan 2015
Posts: 4
Received Thanks: 2
Code:
state kill_teh_viecher begin
		when letter begin
			send_letter("Auftrag von Biologe Chaegirab")
		end
		
		when button or info begin
			say_title("Notiz der Anführer:")
			say("Biologe Chaegirab gab euch den Auftrag")
			say("10 Notizen der Anführer zu sammeln!")
			say("Das Item bekommst du von den Bossen.")
			say("Viel Glück!")
			say("")
			say_item_vnum(30168) 
			say_reward("Du hast bis jetzt "..pc.getqf("actual_collect_count").." Stück gesammelt!") 
			say("")
		end
	
		
		when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1094.kill or 1095.kill or 1304.kill or
             1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5004.kill or
             5161.kill or 5162.kill or 5163.kill or 2597.kill begin  
			
			 local dropChance = number(10,100)
            if dropChance == 1 and pc.count_item(30168) < 20-pc.getqf("actual_collect_count") then
                pc.give_item2(30168, 1)
            end  //beendet if-Statement
			end //beendet when 
		end //beendet State kill_teh_viecher
Sprich du hast an der Stelle ein end zuviel.

Code:
	state __COMPLETE__ begin
	
end
Das letzte end beendet die Quest, aber du beendest nie den State-Block, dass ist der andere Punkt den er meinte.
zuppy° is offline  
Old 04/20/2017, 14:47   #12512
 
elite*gold: 0
Join Date: Apr 2013
Posts: 22
Received Thanks: 13
Fehlermeldung:
Error occured on compile Runs/Trump.quest
Mytho2 is offline  
Old 04/23/2017, 17:50   #12513
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Quote:
Originally Posted by Mytho2 View Post
Fehlermeldung:
Error occured on compile Runs/Trump.quest
Sorry, muss zugeben hast dir mühe gegeben aber das so extrem lang... vefasse dich mal mit tables.. sieht schicker aus und macht den code theoretisch gleich 85% kleiner...

mfg Risan
.Risan. is offline  
Thanks
1 User
Old 04/23/2017, 20:45   #12514

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Mytho2 View Post
Fehlermeldung:
Error occured on compile Runs/Trump.quest
Ich stimme Risan zu. Du solltest immer vermeiden Code doppelt zu schreiben. Das birgt Raum für Fehler und dadurch unerwünschtes Verhalten der Quest und ist natürlich auch deutlich schwerer anzupassen.
Da du die Quest selbst geschrieben hast gehe ich davon aus, dass du mein Beispiel relativ eigenständig erweitern kannst, falls nicht melde dich einfach hier im Thread.

Die erste state ist nicht nötig, eine Questflag, die noch nicht explizit gesetzt wurde, gibt beim Anfordern des Wertes 0 zurück. Diesen Wert also Anfangs mithilfe einer anderen State auf 0 zu setzen ist nicht nötig.

Das Eintauschen von Punkten zu Coins habe ich noch nicht umgesetzt, daran kannst du dich ja mal versuchen

Code:
quest item_exchange begin
	state start begin
		function getSettings()
			if not item_exchange.settings then
				item_exchange.settings = {
					ITEM_EXCHANGE = {
						{
							name = "Beran-Setaou",
							items = {
								{vnum = 71123, value = 4},
								{vnum = 71129, value = 4},
								{vnum = 70031, value = 2},
							}
						},
						{
							name = "Azrael",
							items = {
								{vnum = 71123, value = 4},
								{vnum = 71129, value = 4},
								{vnum = 70031, value = 2},
							}
						},
						{
							name = "Metinstein",
							items = {
								{vnum = 71123, value = 4},
								{vnum = 71129, value = 4},
								{vnum = 70031, value = 2},
							}
						},
					},
				}
			end
			
			return item_exchange.settings
		end
		
		when 20041.chat."Items Umtauschen" begin
			say_title("Items Umtauschen")
			say("Hier kannst du deine Uppitems")
			say("gegen Punkte eintauschen, welche")
			say("du gegen Itemshop-Coins tauschen kannst.")
			say("")
			say("Was möchtest du tun?")
			local target = ({item_exchange.showShowCreditMenu, item_exchange.showExchangeItemMenu, item_exchange.showExchangeCreditMenu})[select("Guthaben abfragen", "Items eintauschen", "Punkte eintauschen", "Nichts")]
			if not target then return end
			
			local settings = item_exchange.getSettings()
			target(settings)
		end
		
		function showExchangeItemMenu(settings)
			item_exchange.showExchangeItemCategories({name = "Hauptmenü", categories = settings.ITEM_EXCHANGE})
		end
		
		function showExchangeItemCategories(category)
			say_title("Items eintauschen")
			say("Wähle eine Kategorie")
			
			local categoryNames = {}
			for _, subCategory in ipairs(category.categories) do
				table.insert(categoryNames, subCategory.name)
			end
			table.insert(categoryNames, "Abbrechen")
			
			local selectedCategory = category.categories[select_table(categoryNames)]
			if not selectedCategory then return end
			
			if selectedCategory.items then
				item_exchange.showExchangeItemCategoryItems(selectedCategory)
			elseif selectedCategory.categories then
				item_exchange.showExchangeItemCategories(selectedCategory)
			else
				say("Diese Kategorie enthält weder Items noch Unterkategorien.")
			end
		end
		
		function showExchangeItemCategoryItems(category)
			say_title("Items eintauschen")
			say(string.format("Wähle ein Item aus der Kategorie %s", category.name))
			
			local itemNames = {}
			for _, item in ipairs(category.items) do
				table.insert(itemNames, item_name(item.vnum))
			end
			table.insert(itemNames, "Abbrechen")
			
			local selectedItem = category.items[select_table(itemNames)]
			if not selectedItem then return end
			
			local itemName = item_name(selectedItem.vnum)
			say_title(itemName)
			say("")
			say(string.format("Ein %s ist %d Punkte wert.", itemName, selectedItem.value))
			say(string.format("Wie viele %s möchtest du eintauschen?", itemName))
			say("Die Eingabe muss zwischen 1 und 200 liegen.")
			local exchangeCount = tonumber(input())
			if not exchangeCount or exchangeCount < 1 or exchangeCount > 200 then
				say("Ungültige Eingabe")
			else
				local realExchangeCount = math.min(exchangeCount, pc.count_item(selectedItem.vnum))
				if realExchangeCount >= 1 then
					pc.remove_item(selectedItem.vnum, realExchangeCount)
					item_exchange.addToCredit(selectedItem.value * realExchangeCount)
				else
					say("Du besitzt das benötigte Item nicht.")
				end
			end
		end
		
		function showExchangeCreditMenu(settings)
			say_title("Guthaben eintauschen")
			say("Noch nicht umgesetzt")
		end
		
		function showShowCreditMenu(settings)
			say_title("Guthaben") 
			say(string.format("Dein Guthaben beträgt %d Punkte.", item_exchange.getCredit()))
		end
		
		function getCredit()
			return pc.getqf("credit")
		end
		
		function addToCredit(value)
			pc.setqf("credit", item_exchange.getCredit() + value)
		end
		
		function removeFromCredit(value)
			pc.setqf("credit", item_exchange.getCredit() - value)
		end
	end
end
rollback is offline  
Thanks
1 User
Old 05/01/2017, 10:16   #12515
 
x"Kazuki's Avatar
 
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
Könnte mir bitte einmal über die Quest schauen?

Bekomme dort einen compile Fehler in der 6. Zeile:

PHP Code:
quest warpring begin 
    state start begin 
        when letter begin 
            cmdchat
("OpenTP "..q.getcurrentquestindex()) 
        
end 
            say_title
("Warpring")  
            
say("Wohin möchtest du Teleportiert werden?"
        
local empire pc.get_empire()  
                    
local selectmap select("Map1","Wüste","Abbrechen"
                    if 
selectmap == 3 then 
                
return 
                    elseif 
selectmap == 2 then 
                        say_title
("Warpring")  
                        
say("Wohin möchtest du Teleportiert werden?"
                    
local wuestenselect select("Anfang","Abbrechen"
                    if 
wuestenselect == 2 then 
                        
return 
                    elseif 
wuestenselect == 1 then 
            pc
.warp(290500,5700
            
end 
                    
elseif selectmap == 1 then 
                        say_title
("Warpring")  
                        
say("Wohin möchtest du Teleportiert werden?"
                    
local map1select select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen"
                    if 
map1select == 4 then 
                        
return 
                    elseif 
map1select == 1 then 
            pc
.warp(474300954800
                    elseif 
map1select == 2 then 
            pc
.warp(63800166400
                    elseif 
map1select == 3 then 
            pc
.warp(959900269200
            
end 
        end 
    end 
end 
x"Kazuki is offline  
Old 05/02/2017, 14:45   #12516
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Du musst eine When Bedingung setzen...

PHP Code:
quest warpring begin  
state start begin  
    when letter begin  
        cmdchat
("OpenTP "..q.getcurrentquestindex())  
    
end  
    
--[[
    
Hier muss eine Bedingung stehen. (When UseIem oder chat vom npc)
    
beispiel
    ]]
    
when 9010.chat."Warpring" begin
        say_title
("Warpring")   
        
say("Wohin möchtest du Teleportiert werden?")  
        
local empire pc.get_empire()   
        
local selectmap select("Map1","Wüste","Abbrechen")  
        if 
selectmap == 3 then  
            
return  
        elseif 
selectmap == 2 then  
            say_title
("Warpring")   
            
say("Wohin möchtest du Teleportiert werden?")  
            
local wuestenselect select("Anfang","Abbrechen")  
            if 
wuestenselect == 2 then  
            
return  
        elseif 
wuestenselect == 1 then  
            pc
.warp(290500,5700)  
        
end  
        
elseif selectmap == 1 then  
            say_title
("Warpring")   
            
say("Wohin möchtest du Teleportiert werden?")  
            
local map1select select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")  
            if 
map1select == 4 then  
            
return  
            elseif 
map1select == 1 then  
            pc
.warp(474300954800)  
            elseif 
map1select == 2 then  
            pc
.warp(63800166400)  
            elseif 
map1select == 3 then  
            pc
.warp(959900269200)  
            
end  
        end  
    end
end  
end 
.Risan. is offline  
Old 05/02/2017, 15:45   #12517
 
x"Kazuki's Avatar
 
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
Quote:
Originally Posted by .Risan. View Post
Du musst eine When Bedingung setzen...

PHP Code:
quest warpring begin  
state start begin  
    when letter begin  
        cmdchat
("OpenTP "..q.getcurrentquestindex())  
    
end  
    
--[[
    
Hier muss eine Bedingung stehen. (When UseIem oder chat vom npc)
    
beispiel
    ]]
    
when 9010.chat."Warpring" begin
        say_title
("Warpring")   
        
say("Wohin möchtest du Teleportiert werden?")  
        
local empire pc.get_empire()   
        
local selectmap select("Map1","Wüste","Abbrechen")  
        if 
selectmap == 3 then  
            
return  
        elseif 
selectmap == 2 then  
            say_title
("Warpring")   
            
say("Wohin möchtest du Teleportiert werden?")  
            
local wuestenselect select("Anfang","Abbrechen")  
            if 
wuestenselect == 2 then  
            
return  
        elseif 
wuestenselect == 1 then  
            pc
.warp(290500,5700)  
        
end  
        
elseif selectmap == 1 then  
            say_title
("Warpring")   
            
say("Wohin möchtest du Teleportiert werden?")  
            
local map1select select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")  
            if 
map1select == 4 then  
            
return  
            elseif 
map1select == 1 then  
            pc
.warp(474300954800)  
            elseif 
map1select == 2 then  
            pc
.warp(63800166400)  
            elseif 
map1select == 3 then  
            pc
.warp(959900269200)  
            
end  
        end  
    end
end  
end 

Dafür steht doch oben
"when letter begin" . Die Quest soll ja per Button geöffnet werden?
x"Kazuki is offline  
Old 05/02/2017, 17:47   #12518
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Probiere das mal:

PHP Code:
quest warpring begin   
state start begin   
    when letter 
or button begin   
        cmdchat
("OpenTP "..q.getcurrentquestindex())   
        
say_title("Warpring")    
        
say("Wohin möchtest du Teleportiert werden?")    
        
local selectmap select("Map1","Wüste","Abbrechen")      
        if 
selectmap == 2 then   
            say_title
("Warpring")    
            
say("Wohin möchtest du Teleportiert werden?")   
            if 
select("Anfang","Abbrechen")  == 1 then       
                pc
.warp(290500,5700)
            
end  
        
elseif selectmap == 1 then   
            say_title
("Warpring")    
            
say("Wohin möchtest du Teleportiert werden?")   
            
local map1select select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")  
            
local warps = {    {47430095480},{63800166400 } , {959900269200}    }
            if 
map1select == 4 then   
                
return   
            else
                
pc.warpwarps[map1select][1],warps[map1select][2] )
            
end --map1select end
        end    
--selectmap end
    end 
--when end
end   
end 
habs nicht getestet, nur rein theoretisch
.Risan. is offline  
Thanks
1 User
Old 05/04/2017, 10:25   #12519
 
x"Kazuki's Avatar
 
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
Hab es anders gelöst, aber deine Variante funktioniert auch!

Danke.
x"Kazuki is offline  
Old 05/15/2017, 21:12   #12520
 
hacker-2012's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 121
Received Thanks: 64
[SPOILER]
PHP Code:
quest sihastru_shining begin 
    state start begin 
        when login begin 
            set_state
("__INFORMATIONS__"
        
end 
    end 
    state __INFORMATIONS__ begin 
        when 20354.chat
."Ξεχώρισε μέσα στο πλήθος" begin 
            say_title
("Φρουρά Πόλης[ENTER]"
            
say("Καλησπέρα,θα ήθελες να ξεχωρίσεις μέσα στο πλήθος;"
            
say("Μπορώ να το κάνω αυτό αλλα μόνο με μερικά αντικείμενα"
            
say("τα οποία δεν έχω.![ENTER]"
            
say_reward("Πές μου πως θα ήθελες να είναι η στολή σου.:"
            
say_size(350330
            
local sihastre_list select("Κόκκινο εφέ","Μπλέ εφέ","Κίτρινο εφέ","Πορτοκαλί εφέ","Ακύρωση"
            if 
sihastre_list == 5 then 
                
return 
            
end 
            
if sihastre_list == 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η στολή που θα ήθελες είναι για άνδρες ή"
                
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]"
                
local sex_costume select(" Άνδρες ","Γυναίκες ","Ακύρωση"
                if 
sex_costume == and pc.count_item(41521) >= 1 then 
                    pc
.remove_item(415211
                    
pc.setqf("sihastru_masculin"1
                    
pc.setqf("soul_of_awheh"1
                    
set_state("shining_red"
                elseif 
sex_costume == and pc.count_item(41521) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume ==  and pc.count_item(41522) >= 1 then 
                    pc
.remove_item(415221
                    
pc.setqf("sihastru_feminin"1
                    
pc.setqf("soul_of_awheh"1
                    
set_state("shining_red"
                elseif 
sex_costume ==  and pc.count_item(41522) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume == 3 then 
                    
return 
                
end 
            end 
            
if sihastre_list == 2 then 
                say
("Η στολή που θα ήθελες είναι για άνδρες ή"
                
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]"
                
local sex_costume select(" Άνδρα "," Γυναίκα ","Ακύρωση"
                if 
sex_costume == and pc.count_item(41525) >= 1 then 
                    pc
.remove_item(415251
                    
pc.setqf("sihastru_masculin"1
                    
pc.setqf("soul_of_beran"1
                    
set_state("shining_blue"
                elseif 
sex_costume == and pc.count_item(41525) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume ==  and pc.count_item(41526) >= 1 then 
                    pc
.remove_item(415261
                    
pc.setqf("sihastru_feminin"1
                    
pc.setqf("soul_of_beran"1
                    
set_state("shining_blue"
                elseif 
sex_costume ==  and pc.count_item(41526) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume == 3 then 
                    
return 
                
end 
            end 
            
if sihastre_list == 3 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η στολή που θα ήθελες είναι για άνδρες ή"
                
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]"
                
local sex_costume select(" άνδρα ","Γυναίκα","Ακύρωση"
                if 
sex_costume == and pc.count_item(41529) >= 1 then 
                    pc
.remove_item(415291
                    
pc.setqf("sihastru_masculin"1
                    
pc.setqf("soul_of_eoten"1
                    
set_state("shining_green"
                elseif 
sex_costume == and pc.count_item(41529) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume ==  and pc.count_item(41530) >= 1 then 
                    pc
.remove_item(415301
                    
pc.setqf("sihastru_feminin"1
                    
pc.setqf("soul_of_eoten"1
                    
set_state("shining_green"
                elseif 
sex_costume ==  and pc.count_item(41530) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume == 3 then 
                    
return 
                
end 
            end 
            
if sihastre_list == 4 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η στολή που θα ήθελες είναι για άνδρες ή"
                
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]"
                
local sex_costume select("άνδρα ","Γυναίκα ","Ακύρωση"
                if 
sex_costume == and pc.count_item(41533) >= 1 then 
                    pc
.remove_item(415331
                    
pc.setqf("sihastru_masculin"1
                    
pc.setqf("soul_of_wubba"1
                    
set_state("shining_orange"
                elseif 
sex_costume == and pc.count_item(41533) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume ==  and pc.count_item(41534) >= 1 then 
                    pc
.remove_item(415341
                    
pc.setqf("sihastru_feminin"1
                    
pc.setqf("soul_of_wubba"1
                    
set_state("shining_orange"
                elseif 
sex_costume ==  and pc.count_item(41534) < 1 then 
                    say_title
("Φρουρά Πόλης[ENTER]"
                    
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]"
                
end 
                
if sex_costume == 3 then 
                    
return 
                
end 
            end 
        end 
    end 
    state shining_red begin 
        when letter begin 
            send_letter
("Η ψυχή του Aw-heh"
        
end 
        when button 
or info begin 
            say_title
("Η ψυχή του Aw-heh[ENTER]"
            
say("Για να μπορέσει η στολή σου να γίνει μοναδική"
            
say("χρειάζεται να βρείς την ψυχή του aw-heh."
            
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε"
            
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]"
            
say_reward("Αποστολή: Σκότωσε τον aw-heh για να πάρεις την ψυχή του.![ENTER]"
        
end 
        when 6091.kill with pc
.getqf("soul_of_awheh") == 1 begin 
            pc
.give_item2(910551
            
pc.delqf("soul_of_awheh"
            
set_state("shining_red_successfull"
        
end 
    end 
    state shining_blue begin 
        when letter begin 
            send_letter
("H ψυχή του Beran Setaou"
        
end 
        when button 
or info begin 
            say
("Για να μπορέσει η στολή σου να γίνει μοναδική"
            
say("χρειάζεται να βρείς την ψυχή του beran setaou."
            
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε"
            
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]"
            
say_reward("Αποστολή: Σκότωσε τον beran setaou για να πάρεις την ψυχή του.![ENTER]"
        
end 
        when 2493.kill with pc
.getqf("soul_of_beran") == 1 begin 
            pc
.give_item2(910561
            
pc.delqf("soul_of_beran"
            
set_state("shining_blue_successfull"
        
end 
    end 
    state shining_green begin 
        when letter begin 
            send_letter
("Η ψυχή του δάσους."
        
end 
        when button 
or info begin 
            say
("Για να μπορέσει η στολή σου να γίνει μοναδική"
            
say("χρειάζεται να βρείς την ψυχή του τέρατος που περιπανιέται."
            
say("στα Δάση."
            
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε"
            
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]"
            
say_reward("Αποστολή: Σκότωσε τον Γίγας για να πάρεις την ψυχή του.![ENTER]"
        
end 
        when 3902.kill with pc
.getqf("soul_of_eoten") == 1 begin 
            pc
.give_item2(910571
            
pc.delqf("soul_of_eoten"
            
set_state("shining_green_successfull"
        
end 
    end 
    state shining_orange begin 
        when letter begin 
            send_letter
("Sufletul lui Wubba"
        
end 
        when button 
or info begin 
            say
("Για να μπορέσει η στολή σου να γίνει μοναδική"
            
say("χρειάζεται να βρείς την ψυχή του  βασιλιά Γουομπα."
            
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε"
            
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]"
            
say_reward("Αποστολή: Σκότωσε τον βασιλιά Γουομπα για να πάρεις την ψυχή του.![ENTER]"
        
end 
        when 3791.kill with pc
.getqf("soul_of_wubba") == 1 begin 
            pc
.give_item2(910581
            
pc.delqf("soul_of_wubba"
            
set_state("shining_orange_successfull"
        
end 
    end 
    state shining_red_successfull begin 
        when letter begin 
            local v 
find_npc_by_vnum(20354
            if 
!= 0 then 
                target
.vid("gardian"v"Gardian"
            
end 
            send_letter
("Επισκέψου τη Φρουρά Πόλης"
        
end 
        when button 
or info begin 
            say_title
("Επισκέψου τη Φρουρά Πόλης[ENTER]"
            
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη"
            
say("στολή αυτή."
            
say("Πάντα πίστευα σε εσένα![ENTER]"
        
end 
        when gardian
.target.click or 20354.chat."Δολοφονία του Aw-Heh" begin 
            target
.delete("gardian"
            if 
pc.getqf("sihastru_masculin") == and pc.count_item(91055) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή του Aw-Heh![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_masculin") == and pc.count_item(91055) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41523
                
pc.give_item2(415231
                
pc.remove_item(910551
                
pc.delqf("sihastru_masculin"
                
set_state("__INFORMATIONS__"
                return 
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91055) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή του Aw-Heh![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91055) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41524
                
pc.give_item2(415241
                
pc.remove_item(910551
                
pc.delqf("sihastru_feminin"
                
set_state("__INFORMATIONS__"
                return 
            
end 
        end 
    end 
    state shining_blue_successfull begin 
        when letter begin 
            local v 
find_npc_by_vnum(20354
            if 
!= 0 then 
                target
.vid("gardian"v"Gardian"
            
end 
            send_letter
("Επισκέψου τη Φρουρά Πόλης"
        
end 
        when button 
or info begin 
            say_title
("Επισκέψου τη Φρουρά Πόλης[ENTER]"
            
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη"
            
say("στολή αυτή."
            
say("Πάντα πίστευα σε εσένα![ENTER]"
        
end 
        when gardian
.target.click or 20354.chat."Η ψυχή του Beran Setaou" begin 
            target
.delete("gardian"
            if 
pc.getqf("sihastru_masculin") == and pc.count_item(91056) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή του Beran Setaou![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_masculin") == and pc.count_item(91056) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41527
                
pc.give_item2(415271
                
pc.remove_item(910561
                
pc.delqf("sihastru_masculin"
                
set_state("__INFORMATIONS__"
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91056) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή τουBeran Setaou![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91056) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41528
                
pc.give_item2(415281
                
pc.remove_item(910561
                
pc.delqf("sihastru_feminin"
                
set_state("__INFORMATIONS__"
            
end 
        end 
    end 
    state shining_green_successfull begin 
        when letter begin 
            local v 
find_npc_by_vnum(20354
            if 
!= 0 then 
                target
.vid("gardian"v"Gardian"
            
end 
            send_letter
("Επισκέψου τη Φρουρά Πόλης"
        
end 
        when button 
or info begin 
            say_title
("Επισκέψου τη Φρουρά Πόλης[ENTER]"
            
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη"
            
say("στολή αυτή."
            
say("Πάντα πίστευα σε εσένα![ENTER]"
        
end 
        when gardian
.target.click or 20354.chat."Ψυχή του Eoten" begin 
            target
.delete("gardian"
            if 
pc.getqf("sihastru_masculin") == and pc.count_item(91057) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή του Eoten![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_masculin") == and pc.count_item(91057) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41531
                
pc.give_item2(415311
                
pc.remove_item(910571
                
pc.delqf("sihastru_masculin"
                
set_state("__INFORMATIONS__"
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91057) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή τουEoten![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91057) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41532
                
pc.give_item2(415321
                
pc.remove_item(910571
                
pc.delqf("sihastru_feminin"
                
set_state("__INFORMATIONS__"
            
end 
        end 
    end 
    state shining_orange_successfull begin 
        when letter begin 
            local v 
find_npc_by_vnum(20354
            if 
!= 0 then 
                target
.vid("gardian"v"Gardian"
            
end 
            send_letter
("Επισκέψου τη Φρουρά Πόλης"
        
end 
        when button 
or info begin 
            say_title
("Επισκέψου τη Φρουρά Πόλης[ENTER]"
            
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη"
            
say("στολή αυτή."
            
say("Πάντα πίστευα σε εσένα![ENTER]"
        
end 
        when gardian
.target.click or 20354.chat."Η ψυχή του βασιλιά" begin 
            target
.delete("gardian"
            if 
pc.getqf("sihastru_masculin") == and pc.count_item(91058) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή τουWubba![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_masculin") == and pc.count_item(91058) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41535
                
pc.give_item2(415351
                
pc.remove_item(910581
                
pc.delqf("sihastru_masculin"
                
set_state("__INFORMATIONS__"
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91058) < 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Έχεις πλέον την ψυχή τουWubba![ENTER]"
                return 
            
end 
            
if pc.getqf("sihastru_feminin") == and pc.count_item(91058) >= 1 then 
                say_title
("Φρουρά Πόλης[ENTER]"
                
say("Η δημιουργία της στολής ήταν επιτυχής.!"
                
say("Θα λάβεις:"
                
say_item_vnum(41536
                
pc.give_item2(415361
                
pc.remove_item(910581
                
pc.delqf("sihastru_feminin"
                
set_state("__INFORMATIONS__"
            
end 
        end 
    end 
end

/SPOILER]
hacker-2012 is offline  
Old 05/16/2017, 17:12   #12521

 
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
Ich würde gern ein Item haben, was ein Spiziellen Boni aus dem Item holt und das dann auf ein anderes setzen kann.

Angenommen Waffe :
INT : 10
ZS: 10
Krit: 15
DB:10
Tiere: 10 <---- das will ich ändern, mit einem Item und das eintauschen gg HM

Ich such schon seit std nach so einer Quest / DB change or what ever

Hat wer ne idee?
Valerius1992 is offline  
Old 05/17/2017, 20:43   #12522


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,634
Received Thanks: 1,637
Quote:
Originally Posted by Valerius1992 View Post
Ich würde gern ein Item haben, was ein Spiziellen Boni aus dem Item holt und das dann auf ein anderes setzen kann.

Angenommen Waffe :
INT : 10
ZS: 10
Krit: 15
DB:10
Tiere: 10 <---- das will ich ändern, mit einem Item und das eintauschen gg HM

Ich such schon seit std nach so einer Quest / DB change or what ever

Hat wer ne idee?
Das ist eine Aufgabe für die Source bzw benötigst du entweder Source oder eine passende DIF datei. Wobei dir dafür keiner einer DIF erstellen wird, da dies viel zu auffwendig wäre.

Es ist weder per Quest noch durch veränderungen der Client datein möglich..

Grüße Ben
Benhero is offline  
Old 05/19/2017, 00:37   #12523

 
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
Ich hab ein Neues Problem:

Wie schaff ich es, das hier die 24 Stunden raus genommen werden, das ich das pferd nach meiner Abgabe der PM bekomme?


Code:
quest pony_buy begin
	state start begin
		when 20349.chat.gameforge.pony_buy._10_npcChat with horse.get_grade()==0 begin
			if pc.level<=24 then
				say_title(gameforge.horse_exchange_ticket._20_sayTitle)
				say(gameforge.pony_buy._20_say)
			elseif pc.countitem("50050")<1 then
				say_title(gameforge.horse_levelup._240_sayTitle)
				say(gameforge.pony_buy._30_say)
				setstate(need_item50050)
			elseif pc.countitem("50050")>=1 and pc.level>=25 then
				say_title(gameforge.horse_levelup._240_sayTitle)
				say(gameforge.pony_buy._40_say)
				local b= select(gameforge.find_brother_article._90_select, gameforge.find_brother_article._100_select)
				if 1==b then
					if pc.countitem("50050")>=1 then
						pc.removeitem("50050", 1)
						setstate(test)
					end
				elseif 2==b then
					say_title(gameforge.horse_exchange_ticket._20_sayTitle)
					say(gameforge.pony_buy._50_say)
				else
					say(string.format(gameforge.find_squareguard._70_say, b))
				end
			else
				say_title(gameforge.horse_exchange_ticket._20_sayTitle)
				say(gameforge.pony_buy._60_say)
			end
		end
	end
	state need_item50050 begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton(gameforge.horse_upgrade2._100_makequestbutton)
			q.set_title(gameforge.horse_upgrade2._100_makequestbutton)
			q.start()
		end
		when button begin
			say_title(gameforge.buy_fishrod._210_sayTitle)
						say_reward(gameforge.pony_buy._70_sayReward)
			setstate(start)
			q.done()
		end
		when info begin
			say_title(gameforge.buy_fishrod._210_sayTitle)
						say_reward(gameforge.pony_buy._70_sayReward)
			setstate(start)
			q.done()
		end
	end
	state test begin
		when letter begin
			q.set_counter(gameforge.pony_buy._test_503_count, 20-pc.getqf("kill_count"))
		end
		when 503.kill begin
			pc.setqf("kill_count", pc.getqf("kill_count")+1)
			q.set_counter(gameforge.pony_buy._test_503_count, 20-pc.getqf("kill_count"))
			if get_time()>=pc.getqf("limit_time") then
				setstate(failure)
			end
		end
		when letter begin
			q.set_clock(gameforge.horse_upgrade2.rest_time, pc.getqf("limit_time")-get_time())
		end
		when enter begin
			pc.setqf("limit_time", get_time()+30*60)
			pc.setqf("kill_count", 0)
		end
		when leave begin
			q.done()
		end
		when letter begin
			setskin(NOWINDOW)
			makequestbutton(gameforge.pony_buy._80_makequestbutton)
			q.set_title(gameforge.pony_buy._80_makequestbutton)
			q.start()
		end
		when button begin
			say_title(gameforge.pony_buy._80_makequestbutton)
						say_reward(gameforge.pony_buy._90_sayReward)
					end
		when info begin
			say_title(gameforge.pony_buy._80_makequestbutton)
			say(gameforge.pony_buy._100_say)
		end
		when 503.kill with pc.getqf("kill_count") >= 20 and pc.getqf("limit_time")>=get_time() begin
			setstate(report)
		end
		when 20349.chat.gameforge.pony_buy._110_npcChat with horse.get_grade()!=0 begin
			setstate(start)
			q.done()
		end
		when 20349.chat.gameforge.pony_buy._120_npcChat begin
			say_title(gameforge.horse_exchange_ticket._20_sayTitle)
						say_reward(gameforge.pony_buy._130_sayReward)
						local b= select(gameforge.locale.levelup.prev_quest_go, gameforge.pony_buy._140_select)
			if 1==b then
			elseif 2==b then
				say_title(gameforge.horse_exchange_ticket._20_sayTitle)
				say(gameforge.pony_buy._150_say)
				local b= select(gameforge.locale.guild.yes, gameforge.pony_buy._160_select)
				if 1==b then
					say_title(gameforge.horse_exchange_ticket._20_sayTitle)
					say(gameforge.pony_buy._170_say)
					setstate(start)
					q.done()
				elseif 2==b then
					say_title(gameforge.pony_buy._180_sayTitle)
					say(gameforge.pony_buy._190_say)
				else
					say(string.format(gameforge.find_squareguard._70_say, b))
				end
			else
				say(string.format(gameforge.find_squareguard._70_say, b))
			end
		end
	end
	state report begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton(gameforge.horse_upgrade2._230_makequestbutton)
			q.set_title(gameforge.horse_upgrade2._230_makequestbutton)
			q.start()
		end
		when button begin
			say_title(gameforge.horse_upgrade2._230_makequestbutton)
						say_reward(gameforge.horse_upgrade2._240_sayReward)
					end
		when info begin
			say_title(gameforge.horse_upgrade2._230_makequestbutton)
						say_reward(gameforge.horse_upgrade2._240_sayReward)
					end
		when 20349.chat.gameforge.horse_upgrade2._250_npcChat with horse.get_grade()!=0 begin
			setstate(start)
			q.done()
		end
		when 20349.chat.gameforge.horse_upgrade2._260_npcChat with horse.get_grade()==0 begin
			say_title(gameforge.horse_exchange_ticket._20_sayTitle)
			say(gameforge.pony_buy._200_say)
			if is_test_server() then
				pc.setqf("make_time", get_time()+10)
			else
				pc.setqf("make_time", get_time()+number(8, 16)*60*60)
			end
			setstate(wait)
		end
	end
	state wait begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton(gameforge.pony_buy._210_makequestbutton)
			q.set_title(gameforge.pony_buy._210_makequestbutton)
			q.start()
		end
		when button begin
			say_title(gameforge.pony_buy._210_makequestbutton)
			say(gameforge.pony_buy._220_sayReward)
		end
		when info begin
			say_title(gameforge.pony_buy._210_makequestbutton)
			say(gameforge.pony_buy._220_sayReward)
		end
		when login with get_time()>=pc.getqf("make_time") begin
			setstate(buy)
		end
		when 20349.chat.gameforge.horse_upgrade2._250_npcChat with horse.get_grade()!=0 begin
			setstate(start)
			q.done()
		end
		when 20349.chat.gameforge.pony_buy._230_npcChat with horse.get_grade()==0 begin
			say_title(gameforge.horse_exchange_ticket._20_sayTitle)
			say(gameforge.pony_buy._240_say)
		end
	end
	state buy begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton(gameforge.pony_buy._250_makequestbutton)
			q.set_title(gameforge.pony_buy._250_makequestbutton)
			q.start()
		end
		when button begin
			say_title(gameforge.pony_buy._250_makequestbutton)
			say(gameforge.pony_buy._260_sayReward)
		end
		when info begin
			say_title(gameforge.pony_buy._250_makequestbutton)
			say(gameforge.pony_buy._260_sayReward)
		end
		when 20349.chat.gameforge.pony_buy._270_npcChat with horse.get_grade()==0 and get_time()>=pc.getqf("make_time") begin
			say_title(gameforge.pony_buy._280_sayTitle)
			say(gameforge.pony_buy._290_say)
			local b= select(gameforge.buy_fishrod._40_select, gameforge.pony_buy._300_select, gameforge.pony_buy._140_select)
			if 1==b then
				if pc.money>=100000 then
					char_log(0, " HORSE_BUY", "BEGIN")
					pc.changemoney(-100000)
					char_log(0, " HORSE_BUY", " DEC money 100000")
					horse.unride()
					horse.advance()
					horse.ride()
					char_log(0, " HORSE_BUY", "INC horse_advance 1")
					pc.give_item2("50051", 1)
					char_log(0, " HORSE_BUY", "INC 50051 1")
					char_log(0, " HORSE_BUY", "END")
					say_title(gameforge.horse_exchange_ticket._20_sayTitle)
					say(gameforge.pony_buy._310_say)
					setstate(start)
					q.done()
				else
					say_title(gameforge.horse_exchange_ticket._20_sayTitle)
					say(gameforge.pony_buy._320_say)
				end
			elseif 2==b then
				say_title(gameforge.horse_exchange_ticket._20_sayTitle)

				say(gameforge.pony_buy._330_say)
			elseif 3==b then
				say_title(gameforge.horse_exchange_ticket._20_sayTitle)
				say(gameforge.pony_buy._340_say)
				local b= select(gameforge.locale.guild.yes, gameforge.pony_buy._350_select)
				if 1==b then
					setstate(start)
				elseif 2==b then
				else
					say(string.format(gameforge.find_squareguard._70_say, b))
				end
			else
				say(string.format(gameforge.find_squareguard._70_say, b))
			end
		end
	end
	state failure begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton(gameforge.pony_buy._360_makequestbutton)
			q.set_title(gameforge.pony_buy._360_makequestbutton)
			q.start()
		end
		when button begin
			say_title(gameforge.pony_buy._360_makequestbutton)
						say_reward(gameforge.pony_buy._370_sayReward)
						say_reward(gameforge.pony_buy._380_sayReward)
			setstate(start)
			q.done()
		end
		when info begin
			say_title(gameforge.pony_buy._360_makequestbutton)
						say_reward(gameforge.pony_buy._370_sayReward)
						say_reward(gameforge.pony_buy._380_sayReward)
			setstate(start)
			q.done()
		end
	end
	state __COMPLETE__ begin
		when enter begin
			q.done()
		end
	end
end
Valerius1992 is offline  
Old 05/30/2017, 04:14   #12524
 
elite*gold: 0
Join Date: Feb 2016
Posts: 1
Received Thanks: 0
Help

Pleeease Help

0530 04:08:16765 :: Traceback (most recent call last):

0530 04:08:16765 :: File "ui.py", line 617, in OnSetFocus

0530 04:08:16765 :: AttributeError
0530 04:08:16765 :: :
0530 04:08:16765 :: 'module' object has no attribute 'EnableCaptureInput'
0530 04:08:16765 ::

0530 04:08:17790 :: granny_shared_vbs:
0530 04:08:17790 :: 0: 40
0530 04:08:17794 :: 1: 20
0530 04:08:17794 :: 2: 20
0530 04:08:17795 :: 3: 40
0530 04:08:17795 :: 4: 0
0530 04:08:17795 :: 5: 20
0530 04:08:17796 :: 6: 0
0530 04:08:17796 :: 7: 0
0530 04:08:17796 :: 8: 0
OrvRoli is offline  
Old 05/30/2017, 12:16   #12525

 
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
Ich habe ein Problem.

Meine Pferdequest sollte eig gehen, dennoch kann man kein Pferd rufen wen das pferd lvl 2 oder höher ist,
Miligaul haben wir getestet ( 21 ) Das geht auf jeden fall

Dennoch, Wo kann ich das genau umstellen das das Pferdebild es rufen kann, denn im cha steht nicht mal eine fehler meldung das ich es nicht rufen kann, oder nicht mal "ERROR"

Hier meine Questen die ich im moment für die PM-Quest und co habe:

Pony_levelup.quest



pony_buy.quest

Valerius1992 is offline  
Reply




All times are GMT +1. The time now is 03:48.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.