Szerző Téma: Sramm\'s Inventory System v. 2.0  (Megtekintve 10577 alkalommal)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #15 Dátum: 2013. február 08. - 16:39:12 »
0 Show voters
Teszteltem, valószínûleg nálad van a hiba. Esetleg OnPlayerUseItem alatt valamit elírtál?
Ezzel teszteltem, az én incemmel: http://www.solidfiles.com/d/10f69f029f/
Ne felejts el \"Inv\" nevû mappát létrehozni a scriptfilesbe. Minden mûködik nálam.

Nem elérhető Amf

  • 1459
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #16 Dátum: 2013. február 08. - 18:15:05 »
0 Show voters
Nálam így vannak, nem tudom mi a gond.

Valamikor rányomok valamire aztán, \"
Elvetted az Ürest az illetõtõl \"


public OnPlayerUseItem( playerid, item[] )
{
if( MOTOZ[ playerid ] == MAX_PLAYERS + 1 )
{
    format( pInfo[ playerid ][ UsedItem ], 128, item );
    if( pInfo[ playerid ][ ClickedPlayer ] != playerid )
    {
        ShowPlayerDialog( playerid, GIVE_DIALOG, DIALOG_STYLE_MSGBOX, \"{00d5ff}Tárgy Átadás\", \"{00d5ff}Át szeretnéd adni a tárgyat?\", \"Igen\", \"Nem\" );
}
else
{
    ShowPlayerDialog( playerid, DROP_DIALOG, DIALOG_STYLE_MSGBOX, \"{00d5ff}Tárgy Eldobás\", \"{00d5ff}El szeretnéd dobni a tárgyat?\", \"Igen\", \"Nem\" );
}
}
else
{
        format( pInfo[ MOTOZ[ playerid ] ][ UsedItem ], 128, item ),
        ShowPlayerDialog( playerid, LOST_DIALOG, DIALOG_STYLE_MSGBOX, \"{00d5ff}Tárgy Elvétele\", \"{00d5ff}El szeretnéd venni a tárgyat?\", \"Igen\", \"Nem\" );
}
return 0;
}

 


   if( dialogid == GIVE_DIALOG )
{
    if( response )
    {
        SendClientMessage( playerid, ZOLD, \"(( Sikeresen átadtad a tárgyat! ))\" ), cmd_me( playerid, \"átad valamit.\" ), cmd_me( pInfo[ playerid ][ ClickedPlayer ], \"elvesz valamit.\" );
   RemoveItem( playerid, pInfo[ playerid ][ UsedItem ], 1 ), GiveItem( pInfo[ playerid ][ ClickedPlayer ], pInfo[ playerid ][ UsedItem ], 1 );
    }
}
if( dialogid == DROP_DIALOG )
{
    if( response )
    {
        SendClientMessage( playerid, ZOLD, \"(( Sikeresen eldobtad a tárgyat! ))\" ), cmd_me( playerid, \"eldob valamit.\" );
            RemoveItem( playerid, pInfo[ playerid ][ UsedItem ], 1 );
}
}
if( dialogid == LOST_DIALOG )
{
    if( ! response ) return MOTOZ[ playerid ] = MAX_PLAYERS + 1;
    if( response )
    {
        new STRING[ 128 ];
       
        RemoveItem( MOTOZ[ playerid ], pInfo[ MOTOZ[ playerid ] ][ UsedItem ], GetItemAmount( MOTOZ[ playerid ], pInfo[ MOTOZ[ playerid ] ][ UsedItem ] ) );
       
        format( STRING, sizeof( STRING ), \"(( %s elvette tõled a %s(o/e)t! ))\", PlayerName( playerid ), pInfo[ MOTOZ[ playerid ] ][ UsedItem ] );
        SendClientMessage( MOTOZ[ playerid ], PIROS, STRING ), cmd_me( playerid, \"elvesz valamit.\" );
       
        MOTOZ[ playerid ] = MAX_PLAYERS + 1;
}
MOTOZ[ playerid ] = MAX_PLAYERS + 1;
}

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #17 Dátum: 2013. február 08. - 18:34:27 »
0 Show voters
Igazából több mindent nem értek a kódból pl. ezt:
 
MOTOZ[ playerid ] = MAX_PLAYERS + 1;

 
Ezzel elmondod, mit szeretnél elérni? Mert a MAX_PLAYER-t (ami alapból 500) növeled egyel, és úgy vettem észre, hogy egy playernek az id-jét kezeled vele.
Javíts ki, ha tévedek.
De ha elmondod mit szeretnél megcsinálni, talán segíteni is tudok.
(Egyébként OnPlayerUseItem-nél return 1;-et érdemes használni.)

Nem elérhető Amf

  • 1459
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #18 Dátum: 2013. február 08. - 18:38:25 »
0 Show voters
Így kérdezem le, hogy motoz-e a játékos.

Ha motoz, akkor egy játékos azonosítója az érték.


Ha nem, akkor pedig MAX_PLAYERS + 1. ( Vagyis 31 )



if( MOTOZ[ playerid ] > MAX_PLAYERS ) return MOTOZ[ playerid ] = Nem motoz senkit.
if( MOTOZ[ playerid ] < MAX_PLAYERS ) return MOTOZ[ playerid ] = Motoz valakit.

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #19 Dátum: 2013. február 08. - 18:40:53 »
0 Show voters
Ez az, amit én írtam, vagy az, amit te?

Nem elérhető Amf

  • 1459
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #20 Dátum: 2013. február 08. - 18:43:45 »
0 Show voters
Ez az amit te.

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #21 Dátum: 2013. február 08. - 19:21:40 »
0 Show voters
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#include <inventory>
#define GIVE_DIALOG 1
#define DROP_DIALOG 2
#define LOST_DIALOG 3
#define LOST_DIALOG_SECOND 4
new motoz[MAX_PLAYERS] = INVALID_PLAYER_ID;
new atad[MAX_PLAYERS] = INVALID_PLAYER_ID;
new itemname[MAX_PLAYERS][128];
new nameex[MAX_PLAYERS][MAX_ITEMS][128];
 
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
return 1;
}
CMD:motoz(playerid,params[])
{
if(!isnull(params))
{
    new dialogstr[3000];
    new id = strval(params);
    motoz[playerid] = id;
    for(new i; i< MAX_ITEMS; i++)
    {
        strcat(dialogstr,GetItemName(id,i));
        format(nameex[playerid],128,\"%s\",GetItemName(id,i));
}
ShowPlayerDialog(playerid,LOST_DIALOG_SECOND,DIALOG_STYLE_LIST,\"Motozás\",dialogstr,\"Elvesz\",\"Mégsem\");
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
atad[playerid] = clickedplayerid;
ShowItems(playerid);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerUseItem(playerid,item[])
{
format(itemname[playerid],128,\"%s\",item);
if(motoz[playerid] != INVALID_PLAYER_ID)
{
    if(atad[playerid] != INVALID_PLAYER_ID)
    {
        ShowPlayerDialog( playerid, GIVE_DIALOG, DIALOG_STYLE_MSGBOX, \"{00d5ff}Tárgy Átadás\", \"{00d5ff}Át szeretnéd adni a tárgyat?\", \"Igen\", \"Nem\" );
}
    ShowPlayerDialog( playerid, DROP_DIALOG, DIALOG_STYLE_MSGBOX, \"{00d5ff}Tárgy Eldobás\", \"{00d5ff}El szeretnéd dobni a tárgyat?\", \"Igen\", \"Nem\" );
}
else ShowPlayerDialog( playerid, LOST_DIALOG, DIALOG_STYLE_MSGBOX, \"{00d5ff}Tárgy Elvétele\", \"{00d5ff}El szeretnéd venni a tárgyat?\", \"Igen\", \"Nem\" );
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
OnItemResponse(playerid,dialogid,response,listitem);
if(dialogid == LOST_DIALOG_SECOND)
{
    if(response) CallLocalFunction(\"OnPlayerUseItem\", \"is\",playerid, nameex[playerid][listitem]);
}
if(dialogid == GIVE_DIALOG)
{
if(response)
{
    RemoveItem(playerid,itemname[playerid],1);
    AddItem(atad[playerid],itemname[playerid],1);
    atad[playerid] = INVALID_PLAYER_ID;
}
else atad[playerid] = INVALID_PLAYER_ID;
}
if(dialogid == DROP_DIALOG)
{
if(response)
{
    RemoveItem(playerid,itemname[playerid],1);
}
}
if( dialogid == LOST_DIALOG )
{
    RemoveItem(motoz[playerid],itemname[playerid],GetItemAmount(motoz[playerid],itemname[playerid]));
    motoz[playerid] = INVALID_PLAYER_ID;
}
return 0;
}

 
Gyorsan összedobtam egyet, ha valami hiba van, ami nem lehet túl nagy, azt gondolom tudod javítani, meg majd kompatibilissá teszed a módhoz.

Nem elérhető Amf

  • 1459
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #22 Dátum: 2013. február 09. - 10:00:26 »
0 Show voters
Így sem jó. :nono:

Az a gond, hogyha rányomok valamire, és az elõtte lévõ slot üres, akkor megáll a folyamat.


Szóval, hiába van a második slotom valamim, nem tudom használni mert az elõtte lévõ slot üres.

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #23 Dátum: 2013. február 09. - 11:56:12 »
0 Show voters
Mit ír ki?   Majd otthon megnézem megint. Egyebkent mikor jon a hiba? Atadasnal,eldobasnal,vagy elvetelnel? Szerintem valamelyik lekerdezo fuggvennyel lesz a hiba.

Nem elérhető Amf

  • 1459
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #24 Dátum: 2013. február 09. - 15:03:22 »
0 Show voters
Mindegyiknél hibás.. ha a fölötte lévõ slot üres, akkor nem engedi használni, \" itt nincs semmi \".

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #25 Dátum: 2013. február 09. - 15:30:27 »
0 Show voters
Nincs skyped, vagy vmi? Így elég nehéz. Mutasd a meg ezt a stockot, ami nálad van:
OnItemResponse(playerid, dialogid, response,listitem)

Nem elérhető Amf

  • 1459
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #26 Dátum: 2013. február 09. - 15:35:10 »
0 Show voters
Mi a skype neved?

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #27 Dátum: 2013. február 09. - 15:39:54 »
0 Show voters
barabas_levente

Nem elérhető Sramm

  • 596
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #28 Dátum: 2013. február 14. - 18:46:52 »
0 Show voters
2.0 elérhetõ, az AmF által jelentett bug javításával.

Nem elérhető skyLine

  • Globális moderátor
  • 2171
  • 2020
  • Vaterán
    • Profil megtekintése
Sramm\'s Inventory System v. 2.0
« Válasz #29 Dátum: 2013. június 27. - 00:55:55 »
0 Show voters
Eddig sosem volt ehhez hasonló hibám. Most sem értem mi a probléma vele, de amikor használom a ShowItems-t akkor a játékosnak azt hozza be, hogy
Spoiler for Táska:
\"Darabszám Név\"
\"0\"
\"0\"
\"0\"
\"0\"
\"0\"
\"0\"
\"0\"
...
És nem is menti el a(z) \"Inv\" nevû mappába a .ini fájlját a játékosnak.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal