Jump to content
  • 0

pomoc Undefined symbol ´´dcmd´´


Marecool7

Dotaz

Čau lidi,
dělám si FS a z nějakého důvodu mi to píše že jsem nedefinoval symbol dcmd, ale podle mě je definovanej!?
Ve FS mám tohle:

______________________________________________________________________________
public OnPlayerCommandText(playerid, cmdtext[])

{                                        
    dcmd(smrt,4,cmdtext);
if (strcmp("/smrt", cmdtext, true, 10) == 0)
{
     // SetPlayerHealth(playerid, 0)
     //SendClientMessage(playerid, 252525,"Sebevražda se podařila !!!!

return 1;
}
    dcmd(lekar,5,cmdtext);
if (strcmp("/lekar", cmdtext, true, 10) == 0)
{
     // SetPlayerHealth(playerid, 100)
     //SendClientMessage(playerid, 252525,"Rány byly zahojeny vojáku =) !!!!

return 1;
}
dcmd(brneni,6,cmdtext);
if (strcmp("/brneni", cmdtext, true, 10) == 0)
{
// SetPlayerArmor(playerid, 100)
//SendClientMessage(playerid, 252525,"Vesta zdarma doplněna !!!!

return 1;
}
return 0;
}

_____________________________________________________________

A při kompiraci mi to píše ERRORY:

________________________________________________________________________

C:\Users\faktin\Desktop\srver\pawno\new.pwn(91) : error 017: undefined symbol "dcmd"
C:\Users\faktin\Desktop\srver\pawno\new.pwn(98) : error 017: undefined symbol "dcmd"
C:\Users\faktin\Desktop\srver\pawno\new.pwn(105) : error 017: undefined symbol "dcmd"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
3 Errors.
________________________________________________________________________
Tak se ptám, kde je problém, byl bych celkem rád za každou radu, protože jsem skoro úplný začátečník :)
 
Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

Nie,neni definovaný.

#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

BTW:pozry si nejaký návod na dcmd lebo to máš celé zle ..

Link to comment
Share on other sites

  • 0

Právě jsem to dělal podle návodu.

Říkam že jsem začátečník a dělal jsem věchno podle návodu.

Si bych si nevycucal z prstu :d

Tak mi prosím napiš jak to udělat aby to bylo definované.

A pěkně řádek po řádku, protože v

 

 

#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
Se ještě moc nevyznám :) (fakt prosím :) )
Link to comment
Share on other sites

  • 0

Jinak vypadá to asi nějak takto

#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

 dcmd_smrt(const playerid,const params[]) {
   SetPlayerHealth(playerid, 0);
   SendClientMessage(playerid, 252525,"Sebevražda se podařila !!!!");
   return true;
  }

 dcmd_lekar(const playerid,const params[]) {
   SetPlayerHealth(playerid, 100);
   SendClientMessage(playerid, 252525,"Rány byly zahojeny vojáku =) !!!!");
  }
dcmd_brneni(const playerid,const params[]) {
 SetPlayerArmor(playerid, 100);
 SendClientMessage(playerid, 252525,"Vesta zdarma doplněna !!!!");

public OnPlayerCommandText(playerid, const cmdtext[])
{

  dcmd(smrt,4,cmdtext);
  dcmd(lekar,5,cmdtext);
  dcmd(brneni,6,cmdtext);
  return 0;
}
return 1;
}
Link to comment
Share on other sites

  • 0

Tu definici dcmd si dáš nahoru do skriptu, pod includy

 

Např. takhle

#include <a_samp> 
#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

A děláš to blbě, buď používej dcmd nebo normální příkazy.

 

Např. normálním příkazem:

if (strcmp("/smrt", cmdtext, true, 10) == 0)
{
    SetPlayerHealth(playerid, 0);
    SendClientMessage(playerid,FF0000,"Sebevražda se podařila!!!!");
return 1; 
}

Nebo pomocí dcmd:

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(smrt, 4, cmdtext);
    return 0;
} 
dcmd_smrt(playerid, params[]) 
{ 
    SetPlayerHealth(playerid, 0); 
    SendClientMessage(playerid,FF0000,"Sebevražda se podařila!!!!"); 
    return 1; 
}

(dcmd je možná chybně, nevyznám se vtom a ani ho nepoužívám)

 

Takhle by to mělo vypadat

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