Szerző Téma: Ajándék rendszer 1.0  (Megtekintve 2262 alkalommal)

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Ajándék rendszer 1.0
« Dátum: 2012. december 02. - 22:44:30 »
+4 Show voters
Sziasztok.Bemutatom az eggyik scriptem ami ma készült el tegnap kezdtem el este.10percet dolgoztam rajta este ezért mára készült el.Játszottam a Counter Strike 1.6-al ott egy de_dust2_xmas pályán játszottunk és eszembe jutott hogy elõre kéne készülni a karácsonyra scripteléssel :) hát el is készitettem itt van télapó az tud ajándékozni VIP-et és a playerek is tudnak egymásnak ajándékozni :) remélem jól sikerült hibátlanul de lehet van valami hiba benne mert egyedül teszteltem és egyedül nem tudom észrevenni a hibát olyan jól :).Remélem tetszik.
VIP-nek még csak eggyetlen parancs van de azt ti úgyis bõvititek ha felhasználjátok.És még valami bele irtam a hóesés scriptet az nem az én munkám lusta adta azt a scriptet.1.1-s verzióba javitom az észrevett hibákat meg teszek bele dialogos ajándékokat amit a télapó ad másoknak :)
Pawno:
 

#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
#include <streamer>
new szFile[ 40 + 1 ];
#define COLOR_RED 0xff0000AA
#define MAX_SLOTS         30
#define MAX_SNOW_OBJECTS    20
#define UPDATE_INTERVAL     750
#if MAX_SLOTS == -1
#error Change MAX_SLOTS to the max players of your server! (At line 6)
#endif
#define ploop(%0)         for(new %0 = 0; %0 < MAX_SLOTS; %0++) if(IsPlayerConnected(%0))
#define CB:%0(%1)           forward %0(%1); public %0(%1)
new bool:snowOn[MAX_SLOTS char],
snowObject[MAX_SLOTS][MAX_SNOW_OBJECTS],
updateTimer[MAX_SLOTS char]
;
public OnFilterScriptExit()
{
ploop(i)
{
    if(snowOn{i})
    {
        for(new j = 0; j < MAX_SNOW_OBJECTS; j++) DestroyDynamicObject(snowObject[j]);
   KillTimer(updateTimer{i});
}
}
return 1;
}
    public OnPlayerConnect( playerid )
    {
              format( szFile, sizeof( szFile ), \"VIP/%s.ini\", szName( playerid ) );
     {
              if( dini_Exists( szFile ) )
              {
                       SetPVarInt( playerid, \"iVIP\", dini_Int( szFile, \"VIP\" ) );
              }
              else
              {
                   SetPVarInt( playerid, \"iVIP\", 0 );
                   dini_Create( szFile );
              }
              }
              format( szFile, sizeof( szFile ), \"VIP/%s.ini\", szName( playerid ) );
     {
              if( dini_Exists( szFile ) )
              {
              SetPVarInt( playerid, \"iTelapo\", dini_Int( szFile, \"Telapo\" ) );
              }
              else
              {
                   SetPVarInt( playerid, \"iTelapo\", 0 );
                   dini_Create( szFile );
              }
              }
              return 1;
    }
public OnPlayerDisconnect(playerid)
{
if(snowOn{playerid})
{
    for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
snowOn{playerid} = false;
KillTimer(updateTimer{playerid});
}
format( szFile, sizeof( szFile ), \"VIP/%s.ini\", szName( playerid ) );
{
dini_IntSet( szFile, \"VIP\", GetPVarInt( playerid, \"VIP\" ) );
}
format( szFile, sizeof( szFile ), \"VIP/%s.ini\", szName( playerid ) );
{
dini_IntSet( szFile, \"VIP\", GetPVarInt( playerid, \"iTelapo\" ) );
}
return 1;
}
 
 
new ajandek[MAX_PLAYERS];
new kotszer[MAX_PLAYERS];
CMD:ajandekvesz(playerid,params[])
{
if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, -1, \"Nincs elég pénzed!\");
SendClientMessage(playerid,COLOR_RED,\"Te vettél egy ajándék dobozt\");
ajandek[playerid]++;
GivePlayerMoney(playerid,5000);
return 1;
}
CMD:ajandekoz( playerid, params[] )
{
new iPlayer;
if(ajandek[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,\"Nincs ajándék dobozod!\");
if( sscanf( params, \"ui\", iPlayer) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /ajandekoz [iD/Név]\" );
if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen ID/Név.\" );
SendClientMessage(playerid,COLOR_RED,\"Ajándékoztál ez szép dolog\");
ajandek[playerid]--;
ajandek[iPlayer]++;
SendClientMessage(iPlayer,COLOR_RED,\"Te kaptál egy ajándékot de titok hogy kitõl\");
return 1;
}
stock szName( playerid )
{
static s_szName[ MAX_PLAYER_NAME + 1 ];
GetPlayerName( playerid, s_szName, MAX_PLAYER_NAME );
return s_szName;
}
CMD:telapoajandekoz( playerid, params[] )
{
if( GetPVarInt( playerid, \"iTelapo\" ) == 1 || IsPlayerAdmin( playerid ) )return SendClientMessage(playerid,COLOR_RED,\"Nem vagy télapó\");
new iPlayer,
iVIP;
if( sscanf( params, \"ui\", iPlayer, iVIP ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /setrank <Játékos ID/Név> <Szint>\" );
if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen ID/Név.\" );
if( ( 0 < iVIP > 3 ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: A szint csak 0-3 között lehet.\" );
SetPVarInt( iPlayer,  \"iVIP\", iVIP );
SendClientMessage(iPlayer,COLOR_RED,\"Te neked a télapó ajándékozott egy VIP-et\");
return 1;
}
CMD:telapo( playerid, params[] )
{
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,COLOR_RED,\"Nem vagy rcon\");
{
new iPlayer,
iTelapo;
if( sscanf( params, \"ui\", iPlayer, iTelapo ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /telapo <Játékos ID/Név> <Szint>\" );
if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen ID/Név.\" );
if( ( 0 < iTelapo > 3 ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: A szint csak 0-3 között lehet.\" );
SetPVarInt( iPlayer,  \"iTelapo\", iTelapo );
}
return 1;
}
CMD:kinyit(playerid,params[])
{
if(ajandek[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,\"Nincs ajándék dobozod\");
{
switch(random(5))
{
case 0:
{
SendClientMessage(playerid,COLOR_RED,\"5000Ft volt a csomagban\");
GivePlayerMoney(playerid,5000);
ajandek[playerid]--;
}
case 1:
{
SendClientMessage(playerid,COLOR_RED,\"Sawnoff Shotgun 500 volt a csomagban 500 tölténnyel\");
GivePlayerWeapon(playerid,26,5000);
ajandek[playerid]--;
}
case 2:
{
SendClientMessage(playerid,COLOR_RED,\"Egy vibrátor volt a csomagban jó szórakozást vele\");
GivePlayerWeapon(playerid,12,5000);
ajandek[playerid]--;
}
case 3:
{
SendClientMessage(playerid,COLOR_RED,\"Egy fényképezõ gép volt a csomagban turázásra jó lessz ;)\");
GivePlayerWeapon(playerid,43,5000);
ajandek[playerid]--;
}
case 4:
{
SendClientMessage(playerid,COLOR_RED,\"Egy csomag kötszer volt a csomagban ez még bármikor jól jöhet\");
kotszer[playerid]++;
}
}
}
return 1;
}
CMD:gyogyit(playerid,params[])
{
if(kotszer[playerid] == 0) return SendClientMessage(playerid,-1,\"Nincs kötszered!\");
SendClientMessage(playerid,COLOR_RED,\"Rendben mostmár nem vagy megsérülve\");
SetPlayerHealth(playerid,100);
return 1;
}
CMD:ajandekok(playerid,params[])
{
new cstr[MAX_PLAYERS];
format(cstr,sizeof(cstr),\"Ajándék: %d/db\",ajandek[playerid]);
SendClientMessage(playerid,COLOR_RED,cstr);
return 1;
}
CMD:money(playerid,params[])
{
GivePlayerMoney(playerid,100000);
return 1;
}
CB:UpdateSnow(playerid)
{
if(!snowOn{playerid}) return 0;
new Float:pPos[3];
GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
for(new i = 0; i < MAX_SNOW_OBJECTS; i++) SetDynamicObjectPos(snowObject[playerid], pPos[0] + random(25), pPos[1] + random(25), pPos[2] - 5);
return 1;
}
stock CreateSnow(playerid)
{
if(snowOn{playerid}) return 0;
new Float:pPos[3];
GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
for(new i = 0; i < MAX_SNOW_OBJECTS; i++) snowObject[playerid] = CreateDynamicObject(18864, pPos[0] + random(25), pPos[1] + random (25), pPos[2] - 5, random(100), random(100), random(100), -1, -1, playerid);
snowOn{playerid} = true;
updateTimer{playerid} = SetTimerEx(\"UpdateSnow\", UPDATE_INTERVAL, true, \"i\", playerid);
return 1;
}
stock DeleteSnow(playerid)
{
if(!snowOn{playerid}) return 0;
for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
KillTimer(updateTimer{playerid});
snowOn{playerid} = false;
return 1;
}
CMD:hoeses(playerid, params[])
{
if(snowOn{playerid})
{
    DeleteSnow(playerid);
    SendClientMessage(playerid, 0x00FF00AA, \"* Hóesést leállítottad!\");
}
else
{
    CreateSnow(playerid);
    SendClientMessage(playerid, 0x00FF00AA, \"Hóesés elindítva! Boldog karácsonyt és kellemes ünnepeket! :)\");
}
return 1;
}
CMD:allhoeses(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    ploop(i)
    {
        if(snowOn{i}) continue;
        CreateSnow(i);
    }
    return 1;
}
CMD:allsnowoff(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    ploop(i)
    {
        if(!snowOn{i}) continue;
        DeleteSnow(i);
    }
    return 1;
}
CMD:heal(playerid,params[])
{
if(1 <= GetPVarInt( playerid, \"iVIP\" ) <= 3)return SendClientMessage(playerid,COLOR_RED,\"Nem vagy VIP\");
{
SetPlayerHealth(playerid,100);
SendClientMessage(playerid,COLOR_RED,\"Feltöltötted az életed\");
}
return 1;
}

Nem elérhető skyLine

  • Globális moderátor
  • 2171
  • 2020
  • Vaterán
    • Profil megtekintése
Ajándék rendszer 1.0
« Válasz #1 Dátum: 2012. december 02. - 23:13:56 »
0 Show voters
Nem rossz. + :)

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Ajándék rendszer 1.0
« Válasz #2 Dátum: 2012. december 02. - 23:55:33 »
0 Show voters
Köszi :D

Ajándék rendszer 1.0
« Válasz #3 Dátum: 2012. december 03. - 09:00:33 »
0 Show voters
Nálam minden parancsra : unkown command
Pedig : Compile Tökéletes
Filterscript mappába bentvan az AMX
Szerver.cfg be beraktam ( Ez a 19. filterscript )
Mi lehet a baj?

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Ajándék rendszer 1.0
« Válasz #4 Dátum: 2012. december 03. - 09:47:27 »
0 Show voters
Bencuskaa\" post=\"369376\" timestamp=\"1354521633\"]
Nálam minden parancsra : unkown command
Pedig : Compile Tökéletes
Filterscript mappába bentvan az AMX
Szerver.cfg be beraktam ( Ez a 19. filterscript )
Mi lehet a baj?
 
[/quote]
Maximum 16 filterscript lehet

Ajándék rendszer 1.0
« Válasz #5 Dátum: 2012. december 03. - 12:29:46 »
0 Show voters
>\" post=\"369377\" timestamp=\"1354524447\"]
Bencuskaa link=topic=35057.msg369376#msg369376 date=1354521633]
Nálam minden parancsra : unkown command
Pedig : Compile Tökéletes
Filterscript mappába bentvan az AMX
Szerver.cfg be beraktam ( Ez a 19. filterscript )
Mi lehet a baj?
 
[/quote]
Maximum 16 filterscript lehet
 
[/quote]
Értem, köszönöm!

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Ajándék rendszer 1.0
« Válasz #6 Dátum: 2012. december 03. - 15:07:25 »
0 Show voters
if( sscanf( params, \"ui\", iPlayer, iVIP ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /setrank <Játékos ID/Név> <Szint>\" );

 
Hát nem tudom van benne /setrank is? :) Egyépként jó lett.

Ajándék rendszer 1.0
« Válasz #7 Dátum: 2012. december 03. - 15:13:11 »
0 Show voters
Észrevétel: Pénz elvétel helyett nem elvesz hanem ad.
 
SendClientMessage(playerid,COLOR_RED,\"Te vettél egy ajándék dobozt\");
ajandek[playerid]++;
GivePlayerMoney(playerid,5000);
[/quote]

Ajándék rendszer 1.0
« Válasz #8 Dátum: 2012. december 03. - 15:15:16 »
0 Show voters
Ez jó lett! Csak amikor lekéne hogy vonja ad :D

Ajándék rendszer 1.0
« Válasz #9 Dátum: 2012. december 03. - 15:46:50 »
0 Show voters
Szep tesa +!

Ajándék rendszer 1.0
« Válasz #10 Dátum: 2012. december 08. - 18:56:42 »
0 Show voters
Egész jó script, grat:D

Ajándék rendszer 1.0
« Válasz #11 Dátum: 2012. december 22. - 14:51:36 »
0 Show voters
Hmm Eléggé Jó Kis FIlterscript... :D naon faxa kösz a szerverem hasznát veszi :D
-Thosiro voltam-

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal