Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Quest + DL] Pistolet


Maliusek1

Rekomendowane odpowiedzi

Opublikowano

1.Na czym quest polega?

Kiedy klikniemy w item o ID 99002 (w tym przypadku Pistolet), ukaże nam się okno, w którym podając nick gracza, możemy go zabić, przy okazji jest licznik który liczy ile takich osób już zabiiśmy.

W nim znajduje się warunek, a którym możemy ustawić aby się nie dało zabić gracza o danym nicku, np.[GA]The. Nick wyjątków zmieniamy w elseif s == "[GA]The" and s == "[GM]Ktos" then, pomiędzy cudzysłowami.

 

zdjecia2.png

 

2.Treść questa:

quest pistolet begin
state start begin
when 99002.use begin
say_title("Uniwersalny pistolet")
say_blekit("Możesz zabić natychmiastowo jaką chcesz osobę...")
say_blekit("Aby to uczynić, wystarczy, że podasz jego imię.")
say("")
say("")
say_limonka("Do tej pory zabiłeś ludzi: "..pc.getqf("pistolet_liczba"))
say("")
say_reward("Pamiętaj,[ENTER]jak wpiszesz złe imie gracza to przedmiot zniknie!")
local wybor=select("Chcę zabić!","Nie chcę zabić!")
if wybor == 1 then
say_zloto("Wpisz imię gracza, którego chcesz zabić:")
local zabojca=pc.get_name()
local s=input()
if s == "" then
say_blekit("Wpisz imię gracza!")

elseif s == "[GA]The" and s == "[GM]Ktos" then
say_blekit("Nie możesz zabić administratora!")
elseif s=="" then
say_blekit("Musisz wpisać imię gracza!")
elseif get_time() > pc.getqf("pistolet") then
command("kill "..s)
say_blekit("Zabiłeś gracza: "..s.." !")
pc.remove_item(99002, 1)
pc.setqf("pistolet_liczba", pc.getqf("pistolet_liczba")+1)
end
elseif wybor == 2 then
return
end
end
end
end

 

3.Dodanie nowego przedmiotu

zdjecia1.png

Download:

http://www.multiupload.com/PCN1CEDP8H

Skan:

http://www.virustotal.com/file-scan/report.html?id=2b9ede938ac2baa3f57077ddc4f1766504c44b780aa1956036540e0457378f54-1325361803

Aby dodać nowy przedmiot należy wprowadzić odpowiednie wpisy do bazy i klienta.

 

 

item_proto (klient):

<Item vnum="99002" name="x1" gb2312name="Pistolet" type="18" subtype="0" weight="0" size="1" antiflag="74112" flag="8196" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="64864" socket2="127" socket3="65008" socket4="21631" socket5="4855" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" />

 

item_list (klient):

99002 ETC icon/item/99002.tga

 

icon (klient):

<File archivedPath="icon/item/99002.tga" type="2"><![CDATA[C:\Users\The_2\Desktop\surface paczka\icon\item\99002.tga]]></File>

 

itemdesc (klient):

99002 Pistolet Niebezpieczna broń. Dzięki niemu możesz zabić dowolną osobę.

 

item_proto (mysql):

INSERT INTO `item_proto` VALUES (99002, 'Pistolet', 'Pistolet', 18, 10, 0, 1, 0, 8196, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0);

 

 

Poradnik, quest, item w całości zrobiony przez Maliusek1 (The).

Proszę nie stwarzać dyskusji na temat, że pistolet nie pasuje w grze itp., jest to quest i przedmiot dla tych, którzy chcą mieć go na swoim serwerze.

Quest bez kolorów:

 


quest pistolet begin
state start begin
when 99002.use begin
say_title("Uniwersalny pistolet")
say("Możesz zabić natychmiastowo jaką chcesz osobę...")
say("Aby to uczynić, wystarczy, że podasz jego imię.")
say("")
say("")
say("Do tej pory zabiłeś ludzi: "..pc.getqf("pistolet_liczba"))
say("")
say_reward("Pamiętaj,[ENTER]jak wpiszesz złe imie gracza to przedmiot zniknie!")
local wybor=select("Chcę zabić!","Nie chcę zabić!")
if wybor == 1 then
say("Wpisz imię gracza, którego chcesz zabić:")
local zabojca=pc.get_name()
local s=input()
if s == "" then
say("Wpisz imię gracza!")

elseif s == "[GA]The" and s == "[GM]Ktos" then
say("Nie możesz zabić administratora!")
elseif s=="" then
say("Musisz wpisać imię gracza!")
elseif get_time() > pc.getqf("pistolet") then
command("kill "..s)
say("Zabiłeś gracza: "..s.." !")
pc.remove_item(99002, 1)
pc.setqf("pistolet_liczba", pc.getqf("pistolet_liczba")+1)

end
elseif wybor == 2 then
return
end
end
end
end

 

Bye !

