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

Jak do tego wprowadzić limit?


  • Zamknięty Temat jest zamknięty
11 odpowiedzi w tym temacie

#1 WazzaP

    Super Hero

  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 05.02.2011 18:08

Witam.
Jak do tego pluginu dać limit np. 200 ap ?
#include <amxmodx>
#include <fvault>
#include <fakemeta>
#include <zombieplague>

new const g_vault_name[] = "ammopacks";

new maxplayers

public plugin_init()
{
register_plugin("[ZP] AP Save (Fixed)" , "1.1" , "AfteR. / Vechta")

register_forward(FM_Sys_Error, "fw_ServerDown")
register_forward(FM_GameShutdown, "fw_ServerDown")
register_forward(FM_ServerDeactivate, "fw_ServerDown")

maxplayers = get_maxplayers()

}

public client_putinserver(id)
{
if( !is_user_hltv(id) && !is_user_bot(id) )
{
Load(id);
}
}

public client_disconnect(id)
{
Save(id)
}

public Load(id)
{
new name[32];
get_user_name(id, name, sizeof(name) - 1);

new data[16];
if( fvault_get_data(g_vault_name, name, data, sizeof(data) - 1) )
{
zp_set_user_ammo_packs(id, str_to_num(data))
}
else
{
zp_set_user_ammo_packs(id, 5) // Modify here for default ammopacks.
}
}

public Save(id)
{
new name[32];
get_user_name(id, name, sizeof(name) - 1);

new data[16];
num_to_str(zp_get_user_ammo_packs(id), data, sizeof(data) - 1);

fvault_set_data(g_vault_name, name, data);
}

public fw_ServerDown()
{
for(new i = 1; i <= maxplayers; i++)
Save(i)
}

Użytkownik WazzaP edytował ten post 05.02.2011 18:09

  • +
  • -
  • 1

#2 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 05.02.2011 18:35

warunek dodaj [pseudokod]:

if (ammopacki >= 200)
ammopacki = 200

else...

to jest kod ppomocniczy, jak ktos sie zna na zobie to bedzie wiedzial co z tym zrobic

#3 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 05.02.2011 18:39

A jak ja się nie znam? :D
Pomoże ktoś? xD

Użytkownik WazzaP edytował ten post 07.02.2011 15:33

  • +
  • -
  • 1

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.02.2011 15:25

chcesz aby zapisywało od 200 czy jak :]?
  • +
  • -
  • 0

#5 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 27.02.2011 16:37

Chciałbym aby limit tego był z 200.. ;]
W przykładzie ktoś gra i gra zdobył 200 AP i koniec zapisywania, ale może dalej nabijać ap tylko nie zostaną zapisane na next mape.;PP
A jeżeli ktoś ma np. 201 ap to mu to nie przechodzi na next mapę.
I po zmianie mapy ma tą ostatnią zapisaną kwote ap.

Użytkownik WazzaP edytował ten post 27.02.2011 17:00

  • +
  • -
  • 1

#6 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 27.02.2011 21:04

Może tak?
public Save(id)
{
new name[32];
get_user_name(id, name, sizeof(name) - 1);

new data[16];
num_to_str(zp_get_user_ammo_packs(id) >= 200? 200 : zp_get_user_ammo_packs(id), data, sizeof(data) - 1);

fvault_set_data(g_vault_name, name, data);
}

  • +
  • -
  • 1

#7 Apple()

    Wszechpomocny

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:398
  • Steam:steam
  • Lokalizacja:Długość geo. 22.632246 szerokość 51.221584
Offline

Napisano 27.02.2011 21:16

public Save(id)
{
new name[32];
get_user_name(id, name, sizeof(name) - 1);

new data[16];

if(zp_get_user_ammopacks(id) >= 201)
{
num_to_str(200, data, sizeof(data) - 1);
}
else {
num_to_str(zp_get_user_ammopacks(id), data, sizeof(data) - 1);
}

fvault_set_data(g_vault_name, name, data);
}

to zadziała..

  • +
  • -
  • 0

#8 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 28.02.2011 17:36

To mam podmienić?
I jak zrobić aby na środku się wyświetliło, że już ma maxymalną ilość AP?
Np. Na środku: Masz już maxymalną ilość Ap.


@@ Lepszy byłby zapis MySql?
Jak sądzicie?


Użytkownik WazzaP edytował ten post 28.02.2011 18:09

  • +
  • -
  • 1

#9 Apple()

    Wszechpomocny

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:398
  • Steam:steam
  • Lokalizacja:Długość geo. 22.632246 szerokość 51.221584
Offline

Napisano 01.03.2011 10:12

W plugin_init dodajesz to:

register_logevent("Round_End", 2, "1=Round_End")


gdzieś niżej

public Round_End(id){
if(zp_get_user_ammopacks(id) >= 200){
set_hudmessage(0, 0, 255, 0.00, 0.75, 2, 0.0, 1.1)
show_hudmessage(id, "Masz juz 200 AP, kolejne juz Ci sie nie zapisza.")
}
else return PLUGIN_CONTINUE


  • +
  • -
  • 1

#10 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 01.03.2011 15:10

Przy kompilacji mam masę błędów..

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

bankap.sma(27) : error 017: undefined symbol "Load"
bankap.sma(32) : error 017: undefined symbol "zp_get_user_ammopacks"
bankap.sma(38) : error 029: invalid expression, assumed zero
bankap.sma(38) : error 004: function "client_disconnect" is not implemented
bankap.sma(40) : error 017: undefined symbol "Save"
bankap.sma(43) : error 029: invalid expression, assumed zero
bankap.sma(43) : error 017: undefined symbol "Load"
bankap.sma(59) : error 029: invalid expression, assumed zero
bankap.sma(59) : error 017: undefined symbol "Save"
bankap.sma(66) : error 017: undefined symbol "zp_get_user_ammopacks"
bankap.sma(71) : error 017: undefined symbol "zp_get_user_ammopacks"
bankap.sma(77) : error 029: invalid expression, assumed zero
bankap.sma(77) : error 017: undefined symbol "fw_ServerDown"
bankap.sma(80) : error 017: undefined symbol "Save"
bankap.sma(81) : error 001: expected token: "}", but found "-end of file-"

15 Errors.
Could not locate output file bankap.amxx (compile failed).

Załączone pliki


Użytkownik WazzaP edytował ten post 07.03.2011 19:46

  • +
  • -
  • 1

#11 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 08.03.2011 18:11

kompiluj na web kompilatorze (zakladka dodatki)
brakuje ci plikow inc w folderze include
  • +
  • -
  • 0

#12 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 08.03.2011 19:05

kompiluj na web kompilatorze (zakladka dodatki)

Za bardzo Nie Kumam. Kompilowałem na Stronie..

brakuje ci plikow inc w folderze include

Kompilowałem lokalnie z tymi plikami inc i też tam jakiś error.
http://amxx.pl/uploa...acjalokalna.jpg
  • +
  • -
  • 1




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

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