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

Oldalak: 1 ... 3 4 [5] 6 7 ... 16
61
Idézetet írta: kurta999 date=1395326144\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43485\" data-ipsquote-contentclass=\"forums_Topic
Tervezem a scriptet átírni pluginba, szeretném tudni ki venné hasznát, ha meg is csinálnám.
Miért is lenne jobb pluginba?
 
  • Összes verziójú MTA map (MTA DM, Race, még jackob object packja is) konvertálása sokkal könyebb és gyorsabb módon - XML-el olvasná a fájlokat így nem lenne vele annyi gond

  • Átkonvertált dolgokat csoportosan írná a fájlba, nem egy az egyben, ahogy kiolvassa. Pl. egymás után lennének a kocsik, objectek és nem össze vissza ahogy az MTA mapban

  • Összes mapodat bepakolnád a scriptfilesen belül egy maps nevû mappába, onnan mind az összeset ugyanazzal a névvel egy \"maps_out\" nevû mappába beleírná PAWN formátumban. Kapásból nem kéne a source.map-ba másolni a sok konvertálni való mapot.

  • Kezdetnek nem tervezek linux verizót mert ott kicsit más a fájlkezelés és nem értek hozzá


Szóval hasznát venné ennek valaki, vagy nem?
 
Én hasznát venném neki, hasznos lenne. :)

62
Segítségkérés / Egyedi kocsi lekérõ plugin kellene
« Dátum: 2014. május 29. - 08:04:44 »
Itt van egy játékmód, ami C++-ban írodott, plugin formában, sampGDK kell hozzá!
És igen van benne kocsilehívó, és még sokkal több minden is!
Mármint ez a plugin egy komplett játékmód.
http://forum.sa-mp.com/showthread.php?t=465909

63
Szkript kérések / véletlenszerû szín
« Dátum: 2014. május 25. - 23:32:13 »
Idézetet írta: KovaNovik date=1401051560\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48367\" data-ipsquote-contentclass=\"forums_Topic
Nem helyettesítem be a színekkel, hogy lásd, mi mindent be lehet oda írni.
 
#define ZOLD 0x00FF00FF
new szinek[] = {ZOLD, 0x00FF00FF, -1};
new karil[192];
format(karil, sizeof(karil), \"{%06x}valami {%06x}valami\", szinek[random(sizeof(szinek))], szinek[random(sizeof(szinek)));
SendClientMessage(playerid, -1, karil);

 
Sok szerencsét, további jó scriptelést! :thumbsup:
 
Ha megengeded, kijavítottam a kódodat, hiszen a színrõl lekel szedni az Alpha értéket(átlátszóságot).
Tehát, helyesen így:
 
#define ZOLD 0x00FF00FF
new szinek[] = {ZOLD, 0x00FF00FF, -1}; //létrehozunk egy tömböt de nem adjuk meg az elemszámát, ezt a fordítóra bizzuk
new sz_str[144];
format(sz_str, sizeof(sz_str), \"{%06x}valami {%06x}valami\", szinek[random(sizeof(szinek))]>>> 8, szinek[random(sizeof(szinek))>>> 8);
SendClientMessage(playerid, -1, sz_str);

64
Archívum / Szerverlista folyamatos fejlesztése...
« Dátum: 2014. május 19. - 11:54:50 »
Nextgen Stunting sajnos már bezárt (forumán ez olvasható), nem a képpel vagy a samp forummal van a gond.

65
Segítségkérés / sql-es adatbázis
« Dátum: 2014. május 14. - 20:22:15 »
Mezõ név a nyíl elõtt van utána meg a típusát írtam, az adott mezõknek.
Azt a részt is másold ide, amikor regisztrál.
skin ->egész szám
useskin ->egész szám
money ->egész szám
score ->egész szám
kills ->egész szám
deaths ->egész szám
level ->egész szám
totaltime ->egész szám

66
Segítségkérés / ShowNameTags
« Dátum: 2014. május 12. - 06:41:13 »
Szerintem, neked egy keresztbe ágyazott ciklusra van szükséged:
 
public OnGameModeInit()
{
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
for(new ii = 0;ii<MAX_PLAYERS;ii++)
{
   if(i != ii)
   {
      ShowPlayerNameTagForPlayer(i,ii,false); //mindenki azonosítón elrejtjük, mindenkit
   }
}
       
    }
}
public OnPlayerConnect(playerid)
{
for(new i = 0;i<MAX_PLAYERS;i++)
    {
for(new ii = 0;ii<MAX_PLAYERS;ii++)
{
   if(i != ii)
   {
      if(IsPlayerAdmin(i))
      {
         ShowPlayerNameTagForPlayer(i,ii,true); //ha admin az adott azonosító akkor minden játékost megjelenítünk neki
      }
      else //ide írj egy else if operátort,  hogy amikor játékos mit csináljon
      {
         ShowPlayerNameTagForPlayer(i,ii,false); //összes többi játékos aki nem admin azok nem látnak senkit sem!
         //ezt írd át, hogy aki játékos annál mit csináljon, vagy mit szeretnél csinálni!
      }
   }
}
       
    }
}
public OnPlayerDisconnect(playerid) //úgyanezt megcsináljuk amikor kilép valaki
{
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
        for(new ii = 0;ii<MAX_PLAYERS;ii++)
        {
            if(i != ii)
            {
                if(IsPlayerAdmin(i))
                {
                    ShowPlayerNameTagForPlayer(i,ii,true); //ha admin az adott azonosító akkor minden játékost megjelenítünk neki
                }
                else //ide írj egy else if operátort, hogy amikor játékos mit csináljon
                {
                    ShowPlayerNameTagForPlayer(i,ii,false); //összes többi játékos aki nem admin azok nem látnak senkit sem!
                    //ezt írd át, hogy aki játékos annál mit csináljon, vagy mit szeretnél csinálni!
                }
            }
        }
       
    }
}

