GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Peter1481048284 - 2013. Július 05. - 17:06:09

Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Július 05. - 17:06:09


Peter Frakció Rendszer V1


Üdv elhoztam nektek az egyik Scriptemet amiben frakciókat lehet csinálni. !De nem IG!
Parancsok nincs! Azokat neked kell beiktatnod, ez a script csak megadja a lökést.


Mivel nagyon sokat látok, hogy ilyen frakció script olyan frakció script kérés ezért teszem fel ezt nektek.
A scriptben van egy regisztráció amit könnyen kiszedhettek ha nem kell. A rendszer lementi a frakciókat amiben tartozik épp a személye.


Telepítése egyszerû a mappát úgy rendeztem, hogy csak be kelljen húzgálnod a fájlokat


A legtetején található
 

#define TEAM_AZTECAS 1
....

 
Ezt bõvíthetitek amivel csak akarjátok.


Mivel saját szervert írok. Nem holnap fog kijönni a V2 amiben frakció kocsik/rang lenne de ha átlátjátok a scriptet ti is könnyen megcsinálhatjátok.


Remélem segítettem :)


LETÖLTÉS


//FRAKCIÓ RENDSZER BY: Peter | Sa-Mp fórum. A nevemet ne tûntesd el bár úgyis elfogod
#include <a_samp>
#include <streamer>
#include <zcmd>
#include <foreach>
#include <sscanf2>
#include <YSI\\y_ini>
//Defik
#define SCM SendClientMessage
//Mentés defi
#define PATH \"Accounts/%s.ini\"
#define SECONDS(%1) ((%1)*(1000))
#define ALTCOMMAND:%1->%2;           \\
COMMAND:%1(playerid, params[])   \\
return cmd_%2(playerid, params);
#define function%0(%1) forward%0(%1); public%0(%1)
//Színek
#define COL_YELLOW \"{F5E618}\"
#define COL_GREEN \"{2EAD15}\"
#define COL_WHITE \"{FFFFFF}\"
#define COL_BLUE \"{345ACF}\"
#define COLOR_RED 0xE01B4CFF
//regisztrálás
#define DIALOG_REGISTER   1
#define DIALOG_LOGIN      2
#define   DIALOG_AGE        3
#define DIALOG_SEX        4
//Banda defik
//==========Illegális=========
#define TEAM_AZTECAS 0 //Aztecas
#define TEAM_VAGOS 1 //Vagos
#define TEAM_BALLAS 2 //Ballas
#define TEAM_GROVE 3 //Grove St.
#define TEAM_MAFIA 4 //Mafia
//Majd te ezt bõvíted azzal amivel akarod
enum pInfo
{
pPass,
pSex,
    pAge,
pTeam,
pSkin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnFilterScriptInit()
{
return 1;
}
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
SCM(playerid, COLOR_RED, \"Frakció rendszer aktiválva. By Peter\");
PlayerInfo[ playerid ][ pTeam ] = 0;
if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,\"Frakció Script\",\"Írd be a jelszavadat\",\"Regisztrálás\",\"Kilépés\");
    }
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
      if(dialogid == DIALOG_AGE)
{
    if(!response)
          {
            Kick(playerid);
          }
          else
          {
    if(strlen(inputtext))
    {
        new age = strval(inputtext);
        if(age > 100 || age < 16)
      {
                    ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"- Korod -\",\"Hány éves vagy?\\n{FF0000}(( 16 - 100 ))\",\"Válasz\",\"Kilép\");
      }
      else
      {
         PlayerInfo[playerid][pAge] = age;
         new
            string[ 64 ]
         ;
         format(string, sizeof(string), \"INFÓ: Értem {3BB9FF}%d éves vagy.\",age);
         SendClientMessage(playerid, -1, string);
         SaveAccountStats(playerid);
         SpawnPlayer(playerid);
      }
   }
   else
   {
       return 0;
   }
}
}
if(dialogid == DIALOG_SEX)
{
        if(response)
{
           PlayerInfo[playerid][pSex] = 1;
   SendClientMessage(playerid, -1, \"INFÓ: Te {3BB9FF}férfi vagy.\");
   SetPlayerSkin(playerid, 60);
   PlayerInfo[playerid][pSkin] = 60;
   ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"- Korod -\",\"Hány éves vagy?\\n{FF0000}(( 16 - 100 ))\",\"Válasz\",\"Kilép\");
}
else
{
   PlayerInfo[playerid][pSex] = 2;
   SendClientMessage(playerid, -1, \"INFÓ: Te {3BB9FF}férfi nõ.\");
   SetPlayerSkin(playerid, 233);
   PlayerInfo[playerid][pSkin] = 233;
   ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"- Korod -\",\"Hány éves vagy?\\n{FF0000}(( 16 - 100 ))\",\"Válasz\",\"Kilép\");
}
}
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, \"Regisztrálás...\",\"Rossz jelszó.\\nÍrd be a jelszavadat a regisztráláshoz.\",\"Regisztrálás\",\"Kilép\");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,\"data\");
                INI_WriteInt(File,\"Password\",udb_hash(inputtext));
                INI_WriteInt(File,\"Sex\",0);
                INI_WriteInt(File,\"Age\",0);
                INI_WriteInt(File,\"Skin\",0);
                INI_WriteInt(File,\"Team\",0);
                INI_Close(File);
                ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, \"- Nemed -\",\"Mi vagy?\",\"Férfi\",\"Nõ\");
            }
        }
        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
                    new
                        tmp2[ 256 ],
                        playername2[ MAX_PLAYER_NAME ]
         ;
             GetPlayerName(playerid, playername2, sizeof(playername2));
                  format(tmp2, sizeof(tmp2), \"~w~Udvozollek ~n~~g~%s\", playername2);
         GameTextForPlayer(playerid, tmp2, 5000, 1);
         SetTimerEx(\"UnsetFirstSpawn\", 5000, false, \"i\", playerid);
                  SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pSkin], 1.0, -1, -1, -1, -1, -1, -1, -1, -1, -1);
      }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Belépés\",\"Rossz jelszó.\\nÍrd be a jelszavad\",\"Belep\",\"Kilép\");
                }
                return 1;
            }
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SaveAccountStats(playerid);
return 1;
}
//Functionals ok :)
function LoadUser_data(playerid,name[],value[])
{
INI_Int(\"Password\",PlayerInfo[playerid][pPass]);
    INI_Int(\"Sex\",PlayerInfo[playerid][pSex]);
    INI_Int(\"Age\",PlayerInfo[playerid][pAge]);
    INI_Int(\"Skin\",PlayerInfo[playerid][pSkin]);
    INI_Int(\"Team\",PlayerInfo[playerid][pTeam]);
    return 1;
}
function SaveAccountStats(playerid)
{
new
INI:File = INI_Open(UserPath(playerid))
;
INI_SetTag(File,\"data\");
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
    INI_WriteInt(File,\"Sex\",PlayerInfo[playerid][pSex]);
    INI_WriteInt(File,\"Age\",PlayerInfo[playerid][pAge]);
    INI_WriteInt(File,\"Skin\",PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File,\"Team\",PlayerInfo[playerid][pTeam]);
INI_Close(File);
return 1;
}
stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}
stock RPName(playerid)
{
    new string[24];
    GetPlayerName(playerid,string,24);
    new str[24];
    strmid(str,string,0,strlen(string),24);
    for(new i = 0; i < MAX_PLAYER_NAME; i++)
    {
        if (str == \'_\') str = \' \'; //ha nem role play akkor ezt a sort szedd ki!!!
    }
    return str;
}
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
//Teszt parancsok hogy megértsd. Értem?
CMD:fkhelp(playerid, params[])
{
if(PlayerInfo[playerid][pTeam] == 0)
{
SCM(playerid, COLOR_RED, \"Aztecas tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 1)
{
SCM(playerid, COLOR_RED, \"Vagos tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 2)
{
        SCM(playerid, COLOR_RED, \"Ballas tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 3)
{
SCM(playerid, COLOR_RED, \"Grove St. Tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 4)
{
SCM(playerid, COLOR_RED, \"Mafi tagja vagy\");
}
return 1;
}

 
\"mediafire.png\"Mediafire:  Letöltés itt
\"icon_spacer.gif\"Dropbox: Letöltés itt

Cím: Peter Frakció Rendszer
Írta: EnterR - 2013. Július 05. - 18:06:08
Grat, szép munka lett.
Cím: Peter Frakció Rendszer
Írta: BoOy - 2013. Július 05. - 18:12:18
Gratulálok! Végre egy normális szkript!
Cím: Peter Frakció Rendszer
Írta: Wiliam Levy - 2013. Július 05. - 19:47:27
Ez inkább egy RP mód legalapja  :smokin:
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Július 05. - 20:18:40
Csak tudod a sa-mp fórum nem vérprofik társasága hanem vannak itt kezdõk is akik tanulni szeretnének és ezeknek a személyeknek tettem fel ezt a Kis (mert elismerem tényleg nem nagy tudás de hasznos scipt) scriptet, hogy tanuljanak belõle.
Cím: Peter Frakció Rendszer
Írta: norbi39 - 2013. Július 06. - 04:55:35
Nagyon hasznos a kezdõk számára.! Ment a +.
Végre valami értelmes is.
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Július 08. - 18:36:32
Köszi :)
Cím: Peter Frakció Rendszer
Írta: gbr333 - 2013. Július 13. - 17:18:07
Nem akarok vádaskodni,de választ kérek!
Meg tudnád ezt magyarázni?
http://samp-scripts.com/post/Scratch_Red_County_Roleplay_-_Good_for_beginners-MrRollexo-gamemodes-rp-10521/
Ebben van egy Gamemodes mappa,azon belül vrc....
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Július 13. - 19:26:16
ezt fura. Az egészet magamtól írtam nem copytzam semmirõlse. Ezt használom már kb 2 éve a Gm emhez. Lelõhetsz ha én ezt copyztam!
Cím: Peter Frakció Rendszer
Írta: gbr333 - 2013. Július 13. - 19:59:15
Nem állítom ,hogy copy-z tad csak szimplán ugyanaz a kettõ regisztrációs rendszere..
Ja és lelõni se akarlak :D
Cím: Peter Frakció Rendszer
Írta: Dron2013 - 2013. Július 19. - 08:38:41
Szép lett!  :thumbsup:
Cím: Peter Frakció Rendszer
Írta: Josh - 2013. Július 26. - 09:00:30
Köszi szépen, régóta keresek egy hasonlót, ráadásul teljesen átláthatóan van megírva.
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Július 26. - 12:41:47
Té Há Iksz
Cím: Peter Frakció Rendszer
Írta: norbi39 - 2013. Augusztus 07. - 20:12:20
Jah csak 1 észrevétel :D (nem kötekedésbõl)
Angolul a fraction az töredéket jelent.
A faction jelenti a frakciót.
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Augusztus 07. - 20:57:08
Teljesen mind 1. :D Értitek ti mit akarok én-e mondani :D
Cím: Peter Frakció Rendszer
Írta: Johnny14... - 2013. Szeptember 16. - 08:24:27
Hát ennek semmi értelme ha nincs is hozzá parancs! :-[
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Szeptember 16. - 16:12:21
Ki vállalja el hogy elmagyarázza? senki? Oké. Akkor.
 

CMD:fkhelp(playerid, params[])
{
if(PlayerInfo[playerid][pTeam] == 0)
{
SCM(playerid, COLOR_RED, \"Aztecas tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 1)
{
SCM(playerid, COLOR_RED, \"Vagos tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 2)
{
        SCM(playerid, COLOR_RED, \"Ballas tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 3)
{
SCM(playerid, COLOR_RED, \"Grove St. Tagja vagy\");
}
if(PlayerInfo[playerid][pTeam] == 4)
{
SCM(playerid, COLOR_RED, \"Mafi tagja vagy\");
}
return 1;
}

 
A legaljára egy teszt kommandot helyeztem el ha végig néznéd.
Nem egy komplett banda rendszernek indult!!! Hanem egy tutorial szerûségnek, hogy a kezdõk erre alapozva tudjanak felépíteni egy egy saját bandarendszert.
Innentõl mivel lementi már nem lesz nehéz megoldani.
Ha meg be akarja venni a bandába akkor a parancs és
 
PlayerInfo[playerid][pTeam] == 2;

 
És már a 2 team be van ami a Ballas.
Nem értem mi olyan nehéz ezen átnézni ja és amúgy, felrakom a kódot!
 
Peter Szólott
Cím: Peter Frakció Rendszer
Írta: kizo45 - 2013. Szeptember 16. - 18:30:58
kicsit bugos de nemn baj
kezdõknek +
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Szeptember 16. - 21:55:23
Idézetet írta: kizo45 date=1379349058\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39308\" data-ipsquote-contentclass=\"forums_Topic
kicsit bugos de nemn baj
kezdõknek +
 
Mi a bug benne?
Cím: Peter Frakció Rendszer
Írta: Loren - 2013. Szeptember 17. - 15:30:57
Kezdõknek jól jöhet, szép lett, grat ;)!
Cím: Peter Frakció Rendszer
Írta: ClimaCool - 2013. Szeptember 17. - 17:49:18
Szép
De javítani kéne az utolsó elõtti sort
Mafi tagja vagy :)
+ ment :)
Cím: Peter Frakció Rendszer
Írta: ZyZu. - 2013. Szeptember 21. - 21:12:36
Sok a pazarlás..

Sok ember már nem használja a TEAM változókat mivel van annál jobb és gyorsabb, probáld átírni az egészet PVar -ra sokkal jobb és átláthatóbb szerintem még a regisztráció sem szükséges hozzá. De azért jó lett.  ;)
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Szeptember 22. - 22:12:41
Köszi :D Nem tudom mi az a
PVar[/quote] de utánanézek mert ha azt mondod, hogy gyorsabb átláthatóbb akkor megér 1 próbát
Cím: Peter Frakció Rendszer
Írta: BoOy - 2013. Szeptember 22. - 22:20:03
SetPVarInt
SetPVarString
U.I: aláírásodon behaltam :D
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Szeptember 22. - 22:22:42
Áhhh. Köszi BoOy.


Mióta lettél te modi? :D
Cím: Peter Frakció Rendszer
Írta: BoOy - 2013. Szeptember 22. - 22:50:30
Idézetet írta: Peter date=1379881362\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39308\" data-ipsquote-contentclass=\"forums_Topic
Mióta lettél te modi? :D
 
Maradjunk segítõkésznél :D
Cím: Peter Frakció Rendszer
Írta: Lester - 2013. Szeptember 23. - 17:23:50
Szép munka! Gratula  :)
Cím: Peter Frakció Rendszer
Írta: Peter1481048284 - 2013. Szeptember 23. - 21:16:42
Köszi :D