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


Témák - Gentleman

Oldalak: 1 ... 10 11 [12] 13 14 ... 19
166
Fórum Archívum (Témák/Fórumok) / ÁTHELYEZVE: Foothills Town RolePlay
« Dátum: 2012. Szeptember 28. - 17:00:53 »
A téma át lett helyezve a következõbe: RP/GF szerverek.
http://sampforum.hu/index.php?topic=28330.0" class="bbc_link">http://http://sampforum.hu/index.php?topic=28330.0

167
Tanár Only / Társalgó
« Dátum: 2012. Szeptember 26. - 19:12:44 »
Társalgó. Kérdések felvetések tervek helye.
Ha netántán egy elõtted lévõ lecke hiányzik de te a következõre vagy \'kijelölve\' semmi probléma itt tárolhatod a kész leckét csupán áthelyezés szükséges.
Továbbá itt ebben az alfórumban lehet piszkozatokat is írni.

168
Tanár Only / Miniforrás
« Dátum: 2012. Szeptember 26. - 19:11:06 »
Ezt még a gyakorlati tanfolyamhoz készítettem amolyan elõkészületi példaeszköznek. A játékmód forrása itt elérhetõ és leckékben akár felhasználható.
Kérek mindenkit, hogy az átláthatóság szempontjából legalább ennyire felcímkézve írja az összesítést, hogy átlássák a logikai elvet.
 

#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
#include <fixchars>
//Beállítások:
#define CHATREJTES 0 //0 autómatikus chat törlés
//SZÍNEK
#define SZIN_SZURKE    0x616161AA
 
