Jump to content

Základy Adminscriptu.


Vidie

Recommended Posts

Lol to cela chyba bola v tom ze miesto new malo byt define :d dikes idem to skusit

 

-- dnes, 21:29 --

 

Staleto to blbne neva udelam to cez SCM ale dik za pomoc

Link to comment
Share on other sites

  • Replies 110
  • Created
  • Last Reply

Top Posters In This Topic

  • 2 weeks later...

zkusil sem to nák dát dohromady ale píše to errory :

C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(11) : error 001: expected token: ";", but found "forward"
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(14) : error 001: expected token: ";", but found "if"
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(33) : error 010: invalid function or declaration
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(65) : error 010: invalid function or declaration
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(87) : error 010: invalid function or declaration
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(88) : error 010: invalid function or declaration
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(110) : error 001: expected token: ";", but found "-identifier-"
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(110 -- 126) : error 010: invalid function or declaration
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(110 -- 130) : error 017: undefined symbol "MAX_PLAYERS_EX"
C:\Documents and Settings\Admin\Plocha\Lukáš\GTA server\Pawno\pawno\pwn\AdminScript.pwn(110 -- 130) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


10 Errors.

a jinak tady to je celé:

#define MAX_PLAYERS 47

#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

new version[] = "0.1"; // verze scriptu

new tvurce[] = "[hojna$2]"; // tvurce

new adminscriptname[] = "RKo"; // Název

new datum[] = "11.3.2011"; //datum tvorby např: 17.2.2010 ... Pouze čísla!

new AdminLevel[MAX_PLAYERS]

 

/////FORWARDY/////

forward AntiCheat();

 

public OnPlayerCommandText

dcmd(clearchat,9,cmdtext);

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čení příkazu

}

dcmd(adminprikazy,12,cmdtext);

dcmd_adminprikazy(playerid, params[])

{

#pragma unused params // nebudeme používat params

SendClientMessage(playerid,COLOR_GREEN, "=================================[ RKo ]================================="); // 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, "=================================[ RKo ]================================="); // odešle zprávu

return 1; // ukončení příkazu

}

dcmd(setlevel,8,cmdtext);

dcmd_setlevel(playerid, params[])

{

if (AdminLevel[playerid] == 0 ||AdminLevel[playerid] == 1 || AdminLevel[playerid] == 2 || AdminLevel[playerid] == 3 || AdminLevel[playerid] == 4 )

{

SendClientMessage(playerid, COLOR_GREEN, "[ ERROR ]: Nemáš dostatečný Admin Level!");

} else {

if (AdminLevel[playerid] >= 5)

{

new string[200], pos, level;

if(!params[0]||!(pos=chrfind(' ',params)+1)||!params[pos]) return SendClientMessage(playerid, COLOR_GREEN, "[ POUŽITÍ ]: /Setlevel [ ID ] [ 0 - 5 ]");

new id = strval(params[0]);

level = strval(params[pos]);

if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GREEN, "[ ERROR ]: Hráč se zadaným ID Není na serveru!");

if(level < 0 || level > 5) return SendClientMessage(playerid, COLOR_GREEN, "[ ERROR ]: Rozmezi Levelu [ 0 - 5 ]!");

format(string, sizeof(string), "[ ADMINSCRIPT ] Admin %s nastavil Hráči %s Level %d.", Jmeno(playerid), Jmeno(id), level);

SendClientMessageToAll(COLOR_GREEN, string);

AdminLevel[id] = level;

}

}

return 1;

}

dcmd(admins,6,cmdtext);

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 == 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 > 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);

SendClientMessage(playerid,COLOR_GREEN,string);}

else if(IsPlayerAdmin(i) && AdminLevel > 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);

SendClientMessage(playerid,COLOR_GREEN,string);}

}

}

return 1; // ukončení příkazu

}

dcmd(info,4,cmdtext);

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

}

public OnFilterScriptInit

Settimer("AntiCheat",100,1);

return 1;

}

public AntiCheat()

{

for(new i;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;

}

 

PS: jen sem zkusil jestli to pude :d;)

