Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - Zsolesszka

Oldalak: 1 ... 14 15 [16] 17 18 ... 136
226
Segítségkérés / hp le!
« Dátum: 2013. augusztus 05. - 21:39:57 »
Idézetet írta: anorennia date=1375727248\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40969\" data-ipsquote-contentclass=\"forums_Topic
Sscanf2 szükséges hozzá:
 
SetTimer(\"HPle\", 1000, true);   //1 másodpercenként fog lefutni a timer GameModeInit alá
new HPTIMER_PLR[MAX_PLAYERS];
forward HPle(playerid);
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
new Float:HP[MAX_PLAYERS];
GetPlayerHealth(damagedid, HP[damagedid]);
if(HP[damagedid] <= 90)
{
HPTIMER_PLR[playerid] = 1;
}
return 1;
}
public HPle(playerid)
{
new Float:HP[MAX_PLAYERS];
if(HPTIMER_PLR[playerid] == 1)
{
GetPlayerHealth(HPTIMER_PLR[playerid], HP[playerid]);
SetPlayerHealth(HPTIMER_PLR[playerid], HP[playerid]-1);
}
return 1;
}
CMD:ellatas(playerid, params[])
{
HPTIMER_PLR[playerid] = 0;
return 1;
}

 

Ez minek MAX_PLAYERS, mindkét helyen?
 
new Float:HP[MAX_PLAYERS];

227
Segítségkérés / OnPlayerUpdate helyett
« Dátum: 2013. augusztus 05. - 21:12:46 »
Ahhoz tudni kellene milyen eljárásokat írsz OnPlayerUpdate alá, majd azok után lehetne tanácsot adni hogy ezt meg azt a részét másképp/jobban is meglehetne oldani.

228
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. augusztus 05. - 21:09:30 »
Hozd létre újra mikor törlöd és úgy tûnik majd mintha csak levetted volna.
Csak egy kis logika. :D

229
Segítségkérés / Tuning probléma
« Dátum: 2013. augusztus 03. - 23:15:19 »
Ez alatt próbáld megírni:
http://wiki.sa-mp.com/wiki/OnVehicleStreamIn
Persze ellenõriztesd is le hogy van-e már rajt olyan tuning elem:
http://wiki.sa-mp.com/wiki/GetVehicleComponentType

230
Segítségkérés / Mysql milyen táblaszerkezet legyen, az alábbi adatnak?
« Dátum: 2013. augusztus 03. - 23:11:23 »
Most arra gondoltam hogy 4 számmezõt hoznál létre játékosonként mysql-ben majd ezt az adatot tárolnád egy ilyen változóban:
 
