Jump to content
  • 0

pomoc DCMD


arci224

Dotaz

Mam problém u DCMD, mam ho nadedfinované: 

#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

ale kdyz pridavam do public OnPlayerCommandText(playerid, cmdtext[]) dcmd command tak to zacne davat error neni to jen u tohoto cmd:

C:\Users\ASUS\Desktop\Honza Cool Videa a slozky\servery\GTA\filterscripts\adminsystem.pwn(207) : error 017: undefined symbol "dcmd_goto"

C:\Users\ASUS\Desktop\****\servery\GTA\filterscripts\adminsystem.pwn(240) : error 017: undefined symbol "dcmd_goto"

 

celí command text on player:

public OnPlayerCommandText(playerid, cmdtext[])
{
  dcmd(info,  4,cmdtext);
  dcmd(freeze,6,cmdtext);
  dcmd(unfreeze,8,cmdtext);
  dcmd(var,3,cmdtext);
  dcmd(ahelp,5,cmdtext);
  dcmd(help,4,cmdtext);
  dcmd(godmodeoff,10, cmdtext);
  dcmd(godmodeon,9, cmdtext);
  dcmd(goto,4,cmdtext); // zde je chyba

  return 0;
}

a celi prikaaz na goto

      dcmd_goto(playerid, params[]) // Příkaz
{
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");
	new ID = strval(params); // ID aby sme nemusely dávat params
	new string[150]; // definace stringu
	new Float:X, Float:Y, Float:Z;
	if(!strlen(params)) return SendClientMessage(playerid, BILA, "Pouzijte /goto <ID>"); // Když blbě zadá
	else if(playerid == ID) return SendClientMessage(playerid, BILA, "Portnout sám k sobě se nemůžeš !"); // Když dá ID sebe 
    else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BILA, "Tento hráč není připojený !"); // Když to ID neni na serveru
	GetPlayerPos(ID, X,Y,Z); // Zjistíme hledaného ID pozici
	if(IsPlayerInAnyVehicle(playerid)) // Kdyz je v aute
	{
	SetVehiclePos(GetPlayerVehicleID(playerid), X,Y+2,Z); // Portneme k hrači auto, nwm ale mělo by portnout i hrace
	}
    SetPlayerPos(playerid, X,Y+2,Z); // Dáme hráče na pozici, +2 takže kousek dál aby sme ho neportli do něj
    format(string, 150, "Portnul jsi se k hráči %s(%d) !", Jmeno(ID)); // Že jste se k němu portli
    SendClientMessage(playerid, BILA, string); // Vypíšeme zprávu
	return 1;
	}

prekopiroval sem to z TUTU zde na forum a neslo include mam: 

#include <a_samp>
#include <float>

!! Jsem začatečník  v pawnu takže prosím jednodušší vysvětlení abych to pochopil a naucil se to leboze se to ucim a chtel bych nekdy udelat pro nekoho GM, zatim toto delam do Admin Scriptu abych měl do toho GM

Link to comment
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 0
#include "a_samp"

#define BILA 0xFFFFFFF

#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

public OnPlayerCommandText(playerid, cmdtext[])
{
  dcmd(goto,4,cmdtext); // zde je chyba

  return 0;
}

      dcmd_goto(playerid, params[]) // Příkaz
{
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");
    new ID = strval(params); // ID aby sme nemusely dávat params
    new string[150]; // definace stringu
    new Float:X, Float:Y, Float:Z;
    if(!strlen(params)) return SendClientMessage(playerid, BILA, "Pouzijte /goto <ID>"); // Když blbě zadá
    else if(playerid == ID) return SendClientMessage(playerid, BILA, "Portnout sám k sobě se nemůžeš !"); // Když dá ID sebe 
    else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BILA, "Tento hráč není připojený !"); // Když to ID neni na serveru
    GetPlayerPos(ID, X,Y,Z); // Zjistíme hledaného ID pozici
    if(IsPlayerInAnyVehicle(playerid)) // Kdyz je v aute
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), X,Y+2,Z); // Portneme k hrači auto, nwm ale mělo by portnout i hrace
    }
    SetPlayerPos(playerid, X,Y+2,Z); // Dáme hráče na pozici, +2 takže kousek dál aby sme ho neportli do něj
    format(string, 150, "Portnul jsi se k hráči %s(%d) !", Jmeno(ID)); // Že jste se k němu portli
    SendClientMessage(playerid, BILA, string); // Vypíšeme zprávu
    return 1;
    }
    
stock Jmeno(playerid){
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

No ja som si to hodil do pawna a mne to funguje

Link to comment
Share on other sites

  • 0

tu je celi FILESCRIPT tak jestli poradite:

#include <a_samp>
#include <float>
#include <zcmd>

#pragma  tabsize 0
//Definice ------------------------------------------------------------------------------------------
#define CERVENA      0xE10000AA
#define F_CERVENA      0xE10000AA
#define ZLUTA      0xFFFF00AA
#define ZELENA      0x33AA33AA
#define COLOR_ZELENA 0x33AA33AA
#define BILA      0xFFFFFFAA
#define F_BIELA      0xFFFFFFAA
#define MODRA      0x0000BBAA
#define ZLATA      0xB8860BAA
#define ORANZOVA  0xFF9900AA
#define MAX_PLAYERS_EX "Vaše sloty bez uvozovek."
#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
#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 varovanie[MAX_PLAYERS];
//----------------------------------------------------------------------------------------------------
#define VERZE_SCRIPTU  "1.0"
#define SPODNI_CARA      "|====| AdminScript  |====================================| 1.0 |==========|"
//----------------------------------------------------------------------------------------------------
stock Name(playerid)
{
  new name[24];
  GetPlayerName(playerid, name, 24);
  return name;
}

chrfind(n,h[],s=0)
{
  new l=strlen(h);
  while(s<l)
  {
      if(h[s]==n) return s;s++;
  }
  return -1;
}
stock PlayerName(playerid)
{
  new name[255];
  GetPlayerName(playerid, name, 255);
  return name;
}
stock Jmeno(playerid){
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}
stock PlayerIp(playerid)
{
  new p[16];
  GetPlayerIp(playerid,p,16);
  return p;
}
stock Hlaska(playerid, CZ[])
{
  if(IsPlayerConnected(playerid))
  {
      SendClientMessage(playerid, CERVENA , CZ);
  }
  return 1;
}

//Základní publicy -----------------------------------------------------------------------------------
public OnFilterScriptInit()
{
  print("\n--- Adminiscript Freeze Unfreeze INFO started ---\n\n");
  return true;
}

public OnFilterScriptExit()
{
  print("\n--- Adminiscript by pawno.cz se vypina... ---\n\n");
  return true;
}

//Naše příkazy ve tvaru dcmd_příkaz -------------------------------------------------------------------
dcmd_godmodeon(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
    SetPlayerHealth(playerid, 10000000);
    SetPlayerArmour(playerid, 10000000);
    SendClientMessage(playerid, ORANZOVA, "Zapl jsi si GODMODE!");
    return 1;
}
dcmd_godmodeoff(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    SendClientMessage(playerid, ORANZOVA, "Vypl jsi si GODMODE!");
    return 1;
}
dcmd_help(playerid, params[])
{
	#pragma unused params
 	SendClientMessage(playerid, CERVENA,  "Zadal si příkaz /help");
 	SendClientMessage(playerid, ZLUTA,    "AdminScript má tajné příkazy adminské takže ti je neřeknu ale řeknu ti které jse mužeš dozvédet");
 	SendClientMessage(playerid, ZELENA,  "/help");
 	
    SendClientMessage(playerid, CERVENA, SPODNI_CARA);
    return 1;
}
dcmd_info(playerid, params[])
{
  //protoze prikaz nema zadne parametry, tak pouzijeme tohle:
  #pragma unused params

  SendClientMessage(playerid, CERVENA,  "|====| AdminScript  |===============| ABOUT |=========================|");
  SendClientMessage(playerid, ZELENA,    "AdminScript napavnoval celý sám:");
  SendClientMessage(playerid, ZELENA,  "Arci224");

  SendClientMessage(playerid, CERVENA, SPODNI_CARA); //spodni cast, kterou jsme si definovali uplne nahore
  return 1;
}
dcmd_freeze(playerid,params[])
{
  new id = strval(params);//nastavime si druheho hraca
  new string[128];//definicia strignu
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  else if(!strlen(params))return SendClientMessage(playerid, 0xffffffAA,"Použi:/freeze [ID]");//ak zle zada prikaz
  else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xffffffAA,"Hráč nie je pripojený");//ak nie je pripojeny
  else if(playerid == id)return SendClientMessage(playerid, 0xffffffAA,"Nemožeš zmraziť sám seba");//ak chce zmrazot sam seba
  else
  {//ak prebehlo setko v poriadku
      new Meno[26];//definica mena admina
      GetPlayerName(playerid,Meno,26);//definica mena admina
      new Meno2[26];//definica mena freeznuteho
      GetPlayerName(id,Meno2,26);//definica mena freeznuteho
      TogglePlayerControllable(id,0);//zmrazi ho to
      format(string,sizeof(string),"Hráč %s zmrazil hráča %s .",Meno,Meno2);
      SendClientMessageToAll(0xff0000AA,string);//odosle sa text
  }
  return 1;
}
dcmd_ahelp(playerid,params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
	SendClientMessage(playerid, CERVENA,  "Zadal si příkaz /ahelp");
 	SendClientMessage(playerid, ZLUTA,    "Rád tije vypíši");
 	SendClientMessage(playerid, ZELENA,  "dcmd(info,  4,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(freeze,6,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(unfreeze,8,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(var,3,cmdtext)");
    SendClientMessage(playerid, ZELENA,  "dcmd(ahelp,5,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(help,4,cmdtext)");
    SendClientMessage(playerid, ZELENA,  "dcmd(godmodeoff,10, cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(godmodeon,9, cmdtext");
    
	return 1;
}
dcmd_unfreeze(playerid,params[])
{
  new id = strval(params);//nastavime si druheho hraca
  new string[128];//definicia strignu
  if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  else if(!strlen(params))return SendClientMessage(playerid, 0xffffffAA,"Použi:/freeze [ID]");//ak zle zada prikaz
  else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xffffffAA,"Hráč nie je pripojený");
  else
  {//ak prebehlo setko v poriadku
      new Meno[26];//definica mena admina
      GetPlayerName(playerid,Meno,26);//definica mena admina
      new Meno2[26];//definica mena freeznuteho
      GetPlayerName(id,Meno2,26);//definica mena freeznuteho
      TogglePlayerControllable(id,1);//odmrazi ho to
      format(string,sizeof(string),"Hráč %s odmrazil hráča %s .",Meno,Meno2);
      SendClientMessageToAll(0xff0000AA,string);//odosle sa text
  }
  return 1;
}
dcmd_var(playerid,params[])
{
  new id;//kvoli chrfindu
  new string[170];//definica stringu
  new varovany = strval(params);//definica varovaneho
  if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  if(!params[0] || !(id = chrfind(' ', params) + 1) || !params[id]) return SendClientMessage(playerid,F_BIELA,"[  !  ]Použi: /var [ID] [DOVOD");//ak zle napise prikaz
  else if(!IsPlayerConnected(varovany))return SendClientMessage(playerid,F_BIELA,"[  !  ]Hráč nieje pripojený");//ak hrac nie je pripojeny
  else if(strlen(params[id]) > 30) return SendClientMessage(playerid,F_BIELA,"[  !  ] Napísal si príliš dlhý dovod.");//ak je dovod dlhsi ako 30 znakov
  else
  {//ak prebehne vsetko v poriadku
      if(varovanie[varovany] < 1)//ak este nebol varovany
      {
          varovanie[varovany] = 1;//nastavi mu hodnotu na 1
        format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        SendClientMessageToAll(F_CERVENA,string);//odosle spravu
      }
      else if(varovanie[varovany] == 1)//ak ma jedno varovanie
      {
          varovanie[varovany] = 2;//nastavi hodnotu na 2
        format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        SendClientMessageToAll(F_CERVENA,string);//odosle spravu
      }
      else if(varovanie[varovany] == 2)//ak ma dva varovania
      {
        varovanie[varovany] = 3;//nastavi hodntu na 3
        format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        SendClientMessageToAll(F_CERVENA,string);//odosle hraca
            Kick(varovany);//kickne ho to
        }
      }
      dcmd_goto(playerid, params[]) // Příkaz
{
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");
    new ID = strval(params); // ID aby sme nemusely dávat params
    new string[150]; // definace stringu
    new Float:X, Float:Y, Float:Z;
    if(!strlen(params)) return SendClientMessage(playerid, BILA, "Pouzijte /goto <ID>"); // Když blbě zadá
    else if(playerid == ID) return SendClientMessage(playerid, BILA, "Portnout sám k sobě se nemůžeš !"); // Když dá ID sebe 
    else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BILA, "Tento hráč není připojený !"); // Když to ID neni na serveru
    GetPlayerPos(ID, X,Y,Z); // Zjistíme hledaného ID pozici
    if(IsPlayerInAnyVehicle(playerid)) // Kdyz je v aute
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), X,Y+2,Z); // Portneme k hrači auto, nwm ale mělo by portnout i hrace
    }
    SetPlayerPos(playerid, X,Y+2,Z); // Dáme hráče na pozici, +2 takže kousek dál aby sme ho neportli do něj
    format(string, 150, "Portnul jsi se k hráči %s(%d) !", Jmeno(ID)); // Že jste se k němu portli
    SendClientMessage(playerid, BILA, string); // Vypíšeme zprávu
    return 1;
    }


  return 1;
}
//DCMD -------------------------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
  dcmd(info,  4,cmdtext);
  dcmd(freeze,6,cmdtext);
  dcmd(unfreeze,8,cmdtext);
  dcmd(var,3,cmdtext);
  dcmd(ahelp,5,cmdtext);
  dcmd(help,4,cmdtext);
  dcmd(godmodeoff,10, cmdtext);
  dcmd(godmodeon,9, cmdtext);
  dcmd(goto,4,cmdtext);

  return 0;
}
Link to comment
Share on other sites

  • 0

