SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Archive

 
 
Thread Tools Display Modes
Old 17/02/2010, 02:20 PM   #1
Bl4ck J0k3r
Little Clucker
 
Join Date: Nov 2009
Posts: 44
Reputation: 0
Default [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Čaute, dal jsem se na tvorbu adminscriptu a už ho asi mám tak sem se rozhod že sem dám TUT...


Takže začneme newama... tedy promněnou pro admin level

Code:
new AdminLevel[MAX_PLAYERS];
Potom až budu mít začneme příkazem... asi nejhlehčím
Tedy CLEARCHAT Česky promázání chatu:

Mezy NEWY:
Definici DCMD příkazu & Barvy:

Code:
#define COLOR_GREEN 0x33AA33AA
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
OnPlayerCommandText:
Code:
dcmd(clearchat,9,cmdtext);
Code:
dcmd_clearchat(playerid, params[])
{
if (AdminLevel[playerid] == 0) // když ma Admin Level 0
{
SendClientMessage(playerid, COLOR_GREEN, "[  ERROR  ]: Nemáš dostatečný Admin Level!"); // Odešle zprávu že nemá admin level vetší než 0
} else { 
if (AdminLevel[playerid] >= 0) // když má vetší než 0, tak to udělá to co má
{
#pragma unused params // Nebudeme v tomto příkazu používat params
#pragma unused playerid // Nebududeme používat ani Playerid neboli ID Hráče
for(new c=0;c<65;c++) SendClientMessageToAll(COLOR_GREEN," "); // 65 krát odešle prázdnou zprávu...
new string[200]; // definice stringu
format(string, sizeof(string), "[  ADMINSCRIPT  ]: Admin: %s Promazal CHAT!", Jmeno(playerid));
SendClientMessageToAll(COLOR_GREEN, string); // odešle zprávu všem...
}
}
return 1; // ukonční příkazu
}
Pak třeba můžeme udělat pro adminy SEZNAM Příkazů...

Dejme tomu že máte 5 levelů:

OnPlayerCommandText:
Code:
dcmd(adminprikazy,12,cmdtext);
Code:
dcmd_adminprikazy(playerid, params[])
{
#pragma unused params // nebudeme používat params
SendClientMessage(playerid,COLOR_GREEN, "=================================[ ADMINSCRIPT ]================================="); // Odešle zprávu
if (AdminLevel[playerid] == 0) // když jeho admin level je 0
{
SendClientMessage(playerid,COLOR_GREEN, "[  LEVEL 0  ]: Nemáš admin level!"); // Odešle zprávu že nemá admin level
}
if (AdminLevel[playerid] >= 1) // když jeho admin level je 1 nebo větší
{
SendClientMessage(playerid,COLOR_GREEN, "[  LEVEL 1  ]: /Clearchat"); // Odešle zprávu s jeho příkazy
}
if (AdminLevel[playerid] >= 2)// když jeho admin level je 2 nebo větší
{	
SendClientMessage(playerid,COLOR_GREEN, "[  LEVEL 2  ]:");
}
if (AdminLevel[playerid] >= 3)// když jeho admin level je 3 nebo větší
{
SendClientMessage(playerid,COLOR_GREEN, "[  LEVEL 3  ]:");
}
if (AdminLevel[playerid] >= 4)// když jeho admin level je 4 nebo větší
{
SendClientMessage(playerid,COLOR_GREEN, "[  LEVEL 4  ]:");
}
if (AdminLevel[playerid] >= 5)// když jeho admin level je 5 nebo větší
{
SendClientMessage(playerid,COLOR_GREEN, "[  LEVEL 5  ]:");
}
SendClientMessage(playerid,COLOR_GREEN, "=================================[ ADMINSCRIPT ]================================="); // odešle zprávu
return 1; // ukončení příkazu
}
Pak bychom měli udělat OnlineAdminy....

NEW:
Code:
#define MAX_PLAYERS Zde napište Sloty na serveru
OnPlayerCommandText:
Code:
dcmd(admins,6,cmdtext);
Code:
dcmd_admins(playerid, params[])
{
#pragma unused params // nebudeme používat params
new string[128]; // definice stringu
for(new i=0;i<=MAX_PLAYERS_EX;i++) // zjistí počet hráču na serveru a zjistí jestli nekdo je admin
{
if(IsPlayerConnected(i)) // když je admin připojený
{
if(IsPlayerAdmin(i) && AdminLevel[i] == 0){ // když je na rconu a ma admin level 0
format(string, 60, "[ ADMINSCRIPT ]: %s | [ RCON ]",Jmeno(i));
SendClientMessage(playerid,COLOR_GREEN,string);
}else if(AdminLevel[i] > 0 && !IsPlayerAdmin(i)){ // když má admin level větší než 0 a není na rconu
format(string, 60, "[ ADMINSCRIPT ]: %s | [ LEVEL %d ]",Jmeno(i),AdminLevel[i]);
SendClientMessage(playerid,COLOR_GREEN,string);}
else if(IsPlayerAdmin(i) && AdminLevel[i] > 0){ // když hráč má vetší admin level a je přihlášený na rconu:
format(string, 60, "[ ADMINSCRIPT ]: %s | [ LEVEL %d + RCON ]",Jmeno(i),AdminLevel[i]);
SendClientMessage(playerid,COLOR_GREEN,string);}
}
}
return 1; // ukončení příkazu
}
Pak bychom mohli začit příkazem který zjištuje informaci o adminscriptu...

NEW:
Code:
new version[] = "0.1"; // verze scriptu
new tvurce[] = "Bl4ck J0k3r"; // tvurce
new adminscriptname[] = "Nazev Admin Scriptu"; // Název
new datum[] = "17.2.2010"; //datum tvorby např: 17.2.2010 ... Pouze čísla!
OnPlayerCommandText:
Code:
dcmd(info,4,cmdtext);
Code:
dcmd_info(playerid, params[])
{
#pragma unused params // nepoužijeme Params
new string[128]; // definice stringu
SendClientMessage(playerid,COLOR_GREEN,"=================================[ INFO ]================================="); //odešle zprávu
format(string, sizeof(string), "Název Adminscriptu: %s",adminscriptname);
SendClientMessage(playerid,COLOR_GREEN, string); // odešle nazev admin scriptu
format(string, sizeof(string), "Verze: %d | Tvůrce: %s",version,tvurce);
SendClientMessage(playerid,COLOR_GREEN, string); // odešle tvurce a verzy
format(string, sizeof(string), "Datum tvorby: %d",datum);
SendClientMessage(playerid,COLOR_GREEN, string); // odešle datum
SendClientMessage(playerid,COLOR_GREEN,"=================================[ INFO ]=================================");//odešle zprávu
return 1; // ukončení podmínky
}
Toto jsou základní věci které by nesměli chybět v admin scriptu...
Pak by neměl chybět Anti Cheat aby jste nemuseli ručně hledat cheatery...

Naforwardujeme si AntiCheat public...
Code:
forward AntiCheat();
Do OnFilterScriptInit/GameModeInit:
Code:
Settimer("AntiCheat",100,1);
a někde:

Code:
public AntiCheat()
{
for(new i;i<MAX_PLAYERS_EX;i++)
{
if(GetPlayerSpecialAction(i) == 2){
new string[256];
format(string, sizeof(string), "[  ANTICHEAT  ]: Hráč(ka) %s byl(a) kicknut(a) [ Důvod: JetPack ]",PlayerName(playerid));
SendClientMessageToAll(COLOR_GREEN, string);
Kick(i);
return 0;
}
new playername[MAX_PLAYER_NAME], string[256];
GetPlayerName(i, playername, sizeof(playername));
new Float:heal;
GetPlayerHealth(i, heal);
if(heal > 100){
if(IsPlayerConnected(i))
{
format(string, 256, "[  ANTICHEAT  ]: Hráč(ka) %s [ ID:%d ] byl(a) kicknut(a) [ Důvod: God Mode ]");
SendClientMessageToAll(COLOR_GREEN, string);
Kick(i);
}
}
GetPlayerName(i, playername, sizeof(playername));
if(GetPlayerMoney(i) >= 9999999999)
if(IsPlayerConnected(i))
{
format(string, 256, "[  ANTICHEAT  ]: Hráč(ka) %s [ ID:%d ] byl(a) Kicknuta [ Důvod: MoneyCheat ]");
SendClientMessageToAll(COLOR_GREEN, string);
}
}
return 1;
}
AntiCheat Obsahuje:
- Anti JetPack
- Anti Money Cheat
- Anti God Mod

Takže toto je můj celý TUT... Snad vám pomohl

Když najdete CHYBU, PLS napište jí do komentů
Bl4ck J0k3r is offline  
Old 17/02/2010, 03:33 PM   #2
Luk_Ass
Big Clucker
 
Luk_Ass's Avatar
 
Join Date: Apr 2008
Location: Prague
Posts: 138
Reputation: 2
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Anti jetpack budiz. God mode takhle nefunguje, mozna jen nejaky hodne "low" cheaty. Abys poznal, jestli mu bere, musis ho zapalit. A po chvili porovnavat zivoty + nejakym zpusobem uhasit. Anti moneycheat taky blbost, to neni zadnej anticheat, jen te kickne kdyz mas hodne penez. Nejlepsi je platit promennyma a GivePlayerMoney mit jen jako ukazatel. Pak si muze moneycheatovat jak si chce, ale nedocili niceho jinyho nez toho, ze uvidi na ukazateli vic penez.

Tu diakritiku vubec nepouzivej nebo si ji nejak nastav. Kdo si ma ty znaky domejslet .
Luk_Ass is offline  
Old 17/02/2010, 07:11 PM   #3
Bl4ck J0k3r
Little Clucker
 
Join Date: Nov 2009
Posts: 44
Reputation: 0
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Divný ja mám diakritiku v pohode
Bl4ck J0k3r is offline  
Old 17/02/2010, 08:07 PM   #4
Luk_Ass
Big Clucker
 
Luk_Ass's Avatar
 
Join Date: Apr 2008
Location: Prague
Posts: 138
Reputation: 2
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

My vidime znaky jako prumer, mocniny nebo jinej znak s jinym "nabodátkem".
Luk_Ass is offline  
Old 17/02/2010, 09:15 PM   #5
Rainmaker
Huge Clucker
 
Rainmaker's Avatar
 
Join Date: Apr 2007
Location: Czech republic
Posts: 427
Reputation: 5
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Black Joker jsi jediný, kdo ji má podle tebe "normálně" . Změň si to a já sám ti to píšu minimálně potřetí.
__________________
I have generously decided to allow you to speak to me - Garfield
Rainmaker is offline  
Old 18/02/2010, 02:07 PM   #6
Bl4ck J0k3r
Little Clucker
 
Join Date: Nov 2009
Posts: 44
Reputation: 0
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Quote:
Originally Posted by Rainmaker
Black Joker jsi jediný, kdo ji má podle tebe "normálně" . Změň si to a já sám ti to pí�u minimálně potřetí.
U Tebe mi to zrovna napsalo "�"
Bl4ck J0k3r is offline  
Old 18/02/2010, 02:17 PM   #7
Kurence
Gangsta
 
Join Date: Feb 2009
Posts: 749
Reputation: 1
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Quote:
Originally Posted by Bl4ck J0k3r
Quote:
Originally Posted by Rainmaker
Black Joker jsi jediný, kdo ji má podle tebe "normálně" . Změň si to a já sám ti to pí�u minimálně potřetí.
U Tebe mi to zrovna napsalo "�"
Ja to vidim normalne ^^
Myslim to Rainmakerove
Kurence is offline  
Old 18/02/2010, 04:55 PM   #8
niCe
Gangsta
 
niCe's Avatar
 
Join Date: Mar 2008
Posts: 537
Reputation: 129
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

Nastav si v prohlizeci kodovani UTF-8.
__________________
s2.gta-multiplayer.cz:7777 Freeroam + Singleplayer Features
s3.gta-multiplayer.cz:7777 NEW Server! Freeroam + Singleplayer Features 2
- Many features from singleplayer
- Pool and basketball minigames
- Video game QUB3D from GTA 4
- Custom made roulettes, slot machines, video poker and horse-betting
- Stock market BAWSAQ from GTA 5
- Gang wars over 60 territories
- More than 30 unique sub-missions to earn money (including vigilante, paramedic, firefighter, pimping, valet parking and pizza-boy sub-missions)
- Burglary missions
- Singleplayers races and other challenges
- Gyms, strip clubs, clothes shops, hidden packages, oysters, spray tags, horseshoes and much more
niCe is offline  
Old 25/02/2010, 09:02 PM   #9
_[D]Emo_
Little Clucker
 
Join Date: Feb 2010
Posts: 39
Reputation: 0
Default Re: [TUT] Vytváříme Admin Script - Promněny a lehké Příkazy & AC

projížděl jsem to jen tak letmo, a příjde mi dávat zbytečně
Code:
new tvurce[] = "Nick"
já bych to šoupl přes defin a byl by pokoj
Code:
#define tvurce "Nick"
pro mě je to pak víc přshlednější, páč většinou mᚠvíc newsů a míň definů, ale v zavěru to nemá asi žádnej vliv...
_[D]Emo_ is offline  
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] [FS]~RAS~R@f Admin Script *V4* R@f Filterscripts 59 03/09/2013 11:43 PM
[HELP] Detekce jazyka s nastavením promněny Bl4ck J0k3r Archive 1 07/04/2010 02:40 PM
Admin Script Help alee Help Archive 3 05/01/2010 12:29 PM
[HELP] Admin script compatible properties script? bajskorv123 Help Archive 0 12/12/2009 02:02 PM


All times are GMT. The time now is 04:04 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.