Szerző Téma: Tanulási tanmenet, segítség.  (Megtekintve 1293 alkalommal)

Nem elérhető Josh

Tanulási tanmenet, segítség.
« Dátum: 2013. július 29. - 13:11:55 »
0 Show voters
Sziasztok. 1 napja kb elkezdtem tanulni scriptelgetni, amiben a sampforum igencsak nagy segítséget nyújtott. Egy nagyon alap modot sikerült összeraknom, amibe kb ezek vannak:
,,Egyedi\'\' kijelzõk. (pénz, pont, ölések, halálok, élet).
Kép.
 

[hs width=300 height=300]
http://kepfeltoltes.hu/130729/sa-mp-001_www.kepfeltoltes.hu_.png[/hs]
 
Ez egy timer-el frissül másodpercenként.
Teleportoknál progressbáros object betöltés.
dini-s regisztrációs rendszer.
Egy DM, amit sikerült benne megoldani, hogy ha DM zónában halsz meg, oda spawnolsz vissza, és parancsokat se lehet használni.
Nagyjából szerintem ennyi. Biztos nagyon buta megoldásokat használtam, de jelenleg arra törekedtem, hogy mûködjenek a dolgot, késõbb talán arra is ráfekszek, hogy minnél jobb legyen a forráskód.
Maga a mod:
 

