Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Procentowy stan wykonanego zadania.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1 Eldo.

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
  • Imię:Rafał
  • Lokalizacja:Kietlin
Offline

Napisano 08.09.2013 21:38

Cześć.

Posiadam ten plugin:

link:  http://amxx.pl/topic...mmisje-zadania/

Dokładnie chodzi mi o:

Opisze quest z dmg.

Aktualnie w pluginie jest tak, gdy gracz ma zadać 500 dmg wyświetla: "350/500" a mi chodzi aby obliczało procentowo tak jak z expe'm na cod mod czy diablo.

Mam nadzieje, że każdy wie o co chodzi.

Z góry dzięki.

 


  • +
  • -
  • 0

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 09.09.2013 19:36

Chcesz żeby Ci to przerobić czy pokazać jak zrobić?

Działanie powinno wyglądać tak:

x = postęp misji
y = wymagany postęp misji
z = procentowy postęp misji
 
z = x/y * 100.0

Wyobraź to sobie w kodzie (nie zerkałem do niego) i dodaj wynik w odpowiednie miejsce wyobrażając sobie jak powinien wyglądać cały kod.


  • +
  • -
  • 1

#3 Eldo.

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
  • Imię:Rafał
  • Lokalizacja:Kietlin
Offline

Napisano 09.09.2013 20:26

Kurde próboje przerobić ten kod ale cos nie moge: 
new ileMa = doswiadczenie_gracza[id],ilePotrzeba = doswiadczenie_poziomu[poziom_gracza[id]],ilePotrzebaBylo = poziom_gracza[id]-1 >= 0 ? doswiadczenie_poziomu[poziom_gracza[id]-1] : 0 new Float:fProcent = 0.0; fProcent = (float((ileMa - ilePotrzebaBylo)) / float((ilePotrzeba - ilePotrzebaBylo))) * 100.0;

Użytkownik maybe1love edytował ten post 09.09.2013 20:27

  • +
  • -
  • 0

#4 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 09.09.2013 20:32

To tak jak w przykładzie podałeś, dajmy że 350 to aktualny postęp, a 500 do wymagany postęp, wtedy kod będzie wyglądał tak:

350/500 * 100.0 = 70.0%

Tylko tam musisz podstawić zmienne, bo wiadomo wymagany postęp jest inny dla misji i zależny od pluginu rejestrującego Quest'a, a postęp zmienia się w różnych sytuacjach zależnie od rodzaju misji, np. jeżeli w misji chodzi o zabijanie, to z każdym fragiem zmienia sie postęp misji ;)

 

Tu nie trzeba kombinować tak jak w procentowym XP dla Cod'a


  • +
  • -
  • 1

#5 Eldo.

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
  • Imię:Rafał
  • Lokalizacja:Kietlin
Offline

Napisano 10.09.2013 13:00

Kurde, dalej nie wiem jak to zrobic ;c

Wiem, że się nie naucze jak dasz gotowca. Lecz jeszcze nie ten poziom abym mógł robić to. Dlatego proszę Cię o gotowca.

Za pomoc daje :plus:


  • +
  • -
  • 0

#6 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 10.09.2013 14:19

public MyInfo_QuestMenu(id, qid)
{
    new IQuest=menu_create("Decyzja","MyInfo_QuestMenu_Handle");
    menu_additem(IQuest,"Rezygnuje z Questa");
    menu_additem(IQuest,"Nie rezygnuje z Questa");
    new message[128];
    new iName[32], iRew[64], iOpis[256];
    ArrayGetString(g_QuestsDesc, qid, iOpis, 255);
    ArrayGetString(g_QuestsReward, qid, iRew, 63);
    ArrayGetString(g_QuestsName, qid, iName, 31);
    if(equal("-1", iRew, 2))
        format(message, 127, "^n\rNazwa: \y%s^n\rOpis: \y%s^n\rPostep: \y%0.2f", iName, iOpis, float(fArrayGetCell(g_QuestsProgress[id], qid))/float(ArrayGetCell(g_QuestsTarget, qid)) * 100.0);
    else
        format(message, 127, "^n\rNazwa: \y%s^n\rOpis: \y%s^n\rPostep: \y%0.2f^n\rNagroda: \y%s", iName, iOpis, float(fArrayGetCell(g_QuestsProgress[id], qid))/float(ArrayGetCell(g_QuestsTarget, qid)) * 100.0, iRew);
        
    menu_addtext(IQuest, message);
    g_ItemID[id]=qid;
    menu_setprop(IQuest,MPROP_EXIT,MEXIT_NEVER);
    menu_display(id, IQuest);
    return PLUGIN_HANDLED;
}

Podmień funkcje w pluginie, na tą wyżej.


Użytkownik d0naciak edytował ten post 10.09.2013 14:20

  • +
  • -
  • 1

#7 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 10.09.2013 15:49

%0.2f

na:

%0.2f%%

Tak dla lepszej czytelności ; ))


  • +
  • -
  • 2

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#8 Eldo.

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
  • Imię:Rafał
  • Lokalizacja:Kietlin
Offline

Napisano 10.09.2013 19:04

Zrobiłem hud z wyświetleniem nazwy + postęp questa.

To public:

 

public PokazInformacje(id, qid)
{
id -= ZADANIE_POKAZ_INFORMACJE;


new iName[32];
ArrayGetString(g_QuestsName, qid, iName, 31);


if(!is_user_alive(id))
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
return;
}


set_hudmessage(255, 255, 0, 0.02, 0.23, 0, 6.0, 1.0);
ShowSyncHudMsg(id, CreateHudSyncObj(), "^n[Quest: %s | %0.2f%%]", iName), float(fArrayGetCell(g_QuestsProgress[id], qid))/float(ArrayGetCell(g_QuestsTarget, qid)) * 100.0);;
}
Lecz wywala takie błędy:

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team


Error: Undefined symbol "fArrayGetCell" on line 137
Error: Invalid expression, assumed zero on line 137
Warning: Expression has no effect on line 137
Error: Empty statement on line 137
Error: Too many error messages on one line on line 137


Compilation aborted.
4 Errors.
Could not locate output file C:\Users\Krupek\Desktop\CodMod\scripting\quests.amx (compile failed).

 


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych