Ü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 - 1ST_Chr

Oldalak: 1 2 [3] 4 5
31
SA-MP: Szerverfejlesztés / Anti RakSAMP
« Dátum: 2012. Július 06. - 07:21:50 »
Szasztok!
Múlthéten aa haverom adott egy ihletet a RakSAMP-os botokkal kapcsolatban. Az õ ötlete az volt, hogy mivan ha a szerverre felküldött botnak nem 0.3e a GetPlayerVersion visszatérése, hanem valami más. Én ekkor elkezdtem gondolkodni ezen, ls eszembe jutott a gpci, ami lekéri a kliens id-jét a játékosnak.
Össze dobtam ezt a kódot, majd felküldtem pár botot a szerverre. A verzió 0.3e volt, a kliens ID-je viszont teljesen egyedi. Aztán felmentem lnis, de nekem különbözött az övéktõl.
 

public OnPlayerConnect(playerid)
{
new str[200];
GetPlayerVersion(playerid,str,sizeof(str));
printf(\"Version: %s\",str);
gpci(playerid,str,sizeof(str));
printf(\"Client ID: %s\",str);
return 1;
}

 
Végül az anti raksamp kód:
 

#define DISALLOWED_ADDRESS \"DA0E5085558CCACC88ECCA40C4CEC49A9408EEE8\"
native gpci(playerid,const serial[],maxlen);
public OnPlayerConnect(playerid)
{
new str[100];
gpci(playerid,str,sizeof(str));
if(!strcmp(str,DISALLOWED_ADDRESS,true))BanEx(playerid,\"RakSAMP\");
return 1;
}

32
Segítségkérés / MySQL R6 - 0.3e gond
« Dátum: 2012. Június 20. - 13:03:18 »
Sziasztok!
Az a gondom, hogy nem csatlakozik a mysql a szerverhez, adatbázishoz vagy nem tudom.
A kód a következõ:
 

#define SQL_HOST                \"localhost\"
#define SQL_USER                \"root\"
#define SQL_PASS                \"\"
#define SQL_DB                   \"revengedb\"
public OnGameModeInit()
{
        mysql_debug(1);
mysql_connect(SQL_HOST,SQL_USER,SQL_DB,SQL_PASS);
        if(mysql_ping() != 1)
{
    printf(\"[MYSQL]: [ERROR]: Connection to `%s` failed!\",SQL_DB);
}
else
{
        printf(\"[MYSQL]: Connection to `%s` succesful!\",SQL_DB);
}
        return 1;
}

 
Amikor megnyitom a szervert akkor azt írja ki, hogy R5 plugin loaded (pedig az R6-os van bent, amit az eredeti oldalról töltöttem). Semmi mást nem ír ki, csak annyit hogy \"Number of vehicle models: 0\".

33
Revenge Kill TDM server
 
Kezdetek/kitalálás:
 

Mostanában sokat játszok a telefonomon a N.O.V.A 3 nevezetû FPS játékkal. A multiplayer része igen szépen kidolgozott, ötletes DM játékokat lehet játszani vele. Grafikai részrõl sem rossz, bár néha ha elütnek akkor derékig belemerülök a talajba és olykor rossz helyeken robbanáskor be lehet esni az illesztések alá. (De ez nagyon ritka) A másik játék amibõl az ihletet kaptam, az szintén egy FPS játék, a Halo 3. Itt is a multiplayer rész tetszett meg igazán, és egyedi \'minijáték\' is van benne. Nos hát ebbõl a 2 játékból merítek ötleteket, amiket itt, ebben a SA:MP szerverben szeretnék megvalósítani...



Szabályzat:
 

-Tilos a Cheatelés! Azaz minden olyan segédprogram, mod, használata amivel több képességed lesz és elõnyhöz jutsz más játékosokkal szemben.


-Tilos a DB! Jármû vezetõ ülésbõl HP/armour vesztés okozása más játékosoknak, valamint utasként a nem megengedett fegyverrel lõni. (UZI, TEC9 szabad, minden más nem)


-Tilos a  szerveren (és a weboldalon is) már szerverek IP-jét, weboldalát reklámozni/hirdetni.


-Tilos a flood\\spam! Többször ugyanazt leírni a chatbe, vagy zavaróan sokszor írni a chatbe.


-Tilos a trágár szavak használata.



A szerver:
 

Amikor belép valaki a szerverbe akkor egy regisztrációs dialog fogja várni, itt meg kell adni egy 5 karaktertõl 20 karakterig terjedõ jelszót. Utána a játékos kiválaszthatja azt a skint, amivel a szerveren játszani akar. (Örökre szól, nem megváltoztatható)


Ha kiválasztotta a megfelelõ skint, akkor berakja az UCP-be (User Control Panel/Skin Control Panel), itt vehet új fegyvereket, gránátot, páncélt, jetpack-et és távirányítással robbantható aknát.


Amikor csatlakozik a játékba, a megvett fegyverekkel kezd [Vehetsz 4-5 fegyvert is, de csak kettõt vihetsz magaddal a harctérre, gránát és akna 3 lehet nálad, a jetpack-et csak 10 másodpercig veheted igénybe] a szerver által a fegyverhez csatolt mennyiségû tölténnyel [M4: 350, Desert Eagle: 15 .......].


Csatlakozni az UCP-bõl lehet, mégpedig a jobb felsõ sarokban lévõ \"START\" feliratú textdrawra kattintva. Ekkor elõugrik egy dialog a játékok listájával, és hogy mennyien vannak benne.



A játékok:
Free for all:
 

Mindenki mindenki ellen, csak 10 játékos vehet részt a játékban.



Team Deathmatch:
 

Itt két csapat van, (piros/kék), csak 10 játékos vehet részt.



Freeze Tag:
 

Itt két csapat van, amikor az egyik játékosnak 10 HP alá megy az élete akkor lefagy, nem spawnol újra. Egy csapattársnak 3 mp-ig mellette kell állnia és akkor újra spawnolhat. Ha egy csapatból az összes játékos lefagyott, akkor egy új kör kezdõdik, és az ellenfél csapat kap 1 pontot. itt 12 játékos vehet részt, 5 kör van.



InstaGib:
 

Mindenki mindenki ellen, csak 10 játékos vehet rész a játékban, egylövéses ölések vannak.



Capture the Flag:
 

Két csapat van, az ellenfél zászlóját el kell vinni a sajátodhoz, feltéve ha azt még nem vitték el. Ha megölöd a zászló hordozóját akkor az visszakerül a helyére. Itt 12 játékos vehet részt, 10 kör van.



Capture the Point:
 

Két csapat van, a pályán el vannak helyezve egymástól kb. 150 méterre lévõ nagy checkpointok. Ezeket kell elfoglalni, és ha mind a 3 egy csapatnál van, meg kell védeni azt 15 másodpercig.


Ha egy checkpoint az egyik csapat tulajdonában áll, akkor egy ellenséges csapattagnak benne kell állnia 3 másodpercig és az újra semlegessé válik, újabb 3 másodperc múlva annak a csapattagnak a tulajdonában fog állni a CP.



A játékosok statisztikája:
 

A játék során a következõ adatokat gyûjti be és menti el a szerver: ölések, halálok, pénz, pontok, fegyverek.


Öléskor a gyilkos kap 1500$-t és 3 XP-t, amit a pontok(score) mutatnak. A lefagyás és a fagyasztás halálnak és ölésnek számítanak.


A szerverern Achievement System fog mûködni, amit mindenki megtekinthet majd az UCP-bõl.



Végül egy kis ízelítõ:
 

Admin csapat:
 

Zolee_D - Tulajdonos/Fõadmin


.Bjorn. - Fõadmin/FõSzkripter


TheVektor - Fõadmin/Webfejlesztõ/AlSzkripter

Changelog:
 

Mód alap: Kész!


MySQL reg rendszer: Kész!


WebAdmin/WebUCP alap: Kész!

 

Reméljük hasonló játékélményt tudunk majd nyújtani, mint a videóban. :D


Üdv.: Az RKTDM Csapata



34
Segítségkérés / Mobil rcon
« Dátum: 2012. Április 22. - 12:46:58 »
Sziasztok,
Nem tudtok egy olyan androidos programot, amivel csatlakozni lehet egy szerverhez RCON adminként?

35
Archívum / [HUN] törölhetõ
« Dátum: 2012. Április 14. - 14:55:13 »
Abbahagytam a játékot, a téma törölhetõ.

36
Off Telep / Gta sa/samp bugok
« Dátum: 2012. Április 08. - 22:55:29 »
Sziasztok,
Ti milyen bugokat/glitch-eket ismertek? (amiket meg is tudtok csinálni)
Én:
Cbugok közül:
Amikor deagle-el gyorsan lehet lõni.
Amikor a skin félig a földben van.
Amikor egy fegyverrel akármennyit lõhetek c gomb nyomogatásával.
Amikor egy fegyverrel akármennyit lõhetek az ütés majd a c és space gomb egyszerre  történõ lenyomása után.
Tûz:
Égve jobban kapaszkodik a skin.
Ha csak nálam látszik, hogy ég a skin, akkor akármennyit lõhetek.
Ha kapaszkodás közben ég a skin akkor nem viszi a hp-t.
Egyéb:
0.3d-nél korábbi klienseknél, ha a jármûvek elé/mögé gugolva a földre lövök sawnoffal, akkor a jármû elrepül.
0.3d-nél korábbi klienseknél, ha motoron, quadon utasként lövök nem fogy a hp.
Ha lövök egy fegyverrel el-, majd vissza váltok rá teli lesz a tár.
Ha sawn offból kilövöm az összes töltényt, elváltok uzi-ra kilövök belõle kb. 20-at majd vissza váltok sawnra, akkor abban újra teli lesz a tár.
Ha kilövöm sawn offból az összes töltényt, majd amikor az elsõt újratölti, és ugrok, akkor földre érkezéskor teli lesz a tár.
Ha space-t nyomok miközben beszállok anyósülés felõl egy jármûbe, akkor a vezetõ meghal.
Ha késelés közben fegyvert tudok váltani akkor az lesz OnPlayerDeath-nál a reason.
Hát ennyi lenne, meg egy pár lényegtelen :D
Ti jöttök ;)

37
Rendezvények / [VERSENY/RACE/PARTY]SA-MP Spring-fest. Triatlon
« Dátum: 2012. Április 07. - 14:32:03 »
Sziasztok
A SAMP-World hosszú várakozás után végre meghírdeti elsõ rendezvényét, amelyre meghívunk minden olyan játékost aki szeretne egy nagy volumenû eventen részt venni, sok-sok más playerrel együtt.

Úgy gondoltuk, az elsõ ilyen rendezvény egy nyílt dolog legyen, ahová bárki jelentkezhet klántól, szervertõl, közösségtõl függetlenül. Az, hogy végül hányan leszünk, az csak tõletek függ. Gyere el és  csupán jelenléteddel járulj hozzá az összejövetel sikeréhez és ezzel a Magyar SA-MP aktív életéhez.

Mirõl is szólna ez a rendezvény? A választ egy szóban össze tudnám foglalni: Triatlon
Spoiler for Videó:


Bizonyára már mindenki hallott errõl a sportágról, de aki mégse, annak itt egy kis leírás:
A triatlon 3 versenyszámból áll, ezek sorrendben: úszás, kerékpározás, futás. A váltások között nincs pihenõ idõ. Értelem szerûen az nyer aki a leg rövidebb idõ alatt teljesíti a távot.
Most egy este alatt 3, körülbelül 6-10 perces verseny lesz.  A végsõ helyezettek pedig az alapján dõl el, hogy átlagban a versenyeken milyen helyezéseket értek el.
Természetesen aki cheat, pk mode, vagy bármilyen egyéb segédprogramot használ amellyel elõnyt tud szerezni a többiekkel szemben azt azonnal kidobjuk a szerverrõl. Aki flood-ol, verekszik, rendetlenkedik, szintén kizárással jutalmazzuk.
A rendezvényrõl egy igényes kis videó is fog készülni.
Nos, mindenkit szeretettel várunk!
A rendezvény pontos idõpontja: 2012. április 22.(Vasárnap) - 16:00

Szerver: 91.82.84.189:7769 ( SA-MP Spring-fest. Triatlon 2012 by: SAMP-World [hosted by Sunwell hosting])

Szervezõk/kitalálók/készítõk:
[VLAztecas]SzAbI, 1ST_Chr, Zolee_D

38
SA-MP: Szerverfejlesztés / Weapon Functions
« Dátum: 2012. Április 02. - 13:47:13 »
Sziasztok,
Ismét infó órán vagyok, és már megint unatkoztam, ezért összedobtam egy függvénykönyvtárat az általam hiányolt fegyver funkciókból.  :laugh: ;D
 

DeletePlayerWeapon(playerid,weapon); // Törli a játékosnak a megadott fegyverét
GetWeaponSlot(weapon); // A megadott fegyver slotjának számával tér vissza, ha nem létezõ fegyver id-t ír be, akkor -1-gyel tér vissza
GetWeaponPickupID(weapon); // A megadott fegyver pickup ID-jével tér vissza, ha nem létezõ fegyver id-t ír be, akkor -1-gyel tér vissza
GetPlayerWeaponAmmo(playerid, weapon); // A játékos megadott fegyverének a töltény számával tér vissza
GetPlayerWeaponFromSlot(playerid,slot); // A játékos megadott slotján lévõ fegyver ID-jével tér visszq

 


#if defined _weapons_included
    #endinput
#endif
#define _weapons_included
#include <a_samp>
#define DeletePlayerWeapon(%0,%1) SetPlayerAmmo(%0,%1,0);
stock GetWeaponSlot(weapon)
{
switch(weapon)
{
    case 0,1:return 0;
    case 2,3,4,5,6,7,8,9:return 1;
    case 10,11,12,13,14,15:return 10;
    case 16,17,18:return 8;
    case 23,24:return 2;
    case 25,26,27:return 3;
    case 28,29,32:return 4;
    case 30,31:return 5;
    case 33,34:return 6;
    case 38,37,38:return 7;
    case 39:return 8;
    case 40:return 12;
    case 41,42:return 9;
    case 44,45,46:return 11;
}
return -1;
}
stock GetPlayerWeaponFromSlot(playerid,slot)
{
    new wdata[2];
    GetPlayerWeaponData(playerid,slot,wdata[0],wdata[1]);
    return wdata[0];
}
stock GetWeaponPickupID(weapon)
{
    switch(weapon)
    {
        case 1:return 331;
        case 2:return 333;
        case 3:return 334;
        case 4:return 335;
        case 5:return 336;
        case 6:return 337;
        case 7:return 338;
        case 8:return 339;
        case 9:return 341;
        case 10:return 321;
        case 11:return 322;
        case 12:return 323;
        case 13:return 324;
        case 14:return 325;
        case 15:return 326;
        case 16:return 342;
        case 17:return 343;
        case 18:return 344;
        case 22:return 346;
        case 23:return 347;
        case 24:return 348;
        case 25:return 349;
        case 26:return 350;
        case 27:return 351;
        case 28:return 352;
        case 29:return 353;
        case 30:return 355;
        case 31:return 356;
        case 32:return 372;
        case 33:return 357;
        case 34:return 358;
        case 35:return 359;
        case 36:return 360;
        case 37:return 361;
        case 38:return 362;
        case 39:return 363;
        case 40:return 364;
        case 41:return 365;
        case 42:return 366;
    }
    return -1;
}
stock GetPlayerWeaponAmmo(playerid, weapon)
{
new wdata[13][2];
for(new i; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, wdata[0], wdata[1]);
if(wdata[0] == weapon)return wdata[1];
}
return 0;
}

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

39
SA-MP: Szerverfejlesztés / VendingMachines (és anti health hack)
« Dátum: 2012. Március 30. - 12:41:56 »
Sziasztok,
Ismét info órán vagyok, és unalmamban összedobtam egy kódot, ami megvizsgáltja, hogy a játékos kaja/pia automatát használ, vagy annak a közelében van-e.
(A koordináták wiki.sa-mp.com-ról vannak)
Anti élet hack-re alkalmas.
Példaszkript:
 

new Float:phealth[MAX_PLAYERS],
bool:sethealthing[MAX_PLAYERS] = false;
stock SetPlayerHealthEx(playerid, Float:hp)
{
sethealthing[playerid] = true;
SetPlayerHealth(playerid, hp);
sethealthing[playerid] = false;
return 1;
}
CMD:setmyhp100(playerid)
{
SetPlayerHealth(playerid, 100);
return 1;
}
CMD:setmyhp100ex(playerid)
{
SetPlayerHealthEx(playerid, 100);
return 1;
}
public OnPlayerUpdate(playerid)
{
new Float:healthh;
GetPlayerHealth(playerid,healthh);
if(healthh > phealth[playerid] && !IsPlayerUseVendingMachine(playerid) && sethealthing[playerid] == false)BanEx(playerid,\"Health Cheat\");
phealth[playerid] = healthh;
}

 
Ha a játékos életet csítel vagy beírja a setmyhp100 parancsot, akkor bant kap. A setmyhp100ex parancsnál nem kap bant, mivel a SetPlayerHealthEx funkciót használja.
Itt a kód:
 

new VendingMachines[][] =
{
    {-14.70000000,1175.36000000,18.95000000},
{201.02000000,-107.62000000,0.90000000},
{662.43000000,-552.16000000,15.71000000},
{-76.03000000,1227.99000000,19.13000000},
{1154.73000000,-1460.89000000,15.16000000},
{1277.84000000,372.52000000,18.95000000},
{1398.84000000,2222.61000000,10.42000000},
{1520.15000000,1055.27000000,10.00000000},
{1634.11000000,-2237.53000000,12.89000000},
{1659.46000000,1722.86000000,10.22000000},
{1729.79000000,-1943.05000000,12.95000000},
{1789.21000000,-1369.27000000,15.16000000},
{1928.73000000,-1772.45000000,12.95000000},
{2060.12000000,-1897.64000000,12.93000000},
{2085.77000000,2071.36000000,10.45000000},
{2139.52000000,-1161.48000000,23.36000000},
{2153.23000000,-1016.15000000,62.23000000},
{2271.73000000,-76.46000000,25.96000000},
{2319.99000000,2532.85000000,10.22000000},
{2325.98000000,-1645.13000000,14.21000000},
{2352.18000000,-1357.16000000,23.77000000},
{2480.86000000,-1959.27000000,12.96000000},
{2503.14000000,1243.70000000,10.22000000},
{-253.74000000,2597.95000000,62.24000000},
{-253.74000000,2599.76000000,62.24000000},
{2647.70000000,1129.66000000,10.22000000},
{2845.73000000,1295.05000000,10.79000000},
{-862.83000000,1536.61000000,21.98000000},
{-1350.12000000,492.29000000,10.59000000},
{-1350.12000000,493.86000000,10.59000000},
{-1455.12000000,2591.66000000,55.23000000},
{-1980.79000000,142.66000000,27.07000000},
{-2005.65000000,-490.05000000,34.73000000},
{-2011.14000000,-398.34000000,34.73000000},
{-2034.46000000,-490.05000000,34.73000000},
{-2039.85000000,-398.34000000,34.73000000},
{-2063.27000000,-490.05000000,34.73000000},
{-2068.56000000,-398.34000000,34.73000000},
{-2092.09000000,-490.05000000,34.73000000},
{-2097.27000000,-398.34000000,34.73000000},
{-2118.62000000,-422.41000000,34.73000000},
{-2118.97000000,-423.65000000,34.73000000},
{-2229.19000000,286.41000000,34.70000000},
{-2420.18000000,985.95000000,44.30000000},
{-2420.22000000,984.58000000,44.30000000},
{2155.84000000,1607.88000000,1000.06000000},
{2155.91000000,1606.77000000,1000.05000000},
{2202.45000000,1617.01000000,1000.06000000},
{2209.24000000,1621.21000000,1000.06000000},
{2209.91000000,1607.20000000,1000.05000000},
{2222.20000000,1606.77000000,1000.05000000},
{2222.37000000,1602.64000000,1000.06000000},
{2225.20000000,-1153.42000000,1025.91000000},
{-15.10000000,-140.23000000,1003.63000000},
{-16.12000000,-91.64000000,1003.63000000},
{-16.53000000,-140.30000000,1003.63000000},
{-17.55000000,-91.71000000,1003.63000000},
{-19.04000000,-57.84000000,1003.63000000},
{-32.45000000,-186.70000000,1003.63000000},
{-33.88000000,-186.77000000,1003.63000000},
{330.68000000,178.50000000,1020.07000000},
{331.92000000,178.50000000,1020.07000000},
{-35.73000000,-140.23000000,1003.63000000},
{350.91000000,206.09000000,1008.48000000},
{-36.15000000,-57.88000000,1003.63000000},
{361.56000000,158.62000000,1008.48000000},
{371.59000000,178.45000000,1020.07000000},
{373.83000000,-178.14000000,1000.73000000},
{374.89000000,188.98000000,1008.48000000},
{379.04000000,-178.88000000,1000.73000000},
{495.97000000,-24.32000000,1000.73000000},
{500.56000000,-1.37000000,1000.73000000},
{501.83000000,-1.43000000,1000.73000000},
{2576.70000000,-1284.43000000,1061.09000000}
};
stock IsPlayerUseVendingMachine(playerid)
{
if(IsPlayerInRangeofVendingMachine(playerid,1.0))
{
        new animlib[32];
        new animname[32];
        GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
        if((!strcmp(animlib,\"vending\",true)) && (!strcmp(animname,\"VEND_Drink2_P\",true) || !strcmp(animname,\"VEND_Drink_P\",true) || !strcmp(animname,\"vend_eat1_P\",true) || !strcmp(animname,\"VEND_Eat_P\",true) || !strcmp(animname,\"VEND_Use\",true) || !strcmp(animname,\"VEND_Use_pt2\",true)))return 1;
}
return 0;
}
stock IsPlayerInRangeOfVendingMachine(playerid,Float:range)
{
for(new i; i < sizeof(VendingMachines); i++)if(IsPlayerInRangeOfPoint(playerid, range,VendingMachines[0],VendingMachines[1],VendingMachines[2]))return 1;
return 0;
}

40
Készülõ munkák / [INC]Tûz
« Dátum: 2012. Március 28. - 19:12:01 »
Sziaszok,
Elkezdtem egy Tûz projecten dolgozni.
Tulajdonságai:
Egy funkcióval lerakhatsz egy megadott koordinátára egy bizonyos típusú tûz objectet. Poroltóval el lehet majd oltani, de ha túl közel mész, akkor automatikusan rajtad is lesz egy tûz object, és 1 másodpercenként levesz 5 hp-t. Valószinûleg terjedni is fog, de ennek a megoldásán még gondolkozok.
Fõbb funkciói:
 

CreateStreamedFire(típus,eloltható(1-igen 0-nem),terjedjen(1-igen 0-nem),autoattach(1 - 0),x,y,z); // a tûz id-jével tér vissza
SetStreamedFirePos(fireid,x,y,z);
RemoveStreamedFire(fireid);
AttachStreamedFireToVehicle(fireid,vehicleid);
AttachStreamedFireToPlayer(fireid,playerid);
DetachStreamedFire(fireid,style(0 - tûz törlése, 1 - földre rakás));
IsPlayerBurning(playerid);
IsVehicleBurning(vehicleid);
GetPlayerFireID(playerid);
GetVehicleFireID(vehicleid);
public OnPlayerBurned(playerid,fireid)
public OnVehicleBurned(vehicleid,fireid)
public OnPlayerExtinguishingFire(playerid,fireid)

 
Ha lesz még ötletem kiírom :)

41
Leírások/Útmutatók / [Leírás] sscanf és zcmd
« Dátum: 2012. Március 28. - 15:23:28 »
Sziasztok,
Sok helyen láttam már (többek közt hivatalos fórumon is), hogy a kezdõk azt kérdezik, hogy hogyan készíthetnek úgy parancsot, hogy ne írja ki a használati szöveget, de ki lehessen hagyni egyes paramétereket.
Õk azért nem tudják (vagyis szerintem), mert azt hiszik hogy az sscanf-et csak feltételnél lehet használni, mert minden egyes publikált szkriptben ezt látják.
Példa:
 

CMD:mute(playerid, params[])
{
      new player,
           time,
           reason[128];
      if(sscanf(params,\"dds[128]\",player,time,reason))return SendClientMessage(playerid,-1\"Használat: /mute <ID> <Perc> <Indok>\");
      // ..... parancs többi része .....
      return 1;
}

 
És akkor mi van, ha a használó simán le akarja némítani a játékost?
Akkor a következõ üzenetet kapja:
 
Használat: /mute <ID> <Perc> <Indok>

 
Ez a módszer (itt) hibás!
Az sscanf az csak egy funkció [ami 0-val tér vissza ha rosszul vannak megadva a paraméterek, ezért írja a használati szöveget], lehet önmagában is használni:
 

CMD:mute(playerid,params[])
{
      new player,
             time,
             reason[128];
      sscanf(params,\"dds[128]\",player,time,reason);
      if(player < 0 || player > GetMaxPlayers() || !IsPlayerConnected(player))return SendClientMessage(playerid,-1,\"A játékos nincs csatlakozva!\");
      else
      {
             if(time != 0 && isnull(reason))
             {
                    //némítás idõvel
             }
             else if(!isnull(reason))
             {
                    //némítás idõvel és indokkal
             }
             else
             {
                    //sima némítás
             }     
      }
      return 1;
}

 
Utószó:
Az sscanf-et nem csak parancsoknál lehet használni, hanem mondjuk fájlból kiolvasott koordináták felbontására is.

42
Segítségkérés / Játékos leütött billentyûinek ellenõrzése
« Dátum: 2012. Március 09. - 11:41:04 »
Sziasztok,
Nem lehet azt valahogy megoldani, hogy lekérdezzem, hogy a játékos éppen milyen gombot nyom meg?
Pl.: h, z, a, 6.....
Nem a KEY_SPRINT meg az ilyenekre gondolok.

43
SA-MP: Szerverfejlesztés / Szabályzat szkript
« Dátum: 2012. Március 05. - 12:36:16 »
Sziasztok,
Unatkoztam info órán, ezért összedobtam nektek egy szabályzat szkriptet.
Tulajdonságai:
10 sor van egy nagy méretû dialogban (az egyik tutorialból másoltam). Azokat lehet átírni egy paranccsal. Átíráskor elmenti egy fájlba [RULE_PATH-nél lehet megváltoztatni a nevet], amit a filterszkript legközelebbi betöltésénél be is olvas.
Zcmd, sscanf2 és dFile kell hozzá.
Csak RCON adminisztrátor írhatja át a szabályzatot.
Parancsok:
 

/editrules <sor> <szöveg>
/rules

 
Kép:
\"sa-mp-376.png\"
Letöltés:
http://www.solidfiles.com/d/30632d8e71/
Szükséges:
dFile - http://solidfiles.com/d/c7f403bd6a/
sscanf2 plugin, inc - http://forum.sa-mp.com/showthread.php?t=120356
Szkript:
 

#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dfile>
#define isnull(%1) \\
((!(%1[0])) || (((%1[0]) == \'\\1\') && (!(%1[1]))))
#define RULE_PATH \"/rules.ini\"
new dstr[2000], str[10][60];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Szabályzat szkript\");
print(\"--------------------------------------\\n\");
if(!fexist(RULE_PATH))
{
dfile_Create(RULE_PATH);
dfile_Open(RULE_PATH);
   dfile_MultiSet(\"ssssssssss\",
   \"sz\", \"Tilos a Cheat/Hack/Mod!\",
   \"sz1\", \"Tilos a DB!\",
   \"sz2\", \"Tilos más játékos és adminisztrátor szidalmazása!\",
   \"sz3\", \"Tilos a káromkodás!\",
   \"sz4\", \"Tilos a HK!\",
   \"sz5\", \"Tilos a TK!\",
   \"sz6\", \"Tilos az SK!\",
   \"sz7\", \"Tilos a WK\",
   \"sz8\", \"Tilos a glitch-elés és a játék hibáival való visszaélés!\",
   \"sz9\", \"Aki nem tartja be a szabályzatot büntetésre számíthat, a szabályzat nem ismerése nem ment fel a betartása/büntetés alól.\"
);
dfile_SaveFile();
dfile_CloseFile();
}
else
{
    dfile_Open(RULE_PATH);
    dfile_MultiGet(\"ssssssssss\",
   \"sz\",str[0],
   \"sz1\", str[1],
   \"sz2\", str[2],
   \"sz3\", str[3],
   \"sz4\", str[4],
   \"sz5\", str[5],
   \"sz6\", str[6],
   \"sz7\", str[7],
   \"sz8\",str[8],
   \"sz9\",str[9]
);
dfile_CloseFile();
}
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
CMD:editrules(playerid,params[])
{
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,\"Ezt a parancsot csak RCON adminisztrátor használhatja!\");
new editline,editstr[60];
if(sscanf(params,\"ds[60]\",editline,editstr))return SendClientMessage(playerid,-1,\"Használat: /editrules <sor (1-10)> <szöveg (min 1 - max 60 karakter)>\");
if((1 > editline || editline > 10) || (1 > strlen(editstr) || strlen(editstr) > 60) || isnull(editstr))return SendClientMessage(playerid,-1,\"Használat: /editrules <sor (1-10)> <szöveg (min 1 - max 60 karakter)>\");
switch(editline)
{
    case 1: format(str[0],60,\"%s\",editstr);
    case 2:format(str[1],60,\"%s\",editstr);
    case 3:format(str[2],60,\"%s\",editstr);
    case 4:format(str[3],60,\"%s\",editstr);
    case 5:format(str[4],60,\"%s\",editstr);
    case 6:format(str[5],60,\"%s\",editstr);
    case 7:format(str[6],60,\"%s\",editstr);
    case 8:format(str[7],60,\"%s\",editstr);
    case 9:format(str[8],60,\"%s\",editstr);
    case 10:format(str[9],60,\"%s\",editstr);
}
dfile_Open(RULE_PATH);
dfile_MultiSet(\"ssssssssss\",
\"sz\",str[0],
\"sz1\", str[1],
\"sz2\", str[2],
\"sz3\", str[3],
\"sz4\", str[4],
\"sz5\", str[5],
\"sz6\", str[6],
\"sz7\", str[7],
\"sz8\",str[8],
\"sz9\",str[9]
);
dfile_SaveFile();
dfile_CloseFile();
return 1;
}
CMD:rules(playerid,params[])
{
format(dstr, sizeof(dstr),\"%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\",
str[0],
str[1],
str[2],
str[3],
str[4],
str[5],
str[6],
str[7],
str[8],
str[9]
);
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, \"Szabályzat:\", dstr, \"Elfogadom\",\"Elfogadom\");
return 1;
}

44
Készülõ munkák / [FS]Character\'s Administration System
« Dátum: 2012. Március 04. - 11:16:56 »
Sziasztok,
Elkezdtem csinálni egy saját admin rendszert, ami tartalmaz minden olyan hasznos dolgot, ami segít rendben tartani egy szervert. A játékos rendszert (regiszráció) SQLite-al csinálom a BUD inc segítségével. A szerver konfigurációját fájlban fogja tárolni, ezt y_ini-vel csinálom. Ezek mellett még a Whirlpool plugint, sscanf2-t, foreach-t, zcmd-t, rdlg-t és egyéb streamereket fogok felhasználni (Pickup, Race és sima checkpoint streamer).
Parancsok:
A legkedveltebb adminszkriptek parancsainak listája alapján csinálom majd meg (Pl: ladmin, luxadmin, 0admin....) + egyéb játékos parancsok, és a saját admin rendszerem egyedi cuccainak parancsai.
Arra gondoltam még, hogy lesz benne \"Ingame rcon administration\" azaz játékon belüli szerver konfigurációinak módosítása. Ez dialogos lesz :D [Pl: szerver név, gamemodetext, rcon jelszó változtatás]
Egyéb:
Másodlagos rcon
VIP rendszer
Report rendszer
AntiFlood/Spam
AntiDB
Anti szerverip/weboldal hirdetés
Anti káromkodás
ChrAdmin függvénykönyvtár az filterscript és a gamemode szinkronizálására
Szkriptelés egyszerûsítések makrókkal/definíciókkal, aminek segítségével könnyen továbbfejleszthetõ lesz...
Checkpoint/pickup/3DText streamer
OnRconCommand parancsfeldolgozó ZCMD alapján
ServerLog system
Parancs készítõ
Esetleg még adhattok tippeket is vagy ötleteket hogy mik legyenek benne. ;)
A készítés idõ és kedvhiány miatt szünetel.

45
SA-MP: Szerverfejlesztés / Zene/rádió a skinválasztóban csatlakozás után
« Dátum: 2012. Február 23. - 21:04:31 »
Sziasztok,
Múltkor láttam a Kérdések témába, hogy valaki kért egy ehhez hasonló szkriptet, és innen jött az ötlet, hogy csinálok egyet én is.
Csatlakozás után a skin választóban elindulhat 3 zene youtube-ról vagy 3 rádió véletlenszerûen.
 

YT:
[ YoutubeStreamer készítõje: usrb1n ]
http://www.youtube.com/watch?v=3iLf9FtSkoI = Unikkatil - A jenti gati (albán rap :O)
http://www.youtube.com/watch?v=E0Q_ENhyfSg = Brains - Ladies Obsession (Ez a zene ment a bomb reklám alatt :D)
http://www.youtube.com/watch?v=H_hwnnpaWSs = Ocho Macho - Jó nekem (Nálunk most ez a fav zene az iskola rádióban)
Rádió:
Dubstep rádió
Risefm
Tilos rádió

 
Telepítés:
A youtube.inc-t beteszed a pawno/includes mappádba.
Kicsomagolod, beteszed a filterscripts mappádba, utána beírod a server.cfg-be, a filterscripts sorba, hogy randommusic.
Letöltés
UI: Nem tudtam tesztelni, szóljatok, ha hibás, és javítom.

Oldalak: 1 2 [3] 4 5
SimplePortal 2.3.7 © 2008-2024, SimplePortal