Jump to content
  • 0

Comanda - /givescore, eroare la o functie.


Deejaybwg

Question

Am facut comanda asta :

[pawn]if(strcmp(cmd, "/givescore", true) == 0)

{

if(AccInfo[playerid][LoggedIn] == 1)

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givescore [playerid] [score]");

        return 1;

}

giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givecash [playerid] [score]");

return 1;

}

new scores;

scores = strval(tmp);

if (IsPlayerConnected(giveplayerid))

{

GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

GetPlayerName(playerid, sendername, sizeof(sendername));

new playerscore;

playerscore = GetPlayerScore(playerid);

    if (scores > 0 && playerscore >= scores) {

SetPlayerScore(playerid, playerscore - scores);

SetPlayerScore(giveplayerid, GetPlayerScore( giveplayerid ) + scores);

format(string, sizeof(string), "I-ai trimis lui %s(player: %d), %d score.", giveplayer,giveplayerid, scores);

SendClientMessage(playerid, COLOR_YELLOW, string);

format(string, sizeof(string), "Ai primit %d score de la %s(player: %d).", scores, sendername, playerid);

SendClientMessage(giveplayerid, COLOR_YELLOW, string);

printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, scores, giveplayer, giveplayerid);

}

else {

SendClientMessage(playerid, COLOR_YELLOW, "Score invalid.");

}

}

else {

format(string, sizeof(string), "%d nu este activ.", giveplayerid);

SendClientMessage(playerid, COLOR_YELLOW, string);

}

return 1;

}[/pawn]

Am compilat, dar imi da erorile :

C:\Users\thebwgg\Desktop\RSG4564212RO.pwn(3264) : error 001: expected token: ")", but found "["
C:\Users\thebwgg\Desktop\RSG4564212RO.pwn(3264) : error 029: invalid expression, assumed zero
C:\Users\thebwgg\Desktop\RSG4564212RO.pwn(3264) : error 017: undefined symbol "LoggedIn"
C:\Users\thebwgg\Desktop\RSG4564212RO.pwn(3264) : fatal error 107: too many error messages on one line

[pawn]3264 if(AccInfo[playerid][LoggedIn] == 1)[/pawn]

Ce nu e in regula la linia aia ?

www.youtube.com/thebwgg

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

ia vezi asa

[pawn]if(strcmp(cmd, "/givescore", true) == 0)

{

if(AccInfo[playerid][LoggedIn] == 1)

        {

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givescore [playerid] [score]");

        return 1;

}

giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givecash [playerid] [score]");

return 1;

}

new scores;

scores = strval(tmp);

if (IsPlayerConnected(giveplayerid))

{

GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

GetPlayerName(playerid, sendername, sizeof(sendername));

new playerscore;

playerscore = GetPlayerScore(playerid);

    if (scores > 0 && playerscore >= scores) {

SetPlayerScore(playerid, playerscore - scores);

SetPlayerScore(giveplayerid, GetPlayerScore( giveplayerid ) + scores);

format(string, sizeof(string), "I-ai trimis lui %s(player: %d), %d score.", giveplayer,giveplayerid, scores);

SendClientMessage(playerid, COLOR_YELLOW, string);

format(string, sizeof(string), "Ai primit %d score de la %s(player: %d).", scores, sendername, playerid);

SendClientMessage(giveplayerid, COLOR_YELLOW, string);

printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, scores, giveplayer, giveplayerid);

}

else {

SendClientMessage(playerid, COLOR_YELLOW, "Score invalid.");

}

}

else {

format(string, sizeof(string), "%d nu este activ.", giveplayerid);

SendClientMessage(playerid, COLOR_YELLOW, string);

}

}

return 1;

}[/pawn]

am observat ca sub

[pawn]if(AccInfo[playerid][LoggedIn] == 1)[/pawn]