Prosim pane "VÉVODO"...

 

 

 

 

#include <a_samp>
#include <float>
#include <zcmd>

#pragma  tabsize 0
//Definice ------------------------------------------------------------------------------------------
#define CERVENA      0xE10000AA
#define F_CERVENA      0xE10000AA
#define ZLUTA      0xFFFF00AA
#define ZELENA      0x33AA33AA
#define COLOR_ZELENA 0x33AA33AA
#define BILA      0xFFFFFFAA
#define F_BIELA      0xFFFFFFAA
#define MODRA      0x0000BBAA
#define ZLATA      0xB8860BAA
#define ORANZOVA  0xFF9900AA
#define MAX_PLAYERS_EX "Vaše sloty bez uvozovek."
#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
#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 varovanie[MAX_PLAYERS];
//----------------------------------------------------------------------------------------------------
#define VERZE_SCRIPTU  "1.0"
#define SPODNI_CARA      "|====| AdminScript  |====================================| 1.0 |==========|"
//----------------------------------------------------------------------------------------------------
stock Name(playerid)
{
  new name[24];
  GetPlayerName(playerid, name, 24);
  return name;
}

chrfind(n,h[],s=0)
{
  new l=strlen(h);
  while(s<l)
  {
      if(h[s]==n) return s;s++;
  }
  return -1;
}
stock PlayerName(playerid)
{
  new name[255];
  GetPlayerName(playerid, name, 255);
  return name;
}
stock Jmeno(playerid){
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}
stock PlayerIp(playerid)
{
  new p[16];
  GetPlayerIp(playerid,p,16);
  return p;
}
stock Hlaska(playerid, CZ[])
{
  if(IsPlayerConnected(playerid))
  {
      SendClientMessage(playerid, CERVENA , CZ);
  }
  return 1;
}

