Főoldal
Fórum
Bejelentkezés
Regisztráció
Friss hírek
Információ
GTA Közösség – Megszokott arculattal.
Keresés a fórumon
GTA Közösség - A magyar GTA fórum
»
San Andreas Multiplayer (SA-MP)
»
SA-MP: Szerverfejlesztés
»
Segítségkérés
»
Halál ürítés
« előző
következő »
Nyomtatás
Oldalak: [
1
]
Le
Szerző
Téma: Halál ürítés (Megtekintve 1110 alkalommal)
RicSiy123
152
Halál ürítés
«
Dátum:
2018. április 29. - 11:38:03 »
0
Voters list:
Sziasztok, itt egy inventory rendszer pár lényegesebb része:
stock ShowItems(playerid)
{
new msg[128],dialogstr[3000],bool:c;
format( msg, 128,\"Darabszám\\t\\tNév\");
strcat(dialogstr,msg);
for(new i; i<MAX_ITEMS; i++)
{
if(!CompareEx(ItemName[playerid]
,\"Üres\"))
{
c = true;
format(msg,128,\"\\n%d\\t\\t%s\",ItemAmount[playerid]
,ItemName[playerid]
);
strcat(dialogstr,msg);
}
}
if(c != false) ShowPlayerDialog(playerid,DIALOG_CUCC,DIALOG_STYLE_LIST,\"A zsebed tartalma:\",dialogstr,\"Választ\",\"Mégsem\");
else SendClientMessage( playerid, -1, \"Üres a zsebed.\" );
return 1;
}
stock GetItemSlot(playerid,item[])
{
for(new i; i<MAX_ITEMS; i++)
{
if(CompareEx(ItemName[playerid]
,item)) return i;
}
return -1;
}
stock IsPlayerOwnItem(playerid,item[])
{
for(new i; i<MAX_ITEMS; i++)
{
if(CompareEx(ItemName[playerid]
,item)) return 1;
}
return 0;
}
stock GetItemAmount(playerid,item[])
{
for(new i; i<MAX_ITEMS; i++)
{
if(CompareEx(ItemName[playerid]
,item)) return ItemAmount[playerid]
;
}
return -1;
}
stock ResetPlayerItems(playerid)
{
for(new i; i<MAX_ITEMS; i++)
{
format(ItemName[playerid]
,128,\"%s\",\"Üres\");
ItemAmount[playerid]
= 0;
}
return 1;
}
stock SaveItems(playerid)
{
new m[128];
format(itemfile,sizeof(itemfile),\"/Inv/%s.ini\",GetNamei(playerid));
for(new i; i<MAX_ITEMS; i++)
{
format(m,128,\"Item%d\",i);
dini_Set(itemfile,m,ItemName[playerid]
);
format(m,128,\"Itemamount%d\",i);
dini_IntSet(itemfile,m,ItemAmount[playerid]
);
}
return 1;
}
stock LoadItems(playerid)
{
new m[128];
format(itemfile,sizeof(itemfile),\"/Inv/%s.ini\",GetNamei(playerid));
if(dini_Exists(itemfile))
{
ResetPlayerItems(playerid);
for(new i; i<MAX_ITEMS; i++)
{
format(m,128,\"Item%d\",i);
new item[128];
format(item,128,\"%s\",dini_Get(itemfile,m));
format(ItemName[playerid]
,128,\"%s\",item);
format(m,128,\"Itemamount%d\",i);
ItemAmount[playerid]
= dini_Int(itemfile,m);
}
}
else
{
dini_Create(itemfile);
ResetPlayerItems(playerid);
SaveItems(playerid);
}
return 1;
}
stock GetItemName(playerid,itemslot) return ItemName[playerid][itemslot];
stock CompareEx(comp[], with[])
{
new LenghtComp = strlen(comp);
new LenghtWith = strlen(with);
new Character;
if( LenghtComp != LenghtWith ) return false;
for( new i = 0; i < LenghtComp; i++ )
{
if( comp
== with
)
{
Character++;
}
}
if( LenghtComp == Character ) return true;
return false;
}
stock DropItem(Model,Amounta, Float:X, Float:Y, Float:Z, world, interior)
{
if(Model != 0)
{
for(new i = 0; i < sizeof(ItemInfo); i++)
{
if(ItemInfo
[ItemPosX] == 0.0 && ItemInfo
[ItemPosY] == 0.0 && ItemInfo
[ItemPosZ] == 0.0)
{
ItemInfo
[ItemModel] = Model;
ItemInfo
[ItemAmounta] = Amounta;
ItemInfo
[ItemPosX] = X;
ItemInfo
[ItemPosY] = Y;
ItemInfo
[ItemPosZ] = Z;
ItemInfo
[ItemVWorld] = world;
ItemInfo
[ItemInterior] = interior;
Label
= Create3DTextLabel(\"Tárgy\\nC\", 0x008080FF,X,Y,Z, 5.0,world, 0);
DropObject
= CreateObject(Model, X, Y, Z-1,0.0, 0.0, 0.0, world);
return 1;
}
}
return 1;
}
return 1;
}
(Ez nem a teljes rendszer)
A kérdésem az lenne, hogy valaki tudna segíteni abban, hogy halálnál az összes nála lévő tárgyat kidobja, annyit amennyi van nála? Előre is köszönöm, ha valaki segít!
«
Utoljára szerkesztve: 2018. április 29. - 11:38:34 írta RicSiy123
»
Naplózva
RicSiy123
152
Halál ürítés
«
Válasz #1 Dátum:
2018. április 29. - 11:39:47 »
0
Voters list:
Itt a kidobás:
if(CompareEx(PlayerInfo[playerid][pCucc],\"Pizzaszelet\"))
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
DropItem(2702,1,x,y,z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
RemoveItem(playerid,PlayerInfo[playerid][pCucc],1);
PlayerInfo[playerid][pCucc] = 0;
}
Naplózva
Broocean
41
Halál ürítés
«
Válasz #2 Dátum:
2018. április 29. - 12:04:35 »
0
Voters list:
public
OnPlayerDeath
(
playerid
,
killerid
,
reason
)
{
ResetPlayerItems
(
playerid
);
return
1
;
}
Benne van az inventory rendszeredben is \"stock ResetPlayerItems\", minden tárgyat lenulláz vele.
Naplózva
RicSiy123
152
Halál ürítés
«
Válasz #3 Dátum:
2018. április 29. - 15:44:22 »
0
Voters list:
Ez világos, viszont én ki szeretném dobni az összes tárgyát a földre.
Naplózva
picsu
6
Halál ürítés
«
Válasz #4 Dátum:
2018. május 02. - 09:26:17 »
0
Voters list:
Miket akarsz kidobni?
Naplózva
RicSiy123
152
Halál ürítés
«
Válasz #5 Dátum:
2018. május 02. - 17:01:39 »
0
Voters list:
Az összes nála levő tárgyat.
stock DropItem(Model,Amounta, Float:X, Float:Y, Float:Z, world, interior)
{
if(Model != 0)
{
for(new i = 0; i < sizeof(ItemInfo); i++)
{
if(ItemInfo
[ItemPosX] == 0.0 && ItemInfo
[ItemPosY] == 0.0 && ItemInfo
[ItemPosZ] == 0.0)
{
ItemInfo
[ItemModel] = Model;
ItemInfo
[ItemAmounta] = Amounta;
ItemInfo
[ItemPosX] = X;
ItemInfo
[ItemPosY] = Y;
ItemInfo
[ItemPosZ] = Z;
ItemInfo
[ItemVWorld] = world;
ItemInfo
[ItemInterior] = interior;
Label
= Create3DTextLabel(\"Tárgy\\nC\", 0x008080FF,X,Y,Z, 5.0,world, 0);
DropObject
= CreateObject(Model, X, Y, Z-1,0.0, 0.0, 0.0, world);
return 1;
}
}
return 1;
}
return 1;
}
Naplózva
RicSiy123
152
Halál ürítés
«
Válasz #6 Dátum:
2018. május 02. - 17:03:03 »
0
Voters list:
Angol Dayz stílusú szerveren találkozhattok ilyennel, ahol halálnál a földre üríti az inventory tartalmát. Ezt szeretném megoldani valahogy.
Ezen indulnék el, de még nem értek hozzá eléggé.
stock ShowItems(playerid)
{
new msg[128],dialogstr[3000],bool:c;
format( msg, 128,\"Darabszám\\t\\tNév\");
strcat(dialogstr,msg);
for(new i; i<MAX_ITEMS; i++)
{
if(!CompareEx(ItemName[playerid]
,\"Üres\"))
{
c = true;
format(msg,128,\"\\n%d\\t\\t%s\",ItemAmount[playerid]
,ItemName[playerid]
);
strcat(dialogstr,msg);
}
}
if(c != false) ShowPlayerDialog(playerid,DIALOG_CUCC,DIALOG_STYLE_LIST,\"A zsebed tartalma:\",dialogstr,\"Választ\",\"Mégsem\");
else SendClientMessage( playerid, -1, \"Üres a zsebed.\" );
return 1;
}
«
Utoljára szerkesztve: 2018. május 02. - 17:14:15 írta RicSiy123
»
Naplózva
Nyomtatás
Oldalak: [
1
]
Fel
« előző
következő »
GTA Közösség - A magyar GTA fórum
»
San Andreas Multiplayer (SA-MP)
»
SA-MP: Szerverfejlesztés
»
Segítségkérés
»
Halál ürítés
ePrivacy and GPDR Cookie Consent by CookieConsent.com
SimplePortal 2.3.7 © 2008-2024, SimplePortal