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
 

KariiO - zdjęcie

KariiO

Rejestracja: 24.12.2009
Aktualnie: Nieaktywny
Poza forum Ostatnio: 28.03.2018 18:16
-----

#543858 Sql - czy nazwa istnieje

Napisane przez GwynBleidD w 19.05.2013 14:23

Więc... robisz na około :) Sposób jest dobry, ale...

 

Utworzenie unikalnego klucza w bazie pozwoli Ci na wyłapanie duplikatu przy próbie utworzenia rekordu o istniejącej już nazwie. No chyba, że potrzebujesz koniecznie sprawdzenie robić wcześniej, jednak i tak zadbałbym o utworzenie unikalnego klucza. Dobrze zaprojektowana baza danych jest kluczem do optymalnej aplikacji :)

 

Wróćmy jednak do Twojego kodu. Masz kilka błędów.

 

1. Nie musisz po pobraniu rekordu z bazy sprawdzać, czy jest on na pewno taki sam. Zapytanie już jest tak skonstruowane, że nie zwróci Ci nic niezgodnego z Twoim założeniem. Nie używaj więc SQL_ReadResult. Użyj SQL_NumResults. Jeśli zwrócona wartość jest większa od zera, zapytanie "coś" zwróciło, więc rekord istnieje.

2. Nie używaj tablicy globalnej sprawdzane_party. Nie jest to błędem, ale można zrobić to lepiej. W tablicy data, w której przekazujesz ID, możesz przekazać również nazwę party, aby wykonywać dalsze operacje na tej nazwie. Wystarczy coś takiego, zakładając że party ma długość 32:

new data[33]
data[0] = id
copy(data[1], 31, party);

3. tuple do bazy danych twórz najlepiej w plugin_cfg lub ewentualnie w plugin_init. Nie ma sensu marnować zasobów na tworzenie go przy każdym zapytaniu. Lepiej utworzyć zmienną globalną i w niej tuple przechowywać dla wszystkich zapytań.


  • +
  • -
  • 2


#541060 Wartości w programach

Napisane przez MarWit w 07.05.2013 18:39

Napisałem na szybko, jeżeli przeczytałeś funkcje na msdn/4programmers oraz znasz podstawy podstaw C++ to skminisz jak działa kod.
Spoiler

W Cheat Engine masz adres relatywny wzg. aplikacji do miejsca w pamięci, ten sam z jakiego korzysta ta funkcja. Musisz mieć jednak na uwadze pojęcia takie jak pointer i multi-pointer. W przypadku tego drugiego adres nie wskazuje na to co myślisz ( np. Życie ), tylko na drugi adres który jest albo zmienna ( czyli adresem końcowym ), albo kolejnym pointerem.
  • +
  • -
  • 1


#540937 Wartości w programach

Napisane przez DarkGL w 07.05.2013 11:34

W cheat engine jest dodatkowo adres

 

 

 

drugi parametr ReadProcessMemory  wyjaśni ci wszystko

http://4programmers....adprocessmemory

 


  • +
  • -
  • 1


#532317 Czy jestem w cieniu ?

Napisane przez Gość w 07.04.2013 06:09

/*
bool:in_shadow(id)
checks if entity is in shadow
returns
true if entity (id) is in shadow
false otherwise
note
that pev_light_level is an integer
and takes value from 0 (no light) upto 180
*/
stock bool:in_shadow(id){
return (pev(id, pev_light_level)<90);
}



@edit: Drobny plugin do przetestowania (polecam de_dust2):
Spoiler


@edit(2): Poza cieniem, pev_light_level waha się w granicach od 160 do 180, będąc w cieniu od 40 do 60,
w bardzo ciemnych kątach (np. w kącie na trupie) ok. 7-24, więc myślę, że 90 będzie odpowiednią granicą.


#532309 Czy jestem w cieniu ?

Napisane przez GwynBleidD w 07.04.2013 03:58

Tak, nie widzisz bezpośrednio żadnego źródła światła.
  • +
  • -
  • -1


#492968 WH - kontrolowane

Napisane przez Fili:P w 23.12.2012 18:41

AddToFullPack żeby widział tylko niego, a wh to już nie mam pojęcia jak.
  • +
  • -
  • 1


#484531 [ROZWIĄZANE] Zmiana danego znaku w ciągu znaków

Napisane przez speedkill w 28.11.2012 21:00

http://cpp0x.pl/kurs...ow-lancuchy/299
http://pl.wikipedia....towy_typ_danych

#include <iostream>
#include <windows.h>

using namespace std;

main(){
	char g_Text[32];
	cin>>g_Text;
	
	if(g_Text[1] == '.'){
		g_Text[1] = ':';
	}
	
	cout<<g_Text<<"\n\n";
	
	system("pause");
}

Dołączona grafika

W tym przypadku sprawdza czy drugi znak jest równy kropce, jeśli tak, to zamienia go na dwukropek ;)
  • +
  • -
  • 0


#457659 Początki C++ - mały program (float to int)

Napisane przez speedkill w 12.09.2012 21:19

Tak, ale musiałbyś przypisać zmiennej a wartość 2.5, aby zmienna b była równa 2, czyli taki mały przykład Ci dam :
#include <iostream>

using namespace std;

main(){
    float a = 2.5;
    int b = int(a);

    cout<<a<<" | "<<b<<"\n";

    system("pause");
}
Teraz zmienna b, ma wartość 2, ponieważ zmienna float miała wartość 2.5 ;)
  • +
  • -
  • 1


#457640 Początki C++ - mały program (float to int)

Napisane przez speedkill w 12.09.2012 20:39

#include <iostream>

using namespace std;

main(){
    float g_Fl;

    cin>>g_Fl;

    int g_Int = int(g_Fl);

    if(g_Int == g_Fl){
        cout<<"Jest calkowita ;)\n";
    }
    else{
        cout<<"Nie jest calkowita.\n";
    }

    system("pause");
}
Stworzyłeś zmienną b i przypisałeś jej wartość int(a), czyli uznajmy, że float a = 0; b = int(a); b = 0;
Potem wpisałeś a, uznajmy 25 więc wykonywało się obliczenie 25 - 0 == 0, jest to fałszywe stwierdzenie, zmienną int trzeba stworzyć po wpisaniu liczby, lub odwołać się do niej po wpisaniu tej liczby. W moim przypadku stworzyłem zmienną int po wpisaniu liczby ;)
  • +
  • -
  • 1


#50826 Diablo Mod 5.9l [SQL]

Napisane przez Miczu w 21.03.2009 16:33

Diablo Mod 5.9l


Słynny DiabloMod już po polsku z nowymi postaciami levelami!

Instalacja:
Plik dbmod_5.9l.amxx do addons/amxmodx/plugins
Plik dbmod_5.9l.sma do addons/amxmodx/scripting
Archiwum "dbmod folder&models.rar" wypakować do cstrike. (nowy model)

Otwieramy w edytorze tekstowym plik amxmodx/configs/plugins.ini i dopisujemy na samym końcu: dbmod_5.9l.amxx

Cvary:
diablo_xpbonus ilość expa za zabicie standardowo ustawione na 7
diablo_xpbonus2 ilość expa za wykonania celu misji standardowo ustawione na 50
diablo_durability Tracisz wytrzymałość za każde obrażenia ? Ile za każdym razem
diablo_spawnchance 1/x szansa na zrespienia worka
SaveXp 1/0 zapisywanie doświadczenia
diablo_classes abcdefgh - które klasy maja być dostępne
diablo_avg  1 - zaczynanie od sredniej serwera (liczonego od lvl 1)
diablo_dmg_exp - za ile zabranego hp wrogowi dostaje sie 1 exp (domyslnie 20, 0 - off)

Cvary do SQL'a:
diablo_sql_host
diablo_sql_user
diablo_sql_pass
diablo_sql_database
diablo_sql_table

Komendy:
/komendy (pokazuje wszystkie komendy diablomoda)
/pomoc (tego chyba nie muszę tłumaczyć)
/czary (pokazuje menu z statystykami)
/rune (pokazuje menu sklepu możemy w nim ulepszać rożne przedmioty lub kupić księgę doświadczenia)
/reset (resetuje wszystkie punkty rozdane w statystykach)
/klasa (dzięki tej komendzie możemy zmienić swoja klasę)
/item lub /przedmiot (pokazuje informacje na temat przedmiotu tzn co robi itp.)
/drop (wyrzuca przedmiot)
/savexp (zapisywanie doświadczenia)
/klasy (wyświetla opis postaci)
/gracze - już naprawione

Nowosci:

-Naprawdę dużo optymalizacji
-każda klasa ma własny czar, który niezależny od itemu - noz (automatycznie)
-mnich - mur (5s)
-mag - fireball (5s, 3s jak ma stafa)
-zabojca - niewidzialnosc z nozem (10s)
-paladyn - golden bullet, +2 nabój w magazynku co daje instant hs (10s)
-lowca - gratis HE (5s)
-necro - pochłanianie zwłok wroga dla 20 hp
-ninja - +50 do speeda (10s)
- barba - odbija +2 naboi od niego (5s)
-wybór jakie klasy można wybrać
-zaczynanie gry od średniej serwera
-gdy jesteś w powietrzu archwing cię nie rani
-więcej, ale nie pamiętam

Informacje o modzie - dla chętnych - konsola 'mod' - tak by było w modzie upamiętnione osoby co szczególnie pomogły.