//Základní publicy -----------------------------------------------------------------------------------
public OnFilterScriptInit()
{
  print("\n--- Adminiscript Freeze Unfreeze INFO started ---\n\n");
  return true;
}

public OnFilterScriptExit()
{
  print("\n--- Adminiscript by pawno.cz se vypina... ---\n\n");
  return true;
}

//Naše příkazy ve tvaru dcmd_příkaz -------------------------------------------------------------------
dcmd_godmodeon(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
    SetPlayerHealth(playerid, 10000000);
    SetPlayerArmour(playerid, 10000000);
    SendClientMessage(playerid, ORANZOVA, "Zapl jsi si GODMODE!");
    return 1;
}
dcmd_godmodeoff(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    SendClientMessage(playerid, ORANZOVA, "Vypl jsi si GODMODE!");
    return 1;
}
dcmd_help(playerid, params[])
{
	#pragma unused params
 	SendClientMessage(playerid, CERVENA,  "Zadal si příkaz /help");
 	SendClientMessage(playerid, ZLUTA,    "AdminScript má tajné příkazy adminské takže ti je neřeknu ale řeknu ti které jse mužeš dozvédet");
 	SendClientMessage(playerid, ZELENA,  "/help");

    SendClientMessage(playerid, CERVENA, SPODNI_CARA);
    return 1;
}
dcmd_info(playerid, params[])
{
  //protoze prikaz nema zadne parametry, tak pouzijeme tohle:
  #pragma unused params

  SendClientMessage(playerid, CERVENA,  "|====| AdminScript  |===============| ABOUT |=========================|");
  SendClientMessage(playerid, ZELENA,    "AdminScript napavnoval celý sám:");
  SendClientMessage(playerid, ZELENA,  "Arci224");

  SendClientMessage(playerid, CERVENA, SPODNI_CARA); //spodni cast, kterou jsme si definovali uplne nahore
  return 1;
}
dcmd_freeze(playerid,params[])
{
  new id = strval(params);//nastavime si druheho hraca
  new string[128];//definicia strignu
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  else if(!strlen(params))return SendClientMessage(playerid, 0xffffffAA,"Použi:/freeze [ID]");//ak zle zada prikaz
  else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xffffffAA,"Hráč nie je pripojený");//ak nie je pripojeny
  else if(playerid == id)return SendClientMessage(playerid, 0xffffffAA,"Nemožeš zmraziť sám seba");//ak chce zmrazot sam seba
  else
  {//ak prebehlo setko v poriadku
      new Meno[26];//definica mena admina
      GetPlayerName(playerid,Meno,26);//definica mena admina
      new Meno2[26];//definica mena freeznuteho
      GetPlayerName(id,Meno2,26);//definica mena freeznuteho
      TogglePlayerControllable(id,0);//zmrazi ho to
      format(string,sizeof(string),"Hráč %s zmrazil hráča %s .",Meno,Meno2);
      SendClientMessageToAll(0xff0000AA,string);//odosle sa text
  }
  return 1;
}
dcmd_ahelp(playerid,params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
	SendClientMessage(playerid, CERVENA,  "Zadal si příkaz /ahelp");
 	SendClientMessage(playerid, ZLUTA,    "Rád tije vypíši");
 	SendClientMessage(playerid, ZELENA,  "dcmd(info,  4,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(freeze,6,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(unfreeze,8,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(var,3,cmdtext)");
    SendClientMessage(playerid, ZELENA,  "dcmd(ahelp,5,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(help,4,cmdtext)");
    SendClientMessage(playerid, ZELENA,  "dcmd(godmodeoff,10, cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(godmodeon,9, cmdtext");

	return 1;
}
dcmd_unfreeze(playerid,params[])
{
  new id = strval(params);//nastavime si druheho hraca
  new string[128];//definicia strignu
  if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  else if(!strlen(params))return SendClientMessage(playerid, 0xffffffAA,"Použi:/freeze [ID]");//ak zle zada prikaz
  else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xffffffAA,"Hráč nie je pripojený");
  else
  {//ak prebehlo setko v poriadku
      new Meno[26];//definica mena admina
      GetPlayerName(playerid,Meno,26);//definica mena admina
      new Meno2[26];//definica mena freeznuteho
      GetPlayerName(id,Meno2,26);//definica mena freeznuteho
      TogglePlayerControllable(id,1);//odmrazi ho to
      format(string,sizeof(string),"Hráč %s odmrazil hráča %s .",Meno,Meno2);
      SendClientMessageToAll(0xff0000AA,string);//odosle sa text
  }
  return 1;
}
dcmd_var(playerid,params[])
{
  new id;//kvoli chrfindu
  new string[170];//definica stringu
  new varovany = strval(params);//definica varovaneho
  if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  if(!params[0] || !(id = chrfind(' ', params) + 1) || !params[id]) return SendClientMessage(playerid,F_BIELA,"[  !  ]Použi: /var [ID] [DOVOD");//ak zle napise prikaz
  else if(!IsPlayerConnected(varovany))return SendClientMessage(playerid,F_BIELA,"[  !  ]Hráč nieje pripojený");//ak hrac nie je pripojeny
  else if(strlen(params[id]) > 30) return SendClientMessage(playerid,F_BIELA,"[  !  ] Napísal si príliš dlhý dovod.");//ak je dovod dlhsi ako 30 znakov
  else
  {//ak prebehne vsetko v poriadku
  		if(varovanie[varovany] < 1)//ak este nebol varovany
		{
  			varovanie[varovany] = 1;//nastavi mu hodnotu na 1
        	format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        	SendClientMessageToAll(F_CERVENA,string);//odosle spravu
      	}
      	else if(varovanie[varovany] == 1)//ak ma jedno varovanie
      	{
          	varovanie[varovany] = 2;//nastavi hodnotu na 2
        	format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        	SendClientMessageToAll(F_CERVENA,string);//odosle spravu
      	}
      	else if(varovanie[varovany] == 2)//ak ma dva varovania
      	{
        	varovanie[varovany] = 3;//nastavi hodntu na 3
        	format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        	SendClientMessageToAll(F_CERVENA,string);//odosle hraca
            Kick(varovany);//kickne ho to
  		}
	}
	return 1;
}
dcmd_goto(playerid, params[]) // Příkaz
{
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");
    new ID = strval(params); // ID aby sme nemusely dávat params
    new string[150]; // definace stringu
    new Float:X, Float:Y, Float:Z;
    if(!strlen(params)) return SendClientMessage(playerid, BILA, "Pouzijte /goto <ID>"); // Když blbě zadá
    else if(playerid == ID) return SendClientMessage(playerid, BILA, "Portnout sám k sobě se nemůžeš !"); // Když dá ID sebe 
    else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BILA, "Tento hráč není připojený !"); // Když to ID neni na serveru
    GetPlayerPos(ID, X,Y,Z); // Zjistíme hledaného ID pozici
    if(IsPlayerInAnyVehicle(playerid)) // Kdyz je v aute
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), X,Y+2,Z); // Portneme k hrači auto, nwm ale mělo by portnout i hrace
    }
    SetPlayerPos(playerid, X,Y+2,Z); // Dáme hráče na pozici, +2 takže kousek dál aby sme ho neportli do něj
    format(string, 150, "Portnul jsi se k hráči %s(%d) !", Jmeno(ID)); // Že jste se k němu portli
    SendClientMessage(playerid, BILA, string); // Vypíšeme zprávu
    return 1;
}


//DCMD -------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
	dcmd(info,4,cmdtext);
	dcmd(freeze,6,cmdtext);
	dcmd(unfreeze,8,cmdtext);
	dcmd(var,3,cmdtext);
	dcmd(ahelp,5,cmdtext);
	dcmd(help,4,cmdtext);
	dcmd(godmodeoff,10,cmdtext);
	dcmd(godmodeon,9,cmdtext);
	dcmd(goto,4,cmdtext);
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}

 

 

 

 

Nauč se prosimtě tabovat to je to nejdůležitější co asi potřebuješ jako začátečník nepiš to hlavně od prvního řádku teda hned ze začátku řádku to je velká blbost prostě používej KLÁVESNICI "TAB" tot vše..

Link to comment
Share on other sites

  • 0

Prosim pane "VÉVODO"...

 

 

 

 

#include <a_samp>
#include <float>
#include <zcmd>

#pragma  tabsize 0
//Definice ------------------------------------------------------------------------------------------
#define CERVENA      0xE10000AA
#define F_CERVENA      0xE10000AA
#define ZLUTA      0xFFFF00AA
#define ZELENA      0x33AA33AA
#define COLOR_ZELENA 0x33AA33AA
#define BILA      0xFFFFFFAA
#define F_BIELA      0xFFFFFFAA
#define MODRA      0x0000BBAA
#define ZLATA      0xB8860BAA
#define ORANZOVA  0xFF9900AA
#define MAX_PLAYERS_EX "Vaše sloty bez uvozovek."
#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
#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 varovanie[MAX_PLAYERS];
//----------------------------------------------------------------------------------------------------
#define VERZE_SCRIPTU  "1.0"
#define SPODNI_CARA      "|====| AdminScript  |====================================| 1.0 |==========|"
//----------------------------------------------------------------------------------------------------
stock Name(playerid)
{
  new name[24];
  GetPlayerName(playerid, name, 24);
  return name;
}

