Score ranks help [+1rep]
#1

Hello,

I have a problem with my score ranks script. The cmd /myrank work fine but when player have 100, his colour doesn't change and it dont send to all message that he is level up.

My script:

pawn Код:
#define FILTERSCRIPT

#include <a_samp>
#include <sscanf2>
#include <zcmd>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}

#endif

public OnPlayerSpawn(playerid)
{
    if(GetPlayerScore(playerid) >= 0 && GetPlayerScore(playerid) <= 99)
    {
    SetPlayerColor(playerid, 0xFF66FFAA); //pink
    }
    else if(GetPlayerScore(playerid) >= 100)
    {
    new string3[70];
    new name[MAX_PLAYER_NAME];
    SetPlayerColor(playerid, 0xFF9900AA); //orange
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "{FFFF00}%s(%d) {FFFFFF}Egine Arxarios", name,playerid);
    SendClientMessageToAll(-1, string3);
    }
    else if(GetPlayerScore(playerid) >= 500)
    {
    new string3[70];
    new name[MAX_PLAYER_NAME];
    SetPlayerColor(playerid, 0x800080AA); //purple
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "{FFFF00}%s(%d) {FFFFFF}Egine Metrios", name,playerid);
    SendClientMessageToAll(-1, string3);
    }
    else if(GetPlayerScore(playerid) >= 1000)
    {
    new string3[70];
    new name[MAX_PLAYER_NAME];
    SetPlayerColor(playerid, 0xAA3333AA); //red
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "{FFFF00}%s(%d) {FFFFFF}Egine Energos", name,playerid);
    SendClientMessageToAll(-1, string3);
    }
    else if(GetPlayerScore(playerid) >= 5000)
    {
    new string3[70];
    new name[MAX_PLAYER_NAME];
    SetPlayerColor(playerid, 0xDDDD2357); //lemon
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "{FFFF00}%s(%d) {FFFFFF}Egine Kamenos", name,playerid);
    SendClientMessageToAll(-1, string3);
    }
    else if(GetPlayerScore(playerid) >= 10000)
    {
    new string3[70];
    new name[MAX_PLAYER_NAME];
    SetPlayerColor(playerid, 0x0000BBAA); //blue
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "{FFFF00}%s(%d) {FFFFFF}Egine Limenos", name,playerid);
    SendClientMessageToAll(-1, string3);
    }
    else if(GetPlayerScore(playerid) >= 50000)
    {
    new string3[70];
    new name[MAX_PLAYER_NAME];
    SetPlayerColor(playerid, 0xAFAFAFAA); //gray
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "{FFFF00}%s(%d) {FFFFFF}Egine No - Lifer", name,playerid);
    SendClientMessageToAll(-1, string3);
    }
    return 1;
}

CMD:ranks(playerid,params[])
{
 SendClientMessage(playerid,-1,"Noob: 0 Score");
 SendClientMessage(playerid,-1,"Arxarios: 100 Score");
 SendClientMessage(playerid,-1,"Metrios: 500 Score");
 SendClientMessage(playerid,-1,"Energos: 1000 Score");
 SendClientMessage(playerid,-1,"Kamenos: 5000 Score");
 SendClientMessage(playerid,-1,"Limenos: 10000 Score");
 SendClientMessage(playerid,-1,"No - Lifer: 50000 Score");
 return 1;
}

CMD:myrank(playerid,params[])
{
 if(GetPlayerScore(playerid) <= 0)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai Noob!");
 }
 else if(GetPlayerScore(playerid) <= 100)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai Arxarios!");
 }
 else if(GetPlayerScore(playerid) <= 500)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai Metrios!");
 }
 else if(GetPlayerScore(playerid) <= 1000)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai Energos!");
 }
 else if(GetPlayerScore(playerid) <= 5000)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai Kamenos!");
 }
 else if(GetPlayerScore(playerid) <= 10000)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai Limenos!");
 }
 else if(GetPlayerScore(playerid) <= 50000)
 {
    SendClientMessage(playerid,-1,"H Rank sou einai No - Lifer!");
 }
 return 1;
 }
Thanks

*Sorry for my bad english!
Reply
#2

Anyone?
Reply
#3

hi..give a try

on increase a on point ie either using 100 set it as 101


because in my script i used an bonus money of killing using score only. me to does'nt get cash on 10

so i put it as 11
now it works fine

also try decrease one to
Reply
#4

Try to define colors..
SetPlayerColor(playerid, 0xFF9900AA);

like
#define COLOR_ORANGE 0xFF9900AA
Then change every
SetPlayerColor(playerid, 0xFF9900AA);
to
SetPlayerColor(playerid, COLOR_ORANGE);
Reply
#5

@Harish, i tried this but nothing happen. Is not the reason of the problem because i have (GetPlayerScore(playerid) >= 100) bigger and equals the 100, maybe in your script you have (GetPlayerScore(playerid) > 100) so only bigger the 100.

@jotan., is the same thing, but i tried it, the same problem.

Anyone who know how to fix it?
Reply
#6

I fix it guys, i dont need help anymore!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)