new
ajandek[MAX_PLAYERS][4]; // 32, 64, 96, 128 bit, tehát 128 ajándékdoboz
ajandek[playerid][0] = cache_get_row_int(...
ajandek[playerid][1] = cache_get_row_int(...
ajandek[playerid][2] = cache_get_row_int(...
ajandek[playerid][3] = cache_get_row_int(...

 
Majd bitmûveletekkel állítanád be melyiket vette fel és kérdeznéd is le ellenõrzésként.
 
#include <a_samp>
new
ajandek[MAX_PLAYERS][4]; // 32, 64, 96, 128 bit, tehát 128 ajándékdoboz
stock
set_bitarray(array[], const value, size = sizeof(array))
{
if(1 <= value <= (size * cellbits))
{
new
   slot = value >>> 5,
   bit = value & 31;
array[slot] |= 1 << bit;
}
}
stock
get_bitarray(array[], const value, size = sizeof(array))
{
if(1 <= value <= (size * cellbits))
{
return (array[value >>> 5] & (1 << (value & 31))) || false;
}
return false;
}
 
public
OnFilterScriptInit()
{
for(new i = 0; i < 10; i++)
{
new
   rand = random(100) + 1;
printf(\"Randomként 10 darab felvett ajándék azonosítószáma: %d\", rand);
set_bitarray(ajandek[0], rand);  // Felvett ajándék beállítása
}
for(new i; i < 100; i++)
{
if(get_bitarray(ajandek[0], i)) printf(\"A 20 darab felvett ajándék azonosítószáma: %d\", i); // Lekérdezés melyiket vette fel
}
return 1;
}

231
Segítségkérés / Random kérdéssor MySql-bõl
« Dátum: 2013. augusztus 03. - 21:07:17 »
Ahogy írja ezt a hibát úgy bemásolnád a pawn kódod?
Úgy talán ha én is kitudom próbálni vagy ha látnám akkor tudnám mondani mi a hiba.
De biztosra veszem hogy csatlakozási hiba lehet, mert annak nem így kellene mûködnie hogy megadod az 1-es értéket, hanem a csatlakozás azonosítót kellene vissza adnia a mysql_connect-nek, valószínûleg emiatt írja hogy nincs aktív adat tárolva.
Még a mysql_connect után írd be ezt hátha kidob valami hasznos információt:
 
mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);

232
Segítségkérés / mysql_tquery függvény pontos paraméterei
« Dátum: 2013. augusztus 03. - 20:59:26 »
A SetTimerEx függvényt ismeritek talán.
Nahát a mysql_tquery végén szereplõ ( format[], {Float,_}:...);) ugyanaz, tehát extra paraméterekkel küldhetõ tovább a kérés/utasítás.
Leggyakrabban játékos azonosítót szokás küldeni.
 
\"d\", playerid);
//vagy
\"dd\", playerid, 23);

 
Ennek megfelelõen a meghívásra kerülõ visszahívás (callback) paramétereinek is meg kell felelnie:
 
public loadranddata(playerid);
public akarmi(playerid, int);

233
Segítségkérés / Random kérdéssor MySql-bõl
« Dátum: 2013. augusztus 03. - 09:37:14 »
A többi mysql log adatot is másold be, nálam a csatlakozás azonosító:
 
[09:29:45] [DEBUG] mysql_tquery - connection handle: 1
[/quote]
Így valószínû hogy valami csatlakozási probléma lehet.
De az is lehet hogy ez is valami bug a mysql pluginnál mivel nagyon kezd szét esni a project. :D
A változónál amelyik a csatlakozás azonosítót tárolja adj meg neki 1 értéket alapból, mintha csatlakozva lenne:
 
new Mod_CH = 1;

234
Segítségkérés / játékos hp-nak megállapítása
« Dátum: 2013. augusztus 01. - 19:58:29 »
Idézetet írta: BoOy date=1375303985\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40714\" data-ipsquote-contentclass=\"forums_Topic

#include <a_samp>
new count[MAX_PLAYERS];
forward CheckHealth();
public OnFilterScriptInit()
{
SetTimer(\"CheckHealth\",1000,0);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public CheckHealth()
{
for(new i;i<MAX_PLAYERS;i++)
{
new Float:health;
GetPlayerHealth(i,health);
if(health < 20)
{
    if(count == 0)//hogy ne floodoljon az üzenet
    {
       //Ide lesz az anim stb.
       SendClientMessage(i,-1,\"Megsebesültél annyira hogy nem tudsz felkelni!!\");
       TogglePlayerControllable(i,0);
       count++;
    }
}
else return count = 1;
}
return 1;
}

 

Ez alatt nem lehetne létrehozni ezt a dolgot?
http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage
Mert akkor nem kell idõnként az összes játékost életét ellenõrizni hanem csak akkor mikor sebzõdik és csak annak a játékosnak.

235
Segítségkérés / Random kérdéssor MySql-bõl
« Dátum: 2013. július 31. - 21:30:29 »
Idézetet írta: hegdavid95 date=1375298122\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40641\" data-ipsquote-contentclass=\"forums_Topic
Nem okoskodásként de ez így szerintem visszatérhet azonos kérdésekkel, ha pont véletlen ugyanazok a számok sorsolódnak ki.
Így 100% hogy nem lesz két egyforma:
 
SELECT DISTINCT * FROM `tablename` ORDER BY RAND() LIMIT 20

 

Sose volt egyforma tudomásom szerint, de utána fogok nézni.
Mivel pontosan azért lassú ez a fajta rand lehetõség mysql-ben mert az egész adattábla adatait véletlenszerûen elrendezi és úgy térne vissza az összes sorral, de csak 20 sor adattal tér vissza mert limitnek ennyi van megadva, talán ha kevesebb adatsor van benne mint a limit akkor lenne benne egyezés de még akkor se hiszem.
@Dexter95
Jó akkor le kellene szedned egy mysql plugint, és installálnod kellene a samp szerveredhez (csak be kell másolni a megfelelõ helyre9 de mivel linux pár verziót lehet le kell töltened hogy valamelyiket gond nélkül betöltse a sa-mp szervered.
http://forum.sa-mp.com/showthread.php?t=56564
https://code.google.com/p/sa-mp-mysql-plugin/
Ui.:
A pawn kódot meg megírom lehet még ma este, de csak beolvasás részt.
Edit:
OnGameModeInit alá vagy OnFilterScriptInit alá:
 
new
Mod_CH;
Mod_CH = mysql_connect(.......); // Ide be kell írni a csatlakozási adatokat, phpmyadminon látnod kell ÁLLAPOT FOLYAMATOK-nál a csatlakozott állapotot ha fut a szervered, persze a sa-mp szerver is írni fogja több helyen is ha beleírod de mysql_log.txt fájl biztosan jelzi. (sa-mp szervered mellett fogod találni a plugin hozza létre)
// Jelenleg sajnos csak egy csatlakozással mûködik a mysql plugin de most kicsit nagyon bezavarták a native kódokat, a plugin-t fejlesztik remélhetõleg jelenleg is, ezért nem árt vissza vissza nézni újabb verzióért.

 
Ahol meghívásra kerül a dolog oda kell ezt írni:
 
mysql_tquery(Mod_CH, \"SELECT * FROM `tablename` ORDER BY RAND() LIMIT 20\", \"THREAD_loadranddata\", \"\", \"\"); // olyan kérés mely egy új visszatérésbe küldi az adatokat (több szálon futó program ha a processzor magok száma lehetõvé teszi (kevesebb lagg meg bla bla bla ) meg kell szokni a használatát. :D

 

forward THREAD_loadranddata(); // Thread több szálon futó visszahívás mely nem laggoltatja a szervert, háttérben fut, ha készen vannak az adatok akkor kerül meghívásra ez a visszahívás
public THREAD_loadranddata()
{
new
rows,
fields;
cache_get_data(rows, fields, Mod_CH); // sorok illetve mezõk számának lekérése
 
new
ID,
str1[32], // Kérdés tárolása (karakterlánc (31 + NULL karakter) persze növelni kell ha több az adatbázisban
str2[32],
str3[32],
megoldas;
if(rows) // Van-e adatsor?
{
for(new i; i < rows; i++) // végig megyünk az összes visszatért adatsoron
{
   // ID = cache_get_row_int(i, 0, Mod_CH);  // Ha kell egyáltalán.
   cache_get_row(i, 1, str1, Mod_CH, 32);   // (i)sor , (1)mezõ (gondolom elsõ kérdés mezõszáma a második mezõ lehet, az elsõ mezõszám a mysql id), (str1)változó a kérdésnek, (Mod_CH)csatlakozás azonosító, (32)változó mérete
   cache_get_row(i, 2, str2, Mod_CH, 32);
   cache_get_row(i, 3, str3, Mod_CH, 32); // Figyelni kell hogy létezzen is mysql-ben mezõ 3-dik (vagy negyedik vagy több), ha nincs, szerver összeomlás is lehet.
   megoldas = cache_get_row_int(i, 4, Mod_CH);
   //persze lehet másképp is:
   // cache_get_field_content(i, \"kerdes1\", str1, Mod_CH, 32);
   // cache_get_field_content(i, \"kerdes2\", str2, Mod_CH, 32);
   // cache_get_field_content(i, \"kerdes3\", str3, Mod_CH, 32);
   // megoldas = cache_get_field_content_int(i, \"valasz\", Mod_CH);
   printf(\"%d | %s | %s | %s | %d\", ID, str1, str2, str2, megoldas);
}
} else print(\"nincs adatsor !!!!\");
return 1;
}

236
Segítségkérés / Random kérdéssor MySql-bõl
« Dátum: 2013. július 31. - 12:55:52 »
Akkor elég érdekes kéréssel álltál elõ ha nem használsz semmilyen mysql plugint, bérelt sa-mp szervered legalább van (host-os)?
Jár mellé mysql adatbázis?
Létre van már hozva a tábla szerkezet, bennük az adatokkal?
Ha nincs ezekkel kellene kezdened.
Kapcsolatot kellene teremtened egy adatbázissal (mysql) (amit persze létre is kell hozni), a sa-mp szervereddel ehhez elengedhetetlen egy mysql plugin használata (jelenleg).
Ha ezt sikerül létrehoznod akkor kezdhetsz ilyen dolgokkal foglalkozni. (adatlekérés, adatfrissítés, új adatsor létrehozása stb)

237
Segítségkérés / Random kérdéssor MySql-bõl
« Dátum: 2013. július 30. - 20:46:01 »
A fenti sor véletlenszerûen visszatér 20 darab sorral (ha van annyi a táblán).
Ez azt jelenti hogy 20 darab sort a benne lévõ összes adattal visszaküldi (SELECt *), tehát mint a példádban:
d\",\"val1\", \"val2\", \"val3\",\"helyes\"
d\",\"val1\", \"val2\", \"val3\",\"helyes\"
d\",\"val1\", \"val2\", \"val3\",\"helyes\"
d\",\"val1\", \"val2\", \"val3\",\"helyes\"
..
d\",\"val1\", \"val2\", \"val3\",\"helyes\"
20 darab sor.
Ezt neked kell feldarabolni részekre, mondjuk sscanf vagy cache funkciókkal részekre osztva majd tárolva különbözõ változókba.
Edit:
Milyen plugin verziót használsz, mert én már a thread verziót alkalmazom, így arra tudok példát írni.
Az ékezetekhez keress valami olyant hogy \"fixchars.inc\".
Nem tudom hány karaktert kezel de én ~3900-at már kértem le gond nélkül.

238
Segítségkérés / Random kérdéssor MySql-bõl
« Dátum: 2013. július 30. - 19:37:02 »
SELECT * FROM `tablename` ORDER BY RAND() LIMIT 20

239
Segítségkérés / SQL kérdés
« Dátum: 2013. július 26. - 20:57:52 »
   Nagyon kis dolgokban gondolkozol, nézd meg ezt a fórumot,
ez is mysql adatbázist használ, most éppen a lap alján ezt olvasom:
 
Az oldal 0.211 másodperc alatt készült el 21 lekéréssel.[/quote]
Ami azt jelenti hogy 21 kérést küldött a mysql adatbázis felé (update select insert stb) és mindez 0.211 másodperc alatt ment végbe.
Amit te szeretnél az semmiség a mysql-nek, fõleg ha ugyanott van ahol a sa-mp szervered, vagyis localhost-os kapcsolaton mûködik. (nem kell az internet sebességgel is kalkulálni)

240
Segítségkérés / Késõ MySQL
« Dátum: 2013. július 25. - 21:29:40 »
Jó ez a kérdezz felelek, fõleg fórumon, na nem baj. :D
Milyen verziójú mysql-t használsz, hol van az adatbázis kezelõ rendszer?
Talán egy példával szemléltethetnéd a problémát, hogy más is tapasztal-e ilyesmit ha kipróbálja.
Lehet még haladna is a probléma megoldása, de ha nem sürgõs, majd kérdezgetek apránként ahogy valamire gyanakszok mint hiba lehetõség.

Oldalak: 1 ... 14 15 [16] 17 18 ... 136
SimplePortal 2.3.7 © 2008-2026, SimplePortal