chrfind(n,h[],s=0)
{
  new l=strlen(h);
  while(s<l)
  {
      if(h[s]==n) return s;s++;
  }
  return -1;
}
stock PlayerName(playerid)
{
  new name[255];
  GetPlayerName(playerid, name, 255);
  return name;
}
stock Jmeno(playerid){
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}
stock PlayerIp(playerid)
{
  new p[16];
  GetPlayerIp(playerid,p,16);
  return p;
}
stock Hlaska(playerid, CZ[])
{
  if(IsPlayerConnected(playerid))
  {
      SendClientMessage(playerid, CERVENA , CZ);
  }
  return 1;
}

//Základní publicy -----------------------------------------------------------------------------------
public OnFilterScriptInit()
{
  print("\n--- Adminiscript Freeze Unfreeze INFO started ---\n\n");
  return true;
}

public OnFilterScriptExit()
{
  print("\n--- Adminiscript by pawno.cz se vypina... ---\n\n");
  return true;
}

//Naše příkazy ve tvaru dcmd_příkaz -------------------------------------------------------------------
dcmd_godmodeon(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
    SetPlayerHealth(playerid, 10000000);
    SetPlayerArmour(playerid, 10000000);
    SendClientMessage(playerid, ORANZOVA, "Zapl jsi si GODMODE!");
    return 1;
}
dcmd_godmodeoff(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    SendClientMessage(playerid, ORANZOVA, "Vypl jsi si GODMODE!");
    return 1;
}
dcmd_help(playerid, params[])
{
	#pragma unused params
 	SendClientMessage(playerid, CERVENA,  "Zadal si příkaz /help");
 	SendClientMessage(playerid, ZLUTA,    "AdminScript má tajné příkazy adminské takže ti je neřeknu ale řeknu ti které jse mužeš dozvédet");
 	SendClientMessage(playerid, ZELENA,  "/help");

    SendClientMessage(playerid, CERVENA, SPODNI_CARA);
    return 1;
}
dcmd_info(playerid, params[])
{
  //protoze prikaz nema zadne parametry, tak pouzijeme tohle:
  #pragma unused params

  SendClientMessage(playerid, CERVENA,  "|====| AdminScript  |===============| ABOUT |=========================|");
  SendClientMessage(playerid, ZELENA,    "AdminScript napavnoval celý sám:");
  SendClientMessage(playerid, ZELENA,  "Arci224");

  SendClientMessage(playerid, CERVENA, SPODNI_CARA); //spodni cast, kterou jsme si definovali uplne nahore
  return 1;
}
dcmd_freeze(playerid,params[])
{
  new id = strval(params);//nastavime si druheho hraca
  new string[128];//definicia strignu
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  else if(!strlen(params))return SendClientMessage(playerid, 0xffffffAA,"Použi:/freeze [ID]");//ak zle zada prikaz
  else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xffffffAA,"Hráč nie je pripojený");//ak nie je pripojeny
  else if(playerid == id)return SendClientMessage(playerid, 0xffffffAA,"Nemožeš zmraziť sám seba");//ak chce zmrazot sam seba
  else
  {//ak prebehlo setko v poriadku
      new Meno[26];//definica mena admina
      GetPlayerName(playerid,Meno,26);//definica mena admina
      new Meno2[26];//definica mena freeznuteho
      GetPlayerName(id,Meno2,26);//definica mena freeznuteho
      TogglePlayerControllable(id,0);//zmrazi ho to
      format(string,sizeof(string),"Hráč %s zmrazil hráča %s .",Meno,Meno2);
      SendClientMessageToAll(0xff0000AA,string);//odosle sa text
  }
  return 1;
}
dcmd_ahelp(playerid,params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
	SendClientMessage(playerid, CERVENA,  "Zadal si příkaz /ahelp");
 	SendClientMessage(playerid, ZLUTA,    "Rád tije vypíši");
 	SendClientMessage(playerid, ZELENA,  "dcmd(info,  4,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(freeze,6,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(unfreeze,8,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(var,3,cmdtext)");
    SendClientMessage(playerid, ZELENA,  "dcmd(ahelp,5,cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(help,4,cmdtext)");
    SendClientMessage(playerid, ZELENA,  "dcmd(godmodeoff,10, cmdtext");
    SendClientMessage(playerid, ZELENA,  "dcmd(godmodeon,9, cmdtext");

	return 1;
}
dcmd_unfreeze(playerid,params[])
{
  new id = strval(params);//nastavime si druheho hraca
  new string[128];//definicia strignu
  if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  else if(!strlen(params))return SendClientMessage(playerid, 0xffffffAA,"Použi:/freeze [ID]");//ak zle zada prikaz
  else if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xffffffAA,"Hráč nie je pripojený");
  else
  {//ak prebehlo setko v poriadku
      new Meno[26];//definica mena admina
      GetPlayerName(playerid,Meno,26);//definica mena admina
      new Meno2[26];//definica mena freeznuteho
      GetPlayerName(id,Meno2,26);//definica mena freeznuteho
      TogglePlayerControllable(id,1);//odmrazi ho to
      format(string,sizeof(string),"Hráč %s odmrazil hráča %s .",Meno,Meno2);
      SendClientMessageToAll(0xff0000AA,string);//odosle sa text
  }
  return 1;
}
dcmd_var(playerid,params[])
{
  new id;//kvoli chrfindu
  new string[170];//definica stringu
  new varovany = strval(params);//definica varovaneho
  if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");//ak nie je rcon
  if(!params[0] || !(id = chrfind(' ', params) + 1) || !params[id]) return SendClientMessage(playerid,F_BIELA,"[  !  ]Použi: /var [ID] [DOVOD");//ak zle napise prikaz
  else if(!IsPlayerConnected(varovany))return SendClientMessage(playerid,F_BIELA,"[  !  ]Hráč nieje pripojený");//ak hrac nie je pripojeny
  else if(strlen(params[id]) > 30) return SendClientMessage(playerid,F_BIELA,"[  !  ] Napísal si príliš dlhý dovod.");//ak je dovod dlhsi ako 30 znakov
  else
  {//ak prebehne vsetko v poriadku
  		if(varovanie[varovany] < 1)//ak este nebol varovany
		{
  			varovanie[varovany] = 1;//nastavi mu hodnotu na 1
        	format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        	SendClientMessageToAll(F_CERVENA,string);//odosle spravu
      	}
      	else if(varovanie[varovany] == 1)//ak ma jedno varovanie
      	{
          	varovanie[varovany] = 2;//nastavi hodnotu na 2
        	format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        	SendClientMessageToAll(F_CERVENA,string);//odosle spravu
      	}
      	else if(varovanie[varovany] == 2)//ak ma dva varovania
      	{
        	varovanie[varovany] = 3;//nastavi hodntu na 3
        	format(string,sizeof(string),"[ %d/3 ]Administrátor %s napomenul hráča %s.[ DOVOD: %s ]",varovanie[varovany],Name(playerid),Name(varovany),params[id]);
        	SendClientMessageToAll(F_CERVENA,string);//odosle hraca
            Kick(varovany);//kickne ho to
  		}
	}
	return 1;
}
dcmd_goto(playerid, params[]) // Příkaz
{
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xffffffAA,"Na tento příkaz nemáš povolení");
    new ID = strval(params); // ID aby sme nemusely dávat params
    new string[150]; // definace stringu
    new Float:X, Float:Y, Float:Z;
    if(!strlen(params)) return SendClientMessage(playerid, BILA, "Pouzijte /goto <ID>"); // Když blbě zadá
    else if(playerid == ID) return SendClientMessage(playerid, BILA, "Portnout sám k sobě se nemůžeš !"); // Když dá ID sebe 
    else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BILA, "Tento hráč není připojený !"); // Když to ID neni na serveru
    GetPlayerPos(ID, X,Y,Z); // Zjistíme hledaného ID pozici
    if(IsPlayerInAnyVehicle(playerid)) // Kdyz je v aute
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), X,Y+2,Z); // Portneme k hrači auto, nwm ale mělo by portnout i hrace
    }
    SetPlayerPos(playerid, X,Y+2,Z); // Dáme hráče na pozici, +2 takže kousek dál aby sme ho neportli do něj
    format(string, 150, "Portnul jsi se k hráči %s(%d) !", Jmeno(ID)); // Že jste se k němu portli
    SendClientMessage(playerid, BILA, string); // Vypíšeme zprávu
    return 1;
}


//DCMD -------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
	dcmd(info,4,cmdtext);
	dcmd(freeze,6,cmdtext);
	dcmd(unfreeze,8,cmdtext);
	dcmd(var,3,cmdtext);
	dcmd(ahelp,5,cmdtext);
	dcmd(help,4,cmdtext);
	dcmd(godmodeoff,10,cmdtext);
	dcmd(godmodeon,9,cmdtext);
	dcmd(goto,4,cmdtext);
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}

 

 

 

 

Nauč se prosimtě tabovat to je to nejdůležitější co asi potřebuješ jako začátečník nepiš to hlavně od prvního řádku teda hned ze začátku řádku to je velká blbost prostě používej KLÁVESNICI "TAB" tot vše..

.. tet mi to nefunguje zadny prikaz dle tveho codu ale compilovalo se mi to v poho

Link to comment
Share on other sites

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...