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

Oldalak: 1 ... 9 10 [11] 12 13 ... 40
151
Archívum / Mystic Gaming - Palomino RolePlay @ Whale Hosting
« Dátum: 2014. május 18. - 18:10:13 »
Idézetet írta: razr date=1400429341\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47746\" data-ipsquote-contentclass=\"forums_Topic
Bocsmár Mr.Tökéletes... :rolleyes:



Semmi baj, legközelebb kérlek figyelj oda és tartsd be a szabályzatot :)) Jó szórakozást a fórumon továbbra is. :)

152
Archívum / Mystic Gaming - Palomino RolePlay @ Whale Hosting
« Dátum: 2014. május 18. - 18:02:32 »
Idézetet írta: razr date=1400428461\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47746\" data-ipsquote-contentclass=\"forums_Topic

az emberek IQ szintjének
Bagoly mondja...


[/quote]

Ez elég gyengusz volt, majd legközelebb. Kérlek ne személyeskedj mert megszeged vele a fórum szabályzatot amit ugye egyesek itt nagyon kennek/vágnak, de te is, ugyebár? Így ezt nem is szeretted volna leírni, nem?


Krisk, segíts nekem, én nem találok ilyen részt. De te is ismered, nem?


http://sampforum.hu/index.php?topic=46997.0

http://sampforum.hu/index.php?topic=47368.0#post_hirdetinfo

153
Archívum / Mystic Gaming - Palomino RolePlay @ Whale Hosting
« Dátum: 2014. május 18. - 17:40:54 »
Kérem a fórum azonnali törlését és a felhasználók likvidációját miután a moderátorok meggyõzõdnek az emberek IQ szintjének térfogatának négyzetének az összegével amelynek a szorzatának a különbségének illetve az 50%-os ráta alapjáni elbírálásának aláeséskímélõ változóképességének felsõ szintjét megütõ karakterkommunikációs RP színvonalas magyar szerver alaprátájának a százalékos kiosztásának 3/4-e megtörténik és a víz melegségétõl függõen kérem még az azonnali áthelyezést a pentagon elé, ahol elbírálják a 5/8 , 1231-as szabálykönyv 23. tételének 5. pontja szerinti eljárásának következményeit.
Ja, és amúgy majd õ eldönti hova sorolja szerintem, mert az övé.A see is fun mégis RP-nek van titulálva, inkább ott gyõzködj és küzdj, ne az igyekvõ szervereket szopasd. Köcce

154
Beszélgetés / Motiváció,edzés,testépítés!
« Dátum: 2014. május 18. - 15:02:54 »
Idézetet írta: Melvin date=1400253251\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40144\" data-ipsquote-contentclass=\"forums_Topic
Tök f***ságot beszélsz....
Én elsõsorban izmos akarok lenni,azaz a bodybuildingre koncentrálok,nem az erõre,sz*rok az erõre. Nem poweres akarok én lenni,akkor olyan edzést csinálnék stb.
Nézd már meg,hogy a fehérjeturmuxban meg a csirkemellben mi van... nem fehérje? Akkor nem mindegy?
Igaz,a szervezet a szilárd táplálékra lett kitalálva, de ezért is nem kell bevinni az egész napi fehérjeadagot turmixból. Én a negyedét szoktam csak,aki a tápkiegre alapozik az egy buzi. Naturalok is használnak fehérje turmixot stb,csak nem kokszolnak(gondolom tudod),bár szerintem a nagy naturalok közül is a fele kokszos,csak annak állítja be magát. ,mármint naturalnak.
 
Amikor egyszer edzettem, csak távolról figyeltem az eseményeket, de egy nem szarrágyúrt nagydarab gyerek aki már jópár éve kondizik 180kg-ot emelgetett, a 4 ajtós szekrények meg a 160-nál már ordítanak nyögnek és minden bajuk van. Illetve múltkor egy tésztagyúró srác nyomta le szkanderban az izomtömeget.
Te nagyon félre lehetsz vezetve, a fehérjeturmixban nem csak fehérje van, érdemes utánanézned. (Kivéve ha házilag készíted, az teljesen rendben van, de a porok után érdemes lenne utánanézned..)

155
Beszélgetés / Motiváció,edzés,testépítés!
« Dátum: 2014. május 16. - 14:50:28 »
Mindig is elítéltem a fehérjeturmixot és a tömegnövelõket, számomra a naturál tényleg naturál, nem szedek fehérjét sem, csak étrendezek és minden 2. nap megyek kondizni pár órát.
Így is látványos, csak 3-4x annyi ideig tart, de többet fogsz tudni emelni, bírni, mint egy turmixos/proteines emberke.
Elsõsorban ne izmosak akarjatok lenni, hanem erõsek, higgyétek el többet értek vele :D

156
Archívum / Live and Die in Los Santos ~ 2014-2015
« Dátum: 2014. május 15. - 22:46:02 »
Idézetet írta: krisk date=1400185924\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48240\" data-ipsquote-contentclass=\"forums_Topic


