Ü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 - Naretev

Oldalak: 1 [2] 3 4 ... 10
16
Segítségkérés / Fizetés MySQL
« Dátum: 2018. Április 05. - 19:25:50 »

 for( new i; i != rows; i ++ )

 
Az \' i \' változónak nincs kezdőértéke, habár azt hiszem erre a pawno is errort ír. Nyílván ha nincs kezdőérték akkor nem tudja, melyik sorból kell kiszedni.
 

for( playerid; playerid < MAX_PLAYERS; playerid ++ )
        {
            if( CompareEx( NAME, PlayerName( playerid ) ) )
            {
                if( IsPlayerConnected( playerid ) )
                {
                    SendFormatMessage( playerid, -1, \"[{f3ff4a} SZERVER {ffffff}] Fizetésed átutalva a bankszámládra! ( {f3ff4a}$%s{ffffff} )\", FormatNumber( PAY ) );
                }
            }
        }

 
Ezzel meg annyi a probléma, hogy a MAX_PLAYERS értékig fut le, ami alapesetben 1000, viszont ha átírtad, 30-50-80 stb. akkor is egészen nagy. Illetve le sem állítod, tehát ha pl. a 0-ás IDjű játékosnál teljesül a feltétel, akkor a többi (n-1)-szor lefutás fölösleges. Próbáld meg úgy, hogy IsPlayerConnected, és hogyha igaz értékkel tér vissza, akkor fentvan azt már tudod kezelni. Kicsit hasonló az eljárás, csak ebben az esetben csak annyiszor fut le a keresési ciklus ahány játékos van a szerveren, vagyis ( GetPlayerPoolSize = legnagyobb ID a szerveren, kis prioritásoknál nagyon hasznos. ), illetve az értékkel return-olok is ami megszakítja a ciklust.
 

GetPlayerIdFromName(playername[])
{
for(new i = 0, j = GetPlayerPoolSize(); i < j; i++)
   if(!strcmp(playername,GetPlayerName(i)) return i;
return -1;
}

 
A fenti kód lefut az összes játékoson akik fentvannak egészen a legmagasabb ID-ig, nyílván 1-2 \"üres tick\" lehet, mivel a játékos ID-je lehet magasabb is mint a playerszám, viszont a playerszám nem lehet nagyobb az ID-nél :D ( vagyis n-1 mivel 20 játékosnál 19 a legnagyobb ID de ez lényegtelen mert csak összezavarlak vele :D ) És ha megtalálta az ID-t akkor visszatér vele. Ez ugyanúgy müködik mint a te esetedben, viszont ott nem szakítsa meg a ciklust ha teljesel a feltétel, illetve a feltétel túl nagy.
 
A lenti kóddal lekérdezed az ID-t a név alapján. Ha nincs fent akkor az érték -1 lesz, és ha az érték -1 returnol tehát kihagyja.
 

new id = GetPlayerIdFromName(NAME);
if( id == -1) return 1;
SendClientMessage(playerid,-1,\"Megjött a fizud te$$$$$$$$$$$$$$$$$$\");
pInfo[id][pBank] = pInfo[id][pBank] + MONEY;

 
Remélem azért érthető, eléggé rosszul magyarázok, ha van valami kérdésed csak írj!

17
Munkaerő keresés / Fejlesztő Kerestetik
« Dátum: 2018. Április 02. - 17:39:53 »
SAMP részleg, habár sokat nem számít, úgyis tolonganak a fejlesztők manapság :/

18
Segítségkérés / Run time error 17: \"Invalid/unsupported P-code file format
« Dátum: 2018. Április 01. - 16:55:19 »
Frissítsd le a pluginokat, includeket. A runtime error-ok nagyrészét ez orvosolja.

19
Szkript kérések / Taxióra km/h hiba
« Dátum: 2018. Április 01. - 16:53:22 »
A megtett kilométer neked egyenlő a jármű sebességével? 1 sec alatt az onplayerupdate lefut vagy 7-8x, Ha a jármű megy 100km/h-val. akkor 1 sec alatt 7-8x lefut az update. tehát 700-800km lesz a megtett táv? Holott 1 sec alatt 1 km-t sem megy. Nem valami valós a számítás. Ha ezt még beszorozza az útdíjjal ami gondolom nem 1 egység, akkor nyilván felugrik milliókba pillanatok alatt. De ha jobban belegondolsz elég logikus szóval gondold át.

20
Leírások/Útmutatók / [TUT] Moduláris programozás PAWN-ban
« Dátum: 2018. Március 25. - 16:33:14 »
Hiányoltam is annó, hogy nincs Magyar nyelvű leírás moduláris scripteléshez, viszont szerencsére angol thread-ek kisegítettek.
 
Hasznos lehet azoknak, akik még foglalkoznak ezzel illetve még nem tapasztalták ezt meg. Szerinem még annyival bővíthetnéd, hogy a y_hooks menetét levezeted, nem teljes rendszert, hanem csak az alap megértést segítené. Nekem például addig nem is tetszett ez az egész amíg nem tudtam, hogy működnek a hook-ok. Esetleg még a különböző fejlesztői felületeket amelyekkel átlátható a modular, azoknak a beállítása stb., nem kapcsolódik szorosan hozzá, viszont nem ajánlott pawno-ba scriptelni így. Ajánlott például a Sublime Text meg hasonló IDE programok.
 
De összefoglalva nagyon hasznos leírás lett! :)

21
Segítségkérés / Fizetés információ
« Dátum: 2018. Március 24. - 17:04:58 »
Ezzel csak az a baj, hogy ha a perc = 59,el csak akkor fog lefutni, és az csak 1x lesz, ha pl. 120 percnél jár ami két óra akkor már nem.
 
Írtam, hogyha oszható és a maradék nulla.  pInfo[playerid][percek] % 60 == 0. Ez a maradékos osztásnál lévő maradékot adja vissza. Ez minden 60-al oszható számra 0-ás értéket fog visszaadni. Ugyanezt meglehet 300-al is csinálni. A perceket fölösleges resetelni max disconnectnél.

22
Segítségkérés / Fizetés információ
« Dátum: 2018. Március 24. - 10:49:54 »
A percek változót nem kéne resetelni, és tovább mehet, csak az órák számát emeled. És ha a percek száma osztható 60-al maradék nélkül ergó 1 óra eltelt akkor +olod a játékos óráját. Ha 300-al osztható maradék nélkül = 5 óra, eltelt akkor meg fizetés lefut.

23
Archívum / Desert Villages RolePlay [ 2.0 ]
« Dátum: 2018. Március 23. - 21:34:39 »
Játszottam a szerveren egy kis időt. Nekem nagyon tetszik. Tényleg egyedi a mód, illetve sok érdekes szkript van benne. A DT fanoknak nagyon fog tetszeni. Munkákkal egész jól lehet keresni, amit el is lehet költeni. Az egyik legjobb dolog az a horgászat ami tetszett, végülis szerencsén alapul szóval menő :D Inventory rendszer is rendesen müködik. A legnagyobb bajom, hogy a traffi elkapott és lehúzott de hát mindenhol ez van :D Tényleg ilyen Next Level DT feelingű :)
 
Kevés szerver van a közösségben, de jó látni, hogy vannak akik nem adják fel és próbálkoznak, ezt becsülni kell.  Engem már a leírás alapján meggyőzött, próbáljátok ki ti is!

24
Munkaerő keresése / RPG Szerver csapat keresése
« Dátum: 2018. Március 15. - 21:56:36 »
A SAMP playereknek nem RP kell. Az összes \"RP\" szerveren csak a GF-et élik, RP-hez semelyik szervernek nincs köze. De ezzel nincs is baj, csak a fogalmakkal tévedésbe vannak. És inkább nyitnak 20db 1 hetes \"RPG\" szervert, mintsem egy rendes modot összerakni, ami GF-re húzz inkább. Ennyi kellene a játékosoknak.
 
Az, meg, hogy addig fut a szerver amíg a játékosokat érdekli hülyeség. Minden szerver addig fut és ez a baj. Én lassan 2 éve írogatok egy modot, de egyáltalán nem azért, mert playereket akarok, vagy szervert akarok nyitni. Ezt a modot azért csinálom, hogy legyen egy jó példa, hogy miket lehet kihozni a sampból, illetve, hogy mit nem voltak képesek mások megalkotni.
 
Viszont, ha te RPG-t szeretnél a barátaiddal, akkor tedd azt. Legyél határozott, bár az ilyen kommentek után, az elhatározottságod alább fog hagyni, ami azt igazolja, hogy mégsem volt ez annyira 100%-os ötlet.
 
Ha megnézed ezt a részleget. Minden téma erről szól. Kis csapat, egyedit akar, 100% egyedi 0-ról írt mód stb.stb.stb. De egyikből sem lesz semmi, nemhogy megnyitni, még el sem kezdik a modot.
 
Illetve, egy jó mod elkészítése még elegendő ember esetén is több hónap lehet. Hacsak nem mainstreambe ez megy, bár kétlem, hogy ennyi időt fektetnének bele. Hónapokkal később, a SAMP ismét gyengül. Nemsokára már csak az alapkövek, illetve a nosztalgikus emberek fognak sampozni.
 
A süllyedő hajóról elmenekülhetsz, vagy vele fulladhatsz, de fölösleges megpróbálni megjavítani.

25
Szkript kérések / Szerver Hiba
« Dátum: 2018. Március 15. - 15:20:49 »
Szerver verzió nem egyezik a kliens verzióval?

26
Segítségkérés / SAMP - Fegyver ammo nélkül?
« Dátum: 2018. Március 14. - 21:06:34 »
Kicsit máshogy oldottam meg :D
 


   

 
 

27
Segítségkérés / SAMP - Fegyver ammo nélkül?
« Dátum: 2018. Március 14. - 12:31:44 »
Valamilyen ötlet?

28
Segítségkérés / sql kordinata
« Dátum: 2018. Március 11. - 10:53:44 »
Nem igazán értem, hogy pontosan mit akarsz.
 
A /jarmuvesz parancsot akarod XYZ koordinátákhoz kötni, nem? Hogy, csak ott lehessen használni, gondolom így akarod.
 
Ha van például, egy autókereskedésed, akkor abba le vannak mentve, mivel valamihez kötni kell a koordinátákat.
 
Egyébként, úgy olvasol ki koordinátát, hogy:
 

SELECT X,Y,Z FROM autokereskedesek WHERE ID = 1

 
Ezután, ha lefutott, az eredményből kiolvasod ezt a 3 értéket.
 

// cache_get_value_name_int(SorID,\"OszlopNév\",Változó_amibe_tárolod);
// Ezért mondtam, hogy kell valami amihez úgymond, lekötöd az értékeket, vagy amivel be tudod
//azonosítani. Ha ez megvan, akkor, biztosan 1 db olyan sor lesz az eredményben ahol
//pl. az ID = 1, és az 1 sor indexe a 0, így minden értéket a 0. sorból kitudsz szedni ami kell.
//OszlopNév-hez azt adsz meg amit akarsz. A változó amibe tárolod.
new Float:X,Float:Y,Float:Z;
cache_get_value_name_float(0,\"X\",X);
cache_get_value_name_float(0,\"Y\",Y);
cache_get_value_name_float(0,\"Z\",Z);

 
 

29
Segítségkérés / Auto szalon feltoltes sql
« Dátum: 2018. Március 04. - 11:07:13 »
Tehát IG akarsz az SQL-be irni és kezelni? Nos ez egy kicsit bonyolultabb feladat mint az eddigiek, de megpróbálok segíteni.
 
Van ugyebár egy Táblád, ebbe kell, hogy szerepeljen egy azonosító (PRIMARY_KEY) pl. ID néven, illetve most csak egyet írok, de ezt lehet bővíteni, például, Név oszlop.
 
Szükséged lesz egy parancsra, aminek a paraméterének megadsz egy ID-t ami hivatkozni, fog az adatbázisban lévő vehs táblában lévő ID-re.
 

CMD:ujkocsi(playerid,params[])
{
if(isnull(params)) return SendClientMessage(playerid,-1,\"Használat: /újkocsi (Model) (Név)\");
new model,nev[32];
sscanf(params,\"is[32]\",model,nev);
if(model < 400 || model > 611) return SendClientMessage(playerid,-1,\"Hiba: Az model ID-nek 400 és 611 között kell lennie!\");
if(isnull(nev)) return SendClientMessage(playerid,-1,\"Hiba: Nincs név megadva!\");

// Formázod a query-d, mint globális változót
format(query,sizeof(query),\"INSERT INTO vehs (Model,Nev) VALUES (%d,\'%s\')\",model,nev);
mysql_tquery(SQL,query);

new string[128]; format(string,sizeof(string),\"Jármű hozzáadva az adatbázishoz! Model: %d, Név: %s\",model,nev);
SendClientMessage(playerid,-1,string);

return 1;
}

 
Valami hasonlóféleképpen, az első részében láthatod a paraméteres parancs levezetését, a második részben az SQL részét. Így tudsz az adatbázisba felrakni dolgokat, akár IG is.
 
A másik pedig a kezelés, név változtatás stb.
 

CMD:kocsinev(playerid,params[])
{
if(isnull(params)) return SendClientMessage(playerid,-1,\"Használat: /kocsinev (ID) (Új Név)\");
new id,nev[32];
sscanf(params,\"is[32]\",id,nev);
if(isnull(nev)) return SendClientMessage(playerid,-1,\"Hiba: Nincs név megadva!\");

// Formázod a query-d, mint globális változót
format(query,sizeof(query),\"UPDATE vehs SET Nev = \'%s\' WHERE ID = %i\",nev,id);
mysql_tquery(SQL,query);

new string[128]; format(string,sizeof(string),\"Jármű neve megváltoztatva az adatbázisban! ID: %d, Név: %s\",model,nev);
SendClientMessage(playerid,-1,string);

return 1;
}

 
Hasonló az előzőhöz képest, csak itt UPDATE-t kell használni mivel változtatni akarod.
 
Remélem tudtam valamit segíteni ezzel.

30
Segítségkérés / Kapu hiba
« Dátum: 2018. Március 03. - 14:35:35 »
1. Használj Streamer plugint
 
2. A paraméteres parancsok ZCMD esetén, máshogy működnek. sscanf2-vel próbáld meg.

Oldalak: 1 [2] 3 4 ... 10
SimplePortal 2.3.7 © 2008-2024, SimplePortal