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

Oldalak: 1 2 [3] 4 5 6
31
SA-MP: Szerverfejlesztés / [MYSQL] Inventory rendszer(0.1)
« Dátum: 2016. június 23. - 21:44:04 »
Idézetet írta: ƒeheristi97 date=1466699086\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"60972\" data-ipsquote-contentclass=\"forums_Topic
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.. :D
 

#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 :D
É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 :D
 
[/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
SA-MP: Szerverfejlesztés / [MYSQL] Inventory rendszer(0.1)
« 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
Segítségkérés / Frakció kezelés [Dini]
« 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
Segítségkérés / Bemutatkozás.
« 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
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
Segítségkérés / Frakciórang betöltése táblából
« 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
Segítségkérés / Frakciórang betöltése táblából
« 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
Segítségkérés / Kezdő teleport parancs
« 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
Segítségkérés / MySQL adminok
« 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
Segítségkérés / MySQL adminok
« 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
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

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
Segítségkérés / SA-MP Masterlist
« Dátum: 2015. november 15. - 11:38:24 »
Azt hittem, csak nálam van így....  :facepalm: :hmmm: :hmmm: :hmmm: :hmmm:

44
Segítségkérés / Ez miért van?
« 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
Segítségkérés / .TXT fájlok kilistázása majd abból való olvasás
« 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.

Oldalak: 1 2 [3] 4 5 6
SimplePortal 2.3.7 © 2008-2024, SimplePortal