mosweg Geplaatst: 15 juli 2009 Rapport Geplaatst: 15 juli 2009 Hoe moet hij wel? wat is de corecte code? Reageren
David22 Geplaatst: 15 juli 2009 Rapport Geplaatst: 15 juli 2009 format(string,sizeof(string),"(%s):%s",name,cmdtext[8]); Reageren
mosweg Geplaatst: 15 juli 2009 Rapport Geplaatst: 15 juli 2009 format(string,sizeof(string),"(%s):%s",name,cmdtext[8]); Dat had ik eerst ook aar de eror gaat over de regel eronder: dini_IntSet("Job.txt", string); warning 202: number of arguments does not match definition Reageren
David22 Geplaatst: 15 juli 2009 Rapport Geplaatst: 15 juli 2009 dini_IntSet("Job.txt", string, HET GETAL WAT ER IN MOET KOMEN); Reageren
1112rutger Geplaatst: 16 juli 2009 Auteur Rapport Geplaatst: 16 juli 2009 Mhm hoe maak je dan rangen, dat als mensen /r(adio) [text] doen dat ze zien: POLICE OFFICER I/ POLICEOFFICER II/III / SERGEANT I : [TEXT] ?? Reageren
David22 Geplaatst: 16 juli 2009 Rapport Geplaatst: 16 juli 2009 Mhm hoe maak je dan rangen, dat als mensen /r(adio) [text] doen dat ze zien:POLICE OFFICER I/ POLICEOFFICER II/III / SERGEANT I : [TEXT] ?? Je zou zoiets kunnen maken: new teamnaam[128]; if(team[playerid] == 1) format(teamnaam, sizeof(teamnaam), "POLICE OFFICER I"); if(team[playerid] == 2) format(teamnaam, sizeof(teamnaam), "POLICE OFFICER II"); if(team[playerid] == 3) format(teamnaam, sizeof(teamnaam), "SERGEANT I"); // bericht ophalen en opslaan in message, code moet je zelf maar maken new string[256]; format(string, sizeof(string), "%s: %s", teamnaam, message); SendClientMessageToAll(KLEUR, string); Reageren
mosweg Geplaatst: 16 juli 2009 Rapport Geplaatst: 16 juli 2009 (bewerkt) Ik heb nog een andere, ergens bovenaan of onderaan: SendCopMessage(color, text[]) { for(new i = 0; i < MAX_PLAYERS; i ++) { if(IsPlayerConnected(i)) { if (gTeam[i] == TEAM_COP0 || gTeam[i] == TEAM_COP1) { SendClientMessage(i, color, text); } } } } bij tekstcommand if(strcmp(cmd,"/cc",true)==0) { if (gTeam[playerid] == TEAM_COP0) { if ((strlen(cmdtext) >= 1)&&(strlen(cmdtext) <= 3)) { SendClientMessage(playerid,COLOR_RED1, "Syntax: /cc <MESSAGE>"); return 1; } GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"Cop Chat(%s):%s",name,cmdtext[3]); SendCopMessage(COLOR_0, string); } if (gTeam[playerid] == TEAM_COP1) { if ((strlen(cmdtext) >= 1)&&(strlen(cmdtext) <= 3)) { SendClientMessage(playerid,COLOR_RED1, "Syntax: /cc <MESSAGE>"); return 1; } GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"Cop Chat(%s):%s",name,cmdtext[3]); SendCopMessage(COLOR_1, string); } nu word het verschil in rang aangegeven meet een lichter blauwe kleur Bewerkt: 16 juli 2009 door mosweg Reageren
David22 Geplaatst: 16 juli 2009 Rapport Geplaatst: 16 juli 2009 (bewerkt) Je kan het ook nog mooier (moeilijkerer ) aanpakken, door een enum en een variabele te gebruiken. Voorbeeldje: enum FACTION_INFO { naam[128], kleur } new Factions[][FACTION_INFO] = { {"Cops 1", 0xFFFFFFAA}, {"Cops 2", 0xFFFF00AA} // etc. }; En dan bij je command: new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string), "%s (%s): %s", pName, Factions[rank[playerid]][naam], message); SendClientMessageToAll(Factions[rank[playerid]][kleur], string); Iets geavanceerder, maar wel simpeler in het gebruik Bewerkt: 16 juli 2009 door David22 Reageren
1112rutger Geplaatst: 16 juli 2009 Auteur Rapport Geplaatst: 16 juli 2009 Wat is enum precies, en hoe/waarneer gebruik je zoiets? Miss. wel handig voor later gebruik Reageren
Big Boss Geplaatst: 16 juli 2009 Rapport Geplaatst: 16 juli 2009 Voornamelijk als je veel data moet opslaan. Bijvoorbeeld: enum pInfo { Kills, Deaths, Team, Skin }; new PlayerInfo[MAX_PLAYERS][pInfo]; public OnPlayerDeath(playerid, killerid, reason) { if(killerid != 255) { PlayerInfo[playerid][Deaths]++; PlayerInfo[killerid][Kills]++; } return 1; } Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.