Opublikowano

Pam pam pam..

 

"say_zloto" - dlaczego uważasz, że każdy ma to wgrane?

"musisz odczekać 5 minut" - po co, skoro to opcja tylko dla gm?

Dlaczego nie ma sprawdzania czy dany gracz jest zalogowany?

Dlaczego usuwa item nawet jak nie wpiszemy nic do inputa?

 

Popraw go troszkę..

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

@Nigahiga

 

A nie pomyślałeś że tu chodzi o to, że na serwerze się ma 2 GM, np. jeden o nicku [GA]The a drugi o nazwie [GM]Ktos, a tu chodzi o dodawanie wyjątków, dodanie następnego wyjątku bedzie wyglądało tak: and s =="nick"

 

@Sunushi

Questa już poprawię, dzięki za przypomnienie.

 

Poprawiony quest z pustym inputem:

 


quest pistolet begin
state start begin
when 99002.use begin
say_title("Uniwersalny pistolet")
say_blekit("Możesz zabić natychmiastowo jaką chcesz osobę...")
say_blekit("Aby to uczynić, wystarczy, że podasz jego imię.")
say("")
say("")
say_limonka("Do tej pory zabiłeś ludzi: "..pc.getqf("pistolet_liczba"))
say("")
say_reward("Pamiętaj,[ENTER]jak wpiszesz złe imie gracza to przedmiot zniknie!")
local wybor=select("Chcę zabić!","Nie chcę zabić!")
if wybor == 1 then
say_zloto("Wpisz imię gracza, którego chcesz zabić:")
local zabojca=pc.get_name()
local s=input()
if s == "" then
say_blekit("Wpisz imię gracza!")

elseif s == "[GA]The" and s == "[GM]Ktos" then
say_blekit("Nie możesz zabić administratora!")
elseif s=="" then
say_blekit("Musisz wpisać imię gracza!")
elseif get_time() > pc.getqf("pistolet") then
command("kill "..s)
say_blekit("Zabiłeś gracza: "..s.." !")
pc.remove_item(99002, 1)
pc.setqf("pistolet_liczba", pc.getqf("pistolet_liczba")+1)
end
elseif wybor == 2 then
return
end
end
end
end

 

 

Quest bez kolorów:

 


quest pistolet begin
state start begin
when 99002.use begin
say_title("Uniwersalny pistolet")
say("Możesz zabić natychmiastowo jaką chcesz osobę...")
say("Aby to uczynić, wystarczy, że podasz jego imię.")
say("")
say("")
say("Do tej pory zabiłeś ludzi: "..pc.getqf("pistolet_liczba"))
say("")
say_reward("Pamiętaj,[ENTER]jak wpiszesz złe imie gracza to przedmiot zniknie!")
local wybor=select("Chcę zabić!","Nie chcę zabić!")
if wybor == 1 then
say("Wpisz imię gracza, którego chcesz zabić:")
local zabojca=pc.get_name()
local s=input()
if s == "" then
say("Wpisz imię gracza!")

elseif s == "[GA]The" and s == "[GM]Ktos" then
say("Nie możesz zabić administratora!")
elseif s=="" then
say("Musisz wpisać imię gracza!")
elseif get_time() > pc.getqf("pistolet") then
command("kill "..s)
say("Zabiłeś gracza: "..s.." !")
pc.remove_item(99002, 1)
pc.setqf("pistolet_liczba", pc.getqf("pistolet_liczba")+1)
end
elseif wybor == 2 then
return
end
end
end
end

 

Opublikowano

Dalej nie myślisz...

 

Piszesz

że na serwerze się ma 2 GM, np. jeden o nicku [GA]The a drugi o nazwie [GM]Ktos, a tu chodzi o dodawanie wyjątków

Sam piszesz "a drugi" a nie "i drugi" czyni "or" a nie "and" ....

50596142255057180250.png

Opublikowano

Warunki łączy się, or, and, and not, bramki logiczne panie kolego z podstawówki "informatycznej"

 

Tłumacząc na język "chłopski" Twój warunek to brzmi on tak

jeżeli zmienna od s jest równa nazwie [GA]The i jest też równa nazwie [GM]Ktos to ... Wyświetl, że nie możesz go zabić. Koniec.

 

Proste, or się kłania.

50596142255057180250.png

Opublikowano

Jeśli s == coś i s == coś2 wtedy - to się nigdy nie wykona

Jeśli s == coś lub s == coś2 wtedy - to się wykona.

 

i - and

lub - or

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Poza tym, 10x szybciej byłoby po prostu wpisać /kill nick, po chuj grzebać się w jakieś rankingi i inne niepotrzebne nikomu badziewie, które i tak nie będzie służyć zwykłemu graczowi? Poza tym, jaki normalny GM wkurwia graczy zabijając ich i jeszcze mając z tego podnietę, że dostanie się wyżej do rankingu? ^^


 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...