//DIALOGÓSUK
#define DIALOG_REGISZT    871
#define DIALOG_LOGIN    872
#define DIALOG_TUNING   873
#define DIALOG_SZIN     874
//JÁTÉKOSVÁLTOZÓK
new     bool:belepve[MAX_PLAYERS];
new     TextPozicio[MAX_PLAYERS];
new     JatekosPenz[MAX_PLAYERS];
new     bool:dialogblokk[MAX_PLAYERS];
//CARMA KOCSIK
new     jatekosverda[MAX_PLAYERS];
new     Tuning[MAX_PLAYERS][16];
//TextDrawok
new    Text:CValaszto0[MAX_PLAYERS];
new    Text:CValaszto1[MAX_PLAYERS];
new    Text:CValaszto2[MAX_PLAYERS];
new    Text:CValaszto3[MAX_PLAYERS];
new    Text:Chat0;
new    Text:Chat1;
new    Text:Chat2;
new    Text:Chat3;
new    Text:Chat4;
new    Text:Chat5;
new    Text:Chat6;
new    Text:Chat7;
new    Text:Chat8;
new     Text:Chat9;
//CHATBOX
new     ChatBox[10][128];
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
public OnPlayerText(playerid, text[])
{
    format(ChatBox[0], 128, ChatBox[1]);
    format(ChatBox[1], 128, ChatBox[2]);
    format(ChatBox[2], 128, ChatBox[3]);
format(ChatBox[3], 128, ChatBox[4]);
format(ChatBox[4], 128, ChatBox[5]);
format(ChatBox[5], 128, ChatBox[6]);
format(ChatBox[6], 128, ChatBox[7]);
format(ChatBox[7], 128, ChatBox[8]);
TextDrawSetString(Chat7, ChatBox[8]);
new jatekosnev[24];
GetPlayerName(playerid, jatekosnev, 24);
format(ChatBox[8], 128, \"~r~%s: ~w~%s\",jatekosnev,text);
TextDrawSetString(Chat8, ChatBox[8]);
TextDrawSetString(Chat7, ChatBox[7]);
TextDrawSetString(Chat6, ChatBox[6]);
TextDrawSetString(Chat5, ChatBox[5]);
TextDrawSetString(Chat4, ChatBox[4]);
TextDrawSetString(Chat3, ChatBox[3]);
TextDrawSetString(Chat2, ChatBox[2]);
TextDrawSetString(Chat1, ChatBox[1]);
TextDrawSetString(Chat0, ChatBox[0]);
 
return 0;
}
forward ChatTisztitas();
public ChatTisztitas()
{
TextDrawSetString(Chat3, ChatBox[3]);
TextDrawSetString(Chat2, ChatBox[2]);
TextDrawSetString(Chat1, ChatBox[1]);
TextDrawSetString(Chat0, ChatBox[0]);
format(ChatBox[0], 128, \" \");
    format(ChatBox[1], 128, \" \");
    format(ChatBox[2], 128, \" \");
format(ChatBox[3], 128, \" \");
 
}
public OnGameModeInit()
{
//   SetTimer(\"ChatTisztitas\", 10*1000, true);
SetGameModeText(\"Carmageddon Gamemode\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
 
// Create the textdraws:
Chat9 = TextDrawCreate(408.000000, 354.000000, \"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~\");
TextDrawBackgroundColor(Chat9, 255);
TextDrawFont(Chat9, 1);
TextDrawLetterSize(Chat9, 0.500000, 1.000000);
TextDrawColor(Chat9, -1);
TextDrawSetOutline(Chat9, 0);
TextDrawSetProportional(Chat9, 1);
TextDrawSetShadow(Chat9, 1);
TextDrawUseBox(Chat9, 1);
TextDrawBoxColor(Chat9, 130);
TextDrawTextSize(Chat9, 646.000000, 5.000000);
 
Chat0 = TextDrawCreate(409.000000, 352.000000, \" \");
TextDrawBackgroundColor(Chat0, 255);
TextDrawFont(Chat0, 1);
TextDrawLetterSize(Chat0, 0.139999, 1.000000);
TextDrawColor(Chat0, -1);
TextDrawSetOutline(Chat0, 0);
TextDrawSetProportional(Chat0, 1);
TextDrawSetShadow(Chat0, 1);
Chat1 = TextDrawCreate(409.000000, 362.000000, \" \");
TextDrawBackgroundColor(Chat1, 255);
TextDrawFont(Chat1, 1);
TextDrawLetterSize(Chat1, 0.139999, 1.000000);
TextDrawColor(Chat1, -1);
TextDrawSetOutline(Chat1, 0);
TextDrawSetProportional(Chat1, 1);
TextDrawSetShadow(Chat1, 1);
Chat2 = TextDrawCreate(409.000000, 372.000000, \" \");
TextDrawBackgroundColor(Chat2, 255);
TextDrawFont(Chat2, 1);
TextDrawLetterSize(Chat2, 0.139999, 1.000000);
TextDrawColor(Chat2, -1);
TextDrawSetOutline(Chat2, 0);
TextDrawSetProportional(Chat2, 1);
TextDrawSetShadow(Chat2, 1);
Chat3 = TextDrawCreate(409.000000, 382.000000, \" \");
TextDrawBackgroundColor(Chat3, 255);
TextDrawFont(Chat3, 1);
TextDrawLetterSize(Chat3, 0.139999, 1.000000);
TextDrawColor(Chat3, -1);
TextDrawSetOutline(Chat3, 0);
TextDrawSetProportional(Chat3, 1);
TextDrawSetShadow(Chat3, 1);
Chat4 = TextDrawCreate(409.000000, 392.000000, \" \");
TextDrawBackgroundColor(Chat4, 255);
TextDrawFont(Chat4, 1);
TextDrawLetterSize(Chat4, 0.139999, 1.000000);
TextDrawColor(Chat4, -1);
TextDrawSetOutline(Chat4, 0);
TextDrawSetProportional(Chat4, 1);
TextDrawSetShadow(Chat4, 1);
Chat5 = TextDrawCreate(409.000000, 401.000000, \" \");
TextDrawBackgroundColor(Chat5, 255);
TextDrawFont(Chat5, 1);
TextDrawLetterSize(Chat5, 0.139999, 1.000000);
TextDrawColor(Chat5, -1);
TextDrawSetOutline(Chat5, 0);
TextDrawSetProportional(Chat5, 1);
TextDrawSetShadow(Chat5, 1);
Chat6 = TextDrawCreate(409.000000, 410.000000, \" \");
TextDrawBackgroundColor(Chat6, 255);
TextDrawFont(Chat6, 1);
TextDrawLetterSize(Chat6, 0.139999, 1.000000);
TextDrawColor(Chat6, -1);
TextDrawSetOutline(Chat6, 0);
TextDrawSetProportional(Chat6, 1);
TextDrawSetShadow(Chat6, 1);
Chat7 = TextDrawCreate(409.000000, 419.000000, \" \");
TextDrawBackgroundColor(Chat7, 255);
TextDrawFont(Chat7, 1);
TextDrawLetterSize(Chat7, 0.139999, 1.000000);
TextDrawColor(Chat7, -1);
TextDrawSetOutline(Chat7, 0);
TextDrawSetProportional(Chat7, 1);
TextDrawSetShadow(Chat7, 1);
Chat8 = TextDrawCreate(409.000000, 429.000000, \" \");
TextDrawBackgroundColor(Chat8, 255);
TextDrawFont(Chat8, 1);
TextDrawLetterSize(Chat8, 0.139999, 1.000000);
TextDrawColor(Chat8, -1);
TextDrawSetOutline(Chat8, 0);
TextDrawSetProportional(Chat8, 1);
TextDrawSetShadow(Chat8, 1);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 626.3915,1688.6371,6.9922);
SetPlayerCameraLookAt(playerid, 623.6632,1681.8793,6.6959);
SetPlayerInterior(playerid, 0);
//   jatekosverda[playerid] = CreateVehicle(560,623.6632,1681.8793,6.6959, 307.42, 0, 0, -1);
//   SetVehicleVirtualWorld(jatekosverda[playerid], playerid);
//   SetPlayerVirtualWorld(playerid,playerid);
return 1;
}
public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, Chat9);
TextDrawShowForPlayer(playerid, Chat0);
TextDrawShowForPlayer(playerid, Chat1);
TextDrawShowForPlayer(playerid, Chat2);
TextDrawShowForPlayer(playerid, Chat3);
TextDrawShowForPlayer(playerid, Chat4);
TextDrawShowForPlayer(playerid, Chat5);
TextDrawShowForPlayer(playerid, Chat6);
TextDrawShowForPlayer(playerid, Chat7);
TextDrawShowForPlayer(playerid, Chat8);
dialogblokk[playerid] = false;
//Carma választó
CValaszto0[playerid] = TextDrawCreate(502.000000, 103.000000, \"Jarmu: Sultan (nyitva)\");
TextDrawBackgroundColor(CValaszto0[playerid], 255);
TextDrawFont(CValaszto0[playerid], 1);
TextDrawLetterSize(CValaszto0[playerid], 0.340000, 1.000000);
TextDrawColor(CValaszto0[playerid], -1);
TextDrawSetOutline(CValaszto0[playerid], 0);
TextDrawSetProportional(CValaszto0[playerid], 1);
TextDrawSetShadow(CValaszto0[playerid], 1);
CValaszto1[playerid] = TextDrawCreate(546.000000, 120.000000, \"Tuning\");
TextDrawBackgroundColor(CValaszto1[playerid], 255);
TextDrawFont(CValaszto1[playerid], 1);
TextDrawLetterSize(CValaszto1[playerid], 0.500000, 1.000000);
TextDrawColor(CValaszto1[playerid], -1);
TextDrawSetOutline(CValaszto1[playerid], 0);
TextDrawSetProportional(CValaszto1[playerid], 1);
TextDrawSetShadow(CValaszto1[playerid], 1);
CValaszto2[playerid] = TextDrawCreate(548.000000, 136.000000, \"START\");
TextDrawBackgroundColor(CValaszto2[playerid], 255);
TextDrawFont(CValaszto2[playerid], 1);
TextDrawLetterSize(CValaszto2[playerid], 0.500000, 1.000000);
TextDrawColor(CValaszto2[playerid], -1);
TextDrawSetOutline(CValaszto2[playerid], 0);
TextDrawSetProportional(CValaszto2[playerid], 1);
TextDrawSetShadow(CValaszto2[playerid], 1);
CValaszto3[playerid] = TextDrawCreate(641.000000, 99.000000, \"       \");
TextDrawBackgroundColor(CValaszto3[playerid], 255);
TextDrawFont(CValaszto3[playerid], 1);
TextDrawLetterSize(CValaszto3[playerid], 0.500000, 1.000000);
TextDrawColor(CValaszto3[playerid], -1);
TextDrawSetOutline(CValaszto3[playerid], 0);
TextDrawSetProportional(CValaszto3[playerid], 1);
TextDrawSetShadow(CValaszto3[playerid], 1);
TextDrawUseBox(CValaszto3[playerid], 1);
TextDrawBoxColor(CValaszto3[playerid], 255);
TextDrawTextSize(CValaszto3[playerid], 490.000000, 0.000000);
    SpawnPlayer(playerid);
belepve[playerid] = false;
new fajl[50], jatekosnev[MAX_PLAYER_NAME];
GetPlayerName(playerid, jatekosnev, 24);
format(fajl, 50, \"regisztracio/%s.carma\", jatekosnev);
if(!fexist(fajl))
{
ShowPlayerDialog(playerid, DIALOG_REGISZT, DIALOG_STYLE_PASSWORD, \"{3cff00}Regisztráció\",
\"{ffffff}Az általad használt név jelenleg {ff0000}nincs {ffffff}használatban.\\nAhhoz hogy játszhass létre kell hoznod egy {ff0000}új {ffffff}felhasználót. \\nKérlek írd be az új felhasználód jelszavát!\",
\"Betáplál\", \"Kilépés\");
}
else
{
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISZT)
{
    new jnev[MAX_PLAYER_NAME], szveg[128];
    GetPlayerName(playerid, jnev, 24);
new fajl[50];
GetPlayerName(playerid, jnev, 24);
format(fajl, 50, \"regisztracio/%s.carma\", jnev);
    if(!response)
    {
        format(szveg, 128, \"%s, ID:%d azonosítószámú játékos elhagyta a szervert. A regisztrációnál kilépést választotta\", jnev, playerid);
        SendClientMessageToAll(SZIN_SZURKE, szveg);
        Kick(playerid);
        return 1;
    }
    SpawnPlayer(playerid);
/*       SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 626.3915,1688.6371,6.9922);
SetPlayerCameraLookAt(playerid, 623.6632,1681.8793,6.6959);
SetPlayerInterior(playerid, 0);
jatekosverda[playerid] = CreateVehicle(560,623.6632,1681.8793,6.6959, 307.42, 0, 0, -1);
SetVehicleVirtualWorld(jatekosverda[playerid], playerid);
SetPlayerVirtualWorld(playerid,playerid);*/
dini_Create(fajl);
dini_Set(fajl, \"Jelszo\", inputtext);
dini_IntSet(fajl, \"Penz\", JatekosPenz[playerid]);
dini_IntSet(fajl, \"Tuning0\", Tuning[playerid][0]);
dini_IntSet(fajl, \"Tuning1\", Tuning[playerid][1]);
dini_IntSet(fajl, \"Tuning2\", Tuning[playerid][2]);
dini_IntSet(fajl, \"Tuning3\", Tuning[playerid][3]);
dini_IntSet(fajl, \"Tuning4\", Tuning[playerid][4]);
dini_IntSet(fajl, \"Tuning5\", Tuning[playerid][5]);
dini_IntSet(fajl, \"Tuning6\", Tuning[playerid][6]);
dini_IntSet(fajl, \"Tuning7\", Tuning[playerid][7]);
dini_IntSet(fajl, \"Tuning8\", Tuning[playerid][8]);
dini_IntSet(fajl, \"Tuning9\", Tuning[playerid][9]);
dini_IntSet(fajl, \"Tuning10\", Tuning[playerid][10]);
dini_IntSet(fajl, \"Tuning11\", Tuning[playerid][11]);
dini_IntSet(fajl, \"Tuning12\", Tuning[playerid][12]);
dini_IntSet(fajl, \"Tuning13\", Tuning[playerid][13]);
dini_IntSet(fajl, \"Tuning14\", Tuning[playerid][14]);
dini_IntSet(fajl, \"Tuning15\", Tuning[playerid][15]);
}
/*
ShowPlayerDialog(playerid, DIALOG_TUNING, DIALOG_STYLE_LIST,\"Jármû fejlesztése \",
\"Szín módosítása\\nAlien oldalléc(jobb)\\nAlien oldalléc(bal)\\nAlien kipufogó\\nX-flow kipufogó\\nX-flow oldalléc(bal)\\nX-flow oldalléc(jobb)\\nAlien tetõnyílás\\nX-flow tetõnyílás\\nAlien spoiler\\nX-flow spoiler\\nX-flow lökhárító (hátsó)\\nAlien lökhárító (hátsó)\\nAlien lökhárító (elsõ)\\nX-flow lökhárító (elsõ)\",
\"Megvesz\", \"Mégse\");
*/
if(dialogid == DIALOG_SZIN)
{
    if(response)
    {
   switch(listitem)
   {
       case 0:
      {
          ChangeVehiclePaintjob(jatekosverda[playerid], 0);
      }
      case 1:
      {
          ChangeVehiclePaintjob(jatekosverda[playerid], 1);
      }
      case 2:
      {
          ChangeVehiclePaintjob(jatekosverda[playerid], 2);
      }
      case 3:
      {
           ChangeVehicleColor(jatekosverda[playerid], 3, 3);
      }
      case 4:
      {
           ChangeVehicleColor(jatekosverda[playerid], 1, 1);
      }
      case 5:
      {
         ChangeVehicleColor(jatekosverda[playerid], 0, 0);
      }
      case 6:
      {
           ChangeVehicleColor(jatekosverda[playerid], 252, 252);
      }
      case 7:
      {
           ChangeVehicleColor(jatekosverda[playerid], 7, 7);
      }
      case 8:
      {
           ChangeVehicleColor(jatekosverda[playerid], 6, 6);
      }
      case 9:
      {
           ChangeVehicleColor(jatekosverda[playerid], 84, 84);
      }
      case 10:
      {
           ChangeVehicleColor(jatekosverda[playerid], 126, 126);
      }
   }
   
    }
}
if(dialogid == DIALOG_TUNING)
{
    if(response)
    {
        switch(listitem)
        {
            case 0://SZÍNVÁLASZTÁS
            {
                if(dialogblokk[playerid] == true) return 1;
                ShowPlayerDialog(playerid, DIALOG_SZIN, DIALOG_STYLE_LIST, \"Elérhetõ színek\",
                \"Festés 1\\nFestés 2\\nFestés 3\\n{ff0000}Piros\\n{ffffff}Fehér\\n{000000}Fekete\\n{09ff00}Zöld\\n{0062ff}Kék\\n{fbff00}Sárga\\n{2e130a}Barna\\n{ff00f2}Rózsaszín\",
                \"Kiválaszt\", \"Mégse\");
           
            }
            case 1: //Alien oldalléc (jobb)
            {
                AddVehicleComponent(jatekosverda[playerid], 1026);
            }
            case 2:// Alien oldalléc(bal)
            {
                AddVehicleComponent(jatekosverda[playerid], 1027);
            }
            case 3://nAlien kipufogó
            {
                AddVehicleComponent(jatekosverda[playerid], 1028);
            }
            case 4://X-flow kipufogó
            {
                AddVehicleComponent(jatekosverda[playerid], 1029);
            }
            case 5://X-flow oldalléc(bal)
            {
                AddVehicleComponent(jatekosverda[playerid], 1030);
            }
            case 6://X-flow oldalléc(jobb)
            {
                AddVehicleComponent(jatekosverda[playerid], 1031);
            }
            case 7://Alien tetõnyílás
            {
                AddVehicleComponent(jatekosverda[playerid], 1032);
            }
            case 8://X-flow tetõnyílás
            {
                AddVehicleComponent(jatekosverda[playerid], 1033);
            }
            case 9: //Alien spoiler
            {
                AddVehicleComponent(jatekosverda[playerid], 1138);
            }
            case 10://X-flow spoiler
            {
                AddVehicleComponent(jatekosverda[playerid], 1139);
            }
            case 11://X-flow hátsó lökhárító
            {
                AddVehicleComponent(jatekosverda[playerid], 1140);
            }
            case 12://Alien hátsó
            {
                AddVehicleComponent(jatekosverda[playerid], 1141);
            }
            case 13://Alien elsõ
            {
                AddVehicleComponent(jatekosverda[playerid], 1169);
            }
            case 14://Xflow elsõ
            {
               AddVehicleComponent(jatekosverda[playerid], 1170);
      }
       
        }
   
    }
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
if(belepve[playerid] == false)
{
   
    SetPlayerInterior(playerid, 3);
      SetPlayerSkin(playerid, 165);
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerVirtualWorld(playerid,playerid);
    jatekosverda[playerid] = CreateVehicle(560,615.6082,-124.1668,997.6967,87.7209, 0, 0, -1);
SetVehicleVirtualWorld(jatekosverda[playerid], playerid);
         PutPlayerInVehicle(playerid, jatekosverda[playerid],0);
         LinkVehicleToInterior(jatekosverda[playerid], 3);
         TogglePlayerControllable(playerid, false);
SetPlayerCameraPos(playerid, 610.8933,-130.0144,997.9922);
SetPlayerCameraLookAt(playerid, 615.6082,-124.1668,997.6967);
TextDrawShowForPlayer(playerid, CValaszto0[playerid]);
TextDrawShowForPlayer(playerid, CValaszto1[playerid]);
TextDrawShowForPlayer(playerid, CValaszto2[playerid]);
TextDrawShowForPlayer(playerid, CValaszto3[playerid]);
new jnev[MAX_PLAYER_NAME];
    GetPlayerName(playerid, jnev, 24);
new fajl[50];
GetPlayerName(playerid, jnev, 24);
format(fajl, 50, \"regisztracio/%s.carma\", jnev);
TextPozicio[playerid] = 0;
Tuning[playerid][0] = dini_Int(fajl, \"Tuning0\");
Tuning[playerid][1] = dini_Int(fajl, \"Tuning1\");
        Tuning[playerid][2] = dini_Int(fajl, \"Tuning2\");
        Tuning[playerid][3] = dini_Int(fajl, \"Tuning3\");
        Tuning[playerid][4] = dini_Int(fajl, \"Tuning4\");
        Tuning[playerid][5] = dini_Int(fajl, \"Tuning5\");
        Tuning[playerid][6] = dini_Int(fajl, \"Tuning6\");
        Tuning[playerid][7] = dini_Int(fajl, \"Tuning7\");
        Tuning[playerid][8] = dini_Int(fajl, \"Tuning8\");
        Tuning[playerid][9] = dini_Int(fajl, \"Tuning9\");
        Tuning[playerid][10] = dini_Int(fajl, \"Tuning10\");
        Tuning[playerid][11] = dini_Int(fajl, \"Tuning11\");
        Tuning[playerid][12] = dini_Int(fajl, \"Tuning11\");
        Tuning[playerid][13] = dini_Int(fajl, \"Tuning12\");
        Tuning[playerid][14] = dini_Int(fajl, \"Tuning13\");
        Tuning[playerid][15] = dini_Int(fajl, \"Tuning14\");
for(new i =0; i < 15; i++)
{
    if(Tuning[playerid] > 1000)
    {
      AddVehicleComponent(jatekosverda[playerid], Tuning[playerid]);
   }
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, JatekosPenz[playerid]);
if(belepve[playerid] == false)
{
       new Keys,ud,lr;
       GetPlayerKeys(playerid,Keys,ud,lr);
       if(ud > 0) //LEFELE
{
    switch(TextPozicio[playerid])
    {
        case 0:
        {
         TextPozicio[playerid] = 1;
         TextDrawSetString(CValaszto0[playerid],\"~w~Jarmu: Sultan (nyitva)\");
         TextDrawSetString(CValaszto1[playerid],\"~r~~>~~w~Tuning\");
         TextDrawSetString(CValaszto2[playerid],\"~w~START\");
         TextDrawColor(CValaszto1[playerid], 0xff0000AA);
         PlayerPlaySound(playerid, 5205, 0.0, 0.0,0.0);
      }
      case 1:
      {
         TextPozicio[playerid] = 2;
         TextDrawSetString(CValaszto0[playerid],\"~w~Jarmu: Sultan (nyitva)\");
         TextDrawSetString(CValaszto1[playerid],\"~w~Tuning\");
         TextDrawSetString(CValaszto2[playerid],\"~r~~>~~w~START\");
         TextDrawColor(CValaszto2[playerid], 0xff0000AA);
         PlayerPlaySound(playerid, 5205, 0.0, 0.0,0.0);
      }
      case 2:
      {
          TextPozicio[playerid] = 0;
          TextDrawSetString(CValaszto2[playerid],\"~w~START\");
          TextDrawSetString(CValaszto0[playerid],\"~r~~>~~w~Jarmu: Sultan (nyitva)\");
          TextDrawSetString(CValaszto1[playerid],\"~w~Tuning\");
          TextDrawColor(CValaszto0[playerid], 0xff0000AA);
          PlayerPlaySound(playerid, 5205, 0.0, 0.0,0.0);
      }
   }
}
    }
return 1;
}
//Hangbugfix PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
forward UnDial(playerid);
public UnDial(playerid)
{
dialogblokk[playerid] = false;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_HANDBRAKE)
{
    if(belepve[playerid] == false)
    {
        if(dialogblokk[playerid] == true) return 1;
        switch(TextPozicio[playerid])
    {
        case 1:
        {
        dialogblokk[playerid] = true;
        SetTimerEx(\"UnDial\",1000, false, \"u\", playerid);
            ShowPlayerDialog(playerid, DIALOG_TUNING, DIALOG_STYLE_LIST,\"Jármû fejlesztése \",
      \"Szín módosítása\\nAlien oldalléc(jobb)\\nAlien oldalléc(bal)\\nAlien kipufogó\\nX-flow kipufogó\\nX-flow oldalléc(bal)\\nX-flow oldalléc(jobb)\\nAlien tetõnyílás\\nX-flow tetõnyílás\\nAlien spoiler\\nX-flow spoiler\\nX-flow lökhárító (hátsó)\\nAlien lökhárító (hátsó)\\nAlien lökhárító (elsõ)\\nX-flow lökhárító (elsõ)\",
      \"Megvesz\", \"Mégse\");
      return 1;
              }
        case 2:
        {
       
        }
    }
   
    }
}
return 1;
}

169
Tanár Only / Elõadások menetei
« Dátum: 2012. Szeptember 26. - 19:08:52 »
Második lecke tartalma: Zcmd és Sscanf bevezetése. Elõadó: CN
Harmadik lecke tartalma: TextDrawok készítése és egy új chatbox létrehozása - logikai elv bevezetése [TextDrawok készítése]. Elõadó: G.
Negyedik lecke tartalma: Objectek, léterhozás törlés mozgatás. Jármûre gyilkoló object készítése. Esetleg robbanóhordó kilövése, akár object ragasztás. Elõadó: ?
Ötödik lecke tartalma: Alap fájl mûveletek [Log készítése]. Elõadó: Olie

170
Jelentés elintézve írta \'Gentleman\'

171
Fórum Archívum (Témák/Fórumok) / ÁTHELYEZVE: Telefon
« Dátum: 2012. Szeptember 24. - 14:59:38 »
A téma át lett helyezve a következõbe: RP/RPG kérések.
http://sampforum.hu/index.php?topic=32202.0" class="bbc_link">http://http://sampforum.hu/index.php?topic=32202.0

172
Lecke/fejlesztés tartalma: Bevezetés a projectbe és ismerkedés az alapokkal,


Szükséges pluginok és includék: ZCMD parancsfeldolgozó
Felhívás: A létrehozásnál a leglényegesebb arra figyelnünk, hogy minden funkciónk címkézve legyen. Lásd egyes ábra.
[hs width=50 height=50]http://i.imgur.com/d6xIa.jpg[/hs] (Kattintással nagyítható)
Elsõ lépés:


Az elsõ lépésben a játékmód formaságait fogjuk megadni. Létrehozzuk a létfontosságú beágyazásokat, elõre meghatározunk színkódokat és a játékmódot elnevezzük.
Az alap szervercsomag tartalmazza az \'a_samp\' nevû függvénykönyvtárat így ezt nekünk nem kell külön beszereznünk. Viszont a késõbbiekben nagy segítségünkre lehet a ZCMD (aki nem ismerné itt megtalálja a leírást és a letöltést) parancsfeldolgozó így a késõbbiekben a parancsaink egyszerûbbek és gyorsabbak lesznek. A parancsokkal majd egy késõbbi leckében fogunk foglalkozni.
A játékmód elején adjuk meg a szükséges beágyazásokat. Lényeges, hogy elé semmilyen funkciót ne írjunk mivel okozhat késõbbiekben problémát.
 

#include <a_samp>
#include <zcmd>

 
Így már elérhetõek számunkra a SAMP által nyújtott funkciók. Most adjuk meg azokat az állandókat amiket a késõbbiekben fogunk használni. Ezek most a színek lesznek. Itt elérhetõ egy színpaletta/színkeverõ ami autómatikusan definícióba írja a kikevert színt.
Azt tudnunk kell, hogy átfordításnál fentrõl lefelé kerül a játékmód konvertálásra így a definíciókat már csak az átláthatóság miatt is érdemes a beágyazások alatt létrehozni. A lényeg az, hogy mindig a funkciónk elõtt legyen. Lehet pontosan elé is írni de nem célszerû mivel nagyobb terjedelmû módnál átláthatósági problémákat okoz. Illetve esztétikusabb a módunk ha minden sorban egy helyen található meg lásd egyes ábra.
Tehát kezdjünk el kikeverni olyan 10 színt és definíciókba adjuk meg a színek neveit (fent definíció neve) és a hozzátartozó értékeket. Javaslom a SZIN_ elõtagot így a késõbbiekben könnyebben elkülönülnek a többi állandótól. A webes \'program\' létrehozza nekünk a teljes kódot átalakítani legfeljebb a tabulátorozást kell, viszont ez csak esztétikai dolog nincs kihatással a módunk mûködésére. Persze azért címkézzük fel, hogy itt a színek kerülnek megadásra.
Nekem a webes verzióban a tabulátorok elcsúszhatnak.
 

#define SZIN_PIROS 0xff0000AA
#define SZIN_SARGA 0xffa600AA
#define SZIN_ZOLD 0x227305AA
#define SZIN_KEK 0x08027aAA

 
A késõbbiekben nem kell beírnunk azt, hogy \'0x08027aAA\' csupán elég lesz annyi, hogy SZIN_KEK.
Második lépés:


Ebben a lépésben fogjuk elnevezni a játékmódunkat.
 

main()
{
print(\"\\n----------------------------------\");
print(\" SAMPFORUM.HU PAWN GYAKORLATI tanfolyam\");
print(\"----------------------------------\\n\");
}

 
A main funkció a játékmód indulásakor kerül meghívásra. Ezt nem lehet kihagyni a játékmódból, enélkül nem indul el. Továbbá csak a játékmód indulásakor kerül meghívásra.
A print funkció egy képernyõ üzenetet ír ki. Ezt használhatjuk debugolásra is akár (fõleg erre célszerû).
Térjünk át az
 

public OnGameModeInit()
{
   return 1;
}

 
Callbackhez. Elõször is láthatjuk, hogy nincsenek megadva paraméterek (a paraméterek a zárójelben lévõ részben vesszõvel elválasztva találhatóak), másrészt ez az eljárás is a játékmód indulásakor fut le. Így itt beállíthatunk pár globális dolgot. Elsõnek adjunk hozzá egy skint az AddPlayerClass függvénnyel tehetjük meg. Itt már jóval több paraméterünk van. Én ezeket nem fogom taglalni a linken megtaláljátok.
Ami kérdés, hogy ugyebár mi egy autós játékmódot készítünk akkor miért szükséges karakter hozzáadása? A válasz rá igen egyszerû mivel ha nem adsz hozzá legalább egy karaktert akkor elõfordulhat az, hogy a játékosok kifagynak spawnoláskor (lehet ez már 0.3e verzióban javítva lett). Értékeket nem kell megadnunk az argrumentumokban -vagy másnéven paraméterekben. Tehát nyugodtan írjunk 0 értékeket, kivéve ahol lebegõpontos számot kér ott egy tizedes jegy pontossággal töltsük ki a paramétert. Tehát összesítve ez nekem így néz ki most:
 

public OnGameModeInit()
{
   AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
   return 1;
}

 
Itt látszik is egy óriási probléma ha csak erre hivatkozunk, hogy mindössze 3 fegyvert adhatunk a játékosnak. Késõbbiekben egy másik út taglalásra kerül.
Érdemes lenne elnevezni a játékmódot. Amikor a kliensbe a szervert nézed akkor a \'Mode\' felirat alatt olvasható a játékmód neve.
Ehhez a SetGameModeText(string[]) függvény lesz a segítségünkre. Amit tudni érdemes róla, hogy egy darab szöveges argrumentuma van. A szöveget amit megadunk benne lehet akár elõre változóban formázott és úgy hivatkozhatunk rá. De erre nekünk most még nincs szükségünk ezért csak natúr beírjuk a játékmód nevét.
 

public OnGameModeInit()
{
   AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
   SetGameModeText(\"Sampforum Carmageddon v0.1b\");
   return 1;
}

 
Amire figyelnünk kell az az, hogy a nem változóból kiolvasandó szövegeket tegyük idézõjelekbe. Ez amolyan elkülönítési mód.
Csupán annyi a teendõnk már, hogy ctrl+s billentyûkombinációval mentsük el a pwn fájlunkat. Konvertálás egyelõre nem szükséges még.


Összesítés:
 

#include <a_samp>
#include <zcmd>
#define SZIN_PIROS 0xff0000AA
#define SZIN_SARGA 0xffa600AA
#define SZIN_ZOLD 0x227305AA
#define SZIN_KEK 0x08027aAA
main()
{
print(\"\\n----------------------------------\");
print(\" SAMPFORUM.HU PAWN GYAKORLATI tanfolyam\");
print(\"----------------------------------\\n\");
}
public OnGameModeInit()
{
   AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
   SetGameModeText(\"Sampforum Carmageddon v0.1b\");
   return 1;
}

174
PAWN gyakorlati tanfolyam / Információgömb
« Dátum: 2012. Szeptember 23. - 19:15:33 »
Ez a fórumrész azért jött létre, hogy itt közös munkával gyakorlati példákkal bemutassuk, hogyan készül el egy játékmód.
Az alapkompozíció egy Carmageddon alapú játékmód lesz. A mód fejlesztése nyílt forráskóddal fog futni. Ez annyit jelent, hogy az aktuális verzió minden lecke után frissítésre kerül. És a fejlesztéseket \'leckékbe\' fogjuk vezetni itt ebben a fórumrészben. A leckékhez nyugodtan hozzászólhat bárki.
Azt, hogy épp mi lesz a következõ leckében és mik az elképzeléseink illetve miket mely leckében találtok meg changelog nevû témában fogjátok elérni.
Akik a leckéket fogják készíteni:
 
  • ChuckNorris

  • DrAkE

  • Gentleman

  • Olie


A fejlesztésrõl röviden:
Csak az alapkompozíció adott bármi másban kérésekre, javaslatokra eltérhetünk. Ha többen jelzik, hogy a következõ leckében mit szeretnének megtudni akkor azt fogjuk bemutatni amit a közösség kíván. Az alapkompozíció egy több pályás játékmód elkészítése ahol jármûvekkel lehet versenyezni, fejleszteni õket és egy egy pályán power-upokkal törhetünk borsot az ellenfelek vagy akár saját orrunk alá.
Miután ez egy tét nélküli nyílt forrású fejlesztés ezért a leckék száma függeni fog a csapat szabadidejétõl és ötleteitõl is.

175
Fórum Archívum (Témák/Fórumok) / ÁTHELYEZVE: TS3 SZERVER!!
« Dátum: 2012. Szeptember 20. - 21:03:51 »
A téma át lett helyezve a következõbe: Társalgó.
http://sampforum.hu/index.php?topic=32221.0" class="bbc_link">http://http://sampforum.hu/index.php?topic=32221.0

176
Hangszerek és előadók / Válogatásom
« Dátum: 2012. Szeptember 14. - 18:17:32 »
Kisebb válogatás a kedvenceim közül:
 
SimplePortal 2.3.7 © 2008-2024, SimplePortal