WAŻNE

dbmod +5.8 potrzebuje amxx'a 1.8.1 do poprawnego działania (wcześniejsze wersje maja błąd w bibliotece obsługujacej sql'a i w efekcie pojawiają sie crashe)

Jak sie nie pojawia menu wyboru klasy (/klasa) to znaczy ze jest problem z połączeniem sie do sql'a błędy z sql'a sa w folderze amxmodx/logs/diablo.log

Diablo Mod 5.9a zmiany:
- szybka poprawka w czasie gdy ten post był w połowie zrobiony xD
Diablo Mod 5.9b zmiany:
-każda klasa ma własna średnia - nie ma ze jak dużo gra np. łowcą a nikt ninja (same lvle 1) to nowy gracz ma ninje z lvl 15
Diablo Mod 5.9c zmiany:
-balance ninji (oslabienie) oraz paladyna(wzmocnienie - zmiana skilla - zamiast popychanie, odbijanie pociskow)
-2 nowe itemy (odbijanie pociskow)
-naprawa buga z wzmacnianiem itemow (fajne ze daliscie mi o tym znac... wcale... bug z 5.8 jeszcze :zly: )
-zmiana czaru zabujcy na niewidzialnosc
-skrocenie czasu rzucania czarow przez klasy

Diablo Mod 5.9e zmiany:
- int necro zwieksza leczone hp
- MEGA OPTYMALIZACJE SQL

Diablo Mod 5.9f zmiany:
- /klasa sama sie uruchamiala gdy nie trzeba bylo xD

Diablo Mod 5.9g zmiany:
- bug niewidzialnosci zabojcy

Diablo Mod 5.9h zmiany:
- nie poprawialem buga tym razem (bo juz nie ma :>)
- teraz nie trzeba trzymac E by czarowac skilla (dla tych co mieli problem z uruchamianiem itemow)
- necro zadaje dodatkowe obrazenia + maly wampiryzm

Diablo Mod 5.9i zmiany:
- Balans barby i paladyna (oslabienie i ograniczenie skillow)

Diablo Mod 5.9j zmiany:
- BUG (niestety) z skilem paladyna - nie tracilo sie magicznych pociskow gdy sie strzelalo w sciane (juz nie ma tak dobrze)

Diablo Mod 5.9k zmiany:
- BUG -kusza nie zadawala dmg

Diablo Mod 5.9l zmiany:
- BUG -zabijanie 2 trafieniami

Konfiguracja SQL'a Tutaj

Załączone pliki


  • +
  • -
  • 65


#418815 Diablo Mod by Stachu

Napisane przez Nakupenda. w 08.06.2012 09:17

przegiąłeś chłopie. Teraz byle dzieciak bez żadnej wiedzy będzie miał wypasione diablo i jeszcze może je sobie przypisywać, bo przecież je edytował.
A Ci bardziej doświadczeni bedą mieli dużo większy orzech do zgryzienia, jak wymyśleć coś jeszcze bardziej "innego" i innowacyjnego, bo zaraz każdy będzie miał artefakty i gildie.

Jżeeli o mnie chodzi to sory ale minus.
  • +
  • -
  • -34


#406860 Jestem ranny !

Napisane przez heroes w 05.05.2012 15:18

nie ma błędów kolega wyżej się nie zna :D działa ładnie i dodam, że autor powinien umieścić info, że trzeba stworzyć katalog cod w lokalizacji /cstrike/addons/amxmodx
całość wygląda tak:
/cstrike/addons/amxmodx/cod

i wklejamy tam nasze rany.txt
  • +
  • -
  • 1


#406810 Jestem ranny !

Napisane przez ZarzadCSB w 05.05.2012 13:20

Proponował bym sprawdzić czy to dalej nie ubija wszystkich.
Ps. jakieś 2 erorki przy kompilacji.
  • +
  • -
  • 1


#393793 Velocity - byaim i ustawianie.

Napisane przez sebul w 08.04.2012 10:16

Zamiast
entity_set_vector(Ent, EV_VEC_mins, MinBox)
entity_set_vector(Ent, EV_VEC_maxs, MaxBox)

możesz dać
entity_set_size(Ent, MinBox, MaxBox);


I nie tworzy się zmiennych w ten sposób
new ktory[33] = 1

ta jedynka jest nie potrzebna i nic nie daje.
  • +
  • -
  • 1


#393673 Velocity - byaim i ustawianie.

Napisane przez DarkGL w 07.04.2012 23:58

dalej to juz tylko
xs_vec_mul_scalar( wektor , predkosc( jako float ) , ten sam wektor ); i tak 4 wektory

a potem juz tylko
set_pev( numer_enta , pev_velocity , wektor );
  • +
  • -
  • 1