Ez most valami kalandjáték, élet szimulátor, vagy RP szerver?

 
Nem. Ez egy RPG szerver, olyan elemekkel, amik egy normális asztali vagy elektronikus RPG-ben vannak. Az RP színvonalt megpróbáljuk minnél magasabban tartani.
Lásd d20 (Dungeons & Dragons), Fallout (1-2-3,New Vegas), és rengeteg más, presztizzsel rendelkezõ, idõtálló és tesztelt RPG. Az, hogy eddig ilyen nem volt SAMP-ban, az azért van, mert senki nem merte/tudta/akarta megcsinálni.
 
Végre! Bár itt az SA-MP-ben már az RPG nem az jelenti, mint pl. ez (Ami egyébként elég nagy baj, és ezért is tartom hülyeségnek a GF jelzõt is, hiszen az is RPG-hez sorolható, csak nem ragaszkodik annyira a valósághoz, és sokkal inkább önközpontúak a karakterek, míg az RPG-nek nevezett játékstílusban inkább a karakterbe fektetett szerep a lényeg, de lényegében nem tér el.. (Lás: Metin 2, szintén RPG, de semmi köze a való élethez,és a karaktereket sem kell \"eljátszani\"). Nincs ezzel baj, csak imádom amikor okoskodnak, hogy ez nem RP az nem RP, holott maximum a SAMP keretein belül fogalmazódott meg az RPG téves eszméje, miszerint a szerepjátékot sokan szó szerint értelmezik ..
Bár ez csak az én véleményem.
De egyébként kíváncsian várom.

157
Archívum / Live and Die in Los Santos ~ 2014-2015
« Dátum: 2014. május 15. - 22:24:42 »
Ez most valami kalandjáték, élet szimulátor, vagy RP szerver?

158
Archívum / Mystic Gaming - Palomino RolePlay @ Whale Hosting
« Dátum: 2014. május 15. - 22:03:39 »
Idézetet írta: Peter date=1400094522\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47746\" data-ipsquote-contentclass=\"forums_Topic
Már nem azért de az RP szint nagyon nagyon alacsony. 1 rendõri összetûzésem.
Szállítom a pizzát gyerek kikanyarodik 2x hátulról belém jön. Megállítják a rendõrök leszállok a motorról oda megyek, hogy mondjam a rendõröknek, hogy iszonyatosan közveszélyesen vezet a csávó erre a rendõr:
[20:30:57] Peter S. Andro (8) mondja: Biztos urak <--Ez vagyok én
[20:30:59] Tom Groh (15) mondja: Üdvc.
[20:31:03] Peter Burns (0) mondja: mi kéne <--Rendõr
A rend az illem a fegyelem a kedvesség az elkövetkezõ idõben átvesz. Ordibálnak a rendõrök,lekezelõen mint ha nem is egy rendõrség lenne hanem egy banda basszus. És a csávó megússza egy figyelmeztetéssel, hogy ejnye bejnye nem szabad másnak neki menni én mivel nem volt rajtam sisak mert van 20$ ezért kapok egy 500$ (120.000Ft) os bírságot. Ennyi teszt nekem elég volt meg az egész RP-bõl. Szóval azért mindennek van 1 bizonyos szint. De ez mindennek a legalja. Aki kéri a chat logot annak elküldöm gyõzõdjön meg róla mik vannak.
 
Az árak amúgy sincsenek jól beállítva, szerintem ezzel felesleges is jönni. Az, meg hogy hogyan viselkednek az az IC jellemüktõl függ, OOC semmi, de semmi beleszólásod nem lehet. Sajnos IRL is vannak bunkó tirpák legalja rendõrök, õket sem warnolja/banolja/kickeli ezért admin..

159
SA-MP: Szerverfejlesztés / Rubik\'s Cube | by: razr
« Dátum: 2014. május 13. - 16:36:24 »
Idézetet írta: razr date=1399989534\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48213\" data-ipsquote-contentclass=\"forums_Topic
Köszönöm a dicséreteket! :)



Disaster: Nekem a kommentelésnél még a szerkesztõi gombok (betûtípus, méret, szín, smiley-k) sincsenek, nemhogy a spoiler. Ezt tegnap kezdte el a fórum, de megkérdeztem mást, neki jó. Fura.



Tévedés, rengetegszer nekem sem hozza be, pl. ennél a kommentnél sincsenek itt, a spoiler meg szintén rossz nálam is, de már 2 hete kb.

160
Archívum / Mystic Gaming - Palomino RolePlay @ Whale Hosting
« Dátum: 2014. május 12. - 22:19:18 »
Volt szerencsem az esethez, amit lemuveltetek paran az olyan DM volt mint a haz, azert ilyet Irl nem lehet csak ugy megcsinalni, hogy barkit latok lelovok, mert lazadok a rendszer ellen es kiirtom a fel varost.. Neha gondolkodjatok is..

161
Döntõ / [Elõdöntõ] Mower VS. Ryan_Sanchez
« Dátum: 2014. május 11. - 19:16:31 »
Nagyon brutalis :O Teljesen el vagyok ajulva, szinte ugyan az! Elismeresem!!
(mar feltem h nem adsz be semmit :D)

162
Ne, hülyeség, ha nincs akkor ne mutassa.

163
SA-MP: Szerverfejlesztés / Sramm\'s Inventory System v. 5.0 (Új verzió)
« Dátum: 2014. május 11. - 11:26:25 »
Video javitva.

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 11. - 13:25:17 )

