04.10.2014, 22:59
So basically i've developed a gang based (colored)bandana system, im not very good at coding, so heres what i've come up with:
As for the problem(what i think):
The Problem: the problem is when i do /bandana it just turns my nametag black, i think the problem is i am taking color as a string, while if i take it as a integer sscanf doesnt let me do /setgangcolor, please help me!
Код:
CMD:setgangcolor(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 4) { new string[128], family, color[32]; if(sscanf(params, "is", family, color)) { SendClientMessageEx(playerid, COLOR_GRAD1, "USAGE: /setgangcolor [familyid] [RRGGBBAA]"); return 1; } if(family < 1 || family > 10) return SendClientMessage(playerid, COLOR_WHITE, "Invalid Gang ID."); if(FamilyInfo[family][FamilyTaken] != 1) { SendClientMessage(playerid, COLOR_GREY, " That gang isn't being used."); return 1; } if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6) { SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty."); return 1; } format(FamilyInfo[family][FamilyBandana], sizeof(color), color; format(string, sizeof(string), "AdmCmd: %s has set gang ID %d's bandana to '%s'.", GetPlayerNameEx(playerid), family, color); ABroadCast(COLOR_LIGHTRED, string, 1); } return 1; }
Код:
CMD:bandana(playerid, params[]) { new string[128], gangcolor; if(PlayerInfo[playerid][pGang] == 255) return SendClientMessageEx(playerid, COLOR_WHITE, "Your not in a gang."); if(FamilyInfo[PlayerInfo[playerid][pGang]][FamilyBandana] == 0) return SendClientMessageEx(playerid, COLOR_GRAD1, "Your gang does not have a bandana set."); gangcolor = strval(FamilyInfo[PlayerInfo[playerid][pGang]][FamilyBandana]); if(PlayerInfo[playerid][pBandana] != 1) { SetPlayerColor(playerid, gangcolor); PlayerInfo[playerid][pBandana] = 1; } else { SetPlayerColor(playerid, TEAM_HIT_COLOR); PlayerInfo[playerid][pBandana] = 0; } return 1; }