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 - szilikee1998
31
« Dátum: 2016. június 23. - 21:44:04 »
nagyon klassz egy kezdő inventory rendszer elkezdéséhez, szép munka. Illetve el ne felejtsd ezeket beilleszteni a kód elejére, sokan fognak panaszkodni, hogy miért hibás a kódod..
#include a_samp #include a_mysql #include zcmd #include sscanf2
Köszönöm, igen ezt kihagytam, de szerintem aki már MYSQL-el elkezd foglalkozni, az alapból rájön,hogy ezek kellenek oda... viszont, hogy félreértések ne essenek beszúrom Dupla hozzászólás automatikusan összefûzve. ( 2016. június 23. - 21:45:10 )
Kissé összekuszált, de nagyon jó rendszer lesz belőle, én például, úgy oldanám meg, hogy amikor itemet választ,
if(listitem == 0) // Használat { TargyHasznalat(playerid,itemnev); } TargyHasznalat(playerid,nev[]) { if(!strcmp(nev,\"Kaja\")) { SCM(playerid,\"Megettél egy kenyeret\"); } } Persze ez úgyanúgy müködik mint a tied, csupán annyi, hogy nem a dialog részedbe irod bele És esetleg csinálhatnál saját lekérdezéseket is, így nemkellene mindenhol megcsinálnod. pl. :
GetItemDarab(playerid,nev); GetItemTipus(playerid,nev); Valami ilyesmik, de szintén ezis csak könnyíti a munkádat, és szintaktikailag nézz ki jobban. Ezeket tudnám neked ajánlani, sok sikert a tovább fejlesztéshez, én mindenképpen támogatlak ebben [/quote] Köszönöm. Igen-igen erre én is gondoltam, viszont 10.000 sor után már nem átlátható, ugrálni kell ide-oda.
32
« Dátum: 2016. június 23. - 16:10:43 »
Sziasztok. A napokban elkezdtem írogatni egy inventory rendszert. A rendszer tartalmazza a /taska parancsot, melyel megnézhetjük mi van nálunk, tartalmazza a /giveitem parancsot, melyen az adminok itemet tudnak adni a játékosnak. Készítési idő: pár óra Item típusok: 0 - Kaja 1 - Pia 2 - Cigaretta 3 - Drog 4 - Fegyver(nincs kész) 100 - Használhatatlan 0.1 verzió: *Admin tud adni neked cuccokat. *A táskában levő cuccokat tudod használni( megenni/meginni/elszívni) Fejlesztészre vár: *Fegyverek a táskában *Cuccok eldobása *Cuccok átadása #include a_samp #include a_mysql #include zcmd #include sscanf2 CMD:taska(playerid,params[]) { Inventory(playerid); return 1; } CMD:giveitem(playerid,params[]) { if(IsPlayerAdmin(playerid)) { new itemnev[128], jatekosnev[128], darab, fajta; if(sscanf(params, \"s[128]dds[128]\", itemnev, darab, fajta, jatekosnev)) return SendClientMessage(playerid, -1, \"Használat: /giveitem [itemnév] [darab] [type(/itemtypes)] [játékosnév]\"); format(SQL_Input,sizeof(SQL_Input),\"SELECT darab FROM `inventory` WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\",jatekosnev,itemnev ); mysql_query(SQLHandle, SQL_Input); if(!cache_num_rows()) { format(query, sizeof(query), \"INSERT INTO `inventory` (itemname,darab,kinek,type) VALUES ( \'%s\', \'%d\', \'%s\', \'%d\')\", itemnev, darab, jatekosnev, fajta); mysql_query(SQLHandle, query); } else { new hanyvanneki = cache_get_field_content_int(0, \"darab\"); format(SQL_Input, sizeof(SQL_Input), \"UPDATE `inventory` SET `darab`= \'%i\' WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\",hanyvanneki+darab, jatekosnev,itemnev); mysql_tquery(SQLHandle, SQL_Input, \"\", \"\"); } new string[256]; format(string, sizeof(string), \"(( Sikeresen adtál %s-nak/nek %s itemből %d darabot. ))\", jatekosnev,itemnev,darab); SendClientMessage(playerid, CITROM, string); new jatekosnak[128]; format(jatekosnak,sizeof(jatekosnak),\"Egy admin adott neked %s itemből %d darabot!\",itemnev,darab); SendClientMessage(GetPlayerIdFromName(jatekosnev), ZOLD, jatekosnak); } return 1; } forward OnPlayerInventory(playerid); public OnPlayerInventory(playerid) { new str1[2048], str2[32]; new tempAdmin[64], tempName[64][24]; format(str1, sizeof(str1), \"Item\\tDarab\"); if(!cache_num_rows()) return SendClientMessage(playerid, -1, \"Táskád üres\"); for(new i; i < cache_get_row_count(); i++) { cache_get_field_content(i, \"itemname\", tempName, SQLHandle, 24); tempAdmin = cache_get_field_content_int(i, \"darab\"); format(str2, sizeof(str2), \"\\n%s\\t%i\", tempName, tempAdmin); strcat(str1, str2); } ShowPlayerDialog(playerid, 2000, DIALOG_STYLE_TABLIST_HEADERS, \"Táska\", str1 , \"Rendben\", \"Mégsem\"); return 1; } stock Inventory(playerid) { mysql_format(SQLHandle, SQL_Input, sizeof(SQL_Input), \"SELECT * FROM inventory WHERE kinek = \'%s\'\",GetName(playerid)); mysql_tquery(SQLHandle, SQL_Input, \"OnPlayerInventory\", \"i\", playerid); } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 2000) { if(response) { SetPVarString(playerid,\"Item\",inputtext); ShowPlayerDialog(playerid,2001,DIALOG_STYLE_LIST,\"Item\",\"Használ\\nÁtad\\nEldob\",\"Rendben\",\"Bezár\"); } } if(dialogid == 2001) { new itemnev[128]; GetPVarString(playerid,\"Item\",itemnev,sizeof(itemnev)); if(listitem == 0 && response) { new nev[24]; GetPVarString(playerid,\"Szemely\",nev,sizeof(nev)); format(SQL_Input,sizeof(SQL_Input),\"SELECT darab,type FROM `inventory` WHERE `itemname` = \'%s\'\", itemnev); mysql_query(SQLHandle, SQL_Input); new db,type; db = cache_get_field_content_int(0, \"darab\"); type = cache_get_field_content_int(0, \"type\"); new S[128]; if(type == 0) { format(S,sizeof(S),\"elkezd enni egy %s-t.\",itemnev); cmd_me(playerid,S); ApplyAnimation(playerid, \"FOOD\", \"EAT_Pizza\",4.1,0,1,1,0,0); if(db-1 >= 1) { format(SQL_Input,sizeof(SQL_Input),\"UPDATE inventory SET darab = %d WHERE kinek = \'%s\' AND itemname = \'%s\'\",db-1,GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } if(db-1 == 0) { format(SQL_Input, sizeof(SQL_Input), \"DELETE FROM `inventory` WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\", GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } } else if(type == 1) { format(S,sizeof(S),\"elkezd inni egy %s-t.\",itemnev); cmd_me(playerid,S); ApplyAnimation(playerid, \"VENDING\", \"VEND_Drink2_P\",4.1,0,1,1,0,0); if(db-1 >= 1) { format(SQL_Input,sizeof(SQL_Input),\"UPDATE inventory SET darab = %d WHERE kinek = \'%s\' AND itemname = \'%s\'\",db-1,GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } if(db-1 == 0) { format(SQL_Input, sizeof(SQL_Input), \"DELETE FROM `inventory` WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\", GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } } else if(type == 2) { format(S,sizeof(S),\"rágyujt egy %s cigarettára.\",itemnev); cmd_me(playerid,S); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY); if(db-1 >= 1) { format(SQL_Input,sizeof(SQL_Input),\"UPDATE inventory SET darab = %d WHERE kinek = \'%s\' AND itemname = \'%s\'\",db-1,GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } if(db-1 == 0) { format(SQL_Input, sizeof(SQL_Input), \"DELETE FROM `inventory` WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\", GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } } else if(type == 3) { format(S,sizeof(S),\"rágyujt egy tekert cigarettára.\",itemnev); cmd_me(playerid,S); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY); SetPlayerWeather(playerid,700); if(db-1 >= 1) { format(SQL_Input,sizeof(SQL_Input),\"UPDATE inventory SET darab = %d WHERE kinek = \'%s\' AND itemname = \'%s\'\",db-1,GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } if(db-1 == 0) { format(SQL_Input, sizeof(SQL_Input), \"DELETE FROM `inventory` WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\", GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } } else if(type == 4) { if(Ugyanaz(itemnev,\"Golfütő\")) { format(S,sizeof(S),\"előveszi a %s-t.\",itemnev); cmd_me(playerid,S); GivePlayerWeapon(playerid,2,1); format(SQL_Input, sizeof(SQL_Input), \"DELETE FROM `inventory` WHERE `kinek` = \'%s\' AND `itemname` = \'%s\'\", GetName(playerid),itemnev); mysql_tquery(SQLHandle, SQL_Input); } } } } return 1; }
Tábla: CREATE TABLE IF NOT EXISTS `inventory` ( `DBID` int(11) NOT NULL AUTO_INCREMENT, `itemname` varchar(128) NOT NULL, `darab` int(11) NOT NULL, `kinek` varchar(32) NOT NULL, `type` int(11) NOT NULL, PRIMARY KEY (`DBID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;
Ha bármi gond van írjatok és segítek.
33
« Dátum: 2016. május 21. - 21:29:37 »
Annó én is emiatt álltam át MYSQL-re. Megsúgom neked, nem fogod megbánni!
34
« Dátum: 2016. május 16. - 11:02:13 »
Sziasztok. Na szóval, felvázolom alapokban mit szeretnék. Akarok írni egy MYSQL alapú bemutatkozás scriptet. Miből is áll ? Ha felcsatlakozol a szerverre és nincs neked bemutatkozva senki, akkor nem látod senki nevét, de ha Kis_Pista bemutatkozik neked, bármikor felcsatlakozol, akkor látod Kis_Pista nevét a feje fölött. Az addig oké, hogy /bemutatkoz Kis_Pista és akkor elmenti egy táblába. PL : DBID KI KINEK 1 James_Watson Kis_Pista
Na, azt szeretném megkérdezni, hogyha én James_Watson(azaz én) felcsatlakozok a szerverre és nekem alapból 25 ember be van mutatkozva, de 60-an vannak a szerveren abból csak 10-et ismerek. Hogy tudom azt megoldani, hogy kiírja annak a 10 embernek a nevét a feje fölött aki nekem be van mutatkozva? Válaszokat előre is köszönöm. Remélem érthetően leírtam.
35
« Dátum: 2016. május 04. - 17:38:41 »
Nem csak nálad van ez. Nagyobb szervereknél is gond ez (Pl nekem fay-on is ez van, esc-elek és minden jó). Úgyhogy szerintem alapból ez ilyen.
36
« Dátum: 2016. április 29. - 09:12:17 »
Ez pont nem jó mert külön külön változóba menti el a rangok nevet. Majdnem ugyan ott vagyok mert a modba bele kell irnom x változót x ranghoz Ezzel az erővel írhatnám a rang nevet is.
37
« Dátum: 2016. április 26. - 21:03:10 »
Tábla : Frakcióid Rangid Rangnév 1 1 Kadét 1 2 Őrmester 1 3 TörzsŐrm Sziasztok. Hogy tudom megoldani, hogy ezeket nekem SQL-ből betöltse, és ha PL(ez csak egy ranfom példa) egy parancsba beírja nekem, hogy ez a rangod. Előre is köszönöm CMD:rangom { new S[128]; format(S,sizeof(S),\"Rangod: %s\",változó helye); SendClientMessage(playerid,-1,S); } Dupla hozzászólás automatikusan összefûzve. ( 2016. április 28. - 15:14:13 )
Senki? :crybaby: :Cry2: :weep:
38
« Dátum: 2016. január 20. - 16:50:05 »
CMD:lsteszt(playerid,params[]) { if(IsPlayerConnected(playerid)) { SetPlayerPos(playerid,2090.6416,5950.5400,2.1214); SendClientMessage(playerid,CITROM,\"Sikeresen elteleportáltál ls-re\"); } else SendClientMessage(playerid,PIROS,\"Hiba nem vagy bejelentkezve\"); return 1; }
39
« Dátum: 2015. december 28. - 13:08:11 »
Épp láttam amit Szifonnan írtál azért akartam énis megírni viszont úgy se sikerül nekem. Szóval tudnátok segíteni, hogy mi is a gond az általam írt(átalakított) résszel ?
40
« Dátum: 2015. december 27. - 14:06:52 »
Sziasztok. Régen Pedró. segített megírni egy /adminok parancsot amit most át szerettem volna írni, de ahogy nézem ez nem megy nekem. Szerintetek mi a hiba ? Adminrangnál mért azt írja ki hogy NULL ? Itt az általam piszkált parancs: CMD:adminok(playerid, params[]) { new admin = 0; new string[1024]; new rangja[32]; new Query[256]; foreach(petla, i) { if(pInfo[pAdmin] > 0) { mysql_format(dbHandle, Query, sizeof(Query), \"SELECT t1.*, t2.Rang FROM playerdata AS t1 LEFT JOIN adminrangok AS t2 ON t1.pAdminLevel = t2.AID WHERE t1.Username = \'%s\' LIMIT 1\", Nev(i)); mysql_query(dbHandle, Query); new tempName[64][24]; cache_get_field_content(i, \"Rang\", tempName, dbHandle, 24); rangja = tempName; } if(admin == 0) { // Azaz még az első admintalálat van.. string = \"ID\\tNév\\tRang\\tSzolgálatban\\n\"; } format(string, sizeof(string), \"%s %i \\t %s \\t %s \\n\", string, i, Nev(i), rangja); admin++; } if(admin) ShowPlayerDialog(playerid, 19862, DIALOG_STYLE_TABLIST_HEADERS, \"Online Adminok:\", string, \"Okey\", \"\"); else GameTextForPlayer(playerid, \"~r~Nincs online ~w~Admin\", 3000, 3); return 1; }
Ez meg amit Pedró. írt: CMD:adminok(playerid, params[]) { new admin = 0; new string[1024]; new rangja[32]; foreach(petla, i) { if(pInfo[pAdmin] > 0) { switch(pInfo[pAdmin]) { case 1: rangja = \"VIP\"; case 2: rangja = \"Moderátor\"; case 3: rangja = \"1.Admin\"; case 4: rangja = \"1.Admin\"; case 5: rangja = \"2.Admin\"; case 6: rangja = \"2.Admin\"; case 7: rangja = \"3.Admin\"; case 8: rangja = \"3.Admin\"; case 9: rangja = \"4.Admin\"; case 10: rangja = \"4.Admin\"; case 11: rangja = \"VIP\"; case 12: rangja = \"Adminfelügyelő\"; case 13: rangja = \"Adminfelügyelő\"; case 14: rangja = \"Játékfejlesztő\"; case 15: rangja = \"Játékfejlesztő\"; case 16: rangja = \"Játékfejlesztő\"; } if(admin == 0) { // Azaz még az első admintalálat van.. string = \"ID\\tNév\\tRang\\tSzolgálatban\\n\"; } format(string, sizeof(string), \"%s %i \\t %s \\t %s \\n\", string, i, Nev(i), rangja); admin++; } } if(admin) ShowPlayerDialog(playerid, 19862, DIALOG_STYLE_TABLIST_HEADERS, \"Online Adminok:\", string, \"Okey\", \"\"); else GameTextForPlayer(playerid, \"~r~Nincs online ~w~Admin\", 3000, 3); return 1; }
Előre is köszönöm a válaszokat
41
« Dátum: 2015. december 27. - 13:12:18 »
Szia. Sajnos nálam nem ez a gond, mivel ha a JÁTÉKOS ismétlem a JÁTÉKOS nem a SZERVER reconnectel minden rendben van :S Szóval nem tudom mi lehet a baj
42
« Dátum: 2015. december 23. - 19:57:06 »
Sziasztok :wave: Na gyerekek én most vagyok azon a ponton hogy a fejem elrobban de azonnal :wall: :wag: Ha saját regisztráció rendszert írok, ha letöltök, vannak alkalmak mikor felmegyek, nem dobja be a bejelentkező dialogot, hanem LV-t és Dillimore-t összekötő hidat látom. Mért van ez? Nagyon bosszant nem tudok mit kezdeni vele :grrrrr: :wag: Előre is köszönöm a válaszokat. Tisztelettel Szilikee
43
« Dátum: 2015. november 15. - 11:38:24 »
Azt hittem, csak nálam van így.... :facepalm: :hmmm: :hmmm: :hmmm: :hmmm:
44
« Dátum: 2015. november 15. - 11:36:43 »
Ha mutatnád a munkát többet tudnék segíteni. Többféle hiba lehet.
45
« Dátum: 2015. október 26. - 16:19:12 »
Én teljesen megértettem, nemtudom neked hogy nem esik le. Vagy egy mappája ahova menti a logokat, azon belül meg mappák hogy milyen fajta log (ölés, csatlakozás, chat) Ezeken a mappákon belül vannak neki napra szóló fájlok amibe mentődik az adott log. Ki szeretné listáztatni egy dialogban hogy milyen fajta logok vannak, majd ha valamelyikre rámegy, listázza ki a log fájlokat(amikről mondtam hogy napra szóló), majd ha ezeket megnyitja mutassa ki a log(.txt) fájl tartalmát, és ebben ő tudjon keresni.
|