Bejelentett bugok javítva, köszönöm, hogy szóltál.

164
SA-MP: Szerverfejlesztés / Sramm\'s Inventory System v. 5.0 (Új verzió)
« Dátum: 2014. május 11. - 10:16:09 »
Nem tudom ki vagy, de latszik, hogy nem ismersz :(
Geprol ranezek majd, elirtam valamit az Id-knel.

165
SA-MP: Szerverfejlesztés / Sramm\'s Inventory System v. 5.0 (Új verzió)
« Dátum: 2014. május 10. - 16:53:35 »
Sramm\'s Inventory System 5.0
 


 

 
Bevezetõ
Az alábbi filterscript azért jött létre, mert az RPG módomhoz kerestem egy Inventory(Hátizsák) rendszert, de sajnos nem találtam olyat, ami megfelelõ lett volna, ezért kénytelen voltam én írni egyet.
Fejlesztési napló:
v. 5.0
- Apróbb bugjavítások
- Az egyik változó neve akadt más incekkel, ez javítva.
- A kategória nélküli 3.0 verzió frissítve lett, már abban is eldobhatjuk, vagy átadhatjuk tárgyainkat.
- Választható rendszerek (kategóriás legyen-e, vagy ne.)
- Új fajta felépítés
v. 4.1
- ID elírás javítva
- Tárgy eldobás javítva. (csak egyet lehetett eldobni)
v. 4.0
- Új alapkövek: Kategóriák hozzáadása a játékhoz
- Új, játékos funkciók: Használat,eldobás,átadás.
- Új kinézet
- Frissített tesztfilterszkript hozzáadva
v. 3.0
- Más játékosokkal való lehetõségek hozzáadása
- Apróbb bugjavítások
- Tesztfilterszkript frissítés
v. 2.0
- Az elsõ verzió teljes cserélése és bugtalanítása.
v. 1.0
- Elsõ kiadott verzió
Függvények (Amennyiben nem használsz kategóriát, a cat[] részeket hagyd ki.)
AddItem(playerid,item[],amount,cat[])


Hozzáad a táskához egy tárgyat.
Paraméterek:

playerid - A játékos, akinek a táskájához hozzá akarsz adni valamit.
item[] - A tárgy neve, amit hozzá akarsz adni.
amount - Amennyi tárgyat akarsz hozzáadni.
cat[] - Amelyik kategóriába be szeretnéd helyezni.
Példa:

CMD:givememedikit(playerid) //Amikor beírja a parancsot
{
AddItem(playerid,\"Medikit\",1,\"Orvosságok\"); //Adunk neki egy darab \"Medikit\" nevû tárgyat az \"Orvosságok\" kategóriába
return 1;
}

Megjegyzés: Ez mindig csak hozzáad tárgyat, nem megváltoztatja. Azaz, ha van már 1 tárgyad, és te 5-t írsz a darabszámhoz, akkor 6 tárgya lesz, és nem 5.
RemoveItem(playerid,item[],amount,cat[])


Elvesz a táskából egy tárgyat.
Paraméterek:

playerid - A játékos, akinek a táskájából el akarsz venni valamit.
item[] - A tárgy neve, amit el akarsz venni.
amount - Amennyi tárgyat el akarsz venni.
cat[] - Amelyik kategóriából törölni szeretnéd.
Példa:

CMD:removememedikit(playerid) //Amikor beírja a parancsot
{
RemoveItem(playerid,\"Medikit\",1,\"Orvosságok\"); //Elveszünk egy darab \"Medikit\" nevû tárgyat az \"Orvosságok\" kategóriából
return 1;
}

ShowItems(playerid)


Megmutatja a táska tartalmát.
Paraméterek:

playerid - A játékos, akinek megmutatjuk táskát.
Példa:

CMD:hatizsakom(playerid) //Amikor beírja a parancsot
{
ShowItems(playerid); //Megmutatjuk neki a táskáját.
return 1;
}

ShowItemsEx(playerid,id,bool:type)


Megmutatja a táska tartalmát egy másik játékosnak.
Paraméterek:

playerid - A játékos, akié a táska.
id - A játékos, akinek megmutatjuk a táskát.
type - true, ha elveheti a tárgyat, false, ha nem
Példa:

CMD:getinv(playerid,params[])
{
new id,type;
    if(sscanf(params,\"ui\",id,type)) return SendClientMessage(playerid,-1,\"Használat: /getinv [id/név] [Típus] (Ha a típus 0, nem veheti el tõle a tárgyat, ha 1 igen)\");
    if(type != 0 && type != 1) return 1;
if(type == 0) ShowItemsEx(id,playerid,false);
else ShowItemsEx(id,playerid,true);
return 1;
}

GetItemSlot(playerid,item[],cat[])


Lekéri, hogy melyik helyen van egy tárgy.
Paraméterek:

playerid - A játékos, akinek a táskájából lekéri.
item[] - A tárgy neve, amit le akarunk kérni.
cat[] - Melyik kategóriában van a tárgy
Példa:

CMD:holamedikit(playerid) //Amikor beírja a parancsot
{
new msg[128];
format(msg,128,\"A Medikit ezen a helyen van: \'%d\'\",GetItemSlot(playerid,\"Medikit\",\"Orvosságok\"));
SendClientMessage(playerid,-1,msg);
return 1;
}

SaveItems(playerid)


Lementi egy játékos hátizsákját.
Paraméterek:

playerid - A játékos, akinek lementjük.
Példa:

CMD:saveinv(playerid) //Amikor beírja a parancsot
{
SaveItems(playerid);
return 1;
}

LoadItems(playerid)


Betölti egy játékos hátizsákját.
Paraméterek:

playerid - A játékos, akinek betöltjük.
Példa:

CMD:loadinv(playerid) //Amikor beírja a parancsot
{
LoadItems(playerid);
return 1;
}

OnItemResponse(playerid,response,listitem,inputtext[])


Lementi egy játékos hátizsákját.
Paraméterek:

playerid - A játékos, aki a dialogot megnyomja.
response - Ha a jó gombot nyomja.
listitem - Melyikre nyom.
inputtext[] - A tárgy neve.
FONTOS:
Az alábbi kódot muszáj ide raknod, hogy ki tudd választani a tárgyat.

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
      OnItemResponse(playerid,dialogid,response,listitem,inputtext);
      return 0;
}

GetItemAmount(playerid,item[],cat[])


Lekéri, hogy mennyi van az adott tárgyból.
Paraméterek:

playerid - A játékos, akinek a táskájából lekéri.
item[] - A tárgy neve, aminek a darabszámát le akarjuk kérni.
cat[] - Melyik kategóriában van a tárgy.
Példa:

CMD:mennyimedikitemvan(playerid) //Amikor beírja a parancsot
{
new msg[128];
format(msg,128,\"Ennyi Medikited van: \'%d\'\",GetItemAmount(playerid,\"Medikit\",\"Orvosságok\"));
SendClientMessage(playerid,-1,msg);
return 1;
}

IsPlayerOwnItem(playerid,item[])


Lekéri, hogy a játékosnál van-e ilyen item.
Paraméterek:

playerid - A játékos, akinek a táskájából lekéri.
item[] - A tárgy neve, amit le akarunk kérni.
Példa:

CMD:vanemedikit(playerid) //Amikor beírja a parancsot
{
if(IsPlayerOwnItem(playerid,\"Medikit\")) return SendClientMessage(playerid,-1,\"Van nálad medikit.\");
else if(!IsPlayerOwnItem(playerid,\"Medikit\")) return SendClientMessage(playerid,-1,\"Nincs nálad medikit.\");
return 1;
}

GetItemName(playerid,slot)


Lekéri a sloton lévõ tárgy nevét.
Paraméterek:

playerid - A játékos, akinek lekérjük.
slot - Aminek a nevét lekérjük.
Példa:

CMD:getname(playerid) //Amikor beírja a parancsot
{
new msg[128];
format(msg,128,\"Slot 1-en lévõ tárgy neve: \'%s\'\",GetItemName(playerid,1));
SendClientMessage(playerid,-1,msg);
        return 1;
}

GetItemCategory(playerid,slot)


Lekéri a sloton lévõ tárgy kategóriáját.
Paraméterek:

playerid - A játékos, akinek lekérjük.
slot - Aminek a nevét lekérjük.
Példa:

CMD:getcat(playerid) //Amikor beírja a parancsot
{
new msg[128];
format(msg,128,\"Slot 1-en lévõ tárgy kategóriája: \'%s\'\",GetItemCategory(playerid,1));
SendClientMessage(playerid,-1,msg);
        return 1;
}

ResetPlayerItems(playerid)


Nullázza az játékos összes tárgyát.
Paraméterek:

playerid - A játékos, akinek nullázni szeretnénk.
Példa:

CMD:resetitem(playerid) //Amikor beírja a parancsot
{
ResetPlayerItems(playerid);
return 1;
}

Eljárások
public OnPlayerUseItem(playerid,item[])


Akkor hívódik meg, amikor egy játékos rákattint egy tárgyra a hátiszáknál, ami a ShowItems(playerid)-nél hívódik meg.

Paraméterek:

playerid - A játékos, aki rányomott.
item[] - Annak a tárgynak a neve, amelyikre rányomott.
Példa:
Ha pl. én adok valakinek egy Medikit-et:

AddItem(playerid,\"Medikit\",1); //Megadom a \"Medikit\" nevû tárgyat a játékosnak

És utána õ rákattint:
public OnPlayerUseItem(playerid,item[])
{
if(CompareEx(item,\"Medikit\")) //Tehát ha egyezik annak a tárgynak a neve, amire rákattintottam a \"Medikit\"-tel... (Az inc tartalmazza a CompareEx-et)
{
    SetPlayerHealth(playerid,100); //Beállítjuk a játékos életét 100-ra
    RemoveItem(playerid,\"Medikit\",1); //És elvesszük tõle, mert ugye már használta.
    return 1;
}
return 1;
}

Megjegyzés: Ha olyan tárgyat adsz neki, amit aztán itt nem kezelsz, arra hiába kattint rá, nem fog történni semmi.
public OnPlayerUseItemEx(playerid,fromplayerid,item[])


Akkor hívódik meg, amikor egy játékos rákattint egy tárgyra egy másik játékos táskájában, ami a ShowItemsEx()-nél hívódik meg.

Paraméterek:

playerid - A játékos, aki rányomott.
fromplayerid - A játékos, akinek a táskájában túrkált.
item[] - Annak a tárgynak a neve, amelyikre rányomott.
Példa:
public OnPlayerUseItemEx(playerid,fromplayerid,item[])
{
new amount = GetItemAmount(fromplayerid,item);
        RemoveItem(fromplayerid,item,amount); //elvesszük az elõzõ tulajtól
AddItem(playerid,item,amount); //odaadjuk az újnak
return 1;
}

Fontos:
1. Az alábbi kódot muszáj ide raknod, hogy ki tudd választani a tárgyakat.

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
      OnItemResponse(playerid,dialogid,response);
      return 0;
}

2. Létre kell hoznod egy \"Inv\" mappát, hogy tudja mibe menteni a rendszer a dolgokat.
3. Az 5.0-ás verziótól kezdve az #include <inventory> elé be kell raknod, hogy
szeretnél-e használni kategóriákat, vagy sem.
Tehát így kell kinéznie:
#define INVENTORY_WITH_CATEGORY 1 // Ha 1, akkor lesznek kategóriák, ha 0, akkor nem
#include <inventory>

Megjegyzések
Ha növeled a maximum tárgyakat, minden játékost, akinek elõtte kevesebb volt szinkronizálnod kell, különben kifagyhat a szerver!
Ha bugot találsz, vagy ötleted van a témában elküldheted. :)
Külön köszönet
F0rian - Compare
Videó, képanyag
v. 2.0, v. 3.0 -

v. 4.1 -

Letöltés
v. 5.0 (Ajánlott)
srinv5.0.rar (Inventory pack)
v. 4.1
inventory.rar (Include+Inv mappa tesztfájllal+Teszt filterscript) |
v. 3.0
inventory.rar (Include+Inv mappa tesztfájllal+Teszt filterscript) | inventory.inc
v. 2.0
inventory.rar (Include+Inv mappa tesztfájllal+Teszt filterscript) | inventory.inc
Kód: (v. 4.1)



/*
/*
         Sramm\'s Inventory System
& Készítette: Sramm
& Utoljára frissítve: 2014.05.11
& Veziószám: 4.1
(c) Sramm 2013-2014
*/
#include <dini>
#if defined _INC_inventory
#endinput
#endif
#define _INC_inventory
#define SFMC(%0,%1,%2) do{new _str[128]; format(_str,128,%2); SendClientMessage(%0,%1,_str);}while(INVFALSE)
#define MAX_ITEMS 100
#define MAX_DROP_ITEMS 200
#define ITEM_DIALOG 5842
#define ITEM_DIALOG_EX ITEM_DIALOG+10
#define ITEM_DIALOG_CAT ITEM_DIALOG_EX+10
#define ITEM_DIALOG_ULTRA ITEM_DIALOG_CAT+10
 
/*
native AddItem(playerid,item[],amount,cat[]);
native RemoveItem(playerid,item[],amount,cat[]);
native ShowItems(playerid);
native ShowItemsEx(playerid,id);
native ShowRealItems(playerid,cat[]);
native GetItemSlot(playerid,item[],cat[]);
native SaveItems(playerid);
native LoadItems(playerid);
native OnItemResponse(playerid,response,listitem,inputtext[]);
native GetItemAmount(playerid,item[],cat[]);
native IsPlayerOwnItem(playerid,item[]);
native ResetPlayerItems(playerid);
native GetItemName(playerid,itemslot);
native GetItemCategory(playerid,itemslot);
*/
new INVFALSE = false;
new ItemName[MAX_PLAYERS][MAX_ITEMS][36];
new ItemCat[MAX_PLAYERS][MAX_ITEMS][36];
new ItemAmount[MAX_PLAYERS][MAX_ITEMS];
new ItemID[MAX_PLAYERS];
new listItem[MAX_ITEMS];
new ItemPlayer[MAX_PLAYERS] = INVALID_PLAYER_ID;
new ItemPlayerID[MAX_PLAYERS];
enum ditInfo
{
Text3D:ittext,
Float:posX,
Float:posY,
Float:posZ,
VW,
INV,
itname[36],
itcat[36],
itamount,
itobject
};
new DropItemInfo[MAX_ITEMS][ditInfo];
forward OnPlayerUseItem(playerid,item[]);
forward OnPlayerUseItemEx(playerid,fromplayerid,item[]);
stock RemoveHexColorFromString(string[])
{
    new
        pos[2];
    pos[0] = strfind(string,\"{\",true,0);
pos[1] = strfind(string,\"}\",true,0);
for(new i;i < strlen(string); i++)
{
    if(pos[0]+7 == pos[1])
    {
        strdel(string, pos[0], pos[1]+1);
        pos[0] = strfind(string,\"{\",true,0);
   pos[1] = strfind(string,\"}\",true,0);
}
}
return 1;
}
stock GetNamei(playerid)
{
new n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,sizeof(n));
return n;
}
 
stock CompareEx(comp[], with[]) //By: Fl0rian
{
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(playerid,id,amount)
{
for(new i; i<MAX_DROP_ITEMS; i++)
{
   if(!IsValidObject(DropItemInfo[itobject]))
   {
      new Float:Xp,Float:Yp,Float:Zp;
      GetPlayerPos(playerid, Xp, Yp, Zp);
      DropItemInfo[itobject] = CreateObject(1210, Xp, Yp, Zp-1, 0.0, 0.0, 0.0);
      DropItemInfo[ittext] = Create3DTextLabel(ItemName[playerid][id], -1, Xp,Yp,Zp, 10.0,GetPlayerVirtualWorld(playerid),1);
      DropItemInfo[posX] = Xp;
      DropItemInfo[posY] = Yp;
      DropItemInfo[posZ] = Zp;
      DropItemInfo[VW] = GetPlayerVirtualWorld(playerid);
      DropItemInfo[iNV] = GetPlayerInterior(playerid);
      format(DropItemInfo[itname],36,ItemName[playerid][id]);
      format(DropItemInfo[itcat],36,ItemCat[playerid][id]);
      DropItemInfo[itamount] = amount;
      RemoveItem(playerid,ItemName[playerid][id],amount,ItemCat[playerid][id]);
      return 1;
   }
}
return 1;
}
stock PickUpItem(playerid)
{
    for(new i; i<MAX_DROP_ITEMS; i++)
    {
if(IsPlayerInRangeOfPoint(playerid,3.0,DropItemInfo[posX],DropItemInfo[posY],DropItemInfo[posZ]) && GetPlayerVirtualWorld(playerid) == DropItemInfo[VW] && GetPlayerInterior(playerid) == DropItemInfo[iNV])
{
   new sucess = AddItem(playerid,DropItemInfo[itname],DropItemInfo[itamount],DropItemInfo[itcat]);
   if(sucess)
   {
       Delete3DTextLabel(DropItemInfo[ittext]);
       DestroyObject(DropItemInfo[itobject]);
       return 1;
    }
}
}
return 1;
}
stock AddItem(playerid,item[],amount,category[] = \"Egyéb\")
{
if(amount <= 0) return 0;
if(strlen(item) > 128) return 0;
new bool: count[2] = false;
for(new i; i<MAX_ITEMS; i++)
{
    if(CompareEx(ItemName[playerid],item) && CompareEx(ItemCat[playerid],category))
    {
   count[0] = true;
        ItemAmount[playerid] += amount;
        return 1;
}
}
if(count[0] == false)
{
    for(new i; i<MAX_ITEMS; i++)
{
    if(CompareEx(ItemName[playerid],\"Üres\"))
    {
      count[1] = true;
      format(ItemName[playerid],36,\"%s\",item);
      format(ItemCat[playerid],36,\"%s\",category);
        ItemAmount[playerid] = amount;
        return 1;
   }
}
}
if(count[1] != true) return SendClientMessage(playerid,-1,\"Betelt a tárhelyed, üríts belõle.\"),0;
return 1;
}
stock RemoveItemEx(playerid,i)
{
format(ItemName[playerid],36,\"%s\",\"Üres\");
format(ItemCat[playerid],36,\"%s\",\"Üres\");
ItemAmount[playerid] = 0;
return 1;
}
stock RemoveItem(playerid,item[],amount,category[])
{
    for(new i; i<MAX_ITEMS; i++)
{
        if(CompareEx(ItemName[playerid],item) && CompareEx(ItemCat[playerid],category))
{
    if(ItemAmount[playerid] > amount)
    {
        ItemAmount[playerid] -= amount;
   }
   else if(ItemAmount[playerid] == amount || ItemAmount[playerid] < amount)
   {
      format(ItemName[playerid],36,\"%s\",\"Üres\");
      format(ItemCat[playerid],36,\"%s\",\"Üres\");
      ItemAmount[playerid] = 0;
   }
   return 1;
}
}
return 1;
}
stock ShowItems(playerid)
{
new msg[128],dialogstr[3000],bool:c;
for(new i; i<MAX_ITEMS; i++)
{
    if(!CompareEx(ItemCat[playerid],\"Üres\"))
    {
        c = true;
   format(msg,128,\"\\n%s\",ItemCat[playerid]);
   if(strfind(dialogstr, msg, true) == -1)
   {
      strcat(dialogstr,msg);
   }
}
}
if(c != false)
{
ShowPlayerDialog(playerid,ITEM_DIALOG_CAT,DIALOG_STYLE_LIST,\"Táska tartalma\",dialogstr,\"Választ\",\"Mégsem\");
}
else SendClientMessage( playerid, -1, \"Itt nincs semmi.\" );
return 1;
}
 
stock ShowRealItems(playerid,cat[])
{
new msg[128],dialogstr[3000],bool:c,count=-1;
for(new i; i<MAX_ITEMS; i++)
{
    if(!CompareEx(ItemName[playerid],\"Üres\") && CompareEx(ItemCat[playerid],cat))
    {
        c = true;
        count++;
   format(msg,128,\"\\n[%ddb] %s\",ItemAmount[playerid],ItemName[playerid]);
   strcat(dialogstr,msg);
   listItem[count] = i;
}
}
if(c != false) ShowPlayerDialog(playerid,ITEM_DIALOG,DIALOG_STYLE_LIST,\"Táska tartalma\",dialogstr,\"Választ\",\"Mégsem\");
else SendClientMessage( playerid, -1, \"Itt nincs semmi.\" );
return 1;
}
 
stock ShowItemsEx(playerid,id,bool:use = false)
{
new msg[128],dialogstr[3000],bool:c;
for(new i; i<MAX_ITEMS; i++)
{
    if(!CompareEx(ItemName[playerid],\"Üres\"))
    {
        c = true;
   format(msg,128,\"\\n[%d] %s\",ItemAmount[playerid],ItemName[playerid]);
   strcat(dialogstr,msg);
}
}
if(use == false)
{
if(c != false) ShowPlayerDialog(id,ITEM_DIALOG_EX,DIALOG_STYLE_LIST,\"Tárhely\",dialogstr,\"\",\"Oké\");
else SendClientMessage( id, -1, \"Nincs semmi a táskájában.\" );
}
else
{
    ItemPlayer[id] = playerid;
if(c != false) ShowPlayerDialog(id,ITEM_DIALOG_EX+1,DIALOG_STYLE_LIST,\"Tárhely\",dialogstr,\"\",\"Oké\");
else SendClientMessage( id, -1, \"Nincs semmi a táskájában.\" );
}
return 1;
}
 
stock GetItemSlot(playerid,item[],cat[])
{
    for(new i; i<MAX_ITEMS; i++)
    {
        if(CompareEx(ItemName[playerid],item) && CompareEx(ItemCat[playerid],cat)) 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[],cat[])
{
    for(new i; i<MAX_ITEMS; i++)
    {
        if(CompareEx(ItemName[playerid],item) && CompareEx(ItemCat[playerid],cat)) return ItemAmount[playerid];
}
return -1;
}
stock GetItemName(playerid,itemslot) return ItemName[playerid][itemslot];
stock GetItemCategory(playerid,itemslot) return ItemCat[playerid][itemslot];
stock ResetPlayerItems(playerid)
{
for(new i; i<MAX_ITEMS; i++)
{
    format(ItemName[playerid],36,\"%s\",\"Üres\");
    format(ItemCat[playerid],36,\"%s\",\"Üres\");
ItemAmount[playerid] = 0;
}
return 1;
}
stock OnItemResponse(playerid, dialogid, response,listitem, inputtext[])
{
    if(dialogid == ITEM_DIALOG_CAT)
    {
        if(!response) return 1;
ShowRealItems(playerid,inputtext);
return 1;
}
if(dialogid == ITEM_DIALOG)
    {
       if(!response) return 1;
       ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+1,DIALOG_STYLE_LIST,\"Mi legyen vele?\",\"Használat\\nEldobás\\nÁtadás\",\"Oké\",\"Mégsem\");
       ItemID[playerid] = listItem[listitem];
}
if(dialogid == ITEM_DIALOG_EX)
    {
       if(!response) return 1;
if(listitem != 0) return SendClientMessage(playerid,-1,\"Mások tárgyát nem használhatod!\");
}
if(dialogid == ITEM_DIALOG_EX+1)
    {
       if(!response) return 1,ItemPlayer[playerid] = INVALID_PLAYER_ID;
if(listitem != 0)
{
    new str[128];
    RemoveHexColorFromString(inputtext);
    format(str,128,inputtext[strfind(inputtext,\"]\")+1]);
   CallLocalFunction( \"OnPlayerUseItemEx\", \"iis\", playerid,ItemPlayer[playerid], str );
   ItemPlayer[playerid] = INVALID_PLAYER_ID;
}
}
    if(dialogid == ITEM_DIALOG_ULTRA)
{
if(response) ShowItems(playerid);
else ShowItems(playerid);
return 1;
}
if(dialogid == ITEM_DIALOG_ULTRA+1)
{
    if(!response) return 1;
    //ShowPlayerDialog(playerid,11,DIALOG_STYLE_LIST,\"Mi legyen vele?\",\"Használat\\nEldobás\\nÁthelyezés\",\"Oké\",\"Mégsem\");
    if(listitem == 0)
    {
   CallLocalFunction( \"OnPlayerUseItem\", \"is\", playerid, ItemName[playerid][itemID[playerid]] );
   ItemID[playerid] = -1;
}
if(listitem == 1)
{
    ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+3,DIALOG_STYLE_INPUT,\"Eldobás\",\"Mennyit szeretnél eldobni?\",\"Oké\",\"Mégsem\");
}
if(listitem == 2)
{
    ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+4,DIALOG_STYLE_INPUT,\"Átadás\",\"Írd be a felhasználó ID-jét, akinek át szeretnéd adni:\",\"Oké\",\"Mégsem\");
}
}
if(dialogid == ITEM_DIALOG_ULTRA+3)
{
    if(!response) return 1;
    if(!strval(inputtext)) return SendClientMessage(playerid,-1,\"Csak számokat adj meg!\"),ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+3,DIALOG_STYLE_INPUT,\"Eldobás\",\"Mennyit szeretnél eldobni?\",\"Oké\",\"Mégsem\");
    if(strval(inputtext) > ItemAmount[playerid][itemID[playerid]]) return SendClientMessage(playerid,-1,\"Nincs ennyid ebbõl a tárgyból!\"),ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+3,DIALOG_STYLE_INPUT,\"Eldobás\",\"Mennyit szeretnél eldobni?\",\"Oké\",\"Mégsem\");
    DropItem(playerid,ItemID[playerid],strval(inputtext));
    ItemID[playerid] = -1;
    return 1;
}
if(dialogid == ITEM_DIALOG_ULTRA+4)
{
    if(!response) return 1;
    if(!strval(inputtext) && !CompareEx(inputtext,\"0\")) return SendClientMessage(playerid,-1,\"Csak számokat adj meg!\"),ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+4,DIALOG_STYLE_INPUT,\"Átadás\",\"Írd be a felhasználó ID-jét, akinek át szeretnéd adni:\",\"Oké\",\"Mégsem\");
    if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid,-1,\"Nincs ilyen játékos!\"),ShowPlayerDialog(playerid,ITEM_DIALOG_ULTRA+4,DIALOG_STYLE_INPUT,\"Átadás\",\"Írd be a felhasználó ID-jét, akinek át szeretnéd adni:\",\"Oké\",\"Mégsem\");
    if(!PTP(playerid,strval(inputtext))) return SendClientMessage(playerid,-1,\"Nem vagy a játékos közelében.\");
    if(strval(inputtext) == playerid) return SendClientMessage(playerid,-1,\"Magadnak nem adhatod át!\");
    SFMC(strval(inputtext),-1,\"%s át szeretné adni ezt a tárgyat: %s. Elfogadod?\",GetNamei(playerid),ItemName[playerid][itemID[playerid]]);
    ShowPlayerDialog(strval(inputtext),ITEM_DIALOG_ULTRA+5,DIALOG_STYLE_LIST,\"Átadás\",\"Elfogadom.\\nNem fogadom el.\",\"Oké\",\"Mégsem\");
    ItemPlayerID[strval(inputtext)] = playerid;
    return 1;
}
if(dialogid == ITEM_DIALOG_ULTRA+5)
{
    if(!response) return 1;
    if(listitem == 0)
{
    new id = ItemPlayerID[playerid];
   new i = ItemID[id];
    new sucess = AddItem(playerid,ItemName[id],ItemAmount[id],ItemCat[id]);
    if(sucess)
    {
        SFMC(id,-1,\"%s elfogadta a tárgyat.\",GetNamei(playerid));
        SendClientMessage(playerid,-1,\"Sikeresen elfogadtad a tárgyat, elhelyezted a zsebedben.\");
        RemoveItem(playerid,ItemName[id],1,ItemCat[id]);
        ItemID[id] = -1;
        ItemPlayerID[playerid] = -1;
        return 1;
   }
   else
   {
       SendClientMessage(playerid,-1,\"Nincs elég hely a zsebedben!\");
       return 1;
   }
}
if(listitem == 2)
{
    new id = ItemPlayerID[playerid];
        SFMC(id,-1,\"%s nem fogadta el a tárgyat.\",GetNamei(playerid));
        SendClientMessage(playerid,-1,\"Elutasítottad a tárgyat.\");
        ItemID[id] = -1;
        ItemPlayerID[playerid] = -1;
    return 1;
}
return 1;
}
return 1;
}
stock SaveItems(playerid)
{
new m[36],itemfile[64];
    format(itemfile,sizeof(itemfile),\"Inv/%s.ini\",GetNamei(playerid));
    for(new i; i<MAX_ITEMS; i++)
{
    format(m,36,\"Item%d\",i);
    dini_Set(itemfile,m,ItemName[playerid]);
    format(m,36,\"Itemcat%d\",i);
    dini_Set(itemfile,m,ItemCat[playerid]);
    format(m,36,\"Itemamount%d\",i);
    dini_IntSet(itemfile,m,ItemAmount[playerid]);
}
return 1;
}
 
stock LoadItems(playerid)
{
new m[128],itemfile[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);
    format(ItemName[playerid],24,\"%s\",dini_Get(itemfile,m));
    format(m,128,\"Itemcat%d\",i);
    format(ItemCat[playerid],36,\"%s\",dini_Get(itemfile,m));
    format(m,128,\"Itemamount%d\",i);
    ItemAmount[playerid] = dini_Int(itemfile,m);
}
}
else
{
dini_Create(itemfile);
ResetPlayerItems(playerid);
SaveItems(playerid);
}
return 1;
}
stock PTP(playerid,id,Float:radi = 2.0)
{
new Float:pos[3];
GetPlayerPos(id,pos[0],pos[1],pos[2]);
if(IsPlayerInRangeOfPoint(playerid,radi,pos[0],pos[1],pos[2])) return 1;
else return 0;
}

Oldalak: 1 ... 9 10 [11] 12 13 ... 40
SimplePortal 2.3.7 © 2008-2024, SimplePortal