Link to comment
Share on other sites

Kdy už pochopíte že tutoriál neslouží k tomu, abyste si to zkopírovali do módu?

 

A jde vidět že u toho nepřemýšlíš, nebo neumíš přemýšlet. U všech errorů co tam máš si můžeš odvodit, proč to nejde a podle toho to taky opravit.

Link to comment
Share on other sites

  • 2 months later...

Cawte mám problém, chci si udělat ukládání a háže mi to tyhle errory

C:\Users\Michal\Desktop\Programy\Pawno\lts01.pwn(707) : error 017: undefined symbol "levely"
C:\Users\Michal\Desktop\Programy\Pawno\lts01.pwn(719) : error 017: undefined symbol "levely"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

 

Řádky:

707 - AdminLevel[playerid] = dini_Int(levely, "lvl");
719 - dini_IntSet(levely, "lvl",AdminLevel[playerid]);

Link to comment
Share on other sites

A co má dělat to levely ?

Pkud je to pro hráče:

 

new levely[MAX_PLAYERS];

 

Pokud integer ..

 

new levely;

 

Pokud boolean

 

new bool:levely[MAX_PLAYERS];

 

new bool:levely;

Link to comment
Share on other sites

A co má dělat to levely ?

Pkud je to pro hráče:

 

new levely[MAX_PLAYERS];

 

Pokud integer ..

 

new levely;

 

Pokud boolean

 

new bool:levely[MAX_PLAYERS];

 

new bool:levely;

 

No co myslíš? první parametr je cesta k souboru, tak to integer ani boolean nebude. ;)

_________________________

No a kde máš tu proměnnou vytvořenou, kde v ní máš zapsanou tu cestu?

Link to comment
Share on other sites

  • 1 month later...

xD oprava

 

dcmd_setlevel(playerid, params[])
{
for(new i=0;i<=MAX_PLAYERS;i++)
if (AdminLevel[playerid] == 0 ||AdminLevel[playerid] == 1 || IsPlayerAdmin(i) )
{
SendClientMessage(playerid, COLOR_GREEN, "[    ERROR    ]: Nemáš dostatečný Admin Level!");

} else {

if (AdminLevel[playerid] >= 2)
{
new string[200], pos, level;
if(!params[0]||!(pos=chrfind(' ',params)+1)||!params[pos]) return SendClientMessage(playerid, COLOR_GREEN, "[    POUŽITÍ    ]: /Setlevel [ ID ] [ 0 - 5 ]");
new id = strval(params[0]);
level = strval(params[pos]);
if(!IsPlayerConnected(id))  return SendClientMessage(playerid, COLOR_GREEN, "[    ERROR    ]: Hráč se zadaným ID Není na serveru!");
if(level < 0 || level > 1) return SendClientMessage(playerid, COLOR_GREEN, "[    ERROR    ]: Rozmezi Levelu [ 0 - 1 ]!");
format(string, sizeof(string), "[    ADMINSCRIPT    ] Admin %s nastavil Hráči %s Level %d.", Jmeno(playerid), Jmeno(id), level);
SendClientMessageToAll(COLOR_GREEN, string);
AdminLevel[id] = level;
}
}
return 1;
}

Link to comment
Share on other sites

xD oprava

 

dcmd_setlevel(playerid, params[])
{
for(new i=0;i<=MAX_PLAYERS;i++)
if (AdminLevel[playerid] == 0 ||AdminLevel[playerid] == 1 || IsPlayerAdmin(i) )
{
SendClientMessage(playerid, COLOR_GREEN, "[    ERROR    ]: Nemáš dostatečný Admin Level!");

} else {

if (AdminLevel[playerid] >= 2)
{
new string[200], pos, level;
if(!params[0]||!(pos=chrfind(' ',params)+1)||!params[pos]) return SendClientMessage(playerid, COLOR_GREEN, "[    POUŽITÍ    ]: /Setlevel [ ID ] [ 0 - 5 ]");
new id = strval(params[0]);
level = strval(params[pos]);
if(!IsPlayerConnected(id))  return SendClientMessage(playerid, COLOR_GREEN, "[    ERROR    ]: Hráč se zadaným ID Není na serveru!");
if(level < 0 || level > 1) return SendClientMessage(playerid, COLOR_GREEN, "[    ERROR    ]: Rozmezi Levelu [ 0 - 1 ]!");
format(string, sizeof(string), "[    ADMINSCRIPT    ] Admin %s nastavil Hráči %s Level %d.", Jmeno(playerid), Jmeno(id), level);
SendClientMessageToAll(COLOR_GREEN, string);
AdminLevel[id] = level;
}
}
return 1;
}