#include <a_samp>
#include <OPSP>
#include <Dini>
#include <dutils>
#include <dudb>
#include <zcmd>
#include <sscanf2>
#include <core>
#include <float>
#include <fixchars>
#include <streamer>
#include <progress>
#pragma unused ret_memcpy
#define COLOR_WHITE  0xFFFFFFAA
#define COLOR_YELLOW 0xDABB3EAA
#define COLOR_GREEN 0x21DD00FF
#define COLOR_RED 0xE60000FF
#define ADMIN_RED 0xFB0000FF
#define COLOR_ORANGE 0xF97804FF
#define COLOR_LIGHTRED 0xFF8080FF
#define COLOR_LIGHTBLUE 0x00C2ECFF
#define COLOR_PURPLE 0xB360FDFF
#define COLOR_PLAYER_COLOR 0xFFFFFFFF
#define COLOR_BLUE 0x1229FAFF
#define COLOR_LIGHTGREEN 0x38FF06FF
#define COLOR_DARKPINK 0xE100E1FF
#define COLOR_DARKGREEN 0x008040FF
#define COLOR_ANNOUNCEMENT 0x6AF7E1FF
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAY 0xCECECEFF
#define COLOR_HITCOLOR 0xFF0000FF
#define COL_EASY           \"{FFF1AF}\"
#define COL_WHITE          \"{FFFFFF}\"
#define COL_BLACK          \"{0E0101}\"
#define COL_GREY           \"{C3C3C3}\"
#define COL_GREEN          \"{6EF83C}\"
#define COL_RED            \"{F81414}\"
#define COL_YELLOW         \"{F3FF02}\"
#define COL_ORANGE         \"{FFAF00}\"
#define COL_LIME           \"{B7FF00}\"
#define COL_CYAN           \"{00FFEE}\"
#define COL_LIGHTBLUE      \"{00C0FF}\"
#define COL_BLUE           \"{0049FF}\"
#define COL_MAGENTA        \"{F300FF}\"
#define COL_VIOLET         \"{B700FF}\"
#define COL_PINK           \"{FF00EA}\"
#define COL_MARONE         \"{A90202}\"
#define COL_CMD            \"{B8FF02}\"
#define COL_PARAM          \"{3FCD02}\"
#define COL_SERVER         \"{AFE7FF}\"
#define COL_VALUE          \"{A3E4FF}\"
#define COL_RULE           \"{F9E8B7}\"
#define COL_RULE2          \"{FBDF89}\"
#define COL_RWHITE         \"{FFFFFF}\"
#define COL_LGREEN         \"{C9FFAB}\"
#define COL_LRED           \"{FFA1A1}\"
#define COL_LRED2          \"{C77D87}\"
//Textdrawok
new Text:Textdraw2; //Pénz
new Text:Textdraw3; //Ponz
new Text:Textdraw4; //Halál
new Text:Textdraw5; //Ölés
new Text:Textdraw6; //Élet
//Progressbarok
new Bar:Object;
forward Objectoltodik1(playerid);
forward Objectoltodik2(playerid);
forward Objectoltodik3(playerid);
//Reakció teszt
new feladat,stopped,bool:feladv;
forward feladvany(playerid);
forward fvege();
//DM
new bool:DM[MAX_PLAYERS];
//Reg változók
new IsLogged[MAX_PLAYERS];
new file[128];
new halalok[MAX_PLAYERS];
new olesek[MAX_PLAYERS];
new admin[MAX_PLAYERS];
main()
{
print(\"\\n----------------------------------\");
print(\" TDM Mode By Josh\");
print(\"----------------------------------\\n\");
}
public OnGameModeInit()
{
    feladv = false;   SetTimer(\"feladvany\",150000,1);
    //SetTimer(\"Frissites\", 1000, true);
SetTimer(\"Frissit\", 1000, true);
SetGameModeText(\"Josh Team-Deathmatch\");
AddPlayerClass(23, 384.5420,2436.4290,16.5263, 269.1425, 0, 0, 0, 0, 0, 0);
//Progressbar
Object = CreateProgressBar(250.00, 385.00, 145.50, 8.50, -16776961, 100.0);
//3D Textek
Create3DTextLabel(\">>> {F81414}/aa <<<\", 0x00C2ECFF, 384.5420,2436.4290,16.5263, 30.0, 0, 0);
return 1;
}
public OnGameModeExit()
{
TextDrawDestroy(Textdraw2);
    TextDrawDestroy(Textdraw3);
    TextDrawDestroy(Textdraw4);
    TextDrawDestroy(Textdraw5);
    TextDrawDestroy(Textdraw6);
    DestroyProgressBar(Object);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1380.6447,-1753.0427,13.5469);
    SetPlayerFacingAngle(playerid, 269.6420);
    SetPlayerCameraPos(playerid, 1387.2906,-1752.8887,13.3828);
    SetPlayerCameraLookAt(playerid, 1380.6447,-1753.0427,13.5469);
return 1;
}
public OnPlayerConnect(playerid)
{
DM[playerid] = false;
new name[MAX_PLAYERS];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
new string[128];
format(string, sizeof(string), \"{21DD00}%s Csatlakozott a szerverre!\", name);
SendClientMessageToAll(COLOR_RED, string);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DM[playerid] = false;
    dini_IntSet(file, \"Pénz\", GetPlayerMoney(playerid));
    dini_IntSet(file, \"Pont\", GetPlayerScore(playerid));
    dini_IntSet(file, \"Halálok\", halalok[playerid]);
    dini_IntSet(file, \"Ölések\", olesek[playerid]);
    dini_IntSet(file, \"Admin\", admin[playerid]);
IsLogged[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(DM[playerid] == true)
{
    SetPlayerPos(playerid, 622,1664,7);
}
    if(IsLogged[playerid] == 0)
{
    SendClientMessage(playerid, COLOR_RED, \"[HIBA] Elõször jelentkezz be!\");
ForceClassSelection(playerid);
TogglePlayerSpectating(playerid, true);
       TogglePlayerSpectating(playerid, false);
}
TextDrawShowForPlayer(playerid, Textdraw2);
TextDrawShowForPlayer(playerid, Textdraw3);
TextDrawShowForPlayer(playerid, Textdraw4);
TextDrawShowForPlayer(playerid, Textdraw5);
TextDrawShowForPlayer(playerid, Textdraw6);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    halalok[playerid] ++;
olesek[killerid] ++;
SetPlayerScore(killerid,GetPlayerScore(killerid) +1);
GivePlayerMoney(killerid,5000);
dini_IntSet(file, \"Pénz\", GetPlayerMoney(playerid));
GameTextForPlayer(killerid,\"~r~+~y~$~w~5000~n~~b~+~r~1~p~XP\",3000,4);
    SendDeathMessage(killerid, playerid, reason);
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/mycommand\", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    DestroyPickup(pickupid);
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
public feladvany(playerid)
{
if(feladv == false)   {
   KillTimer(stopped);
        feladv = true;new kocka[4],switching;
        kocka[0] = random(150);
        kocka[1] = random(150);
        kocka[2] = random(150);
switching = random(3);
if(switching == 0)   {
                        feladat = kocka[0] + kocka[1] + kocka[2];
                        new string[128];
                        format(string,128,\"« Feladvány: %d + %d + %d = ??? Jutalom: $1000 +5 Pont! Válasz adás: /va [válasz] »\",kocka[0],kocka[1],kocka[2]);
                        SendClientMessageToAll(COLOR_YELLOW,\"Rossz Válasz Esetén: -5 Pont\");SendClientMessageToAll(COLOR_YELLOW,string);
        }
        else if(switching == 1)   {
                        feladat = kocka[0] + kocka[1] - kocka[2];
                      new string[128];
                        format(string,128,\"« Feladvány: %d + %d - %d = ??? Jutalom: $1000 +5 Pont! Válasz adás: /va [válasz] »\",kocka[0],kocka[1],kocka[2]);
                       SendClientMessageToAll(COLOR_YELLOW,string);SendClientMessageToAll(COLOR_YELLOW,\"Rossz Válasz Esetén: -5 Pont\");
       }
        else if(switching == 2)   {
                        feladat = kocka[0] - kocka[1] - kocka[2];
                      new string[128];
                        format(string,128,\"« Feladvány: %d - %d - %d = ??? Jutalom: $1000 +5 Pont! Válasz adás: /va [válasz] »\",kocka[0],kocka[1],kocka[2]);
                       SendClientMessageToAll(COLOR_YELLOW,string);SendClientMessageToAll(COLOR_YELLOW,\"Rossz Válasz Esetén: -5 Pont\");
        }
        stopped = SetTimer(\"fvege\",60000,0);
        }
return 1;
}
public fvege()
{
        feladv = false;
        new string[128];
        format(string,128,\"« Feladat: A Válasz: %d! »\",feladat);
        SendClientMessageToAll(COLOR_YELLOW,string);
        return 1;
}
 
CMD:register(playerid, params[])
{
new PlayerName[MAX_PLAYER_NAME];
new password[64];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
if(IsLogged[playerid] == 0)
{
    if(sscanf(params, \"s[64]\", password)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /register [jelszó]\");
else
{
    format(file, sizeof(file), \"%s.ini\", PlayerName);
    if(!dini_Exists(file))
    {
        dini_Create(file);
        dini_IntSet(file, \"Jelszó\", udb_hash(password));
        dini_IntSet(file, \"Pénz\", GetPlayerMoney(playerid));
        dini_IntSet(file, \"Pont\", GetPlayerScore(playerid));
        dini_IntSet(file, \"Halálok\", halalok[playerid]);
        dini_IntSet(file, \"Ölések\", olesek[playerid]);
        dini_IntSet(file, \"Admin\", admin[playerid]);
        SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen regisztráltál, /login a belépéshez!\");
   }
   else
   {
       SendClientMessage(playerid, COLOR_RED, \"[HIBA] Ezzel a névvel már regisztráltak!\");
   }
}
}
else
{
    SendClientMessage(playerid, COLOR_RED, \"[HIBA] Te már regisztrálva vagy!\");
}
return 1;
}
CMD:login(playerid, params[])
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
if(IsLogged[playerid] == 0)
{
    new password[64];
    if(sscanf(params, \"s[64]\", password)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /login [jelszó]\");
    else
    {
        format(file, sizeof(file), \"%s.ini\", PlayerName);
        if(dini_Exists(file))
        {
            if(strval(dini_Get(file, \"Jelszó\")) == udb_hash(password))
            {
                GivePlayerMoney(playerid, dini_Int(file, \"Pénz\"));
                SetPlayerScore(playerid, dini_Int(file, \"Pont\"));
                halalok[playerid] = dini_Int(file, \"Halálok\");
                olesek[playerid] = dini_Int(file, \"Ölések\");
                admin[playerid] = dini_Int(file, \"Admin\");
                IsLogged[playerid] = 1;
                SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen bejelentkeztél!\");
                new nev[64];
         new formazd[128];
                new penz;
                new pont;
         new oles;
         new halal;
         new Float:elet;
                GetPlayerName(playerid, nev, sizeof(nev));
                format(nev, sizeof(nev), \"%s.ini\", nev);
                penz = dini_Int(nev, \"Pénz\");
                pont = dini_Int(nev, \"Pont\");
                oles = dini_Int(nev, \"Ölések\");
                halal = dini_Int(nev, \"Halálok\");
                GetPlayerHealth(playerid, elet);
 
         format(formazd, sizeof(formazd), \"PÉNZ:  ~b~%d\", penz);
         Textdraw2 = TextDrawCreate(495.000000, 80.500007, formazd);
         TextDrawLetterSize(Textdraw2, 0.234999, 1.541666);
         TextDrawTextSize(Textdraw2, 647.500000, 207.083435);
         TextDrawAlignment(Textdraw2, 1);
         TextDrawColor(Textdraw2, -1523963137);
         TextDrawUseBox(Textdraw2, true);
         TextDrawBoxColor(Textdraw2, 255);
         TextDrawSetShadow(Textdraw2, 0);
         TextDrawSetOutline(Textdraw2, 0);
         TextDrawBackgroundColor(Textdraw2, 16777215);
         TextDrawFont(Textdraw2, 2);
         TextDrawSetProportional(Textdraw2, 1);
         format(formazd, sizeof(formazd), \"PONT:  ~b~%d\", pont);
         Textdraw3 = TextDrawCreate(495.000000, 95.500007, formazd);
         TextDrawLetterSize(Textdraw3, 0.234999, 1.541666);
         TextDrawTextSize(Textdraw3, 647.500000, 207.083435);
         TextDrawAlignment(Textdraw3, 1);
         TextDrawColor(Textdraw3, -1523963137);
         TextDrawUseBox(Textdraw3, true);
         TextDrawBoxColor(Textdraw3, 255);
         TextDrawSetShadow(Textdraw3, 0);
         TextDrawSetOutline(Textdraw3, 0);
         TextDrawBackgroundColor(Textdraw3, 16777215);
         TextDrawFont(Textdraw3, 2);
         TextDrawSetProportional(Textdraw3, 1);
         format(formazd, sizeof(formazd), \"ÖLÉSEK:  ~b~%d\", oles);
         Textdraw4 = TextDrawCreate(495.000000, 110.500007, formazd);
         TextDrawLetterSize(Textdraw4, 0.234999, 1.541666);
         TextDrawTextSize(Textdraw4, 647.500000, 207.083435);
         TextDrawAlignment(Textdraw4, 1);
         TextDrawColor(Textdraw4, -1523963137);
         TextDrawUseBox(Textdraw4, true);
         TextDrawBoxColor(Textdraw4, 255);
         TextDrawSetShadow(Textdraw4, 0);
         TextDrawSetOutline(Textdraw4, 0);
         TextDrawBackgroundColor(Textdraw4, 16777215);
         TextDrawFont(Textdraw4, 2);
         TextDrawSetProportional(Textdraw4, 1);
         format(formazd, sizeof(formazd), \"HALÁLOK:  ~b~%d\", halal);
         Textdraw5 = TextDrawCreate(495.000000, 125.500007, formazd);
         TextDrawLetterSize(Textdraw5, 0.234999, 1.541666);
         TextDrawTextSize(Textdraw5, 647.500000, 207.083435);
         TextDrawAlignment(Textdraw5, 1);
         TextDrawColor(Textdraw5, -1523963137);
         TextDrawUseBox(Textdraw5, true);
         TextDrawBoxColor(Textdraw5, 255);
         TextDrawSetShadow(Textdraw5, 0);
         TextDrawSetOutline(Textdraw5, 0);
         TextDrawBackgroundColor(Textdraw5, 16777215);
         TextDrawFont(Textdraw5, 2);
         TextDrawSetProportional(Textdraw5, 1);
         format(formazd, sizeof(formazd), \"ÉLET:  ~b~%.1f\", elet);
         Textdraw6 = TextDrawCreate(495.000000, 140.500007, formazd);
         TextDrawLetterSize(Textdraw6, 0.234999, 1.541666);
         TextDrawTextSize(Textdraw6, 647.500000, 207.083435);
         TextDrawAlignment(Textdraw6, 1);
         TextDrawColor(Textdraw6, -1523963137);
         TextDrawUseBox(Textdraw6, true);
         TextDrawBoxColor(Textdraw6, 255);
         TextDrawSetShadow(Textdraw6, 0);
         TextDrawSetOutline(Textdraw6, 0);
         TextDrawBackgroundColor(Textdraw6, 16777215);
         TextDrawFont(Textdraw6, 2);
         TextDrawSetProportional(Textdraw6, 1);
      }
      else
      {
          SendClientMessage(playerid, COLOR_RED, \"[HIBA] Rossz jelszót adtál meg!\");
      }
   }
   else
   {
       SendClientMessage(playerid, COLOR_RED, \"[HIBA] Elõször regisztrálj! /register [jelszó]\");
   }
}
}
else
{
    SendClientMessage(playerid, COLOR_RED, \"[HIBA] Te már be vagy jelentkezve!\");
}
return 1;
}
//Admin parancsok
CMD:kick(playerid, params[])
{
if(admin[playerid] == 0)
{
    SendClientMessage(playerid, COLOR_RED, \"[HIBA] Nem vagy admin!\");
}
else
{
    SendClientMessage(playerid, COLOR_GREEN, \"[sEELIFE] Admin vagy!\");
}
return 1;
}
//DM parancsok
CMD:dm(playerid, params[])
{
    new name[MAX_PLAYER_NAME+1], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), \"{0000FF}%s {FFFF00}Belépett a DM zónába!{FF0000}(/dm)\", name);
if(DM[playerid] == true) return SendClientMessage(playerid, COLOR_RED, \"[HIBA] DM zónában vagy! Elõször /exitdm\");
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 32, 1000);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100.0);
SetPlayerPos(playerid, 622,1664,7);
SendClientMessage(playerid, COLOR_GREEN, \"[sEELIFE] Beléptél a DM zónába!\");
SendClientMessageToAll(0xFFFF00AA, string);
DM[playerid] = true;
return 1;
}
CMD:exitdm(playerid, params[])
{
if(DM[playerid] == false) return SendClientMessage(playerid, COLOR_RED, \"[HIBA] Nem vagy DM zónában! Belépéshez /dm\");
ResetPlayerWeapons(playerid);
SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100.0);
SetPlayerPos(playerid, 384.5420,2436.4290,16.5263);
SendClientMessage(playerid, COLOR_GREEN, \"[sEELIFE] Sikeresen kiléptél a DM zónából!\");
DM[playerid] = false;
return 1;
}
//Teleportok
CMD:aa(playerid, params[])
{
if(DM[playerid] == true) return SendClientMessage(playerid, COLOR_RED, \"[HIBA] DM zónában nem használhatsz parancsokat!\");
new name[MAX_PLAYER_NAME+1], string[128];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), \"{0000FF}%s {FFFF00}Elteleportált a Sivatagi reptérre{FF0000}(/aa)\",name);
    SendClientMessageToAll(0xFFFF00AA, string);
    if(IsPlayerInAnyVehicle(playerid))
    {
        GameTextForPlayer(playerid, \"~r~Objectek betöltése...\", 1000, 1);
        SetTimer(\"Objectoltodik1\", 1000, 0);
        SetTimer(\"Objectoltodik2\", 2000, 0);
        SetTimer(\"Objectoltodik3\", 3000, 0);
        TogglePlayerControllable(playerid, 0);
        ShowProgressBarForPlayer(playerid, Object);
        SetVehiclePos(GetPlayerVehicleID(playerid),405.6033,2451.7056,16.5461);
    } else {
        GameTextForPlayer(playerid, \"~r~Objectek betöltése...\", 1000, 1);
        SetTimer(\"Objectoltodik1\", 1000, 0);
        SetTimer(\"Objectoltodik2\", 2000, 0);
        SetTimer(\"Objectoltodik3\", 3000, 0);
        TogglePlayerControllable(playerid, 0);
        ShowProgressBarForPlayer(playerid, Object);
        SetPlayerPos(playerid,384.5420,2436.4290,16.5263);
    }
    return 1;
}
CMD:teles(playerid, params[])
{
    if(DM[playerid] == true) return SendClientMessage(playerid, COLOR_RED, \"[HIBA] DM zónában nem használhatsz parancsokat!\");
SendClientMessage(playerid, COLOR_YELLOW, \"==============[TELEPORTOK]==============\");
SendClientMessage(playerid, COLOR_GREEN, \" /aa | /lv | /ls | /sf | /lvair | /sfair\");
return 1;
}
CMD:felad(playerid,params[])
{
#pragma unused params
        if(IsPlayerAdmin(playerid))
        {
                feladv = false;
                feladvany(playerid);
        }
        else
        {
            SendClientMessage(playerid,COLOR_YELLOW,\"« Sajnálom, de nem vagy RCON Adminisztrátor! »\");
            return 0;
        }
        return 1;
}
CMD:va(playerid,params[])
{
        if(feladv == true)
        {
            if(!strlen(params)) return SendClientMessage(playerid,COLOR_YELLOW,\"Használat: /va [A Te válaszod]\");
            new para;
            para = strval(params);
            if(para == feladat)
            {
                feladv = false;
                new pName[24],
         string[128];
              KillTimer(stopped);
                GetPlayerName(playerid,pName,24);
                format(string,128,\"« Feladat: %s nyert! A Válasz: %d! »\",pName,feladat);
                SendClientMessageToAll(COLOR_YELLOW,string);
                SetPlayerScore(playerid, GetPlayerScore(playerid) + 5 );
                GivePlayerMoney(playerid,1000);
                }   else   {
      SendClientMessage(playerid,COLOR_YELLOW,\"« Helytelen Válasz »\");
      SetPlayerScore(playerid, GetPlayerScore(playerid) - 5 );
                }
           }
        else
        {
            return SendClientMessage(playerid,COLOR_YELLOW,\"« A Feladatok Opció Nem aktív! »\");
        }
        return 1;
}
/*forward Frissites();
public Frissites()
{
    new playerid = -1;
    for(;++playerid < MAX_PLAYERS;)
    {
        if(IsPlayerConnected(playerid) && IsLogged[playerid])
        {
            new formazd[64];
            GetPlayerName(playerid, formazd, MAX_PLAYER_NAME);
            format(formazd, sizeof(formazd), \"%s.ini\", formazd);
            dini_IntSet(formazd, \"Pont\", GetPlayerScore(playerid));
            dini_IntSet(formazd, \"Pénz\", GetPlayerMoney(playerid));
            dini_IntSet(formazd, \"Halálok\", halalok[playerid]);
            dini_IntSet(formazd, \"Ölések\", olesek[playerid]);
        }
    }
    return true;
}*/
forward Frissit();
public Frissit()
{
new playerid = -1;
for(;++playerid < MAX_PLAYERS;)
{
    if(IsPlayerConnected(playerid) && IsLogged[playerid])
    {
   new newtext[41];
            new penzem;
            penzem = GetPlayerMoney(playerid);
            format(newtext, sizeof(newtext), \"PÉNZ: ~b~%d\", penzem);
        TextDrawSetString(Textdraw2, newtext);
        TextDrawShowForPlayer(playerid, Textdraw2);
        new newtextt[41];
        new pontom;
        pontom = GetPlayerScore(playerid);
        format(newtextt, sizeof(newtextt), \"PONT: ~b~%d\", pontom);
        TextDrawSetString(Textdraw3, newtextt);
        TextDrawShowForPlayer(playerid, Textdraw3);
        new newtexttt[41];
        new olesem;
        olesem = olesek[playerid];
        format(newtexttt, sizeof(newtexttt), \"ÖLÉSEK: ~b~%d\", olesem);
        TextDrawSetString(Textdraw4, newtexttt);
        TextDrawShowForPlayer(playerid, Textdraw4);
        new newtex[41];
        new halalom;
        halalom = halalok[playerid];
        format(newtex, sizeof(newtex), \"HALÁLOK: ~b~%d\", halalom);
        TextDrawSetString(Textdraw5, newtex);
        TextDrawShowForPlayer(playerid, Textdraw5);
       
        new newtexx[41];
        new Float:eletem;
        GetPlayerHealth(playerid, eletem);
        format(newtexx, sizeof(newtexx), \"ÉLET: ~b~%.1f\", eletem);
        TextDrawSetString(Textdraw6, newtexx);
        TextDrawShowForPlayer(playerid, Textdraw6);
    }
}
return true;
}
public Objectoltodik1(playerid)
{
SetProgressBarValue(Object, 30);
UpdateProgressBar(Object, playerid);
return 1;
}
public Objectoltodik2(playerid)
{
SetProgressBarValue(Object, 60);
UpdateProgressBar(Object, playerid);
return 1;
}
public Objectoltodik3(playerid)
{
SetProgressBarValue(Object, 100);
UpdateProgressBar(Object, playerid);
GameTextForPlayer(playerid, \"~g~Objectek betöltve...\", 2000, 1);
HideProgressBarForPlayer(playerid,Object);
TogglePlayerControllable(playerid, 1);
return 1;
}

 
Van benne egy reakció teszt, azt nem én írtam, hanem a fórumon találtam.
A kérdésem a következõ lenne, mit ajánlotok amivel folytathatnám? És ha a jelenlegi dolgokba hibát találtok arra is írjatok valamit.
« Utoljára szerkesztve: 2013. július 29. - 16:16:33 írta ZyZu »

Nem elérhető Nátha

  • 1036
    • Profil megtekintése
Tanulási tanmenet, segítség.
« Válasz #1 Dátum: 2013. július 29. - 13:43:52 »
0 Show voters
Esetleg egy egyszerûbb munka rendszer ?

Nem elérhető Josh

Tanulási tanmenet, segítség.
« Válasz #2 Dátum: 2013. július 29. - 13:45:25 »
0 Show voters
Igen, ezen gondolkodtam, viszont a random CP-kel stb.. még nem igazán vagyok tisztába, de utánanézek, és hát... Hátha :D

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Tanulási tanmenet, segítség.
« Válasz #3 Dátum: 2013. július 29. - 13:57:44 »
0 Show voters
Idézetet írta: Josh date=1375096315\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40588\" data-ipsquote-contentclass=\"forums_Topic
,,Egyedi\'\' kijelzõk. (pénz, pont, ölések, halálok, élet)
Ez egy timer-el frissül másodpercenként.
A kérdésem a következõ lenne, mit ajánlotok amivel folytathatnám? És ha a jelenlegi dolgokba hibát találtok arra is írjatok valamit.
 
szerintem folytathatod azzal hogy nem másodpercenként frissül a textdraw mert feleslegesen terheled ezzel a szervert :)
5 adatot jelenítesz meg:
pénz, pont, ölések, halálok, élet
szerintem elég lenne csak akkor frissíteni a TD-t ha valamelyik adat módosul...
Ugye a pontot te módosítod valahol a kódban elég ott 1 frissítõ függvényt meghívni...
ezek az események az ölések/halálok + életnél jól jönnek:
http://wiki.sa-mp.com/wiki/OnPlayerDeath
http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage
a pénz az 1 picit más tészta ha bent hagyod a stunt bonus-t akkor a másodperces frissítésnél összevetheted a \"régi\" és az \"új\" pénzt
régi: eltárolod a változóban a TD-ben kiírt értéket
új: http://wiki.sa-mp.com/wiki/GetPlayerMoney
ha nem azonos a 2 érték akkor hívod meg a TD frissítõ függvényt
ha kikapcsolod a stunbonust akkor elég akkor frissíteni amikor módosítod a pénzt...
http://wiki.sa-mp.com/wiki/EnableStuntBonusForAll
amennyiben jól megy az angol akkor az aláírásomban levõ wiki-s linkek elég nagy segítséget nyújthatnak :)
de ha kevésbé megy akkor is segíthetnek valamennyire :)
További sok sikert a scripteléshez :)
U.I.:
 

Igen, ezen gondolkodtam, viszont a random CP-kel stb.. még nem igazán vagyok tisztába, de utánanézek, és hát... Hátha :D
 
[/quote]
http://wiki.sa-mp.com/wiki/Random
http://wiki.sa-mp.com/wiki/SetPlayerCheckpoint
http://wiki.sa-mp.com/wiki/OnPlayerEnterCheckpoint
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Josh

Tanulási tanmenet, segítség.
« Válasz #4 Dátum: 2013. július 29. - 14:02:57 »
0 Show voters
Nagyon szépen köszönöm a segítséget, meg van a mai elfoglaltság :)

Nem elérhető Josh

Tanulási tanmenet, segítség.
« Válasz #5 Dátum: 2013. július 29. - 15:57:49 »
0 Show voters
Köszönöm szépen :) Minden tanácsot megfogadok amit itt kapok. Most elkezdtem gondolkodni egy XP / szint rendszeren, eddig idáig jutottam:



\"width=500http://kepfeltoltes.hu/130729/sa-mp-008_www.kepfeltoltes.hu_.png[/img]
 
Az elsõ szám már fájlból van kiolvasva, szerintem estére már fogjuk rá egy szint / xp rendszer is kész lesz :D Drukkoljatok :)

Heroic

  • Vendég
Tanulási tanmenet, segítség.
« Válasz #6 Dátum: 2013. július 29. - 16:41:02 »
+1 Show voters
Good job Bro :D

Nem elérhető scripter01

  • 1035
  • Ex Moderálisan Globális
    • Profil megtekintése
Tanulási tanmenet, segítség.
« Válasz #7 Dátum: 2013. július 29. - 17:13:15 »
0 Show voters
Egyszerû a XP/Szint rendszer is :) csak figyelj oda és menni fog, ha nem megy itt kérhetsz segítséget

Nem elérhető Josh

Tanulási tanmenet, segítség.
« Válasz #8 Dátum: 2013. július 29. - 18:07:36 »
0 Show voters
Már fogjuk rá kész van. Csak egy dolog viselkedik furcsán, elsõnek megjelenítek egy %d / 100 textdrawot, ha az xp nagyobb mint 100, ezt a textdrawot kikapcsolom, és megjelenítem a másikat a %d / 200-at... Viszont, azt már nem oda rakja ahova én megadtam a koordinátákat xD de mind1, haladok az a lényeg.

Nem elérhető scripter01

  • 1035
  • Ex Moderálisan Globális
    • Profil megtekintése
Tanulási tanmenet, segítség.
« Válasz #9 Dátum: 2013. július 29. - 18:55:41 »
0 Show voters
Ugyan oda szeretnéd ahova az elsõt??

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal