Jump to content
  • 0

pomoc dcmd


Pajda

Dotaz

Zdravím, mám problém s definicí dcmd zde je definice -

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

No a po zadání mého příkazu  

dcmd_fps(playerid, params[])

mám to napsané i v Publicu OnPlayerCommandText 

dcmd(fps,3,cmdtext);

Ale stále mi to píše error    

C:\Users\Dan\Desktop\LAUNCHER\Sa-Mp server\pawno\ptp.pwn(100) : error 017: undefined symbol "dcmd"
C:\Users\Dan\Desktop\LAUNCHER\Sa-Mp server\pawno\ptp.pwn(136) : warning 203: symbol is never used: "dcmd_fps"

Poradte mi prosím, co s tím mám udělat..

Link to comment
Share on other sites

5 odpovědí na tuto otázku

Recommended Posts

  • 0

#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(fps, 7, cmdtext);

return 1;

}

return 0;

}

 

dcmd_fps(playerid, params[])
{
    //Funkce
}

zkus

Link to comment
Share on other sites

  • 0

ak nevieš, nerieš, pretože čo si napísal vyššie je úplná chobotina

#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(fps, 3, cmdtext);
return 0;
}

dcmd_fps(playerid, params[])
{
    //kód
    return 1;
}

nezabudni si ísť k lekárovi či nemáš parkinsona alebo čo sa to volá, pretože pre jedno { máš dajak veľa }, a ešte by trebalo zlepšiť matematiku a počítanie, pretože fps má 3 znaky, nie 7 :)

Link to comment
Share on other sites

  • 0

Stále mi to píše ten samý error a warning..

 

zde je muj celý kod..

#include <a_samp>

#pragma tabsize 0

#if defined FILTERSCRIPT

//def
#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 COLOR_BILA 0xffffff

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" FS");
	print("--------------------------------------\n");
	SetTimer("RandomMsg", 300000, 1); //1000=1s
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" FS");
	print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Home vs Away");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

new Text3D:hpLabel[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    new Float:hp,strHp[20];
    GetPlayerHealth(playerid,hp);
    format(strHp,sizeof(strHp),"HP: %.2f",hp);
    hpLabel[playerid] = Create3DTextLabel(strHp,0xFF0000FF,0.0,0.0,0.0,40,0,0); //vytvoří label
    Attach3DTextLabelToPlayer(hpLabel[playerid],playerid,0.0,0.0,0.4); //připojí k hráči label
    //Clear chat po připojení
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    return 1;
}

public OnPlayerTakeDamage(playerid,issuerid,Float:amount,weaponid)
{
    new Float:hp,strHp[20];
    GetPlayerHealth(playerid,hp);
    format(strHp,sizeof(strHp),"HP: %.2f",hp);
    Update3DTextLabelText(hpLabel[playerid],0xFF0000FF,strHp); //aktualizuje label
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    Delete3DTextLabel(hpLabel[playerid]); //smaže label
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(fps, 3, cmdtext);

	if (strcmp("/world 0", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 0);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven základní world 0 ");

		return 1;
	}
	//-----------------------
		if (strcmp("/world 1", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 1);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 1 ");

		return 1;
	}
 	//-----------------------
		if (strcmp("/world 2", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 2);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 2 ");

		return 1;
	}
		//-----------------------
		if (strcmp("/world 3", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 3);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 3 ");

		return 1;
	}
		//-----------------------
		if (strcmp("/world 4", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 4);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 4 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 5", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 5);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 5 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 6", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 6);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 6 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 7", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 7);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 7 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 8", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 8);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 8 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 9", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 9);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 9 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 10", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 10);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 10 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 11", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 11);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 11 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 12", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 12);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 12 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 13", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 13);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 13");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 14", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 14);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 14 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 15", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 15);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 15 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 16", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 16);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 16 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 17", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 17);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 17 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 18", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 18);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 18 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 19", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 19);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 19 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 20", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 20);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 20 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 21", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 21);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 21 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 22", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 22);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 22 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 23", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 23);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 23 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 24", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 24);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 24 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 25", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 25);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 25 ");

		return 1;
	}


		//-----------------------
		if (strcmp("/world 26", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 26);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 26 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 27", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 27);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 27 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 28", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 28);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 28 ");

		return 1;
	}

		//-----------------------
		if (strcmp("/world 29", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 29);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 29 ");

		return 1;
	}


			//-----------------------
		if (strcmp("/world 30", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 30);
		SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world 30 ");

		return 1;
	}
			//-----------------------
		if (strcmp("/credit", cmdtext, true, 10) == 0)
	{

		SendClientMessage(playerid,0x00FFFFAA, "Tenhle world systém vytvořil");
        SendClientMessage(playerid,0x008000AA, "    Hráč jménem Pajda");
		SendClientMessage(playerid,0x00FFFFAA, "   /world 0 - 30");
		return 1;
	}


				//-----------------------
		if (strcmp("/worlds", cmdtext, true, 10) == 0)
	{
		SetPlayerVirtualWorld(playerid, 1);
		SendClientMessage(playerid,0x00FFFFAA, "Použij /world 0 - 30 /world 0 do základního světa.");

		return 1;
	}

	return 0;
}