nu aveai o {

Massari e curva mea

Link to comment
Share on other sites

Testeaza:

[pawn]if ( strcmp( cmd, "/givescore", true ) == 0 )

{

if ( PlayerInfo[ playerid ][ LoggedIn ] == 1 )

tmp = strtok( cmdtext, idx );

if(!strlen(tmp)) return SendClientMessage( playerid, COLOR_WHITE, "Foloseste: /givescore [playerid] [score]" );

giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givecash [playerid] [score]");

new scores;

scores = strval( tmp );

if ( IsPlayerConnected( giveplayerid ) )

{

GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

GetPlayerName(playerid, sendername, sizeof(sendername));

new playerscore;

playerscore = GetPlayerScore(playerid);

if (scores > 0 && playerscore >= scores) {

SetPlayerScore(playerid, playerscore - scores);

SetPlayerScore(giveplayerid, GetPlayerScore( giveplayerid ) + scores);

format(string, sizeof(string), "I-ai trimis lui %s(player: %d), %d score.", giveplayer,giveplayerid, scores);

SendClientMessage(playerid, COLOR_YELLOW, string);

format(string, sizeof(string), "Ai primit %d score de la %s(player: %d).", scores, sendername, playerid);

SendClientMessage(giveplayerid, COLOR_YELLOW, string);

printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, scores, giveplayer, giveplayerid);

}

else

{

SendClientMessage(playerid, COLOR_YELLOW, "Score invalid.");

}

else

{

format(string, sizeof(string), "%d nu este activ.", giveplayerid);

SendClientMessage(playerid, COLOR_YELLOW, string);

}

return 1;

}[/pawn]

Link to comment
Share on other sites

Ai mai postat o chestie aproape la fel ca asta.

Cand copiezi asigura-te ca si modifici ca sa fie 'Comatibil' cu gm tau.

Nu cred ca tu ai AccInfo.

Pune asa si vezi

[pawn]if(PlayerInfo[playerid][LoggedIn] == 1)[/pawn]

Am AccInfo. Am pus si imi da undefined symbol PlayerInfo. L-am definit, apoi imi da undefined symbol LoggedIn, desi am :

[pawn]enum PlayerData

{

LoggedIn,[/pawn]

Ai eroare si la LoggedIn

Dute la enum .... unde ai puse chestiile cre iti trebuie si pune acolo

LoggedIn sau daca ai ceva asemanator modifica in comanda

Am LoggedIn acolo.

Testeaza:

[pawn]if ( strcmp( cmd, "/givescore", true ) == 0 )

{

if ( PlayerInfo[ playerid ][ LoggedIn ] == 1 )

tmp = strtok( cmdtext, idx );

if(!strlen(tmp)) return SendClientMessage( playerid, COLOR_WHITE, "Foloseste: /givescore [playerid] [score]" );

giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givecash [playerid] [score]");

new scores;

scores = strval( tmp );

if ( IsPlayerConnected( giveplayerid ) )

{

GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

GetPlayerName(playerid, sendername, sizeof(sendername));

new playerscore;

playerscore = GetPlayerScore(playerid);

if (scores > 0 && playerscore >= scores) {

SetPlayerScore(playerid, playerscore - scores);

SetPlayerScore(giveplayerid, GetPlayerScore( giveplayerid ) + scores);

format(string, sizeof(string), "I-ai trimis lui %s(player: %d), %d score.", giveplayer,giveplayerid, scores);

SendClientMessage(playerid, COLOR_YELLOW, string);

format(string, sizeof(string), "Ai primit %d score de la %s(player: %d).", scores, sendername, playerid);

SendClientMessage(giveplayerid, COLOR_YELLOW, string);

printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, scores, giveplayer, giveplayerid);

}

else

{

SendClientMessage(playerid, COLOR_YELLOW, "Score invalid.");

}

else

{

format(string, sizeof(string), "%d nu este activ.", giveplayerid);

SendClientMessage(playerid, COLOR_YELLOW, string);

}

return 1;

}[/pawn]

Erori cu gramada.

www.youtube.com/thebwgg

Link to comment
Share on other sites

Uite:

if ( strcmp( cmd, "/givescore", true ) == 0 )
{
	if ( AccInfo[ playerid ][ LoggedIn ] == 0 ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: Trebuie sa fi logat in contu tau pentru a folosi comanda asta!" );

	tmp = strtok( cmdtext, idx );

	if ( !strlen( tmp ) ) return SendClientMessage( playerid, COLOR_WHITE, "Foloseste: /givescore [playerid] [score]" );
	giveplayerid = strval( tmp );

	tmp = strtok( cmdtext, idx );
	if ( !strlen( tmp ) ) return SendClientMessage(playerid, COLOR_WHITE, "Foloseste: /givecash [playerid] [score]");

	new scores;
	scores = strval( tmp );

	if (!IsPlayerConnected(giveplayerid)) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: Player not connected!" );

	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
	GetPlayerName(playerid, sendername, sizeof(sendername));
	new playerscore;
	playerscore = GetPlayerScore(playerid);

	if (scores > 0 && playerscore >= scores)
	{
		SetPlayerScore(playerid, playerscore - scores);
		SetPlayerScore(giveplayerid, GetPlayerScore( giveplayerid ) + scores);
		format(string, sizeof(string), "I-ai trimis lui %s(player: %d), %d score.", giveplayer,giveplayerid, scores);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		format(string, sizeof(string), "Ai primit %d score de la %s(player: %d).", scores, sendername, playerid);
		SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, scores, giveplayer, giveplayerid);
	}
	else SendClientMessage(playerid, COLOR_YELLOW, "Score invalid.");
	return 1;
}

Si ce ii greu? Nu ai LoggedIn la AccInfo in LuxAdmin, unde sunt si celalte, cum ar fi Level, pVip, etc ...

EDIT: Daca ar fi pe sscanf (comanda), ar fi mult mai usor si mai rapid de cat cu strtok...

Fara reclama in semnatura!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.