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

Oldalak: 1 ... 3 4 [5] 6 7 ... 36
61
Archívum / SA-MP.hu - "Közös erõvel"
« Dátum: 2011. október 28. - 21:11:15 »
@Mambo
A terv meg fog valósulni, hogy életben marad-e, az már a két fórum együttes közösségén áll, vagy bukik.
@Többiek
Köszönjük a támogató jellegû hozzászólásokat, valamint a felkínált segítségeket!

62
SA-MP: Szerverfejlesztés / IP szûrõ
« Dátum: 2011. szeptember 02. - 19:58:50 »
Írtam egy függvényt, mellyel a szövegen belül elvileg elég jól meg lehet találni az IP helyét. Mellékeltem egy szkriptet is.
ipfind
Paraméterek:
 
  • string[] - a szöveg, amelyen belül keresni szeretnénk

  • start - ahonnan a keresést indítani szeretnénk

  • &iplen - ha szükségünk van az ip hosszára, akkor ebbe írja bele


Visszatérés:
 
  • Ha található IP a szövegben, akkor annak kezdõkaraktere, ha pedig nem, akkor -1.

 
stock ipfind(const string[], start = 0, &iplen = -1)
{
new
    pos = -1,
ch = start,
Float:nums = 0,
Float:dots = 0;
while(string[ch++])
{
    if(string[ch] == \'\\0\' || string[ch] == \' \')
{
   continue;
}
if(\'0\' <= string[ch] <= \'9\')
{
    if(pos < 0)
   {
      pos = ch;
   }
   if(dots >= 3)
   {
       iplen = ch - pos;
   }
   nums++;
   if(nums > 3)
   {
            if(floatround(nums / dots) < 2)
      {
          nums = 0;
           dots = 0;
         pos = -1;
         iplen = -1;
         continue;
      }
   }
   continue;
}
else if(string[ch] == \'.\')
{
   if(nums > 0)
   {
      dots++;
      if(dots > 3)
      {
          nums = 0;
            dots = 0;
         pos = -1;
         iplen = -1;
         continue;
      }
      if(nums > 3)
      {
         if((floatround(nums / dots) < 2))
          {
              nums = 0;
              dots = 0;
            pos = -1;
            iplen = -1;
            continue;
         }
      }
   }
   else
   {
       if(dots > 0)
       {
           nums = 0;
            dots = 0;
         pos = -1;
         iplen = -1;
         continue;
      }
   }
   continue;
}
else
{
           if(0 < nums < 8 || 0 < dots < 3)
    {
         nums = 0;
          dots = 0;
      pos = -1;
      iplen = -1;
            }
            continue;
        }
}
if(nums >= 8)
{
if(floatround(nums / dots) < 2)
{
    nums = 0;
     dots = 0;
   pos = -1;
   iplen = -1;
}
}
else
{
    nums = 0;
dots = 0;
pos = -1;
iplen = -1;
}
if(iplen) iplen++;
return pos;
}

 
Szkript:
[pawn]// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
// ipfind függvényt ide másold
stock replacestring(source[], string1[], string2[])
{
new
    pos;
    pos = strfind(source, string1);
while(pos != -1)
{
   strdel(source, pos, pos + strlen(string1));
   strins(source, string2, pos, strlen(string2));
   pos = strfind(source, string1);
}
return 1;
}
public OnPlayerText(playerid, text[])
{
new
    len,
   pos = ipfind(text, 0, len);
if(pos > -1)
{
    new
        ip[32];
   strmid(ip, text, pos, pos + len, sizeof(ip));
   replacestring(text, ip, \"[REKLÁM NINCS]\");
}
return 1;
}[/pawn]

63
SA-MP: Szerverfejlesztés / Fegyverek letiltása/engedélyezése
« Dátum: 2011. augusztus 25. - 11:46:21 »
Idézetet írta: Roni date=1314265538\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10871\" data-ipsquote-contentclass=\"forums_Topic
Jó lett, de kár hogy Idõzítõt használ.  :(
 
Nem muszáj az automatikus ellenõrzést használni.

64
SA-MP: Szerverfejlesztés / Fegyverek letiltása/engedélyezése
« Dátum: 2011. augusztus 25. - 11:43:26 »
Fegyverek :: engedélyezése / tiltása
Leírás
Ezekkel a függvényekkel lehetõségünk nyílik bizonyos fegyvereket engedélyezni / letiltani.
Függvények:
 

  • DisableWeapons(...)
    A fegyverek letiltása. Például: DisableWeapons(37, 36, 35);


  • EnableWeapons(...)
    A fegyverek engedélyezése. Például: EnableWeapons(37, 36, 35);


  • EnableAllWeapons()
    Minden fegyver engedélyezése. Például: EnableAllWeapons();


  • WeaponIsDisabled(weaponid)
    Ellenõrzi, hogy egy fegyver le van-e tiltva. Például: if(WeaponIsDisabled(38)) print(\"A minigun le van tiltva\");


  • Weapon_Init()
    Elindítja az automatikus ellenõrzést. Ha valakinél tiltott fegyver van, akkor elveszi. Ajánlott az On FilterScript/GameMode Init eljárásokban használni.Weapon_Init();


Fegyverek táblázata
http://wiki.sa-mp.com/wiki/Weapons
Letöltés
http://pastebin.com/3kKbcVTp

65
Archívum / Olcsó, megbízható tárhely kerestetik!
« Dátum: 2011. augusztus 24. - 23:53:43 »
A magyar piacon ekkora értékben nem sok sikerrel lehet valóban megbízható hosztingot találni.

66
SA-MP: Szerverfejlesztés / Kapu kezelõ
« Dátum: 2011. augusztus 24. - 23:47:40 »
obo[T]\" post=\"169634\" timestamp=\"1314221308\"]
régebben letöltöttem egy nem magyar pawno csomagot, és olyat találtam benne hogy: a_gates.inc :-\\és majdnem ugyanez volt....
 
[/quote]
Szerintem vicces, hogy csak a kivetnivalót keresitek. Ha már mást nem tudtok érdemben hozzászólni, akkor jön ez. Figyelj, szerintem nem vagyok rászorulva, hogy másik ember munkáját lopjam el. De errõl ha egy mód van rá, nem szeretnék vitát nyitni. Viszont pár mondatban elmondom neked, ha már burkoltan is, de mégis megvádoltál:
Valóban létezik ilyen fájl, amirõl te beszélsz, de az csak létrehoz, és mozgat. Legalábbis én csak ilyen eredményre jutottam a keresés során. Ellenben ebben csomó számos hasznos funkció is található. Valamint egyszer én is kiadtam egy gate.h fájlt, de az még erõsen hiányos volt. Annak a nyomdokaiba (tehát a saját projektem utódaként) írtam ezt.
UI:
Tudod, egy-egy publikációval nekem nem az a célom, hogy a mellemet verjem, milyen jó vagyok, titulusomat / nevemet a kor szkripterére írjam át, hanem hogy segítsek a többieknek.
Köszönöm.

67
SA-MP: Szerverfejlesztés / Night-Admin
« Dátum: 2011. augusztus 24. - 14:45:12 »
:: Night-Admin ::
 
Ezt a szkriptet eredetileg a Play 1 Night 3 rendezvényre készítettem, de az egyeztetések után végül nem került az alkalmazására sor, tehát úgy döntöttem, hogy akkor inkább közkinccsé teszem.
Szerkesztés:
Mégis be fog kerülni, de egy újabb, jobb verzió.
Parancsok
Mielõtt bármelyik parancsot használod, be kell jelentkezned! (/rcon login jelszód)
 
  • /next - Következõ játékmód

  • /prev - Elõzõ játékmód

  • /mute - Némítás (idõre)

  • /unmute - Némítás törlése

  • /kick - Kirúgás

  • /ban - Kitiltás


Letöltés
http://solidfiles.com/d/cf113/

68
SA-MP: Szerverfejlesztés / Kapu kezelõ
« Dátum: 2011. augusztus 24. - 14:22:58 »
Kapu kezelõ :: béta
A rendszer lényege alapvetõen az, hogy egyszerûen hozzunk létre kapukat.
1. Elsõként is, ha akarjuk, akkor kapcsoljuk be az automatikus kapukezelõt:
Gate_Init();
Ha ez nem történik meg, akkor sincsen baj, hiszen a rendszert lehet használni, csak a kapuk ki/be csukását nekünk kell megoldani. Így akár ez paranccsal is mûködhet majd.
2. A legfontosabb lépés pedig, hogy hogyan is hozzunk létre kapukat. Erre két függvény van.
Gate_New(): Itt meg lehet adni, hogy a kapu nyitott/zárt állapotban legyen, mekkora legyen a választávolsága (azaz mekkora távolságon belül nyíljon ki valakinek), és a mozgás sebességét.
Gate_Create(): Az elõzõ függvény egyszerûsített változata. Ha akarjuk, megadhatjuk a sebességet is a koordináták elõtt, de elég csupán a koordinátákat megadni.
Minden létrehozott kapunak egy egyedi azonosítószáma lesz, amivel a késõbbiekben hivatkozhatunk rá.
3. A rendszer számtalan más funkcióval is rendelkezik, ezek csupán a létrehozás utáni adatmódosítást szolgálják.
Ezek közül kiemelendõ:
Gate_Open() - A kapu kinyitása
Gate_Close() - A kapu bezárása
Gate_IsOpened() - A kapu nyitottságának megállapítása
A zártság megállapítása:
[PAWN]#define Gate_IsClosed(%1) if(!Gate_IsOpened(%1))[/PAWN]
Illetve, ha idõközben a kapu automatikusságát ki akarjuk kapcsolni:
Gate_ToggleAutoResponse(mygate, 0);
Ha ez megtörtént, akkor a kapu nem fog magától kinyílni. Ilyenkor kinyithatjuk például paranccsal is:
[PAWN]COMMAND:open(playerid)
{
    Gate_Open(mygate);
    return 1;
}[/PAWN]
Itt is lefuttathatjuk az ellenõrzést, mert az magától nem fog lefutni. Például:
[PAWN]COMMAND:open(playerid)
{
    if(funcidx(\"OnPlayerOpenGate\"))
{
       if(!CallRemoteFunction(\"OnPlayerOpenGate\", \"ii\", playerid, mygate)) return 0;
}
    Gate_Open(mygate);
    return 1;
}[/PAWN]
Az OnPlayerOpenGate() függvény lehetõvé teszi, hogy mielõtt kinyílik egy kapu (egy adott játékosnak), meg tudjuk akadályozni a kinyílását.
Ha nem kell a kapu, akkor törölhetjuk:
[PAWN]Gate_Remove(mygate);[/PAWN]
Röviden ennyi. A rendszer még fejlesztés alatt áll...
Teszt szkript:
[PAWN]#include <a_samp>
#include <gate>
#include <zcmd>
// Define coordinates
#define CLOSE -1515.4235, -263.9250, 6.0117
#define OPEN -1515.4387, -263.9299, 1.5194
new mygate = 0;
public OnFilterScriptInit()
{
    Gate_Init();
    mygate = Gate_Create(971, OPEN, CLOSE);
    return 1;
}
public OnFilterScriptExit()
{
    Gate_Remove(mygate);
    return 1;
}
// Gate only for team \'50\'
public OnPlayerOpenGate(playerid, gateid)
{
    if(GetPlayerTeam(playerid) != 50) return 0; // Don\'t open the gate
    return 1;
}
// Team changer command\'s
COMMAND:team(playerid)
{
    SetPlayerTeam(playerid, 50);
    return 1;
}
COMMAND:team2(playerid)
{
    SetPlayerTeam(playerid, NO_TEAM);
    return 1;
}[/PAWN]
forward OnGateOpen(gateid); - Amikor a kapu kinyílik
forward OnGateClose(gateid); - Amikor a kapu záródik
forward OnPlayerOpenGate(playerid, gateid); - Mielõtt a kapu kinyílik egy játékosnak
Függvények:
[PAWN]Gate_IsActive(gateid)
Gate_IsValid(gateid)
Gate_SetResponseDistance(gateid, Float:dis)
Gate_GetResponseDistance(gateid, &Float:dis)
Gate_SetSpeed(gateid, Float:speed)
Gate_GetSpeed(gateid, &Float:speed)
Gate_SetModel(gateid, modelid)
Gate_GetModel(gateid)
Gate_ToggleAutoResponse(gateid, toggle)
Gate_IsAutoResponse(gateid)
Gate_GetObjectID(gateid)
Gate_IsOpened(gateid)
Gate_SetRot(gateid, Float:rx, Float:ry, Float:rz)
Gate_GetRot(gateid, &Float:rx, &Float:ry, &Float:rz)
Gate_SetOpenPos(gateid, Float:x, Float:y, Float:z)
Gate_SetClosePos(gateid, Float:x, Float:y, Float:z)
Gate_GetClosePos(gateid, &Float:x, &Float:y, &Float:z)
Gate_Open(gateid)
Gate_Close(gateid)
Gate_New(modelid, open, autores, Float:resdis, Float:speed, Float:open_x, Float:open_y, Float:open_z, Float:close_x, Float:close_y, Float:close_z, Float:rot_x = 0.0, Float:rot_y = 0.0, Float:rot_z = 0.0)
Gate_Create(modelid, Float:open_x, Float:open_y, Float:open_z, Float:close_x, Float:close_y, Float:close_z, Float:rot_x = 0.0, Float:rot_y = 0.0, Float:rot_z = 0.0)
Gate_Remove(gateid)
Gate_Init()[/PAWN]
Letöltés:
http://solidfiles.com/d/a4a3f/
Hibát látsz? Ötleted van? Írd meg!
Köszönet:
 
  • Incognito - GVar, Streamer

  • Y_Less


69
SA-MP: Szerverfejlesztés / Tánc menü
« Dátum: 2011. augusztus 24. - 13:59:32 »
Mindenki írja, hogy milyen jó lett, de úgy látom, ez csak beszéd.
Ugyanis a két szóban forgó párbeszédpanel típus sem egyezik :)
[pawn]#define DIALOG_DANCE 3453
CMD:dances(playerid,params[])
{
ShowPlayerDialog(playerid, DIALOG_DANCE, DIALOG_STYLE_LIST, \"Melyik táncot akarod?\",\" Dance 1\\n Dance 2\\n Dance 3\\n Dance 4\", \"Kiválaszt\", \"Mégse\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_DANCE && response)
{
    new danceid = listitem + 5;
    SetPlayerSpecialAction(playerid,danceid);
   return 1;
}
return 1;
}[/pawn]
Egyébként még annyira felhívnám a készítõ figyelmét, hogy ez párbeszédpanel (dialógus), a menü teljesen más.
A menü így néz ki:
\"Weapon%2BMenu%2BMod%2B%255Bwww.thegtamods.com%255D2.jpg\"
Üdv

70
SA-MP: Szerverfejlesztés / Teleport kezelõ 3.0 [5. kiadás]
« Dátum: 2011. augusztus 23. - 18:03:15 »
Idézetet írta: hpeter94 date=1314115327\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10604\" data-ipsquote-contentclass=\"forums_Topic
Remek rendszer :D Milyen licenc alatt van? mert lehet felhasználnám egykét részét :)
 
Hagyd meg a készítõ nevét, és fejlessz licensz alatt.

71
SA-MP: Szerverfejlesztés / Teleport kezelõ 3.0 [5. kiadás]
« Dátum: 2011. augusztus 23. - 17:57:01 »
Frissítve.
Újítások a legutóbbi kiadás óta:
 
  • Formázható 3 dimenziós szöveg

  • Objektum betöltõ javítva


72
SA-MP: Szerverfejlesztés / Teleport kezelõ 3.0 [5. kiadás]
« Dátum: 2011. augusztus 18. - 21:21:13 »
Fontos frissítést tettem a 2. kiadásba. Kérem, mindenki frissítse!

73
SA-MP: Szerverfejlesztés / Teleport kezelõ 3.0 [5. kiadás]
« Dátum: 2011. augusztus 18. - 18:00:34 »
:: Teleport kezelõ 3.0 ::
 
Bevezetõ
Ezt a projektet még 2009 végén kezdtem, de még elég hiányos volt akkor. Az évek során közel 50 függvényre bõvült. A lényeg viszont nem változott: kezeljük a teleportokat egyszerûen!
Ezúttal egy komplett szervercsomagot készítettem, hogy a lehetõ legkönnyebb legyen kiigazodni a rendszeren.
Az új verzió a korábbiakhoz képest rengeteg újítást / javítást tartalmaz, mint például:
 
  • A teleportok a szerveren globálisan jönnek létre / globálisan lehet õket kezelni

  • Részletgazdag bemutatószkriptek


Fontos, hogy ezzel a rendszerrel kis logikával a teleportok összes fajtája (pl. dm) létrehozható.
A teleporton rengeteg tulajdonság beállítható, például:
 
  • 3 dimenziós szöveg (és annak színe, látótávolsága)

  • Virtuális azonosító (interiorid)

  • Virtuális világ (worldid)

  • Csak gyalog / jármûben (és/vagy annak sofõrjeként) / rcon adminként engedjen teleportálni


És folytathatnám a sort.
Fontos:
 
  • Minden teleport egy azonosítóval (teleportid) van ellátva, ezáltal tudsz egyes teleportokra hivatkozni.

  • Nem ajánlott két ugyanolyan parancsot / nevet megadni, mert a megkeresés esetén csak egyet tudsz közülük használni.


Egy szemléltetés, hogy mennyire egyszerû:
 
CreateTeleport(\"SF\",\"/sf\",-1495.9395,-141.1882,15.0702,315.0674);

 
\"teleport.png\"
Parancs a teleportok lementésére
[pawn]CMD:saveteleport(playerid, params[])
{
    #if !defined MAX_TELEPORT_NAMELEN
        #define MAX_TELEPORT_NAMELEN 32
    #endif
    #if !defined MAX_TELEPORT_CMDLEN
        #define MAX_TELEPORT_CMDLEN 32
    #endif
    new name[MAX_TELEPORT_NAMELEN],command[MAX_TELEPORT_CMDLEN];
    if(sscanf(params, \"s[32]s[32]\", name, command))
        return SendClientMessage(playerid,0xFFFFFFFF, \"Use: /saveteleport [name][command]\");
    new File:savedteleports = fopen(\"savedteleports.txt\", io_write);
    if(savedteleports)
    {
        new Float:x, Float:y, Float:z, Float:angle;
        if(IsPlayerInAnyVehicle(playerid))
        {
            new vehicleid = GetPlayerVehicleID(playerid);
            GetVehiclePos(vehicleid,x,y,z);
            GetVehicleZAngle(vehicleid,angle);
        } else {
            GetPlayerPos(playerid,x,y,z);
            GetPlayerFacingAngle(playerid,angle);
        }
        new formatstring[256];
        format(formatstring, 256, \"CreateTeleport(\\\"%s\\\", \\\"%s\\\", %.3f, %.3f, %.3f, %.3f);\\r\\n\",
            name, command, x, y, z, angle);
        fwrite(savedteleports, formatstring);
        fclose(savedteleports);
        SendClientMessage(playerid,0xFFFFFFFF, \"Teleport saved to savedteleports.txt (in your scriptfiles folder).\");
    }
    return 1;
}[/pawn]
3 dimenziós szöveg formázása
Ez a funkció a legújabb verzióban került hozzáadásra. Segítségével könnyedén megformázhatjuk a teleport helyén megjelenõ 3 dimenziós szöveget, és ezzel is még egyedibbé tehetjük a teleportokat.
A szövegbe az alábbiakat kell beleírni, és azok át fognak változni a megfelelõ dologra:
{NAME} - A teleport neve
{COMMAND} - A teleport parancsa
{PRICE} - A teleport ára
{NEWLINE} - Új sor kezdése
{RRGGBB}(samp) - Szöveg átszínezése
Például:
[pawn]public OnFilterScriptInit()
{
    new teleportid = CreateTeleport(\"LS\",\"/ls\",1933.2625,-2407.8191,14.2618,183.6625);
    Teleport_Set3DTextFormat(teleportid, \"{0522FF}Name: {FFFFFF}{NAME}{NEWLINE}{0522FF}Command: {FFFFFF}{COMMAND}{NEWLINE}{0522FF}Price: {FFFFFF}{PRICE}\");
    return 1;
}[/pawn]
Ennek az eredménye ez lesz:
\"result3dtextformat.png\"
Letöltés
http://gtaforum.hu/files/teleportv3_rel2.rar
Frissítés (5. kiadásra): http://solidfiles.com/d/abb0f/
Weboldal
http://gtaforum.hu/load/teleport (hamarosan frissítem)
A weboldalon egyszerûen generálható teleport.
Leírás
Leírás hamarosan.
Köszönet
 
  • Incognito - GVar plugin

  • ZeeX - ZCMD (csak a példaszkriptekben)

  • Betamaster - Színfüggvények

  • Westie- strreplace

  • Y_Less


74
SA-MP: Szerverfejlesztés / Teleport kezelõ
« Dátum: 2011. augusztus 01. - 21:41:06 »
Elkezdtem az érdemi munkát is az új verziót illetõen, reményeim szerint pár nap, és a teljes verziót kiadom. Ami érinti a weboldalt is :)

75
Tévesnek, és erõsen hírnévrontónak tartom már magát a címet. Hogy miért? A gtaforum.hu egy egész közösséget jelöl meg, amelynek úgy a 15-20%-a ismerhet téged. Éppen ezért egy admin (napló alapján Rudi) tevékenységének elítélése miatt nem kell a fórumot is elítélned. Egyébként a választ sose egy másik fórumtól kérd, hamarabb találnál választ, ha felvennél, vagy felkeresnél engem, és megbeszélnénk, normális körülmények között :)
Amúgy ha már ennyire jártas vagy, és ennyire mindennel egy kalap alá tudod venni a fórumot, akkor te bizonyára tudhatnád, hogy Y2K-nak nincs kitiltási joga. És ezt a megverem, megrángatom, megkeresem, van róla képem kiteszem, hasonló szintet is kezdem óvodásnak tartani, mert ha valaki nem tud valamit (azonnal) elérni, akkor ezzel jön. Hagyjuk már. Épp ezért nem lesz a föld soha demokratikus, mert egy pillanatnyi vereség már ekkora felháborodást tud kelteni valakibe.
Köszönöm!

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