forward RandomMsg();
public RandomMsg()
{
new message = random(2);
switch(message) {
case 0:SendClientMessageToAll(0xffffff, "Web klanu pTp je ptp.hys.cz");
case 1:SendClientMessageToAll(0xffffff, "Chtěli by jste snáma CW? Napište nám na ptp.hys.cz");

}
return 1;
}

dcmd_fps(playerid, params[])

{

   #pragma unused params

nes bigstr[600];

   for (new i; i < MAX_PLAYERS_EX;i++)

   {

      if (IsPlayerConnected(i))

      {

         new string[1000];

         format(string, 1000, "%s(%d) - FPS: %d | Ping: %d\n",PlayerName(i),i,fps[i],GetPlayerPing(i));

         format(bigstr,600,"%s%s",bigstr,string);

      }

   }

 ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Fpslist",bigstr,"Zavřít","");

   return 1;

}

Link to comment
Share on other sites

  • 0

To tvé rozepisování každého VW je úplně zbytečné - udělej to takhle :

#include <a_samp>

#pragma tabsize 0


#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 COLOR_BILA 0xffffff
#define MAX_PLAYERS_EX 50 //zmeň podle sebe



public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Home vs Away");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

new Text3D:hpLabel[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    new Float:hp,strHp[20];
    GetPlayerHealth(playerid,hp);
    format(strHp,sizeof(strHp),"HP: %.2f",hp);
    hpLabel[playerid] = Create3DTextLabel(strHp,0xFF0000FF,0.0,0.0,0.0,40,0,0); //vytvoří label
    Attach3DTextLabelToPlayer(hpLabel[playerid],playerid,0.0,0.0,0.4); //připojí k hráči label
    //Clear chat po připojení
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    SendClientMessage(playerid,0x00000000,"  ");
    return 1;
}

public OnPlayerTakeDamage(playerid,issuerid,Float:amount,weaponid)
{
    new Float:hp,strHp[20];
    GetPlayerHealth(playerid,hp);
    format(strHp,sizeof(strHp),"HP: %.2f",hp);
    Update3DTextLabelText(hpLabel[playerid],0xFF0000FF,strHp); //aktualizuje label
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    Delete3DTextLabel(hpLabel[playerid]); //smaže label
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(fps, 3, cmdtext);
    dcmd(world, 5, cmdtext);

	return 0;
}

forward RandomMsg();
public RandomMsg()
{
new message = random(2);
switch(message) {
case 0:SendClientMessageToAll(0xffffff, "Web klanu pTp je ptp.hys.cz");
case 1:SendClientMessageToAll(0xffffff, "Chtěli by jste snáma CW? Napište nám na ptp.hys.cz");

}
return 1;
}


dcmd_fps(playerid, params[])
{

   #pragma unused params

	new bigstr[600];

   for (new i; i < MAX_PLAYERS_EX;i++)

   {

      if (IsPlayerConnected(i))

      {

         new string[1000];

         format(string, 1000, "%s(%d) - FPS: %d | Ping: %d\n",PlayerName(i),i,fps[i],GetPlayerPing(i));

         format(bigstr,600,"%s%s",bigstr,string);

      }

   }

 ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Fpslist",bigstr,"Zavřít","");

   return 1;

}

dcmd_world(playerid, params[]) //takhle to lze vyřešit s tím worldem, aby ses nemusel zbytečně rozepisovat 
{
	new world = strval(params);
	if(!strlen(params)) return SendClientMessage(playerid,0x00FFFFAA,"/world [Virtual World]");
	else if(world<1 || world>30) return SendClientMessage(playerid,0x00FFFFAA,"Použití: /world [1-30]");
	else
	{
	SetPlayerVirtualWorld(playerid, world);
	SendClientMessage(playerid,0x00FFFFAA, "Byl ti nastaven world %d !",world);
	}
	
   return 1;

}


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