67
Streamer plugin aréna függvényeivel meglehet csinálni valahogy így:
Azt, hogy a zene elhalkuljon azt SAMP-ba nem lehet megcsinálni, mert nincs rá függvény.
 
public OnGameModeInit()
{
new d_zenearena = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
//értelemszerûen a téglalap átlójának két pontját kell megadni, Z koordináta itt nem kell!
//-1 minden játékosnál meghívódik
//worldid virtuális világ -1, az összesben virtuális világban meghívódik
//interiorid -1 az összes interiorban meghívódik
}
public OnPlayerEnterDynamicArea(playerid, areaid) //amikor belép a zónába ez a függvény meghívásra kerül
{
if(areaid == d_zenearena)
{
PlayAudioStreamForPlayer(playerid, \"http://somafm.com/tags.pls\"); //lejátszuk neki a zenét
return 1;
}
return 1;
}
public OnPlayerLeaveDynamicArea(playerid, areaid) //amikor kilépbelép a zónából ez a függvény meghívásra kerül
{
if(areaid == d_zenearena)
{
StopAudioStreamForPlayer(playerid); //leállítjuk a zenét
return 1;
}
return 1;
}

68
Szkript kérések / Random szín generátor
« Dátum: 2014. május 11. - 21:51:08 »
Tessék, szerintem valami hasonlóra gondoltál.
Tehát, ha meghívod ezt a függvényt, akkor az üzenet színe mindig véletlenszerûen másmilyen lesz:
 

RandomColor(playerid,\"Írd ide be az üzentett!\");

 
Megcsináltam úgy is, hogy ha mindenkinek szeretnék üzentet küldeni, akkor annak a színe is mindig véletlenszerûen változón:
 

SendClientMessageToAll_(\"írd ide be azt az szöveget amelyet mindenkinek megakarsz jeleníteni!\");

 
Kód:
 

stock RandomColor(playerid,sz_str_[144])
{
return SendClientMessage(playerid,((random(0xFFFFFF) << 8) | 0xFF),sz_str_);
}
 
stock SendClientMessage_(playerid,sz_str_[144])
{
return SendClientMessage(playerid,((random(0xFFFFFF) << 8) | 0xFF),sz_str_); //úgyanazt csinálja mint a RandomColor, csak más a függvény neve
}
stock SendClientMessageToAll_(sz_str_[144])
{
return SendClientMessageToAll(((random(0xFFFFFF) << 8) | 0xFF),sz_str_);
}

 
Ezt nem kell beleraknod, csak megemlítem, hogy Slice definíciója csináltam a véletlenszerû színgenerálást:
 

#define RandColor ((random(0xFFFFFF) << 8) | 0xFF)) //véletlenszerû szín generálására, ezt most neked nem kell beleraknod

 
Vagy akár így is lehet:
 

#define RandColor ((random(0xFFFFFF) << 8) | 0xFF) //mód elejére

 
Majd SendClientMessage függvényt amikor használod, akkor így:
 

SendClientMessage(playerid,RandColor,\"ide az üzenet\");

69
Hostingok / Sunwell Game Hosting @ sunwell.hu
« Dátum: 2014. május 02. - 13:00:05 »
Helló.
Sunwell hosting-on van lehetõség samp gdk alapú pluginok futtatására?

70
SA-MP: Szerverfejlesztés / Holttest Kód
« Dátum: 2014. április 28. - 19:33:22 »
Szép, viszont én így oldanám meg a TE kódod felhasználásával és módosításával:
Felesleges sorokat töröltem.
 
new hObject[MAX_PLAYERS];
new timer_[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, reason)
{
if(IsValidDynamicObject(hObject[playerid]))
{
DestroyDynamicObject(hObject[playerid]); //töröljük
hObject[playerid] = INVALID_OBJECT_ID;
}
new Float:POS_[4];
GetPlayerFacingAngle(playerid,POS_[3]);
GetPlayerPos(playerid,POS_[1],POS_[2],POS_[3]);
hObject[playerid] = CreateDynamicObject(2907, POS_[1],POS_[2],POS_[3]-0.8, 0, 0,POS_[3]);
timer_[playerid] = SetTimerEx(\"ObjectTorol\",15*1000,false,\"d\",playerid);
return 1;
}
forward ObjectTorol(playerid);
public ObjectTorol(playerid)
{
if(IsValidDynamicObject(hObject[playerid]))
{
DestroyDynamicObject(hObject[playerid]); //töröljük
hObject[playerid] = INVALID_OBJECT_ID;
timer_[playerid] = -1;
}
}
public OnPlayerDisconnect(playerid, reason)
{
if(timer_[playerid] != -1)
{
KillTimer(timer_[playerid]);
}
if(IsValidDynamicObject(hObject[playerid]))
{
DestroyDynamicObject(hObject[playerid]); //töröljük
hObject[playerid] = INVALID_OBJECT_ID;
}
 
}

71
Segítségkérés / Timerek nem állnak le
« Dátum: 2014. április 27. - 16:02:36 »
Talán azért mert nem SetTimerEx függvényt kellene használni vagyis én nem ajánlanám pont erre a célra.
Hanem inkább úgy kellene megcsinálni, hogy létrehozni egy idõzítõt, és ciklussal végigmennél az összes játékoson, és akkor nem lenne ilyen probléma.
Nem kell elindítani egy újabb idõzítõt és leállítgatni, elég egy darab ilyen célokra.
foreach.inc szükséges!
 
public OnGameModeInit()
{
SetTimer(\"OsszesJatekos\",1000,true);
return 1;
}
forward OsszesJatekos();
public OsszesJatekos()
{
foreach(new i;Player) //végigmegyünk az összes játékoson
{
new asd = GetPlayerVehicleID(i); // stb..  játékos idõ számlálása stb
}
}

 
[mod]Javítottam pawn code tagre![/mod]

72
Segítségkérés / Dialog, üres-e leellenõrzése
« Dátum: 2014. április 20. - 17:35:06 »
ZCMD-s függvénykönyvtárból az isnull definícióból csináltam neked egy függvényt ami:
 
stock isnull_(sz_str[])
{
if(((!(sz_str[0])) || (((sz_str[0]) == \'\\1\') && (!(sz_str[1])))))
{
return true; // üres a karakterlánc
}
else
{
return false; //nem üres
}
}

 
[mod]Kitettem helyetted a pawn code tage![/mod]

73
Rendezvények / SA-MP 0.2.5 Bétateszt
« Dátum: 2014. április 15. - 21:21:19 »
Jelentkezek. :D

74
SA-MP: verziók / SA-MP 0.3z R1-2
« Dátum: 2014. április 12. - 20:26:18 »
Idézetet írta: KovaNovik date=1397316799\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46228\" data-ipsquote-contentclass=\"forums_Topic
Én nemrég megpróbálkoztam az MTA-val, de unalmas volt, és kevés tutorial volt hozzá.
Amit észrevettem benne: egyszerûbb.
Itt nincs GetPlayerPos, GetVehiclePos, GetObjectPos, hanem csak GetElementPos, aminek fajtái vannak, sokkal logikusabb, mint 1000 különbözõ függvény. Ezt SAMP-ban is meg lehetne oldani, de nem teszik (igaz, csak látszatra lehetne megoldani).
Amit mondtatok, hogy jobban rásimul a GTA San Andreasra. Igen. Ezzel magyarázható a legjobban. Láttam egy videót a youtubeon, ahol látszott, mennyire sz*rul szinkronizál a samp. Ez is ennek tudható be. Az MTA meghívja azt a kódrészt, amivel singleben beszállsz a kocsiba. A SAMP lejátssza az animációt, mozgatja a játékost, belerakja a kocsiba. Ezek közül vajon melyik használ kevesebb erõforrást?
A jármû-, objekt- és mindenkorlátozás miatt én is nagyon mérges vagyok. Ha nem akarják terhelni, nem teszik. A SA-MP-ot szeretem jobban, de rá kell jönnöm, hogy egyszerûen nem lehet vele normális dolgokba fogni. A textdrawok terén is nagyon korlátolt, pár négyzetet lerakni szinte lehetetlen, MTA-ban egy sor egy meganimált ablakot megcsinálni, ami beugrik, majd elhalványul.
 
Kezdjük ott, hogy szerintem a SAMP elvbõl sincs nulláról írva, hanem erõsen VC:MP-re épül.
Ahogy krisk is említette, hogy filozófiából sem érdemes összehasonlítani a kettõt.
Másrészrõl pedig szerény véleményem szerint maga a pawn nyelv felépítésébõl adódóan nem alkalmas arra, hogy komolyabb dolgokat lehessen létrehozni.
Lua az teljesen más, c-s függvényeket is megtudsz hívni, sokkal rugalmasabb, amit írtál az szerintem nem igazán megvalósítható pawn-ban.
SAMP-ban pl: azt sem értem, hogy miért nem szedték ki az alap menüt (esc), miért nem olyan mint MTA-ban.

75
Segítségkérés / Float kiírása.
« Dátum: 2014. április 02. - 22:40:07 »
Ha jól értem te megakarod határozni, hogy 80 az hány százaléka 3400-nak.
Ez egyszerû százalékszámítás, osztod a 80-at 3400-al, és megkapod a kívánt százalékot.
[mod]Legközelebb figyelj a valós problémára és arra írj megoldást, ha tudsz![/mod]

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