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 ankieta


Rekomendowane odpowiedzi

Opublikowano

Potrzebuje questa ankiety.

Działanie:

1.Po dobiciu 70lvl otrzymujemy wiadomość na pasku questów ze mamy zgłosić się do uriela (npc dowolny).

2.Po kliknięciu na uriela wyświetlają nam się krótkie info odnosnie questa i po kolei pytania z możliwością odpowiedzi tak lub nie (10 pytań bym potrzebował).

3.W zależności od odpowiedzi quest wysyła dane do bazy danych.

Mam tabelę player.ankieta w której są kolumny:

id, p0,p0t,p0n, p1,p1t,p1n, p2,p2t,p2n itd... do p9,p91,p91

 

Przykładowo jeżeli ktoś na pierwsze pytanie odpowie tak, to quest wysyła liczbę 1 (zwiększa o 1) do tabeli player.ankieta do kolumny p0t.

Przykładowo jeżeli ktoś na dziesiąte pytanie odpowie nie, to quest wysyła liczbę 1 (zwiększa o 1 wartość w p9n) do tabeli player.ankieta do kolumny p9n.

Pytania może pobierać z bazy danych ale nie musi (pytanie znajduje się w p0, p1, p2 itd).

 

Dwudniowy limit like'ów (30).

Opublikowano

Spróboj tego:

 

 

http://wklej.to/L1H4l

Zmień tylko

 

pc.do_mysql_query

na funkcje jakiej uzywasz to wysyłania zapytań.

Opublikowano

@Hardkorrek

Jednak nie jest tak jak bym chciał.

Bo ty zrobiłeś że, quest wysyła dane do "player.ankieta" dla każdego gracza osobno, tworzy dodatkowe wiersze w tabeli.

Mi chodziło aby był tylko 1 wiersz o id 1(jakiś primary key aby navi nie darł mordy że ma error) i aby tam były wpisywane dane.

 

O co dokładni mi chodzi:

 

 

To jest tabela, tak powinny wyglądać przykładowe dane (tabelę już mam):

<id>1</id>
<p0>pytanie1</p0>
<p0t>0</p0t>
<p0n>0</p0n>
<p1>pytanie2</p1>
<p1t>0</p1t>
<p1n>0</p1n>
<p2>pytanie3</p2>
<p2t>0</p2t>
<p2n>0</p2n>
<p3>pytanie4</p3>
<p3t>0</p3t>
<p3n>0</p3n>
<p4>pytanie5</p4>
<p4t>0</p4t>
<p4n>0</p4n>
<p5>pytanie6</p5>
<p5t>0</p5t>
<p5n>0</p5n>
<p6>pytanie7</p6>
<p6t>0</p6t>
<p6n>0</p6n>
<p7>pytanie8</p7>
<p7t>0</p7t>
<p7n>0</p7n>
<p8>pytanie9</p8>
<p8t>0</p8t>
<p8n>0</p8n>
<p9>pytanie10</p9>
<p9t>0</p9t>
<p9n>0</p9n>

Kiedy pierwszy gracz wypełni ankiete wszystko na tak, tabela powinna wyglądać tak:

<id>1</id>
<p0>pytanie1</p0>
<p0t>1</p0t>    ---dodaje do tej kolumny tabeli gdy pytanie 1 = tak
<p0n>0</p0n>
<p1>pytanie2</p1>
<p1t>1</p1t>    ---dodaje do tej kolumny tabeli gdy pytanie 2 = tak...itd
<p1n>0</p1n>
<p2>pytanie3</p2>
<p2t>1</p2t>
<p2n>0</p2n>
<p3>pytanie4</p3>
<p3t>1</p3t>
<p3n>0</p3n>
<p4>pytanie5</p4>
<p4t>1</p4t>
<p4n>0</p4n>
<p5>pytanie6</p5>
<p5t>1</p5t>
<p5n>0</p5n>
<p6>pytanie7</p6>
<p6t>1</p6t>
<p6n>0</p6n>
<p7>pytanie8</p7>
<p7t>1</p7t>
<p7n>0</p7n>
<p8>pytanie9</p8>
<p8t>1</p8t>
<p8n>0</p8n>
<p9>pytanie10</p9>
<p9t>1</p9t>
<p9n>0</p9n>

kiedy drugi gracz wypełni 5 pierwszych pytań tak, pięć następnych nie:

<id>1</id>
<p0>pytanie1</p0>
<p0t>2</p0t>
<p0n>0</p0n>
<p1>pytanie2</p1>
<p1t>2</p1t>
<p1n>0</p1n>
<p2>pytanie3</p2>
<p2t>2</p2t>
<p2n>0</p2n>
<p3>pytanie4</p3>
<p3t>2</p3t>
<p3n>0</p3n>
<p4>pytanie5</p4>
<p4t>2</p4t>
<p4n>0</p4n>
<p5>pytanie6</p5>
<p5t>1</p5t>
<p5n>1</p5n>
<p6>pytanie7</p6>
<p6t>1</p6t>
<p6n>1</p6n>
<p7>pytanie8</p7>
<p7t>1</p7t>
<p7n>1</p7n>
<p8>pytanie9</p8>
<p8t>1</p8t>
<p8n>1</p8n>
<p9>pytanie10</p9>
<p9t>1</p9t>
<p9n>1</p9n>

 

 

 

Możesz poprawić, aby już wszystko było na gotowe?

Nie wiem jaka funkcja dokładnie odpowiada za wysyłanie do bazy ale, w quescie na kupony sm mam tak:

when 80014.use begin
			local ilosc2 = 100
			query("UPDATE account.account SET coins=coins+"..ilosc2.." WHERE login='"..pc.get_account().."';")
			chat("Na Twoje konto zostalo dodane "..ilosc2.." SM! Wejdz na strone serwera aby dokonac zakupów.")
			item.remove()
		end

Gdybym wiedział jak po kolei te pytania zrobić to bym to zrobił tak

dla pytania 1 gdy tak 
query("UPDATE player.ankieta SET p0t=p0t+1")
dla pytania 1 gdy nie
query("UPDATE player.ankieta SET p0n=p0n+1")
dla pytania 2 gdy tak
query("UPDATE player.ankieta SET p1t=p1t+1")
dla pytania 2 gdy nie
query("UPDATE player.ankieta SET p1n=p1n+1")


itd....

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...