Jump to content
  • 0

Comanda - /givescore, eroare la o functie.


Question

Posted

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

12 answers to this question

Recommended Posts

Posted

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

Posted

Pai daca ai pus numai sus o { e narmal sa iti dea erori ia si inchide si jos cu o }

Am inchis si imi da erorile din primul post.

www.youtube.com/thebwgg

Posted

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]

gXvsYS
Posted

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

Massari e curva mea

Posted

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]

Posted

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

Posted

Am incercat cum mi-a zis TzAkS mai sus si tot imi da undefined symbol AccInfo.

Am mai incercat si cu PlayerInfo si tot la fel...

Sorry for 2xpost. (1 luna de la ultimul post)

www.youtube.com/thebwgg

Posted

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!

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.