Link to comment
Share on other sites

ehm.. nějak sem nepochopil tyto errory... jako proč to nejde vyměnit ani za iName atd..

undefined symbol "Jmeno"

 

undefined symbol "Jmeno"

 

format(string, sizeof(string), "Administrátor: %s promazal chat!", Jmeno(playerid));
format(string, sizeof(string), "Administrátor %s nastavil hráči %s administrátorský level %d !.", Jmeno(playerid), Jmeno(id), level);

Link to comment
Share on other sites

ehm.. nějak sem nepochopil tyto errory... jako proč to nejde vyměnit ani za iName atd..

undefined symbol "Jmeno"

 

undefined symbol "Jmeno"

 

format(string, sizeof(string), "Administrátor: %s promazal chat!", Jmeno(playerid));
format(string, sizeof(string), "Administrátor %s nastavil hráči %s administrátorský level %d !.", Jmeno(playerid), Jmeno(id), level);

Link to comment
Share on other sites

ehm.. nějak sem nepochopil tyto errory... jako proč to nejde vyměnit ani za iName atd..

undefined symbol "Jmeno"

 

undefined symbol "Jmeno"

 

format(string, sizeof(string), "Administrátor: %s promazal chat!", Jmeno(playerid));
format(string, sizeof(string), "Administrátor %s nastavil hráči %s administrátorský level %d !.", Jmeno(playerid), Jmeno(id), level);

 

Tuto chybu jsem už u tebe viděl v helpu asi 3x, protože ty u toho nepřemýšlíš a pouze kopíruješ... Hledej!

Link to comment
Share on other sites

ehm.. nějak sem nepochopil tyto errory... jako proč to nejde vyměnit ani za iName atd..

undefined symbol "Jmeno"

 

undefined symbol "Jmeno"

 

format(string, sizeof(string), "Administrátor: %s promazal chat!", Jmeno(playerid));
format(string, sizeof(string), "Administrátor %s nastavil hráči %s administrátorský level %d !.", Jmeno(playerid), Jmeno(id), level);

 

Tuto chybu jsem už u tebe viděl v helpu asi 3x, protože ty u toho nepřemýšlíš a pouze kopíruješ... Hledej!

Link to comment
Share on other sites

já vim něco mi tam chybí... ale nevím co přesně...

btw: nekopíruju only...

 

Ale kopíruješ only, jinak bys toto dokázal opravit bez těchto otázek.

 

Mort ti to už napsal, tak doufám, že už se na toto tady ptát nebudeš.

Link to comment
Share on other sites

já vim něco mi tam chybí... ale nevím co přesně...

btw: nekopíruju only...

 

Ale kopíruješ only, jinak bys toto dokázal opravit bez těchto otázek.

 

Mort ti to už napsal, tak doufám, že už se na toto tady ptát nebudeš.

Link to comment
Share on other sites

  • 2 weeks later...

CS,je to supr ale hlásí mi to 4 po.... errory :

 

 

C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(20) : warning 201: redefinition of constant/macro (symbol "MAX_PLAYERS")

C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(29) : error 017: undefined symbol "Zde"

C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(29) : error 029: invalid expression, assumed zero

C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(29) : error 017: undefined symbol "te"

C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(29) : fatal error 107: too many error messages on one line

 

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

 

 

4 Errors.

Link to comment
Share on other sites

  • 4 months later...
mi pise undefined symbol "Jmeno" a invalid function or declaration co mam delat?

stock Jmeno(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}

 

a druhy problem mas v { a }

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...