if (strcmp("/s", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, 0xFF000000,"%s se dere: %s" , sendername);
}
return 1;
}
Skripta koju koristim: Moj mod od 0
Detaljan opis problema: Ovako..Dodao sam cmd /shout,i pise da nisam define "sendername" tako bude i kada #define sendername :(( sta da radim?
Dio skripte:
if (strcmp("/s", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, 0xFF000000,"%s se dere: %s" , sendername);
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
stavi ovako
if (strcmp("/s", cmdtext, true, 10) == 0)
{
new sendername[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, 0xFF000000,"%s se dere: %s" , sendername);
}
return 1;
}
Hvala... Ides u Creditse mog moda :D
Nece ti to raditi ;)
if (strcmp("/s", cmdtext, true, 10) == 0)
{
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid,sendername,sizeof(sendername));
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, 0xFF000000,"%s se dere: %s" , sendername);
}
return 1;
}
Iako ti kod nema nikakvog smisla.
Zasto nece da pise ono sto sam ja napisao?? >:(
Rekao sam ti da ti nece raditi.
if (strcmp("/s", cmdtext, true, 2) == 0)
{
if(!cmdtext[2])return SendClientMessage(playerid, 0xFF0000FF, "KORISTI: /s [Tekst]");
new sendername[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,sendername,sizeof(sendername));
format(str, sizeof(str), "* %s %s", sendername cmdtext[4]);
SendClientMessage(playerid, 0xFF000000,string);
return 1;
}
Provjeri to. Valjda bi trebalo raditi xD Zahrdjao sam sa strcmpom.
Ako imas ZCMD :D Imam i taj Include :P
Ovo ima error, ako nemate idem naci u nekom GM
CMD:s(playerid, params[])
{
if(!cmdtext[2])return SendClientMessage(playerid, 0xFF0000FF, "KORISTI: /s [Tekst]");
new sendername[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,sendername,sizeof(sendername));
format(str, sizeof(str), "* %s %s", sendername cmdtext[4]);
SendClientMessage(playerid, 0xFF000000,string);
return 1;
}
Evo ga
CMD:s(playerid,params[])
{
if(isnull(params)) return SCM(playerid, COLOR_WHITE,"KORISTI: /s [Tekst]");
new sendername[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s se dere: %s!!", sendername, params);
ProxDetector(30.0, playerid, string,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
return 1;
}
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
//radi = 2.0; //Trigger Radius
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
{
GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
SendClientMessage(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SendClientMessage(i, col5, string);
}
}
else
{
SendClientMessage(i, col1, string);
}
}
}//not connected
return 1;
}
@Dj Nik - nece raditi cmdtext u zcmdu, ovo su paramsi xD
Sada cu staviti :P
Daj to sto ti pise.
Pise mu undefined str.
CMD:s(playerid,params[])
{
new str[75];
if(isnull(params)) return SCM(playerid, COLOR_WHITE,"KORISTI: /s [Tekst]");
new sendername[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s se dere: %s!!", sendername, params);
ProxDetector(30.0, playerid, string,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
return 1;
}
Probaj tako,javi ako ne stima.
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(139) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(139) : error 017: undefined symbol "s"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(141) : error 017: undefined symbol "isnull"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(141) : error 017: undefined symbol "SCM"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(144) : error 017: undefined symbol "params"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(145) : error 017: undefined symbol "ProxDetector"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(148) : warning 225: unreachable code
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(148) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(139) : warning 203: symbol is never used: "CMD"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
na pocetak moda kod define
#define SCM SendClientMessage
Kod Forwarda:
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
I na kraj moda
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
if(IsPlayerConnected(playerid))
{
if(IgracNaReconu[playerid] == true) return 1;
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
{
if(!BigEar[i])
{
GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
SendClientMessage(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SendClientMessage(i, col5, string);
}
}
else
{
SendClientMessage(i, col1, string);
}
}
}
}
return 1;
}
Javi ako ima jos erora.
Edit:
Daj nam liniju (139)
Linija 139:
CreateObject(1290, 1716, 434, 36.299999237061, 0, 0, 341.99340820313);
Errori bilo ih je 9....
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(207) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(280) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(280) : error 017: undefined symbol "s"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(282) : error 017: undefined symbol "isnull"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(282) : error 017: undefined symbol "SCM"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(285) : error 017: undefined symbol "params"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(289) : warning 225: unreachable code
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(289) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(280) : warning 203: symbol is never used: "CMD"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(423) : warning 235: public function lacks forward declaration (symbol "ProxDetector")
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\brp.pwn(467) : error 010: invalid function or declaration
Daj linije sve na kojima se erori pokazuju.
Error 1:
CMD:s(playerid,params[])
Error 2:
if(isnull(params)) return SCM(playerid, 0x00000000,"KORISTI: /s [Tekst]");
Error 3:
if(isnull(params)) return SCM(playerid, 0x00000000,"KORISTI: /s [Tekst]");
Error 4:
format(string, sizeof(string), "%s se dere: %s!!", sendername, params);
Error 5:
return 1;
Jel imas na vrh skripte
#include <zcmd>
Eo ovako mora da radi
CMD:s(playerid,params[])
{
if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "KORISTI:/s(text)");
new sendername[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s se dere: %s!!", sendername, params);
ProxDetector(30.0, playerid, string,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
return 1;
}
Javi ako opet bude bilo erora.
Necu da vas zamaram, tako da ja idem izvaditi iz druge skripte....
Hvala svima!
evo ti stock
stock SendRadMessage(playerid, Float:radius, color, text[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new Float:pos[6];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(IsPlayerInRangeOfPoint(i, radius, pos[0], pos[1], pos[2]))
{
SendClientMessage(i, color, text);
}
}
}
return 1;
}
komanda:
CMD:s(playerid,params[])
{
new plname[MAX_PLAYER_NAME], str[256];
if(sscanf(params,"s[256]", str)) return SendClientMessage(playerid, 0xffffffff, " *Koristi: /s(hout) [text]");
GetPlayerName(playerid, plname, sizeof(plname));
new d_String[512];
format(d_String, 512, " *%s se dere: %s!!!", plname, str);
SendRadMessage(playerid, 20.0, 0xffffffff, d_String);
return 1;
}
CMD:shout(playerid,params[])
{
return cmd_s(playerid,params);
}
stock je prost i sadrzi samo jednu boju, zato sto sam ga sad pravio i nisam imao vremena da ga doterujem, ti doteraj ako ti treba.. ;)
A jesi pomislio da nema sscanfa? >:(
a da jednostavno doda #include <sscanf2> ? i ubaci plugin za sscanf lol pa 1000 puta mu je lakse sa sscanfom i zasto bi se uopste trudio raditi u zcmdu bez sscanfa (ne kazem da nije moguce :S), jednostavno uz zcmd najbolje mu ide sscanf da pravi lakse komande :/
Citat: dock poslato April 19, 2012, 20:12:29 POSLE PODNE
a da jednostavno doda #include <sscanf2> ? i ubaci plugin za sscanf lol pa 1000 puta mu je lakse sa sscanfom i zasto bi se uopste trudio raditi u zcmdu bez sscanfa (ne kazem da nije moguce :S), jednostavno uz zcmd najbolje mu ide sscanf da pravi lakse komande :/
Gdje cu staviti to
stock SendRadMessage(playerid, Float:radius, color, text[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new Float:pos[6];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(IsPlayerInRangeOfPoint(i, radius, pos[0], pos[1], pos[2]))
{
SendClientMessage(i, color, text);
}
}
}
return 1;
}
Na kraj gamemodea...
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1595) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1650) : error 029: invalid expression, assumed zero
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1650) : error 017: undefined symbol "cmd_s"
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1650) : error 029: invalid expression, assumed zero
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1650) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
daj mi red 1650
public OnPlayerCommandText(playerid, cmdtext[])
ne ne ovo:
CMD:s(playerid,params[])
{
new plname[MAX_PLAYER_NAME], str[256];
if(sscanf(params,"s[256]", str)) return SendClientMessage(playerid, 0xffffffff, " *Koristi: /s(hout) [text]");
GetPlayerName(playerid, plname, sizeof(plname));
new d_String[512];
format(d_String, 512, " *%s se dere: %s!!!", plname, str);
SendRadMessage(playerid, 20.0, 0xffffffff, d_String);
return 1;
}
CMD:shout(playerid,params[])
{
return cmd_s(playerid,params);
}
treba biti izvan svih publicova...
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1598) : warning 217: loose indentation
C:\Users\N\Desktop\Balkan's RolePlay\gamemodes\balkansrp.pwn(1662) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
;)
JOS 1 Error
Linija 1662:
return 0;
daj par linija iznad i par linija ispod te..
OmG sada ima samo 2 warningsa,ali nece da pokrene server ???
odi u server.cfg i proveri da li pod plugins imas sscanf, i daj te warninge da vidim :)
DOCK hvala care...
Ides u Creditse :D