Johannetje2 Geplaatst: 3 april 2011 Rapport Geplaatst: 3 april 2011 Hallo! Ik heb nu dit stuk code: if(!strcmp(Zcmd, "/a", true)) { if(adminlevel[playerid] >= 1) { Ztmp = strtok(cmdtext, Zidx); if(!strlen(Ztmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /a [message]"); return 1; } for(new i=0; i<MAX_PLAYERS; i++) { if(gTeam[i] == TEAM_ADMIN) { new saystring[128]; GetPlayerName(playerid, pName, sizeof(pName)); format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, Zidx); SendClientMessage(i, COLOR_YELLOW, saystring); } } } else { SendClientMessage(playerid, COLOR_RED, "Je hebt niet het benodigde level om dit commando te gebruiken!"); return 1; } return 1; } Ik weet zeker dat ik iets fout heb gedaan bij dit stukje: for(new i=0; i<MAX_PLAYERS; i++) { if(gTeam[i] == TEAM_ADMIN) { new saystring[128]; GetPlayerName(playerid, pName, sizeof(pName)); format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, Zidx); SendClientMessage(i, COLOR_YELLOW, saystring); } } Dit omdat iedereen het te zien krijgt. Maar alleen admins moeten het te zien krijgen! Kunnen jullie helpen? Reageren
Morph1 Geplaatst: 4 april 2011 Rapport Geplaatst: 4 april 2011 volgens mij heb jij nergens een pName gedeclareerd. je server weet niet wat dat is??? verder hoop ik wel dat als iemand admin word hij ook dus de gTeam TEAM_ADMIN krijgt. Reageren
Johannetje2 Geplaatst: 4 april 2011 Auteur Rapport Geplaatst: 4 april 2011 volgens mij heb jij nergens een pName gedeclareerd. je server weet niet wat dat is??? verder hoop ik wel dat als iemand admin word hij ook dus de gTeam TEAM_ADMIN krijgt. Na het inloggen wordt er gekeken of je adminlevel 1 of 2 is. Als dat waar is dan stopt hij je in het admin-team. Wat betreft die pName: new pName[MAX_PLAYER_NAME]; (Staat aan het begin) Reageren
Morph1 Geplaatst: 5 april 2011 Rapport Geplaatst: 5 april 2011 (bewerkt) SendClientMessage(i, COLOR_YELLOW, saystring); moet dit niet gewoon worden : SendClientMessage(TEAM_ADMIN, COLOR_YELLOW, saystring); ik weet het ook niet hoor, maar probeer gewoon maar wat. los van bovenstaande/B.T.W. : ik heb net zoals waarschijnlijk bijna iedereen hier geen ervaring met Zcmd. mischien zit daar wel een fout in. Bewerkt: 5 april 2011 door Morph1 Reageren
Incognation Geplaatst: 5 april 2011 Rapport Geplaatst: 5 april 2011 SendClientMessage(i, COLOR_YELLOW, saystring); moet dit niet gewoon worden : SendClientMessage(TEAM_ADMIN, COLOR_YELLOW, saystring); ik weet het ook niet hoor, maar probeer gewoon maar wat. ik heb net zoals waarschijnlijk bijna iedereen hier geen ervaring met Zcmd. mischien zit daar wel een fout in. Dit is geen ZCMD, staat gewoon in OnPlayerCommandText vermoed ik. Reageren
Morph1 Geplaatst: 5 april 2011 Rapport Geplaatst: 5 april 2011 (bewerkt) dat regeltje staat eronder dus los van het onderwerp erboven, en hij gebruikt wel degelijk Zcmd : if(!strcmp(Zcmd, "/a", true)) maar goed ik zal me reactie wel aanpassen B.T.W : mischien ligt het daar juist wel aan, Zcmd moet geloof ik los staan en bij onplayercommandtext moet geloof ik: Zcmd(a, 1, cmdtext); of zoiets. (dit is het principe met Dcmd waarbij het dus wel zo werkt) Bewerkt: 5 april 2011 door Morph1 Reageren
Johannetje2 Geplaatst: 5 april 2011 Auteur Rapport Geplaatst: 5 april 2011 SendClientMessage(i, COLOR_YELLOW, saystring); moet dit niet gewoon worden : SendClientMessage(TEAM_ADMIN, COLOR_YELLOW, saystring); ik weet het ook niet hoor, maar probeer gewoon maar wat. B.T.W. : ik heb net zoals waarschijnlijk bijna iedereen hier geen ervaring met Zcmd. mischien zit daar wel een fout in. Dat jij het naar het hele team stuurt werkt volgensmij niet... Over dat ZCMD, zie hieronder. new Zidx, Zcmd[256],Ztmp[256]; Zcmd = strtok(cmdtext, Zidx); Begrijp je het nu? Reageren
Morph1 Geplaatst: 5 april 2011 Rapport Geplaatst: 5 april 2011 werkt volgensmij niet al geprobeerd? verder is het toch de bedoeling dat het naar iedereen in het adminteam gaat, of maak je er meer een PM systeem van. dan heb je multi param commando's nodig en moet je gebruik maken van scanff. Reageren
killer37 Geplaatst: 6 april 2011 Rapport Geplaatst: 6 april 2011 (bewerkt) Heb je al geprobeerd om in plaats van te kijken of de speler in TEAM_ADMIN zit, te kijken of de speler een admin is? Dus dan vervang je deze regel: if(gTeam[i] == TEAM_ADMIN) met deze regel: if(adminlevel[i] >= 1) Als het dan wel werkt, dan is er dus iets fout gegaan bij de teamindeling van TEAM_ADMIN. Bewerkt: 6 april 2011 door killer37 Reageren
Johannetje2 Geplaatst: 6 april 2011 Auteur Rapport Geplaatst: 6 april 2011 Zo te zien werkt het nu, maar wat moet ik in het format invullen: format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, WAT MOET HIER?); om alles achter het commando /a daar neer te zetten? Reageren
killer37 Geplaatst: 7 april 2011 Rapport Geplaatst: 7 april 2011 Zo te zien werkt het nu, maar wat moet ik in het format invullen: format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, WAT MOET HIER?); om alles achter het commando /a daar neer te zetten? Ik denk dat je "Ztmp" erachter moet zetten, dus dan wordt het zo: format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, Ztmp); Reageren
Morph1 Geplaatst: 7 april 2011 Rapport Geplaatst: 7 april 2011 (bewerkt) Zo te zien werkt het nu, maar wat moet ik in het format invullen: format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, WAT MOET HIER?); om alles achter het commando /a daar neer te zetten? dat moet jij als gebruiker van Zcmd zelf weten. als het goed is wordt hetgeen wat achter het commando komt opgeslagen in een variable. bij jou zo te zien als strtok(cmdtext, Zidx); dit wijs je dan toe aan een variable, bijvoorbeeld: tekst = strtok(cmdtext, Zidx); wel opletten natuurlijk dat je ook daarboven ergens heb staan new tekst[256]; nu wordt je format : format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, tekst); meer uitleg kan ik er niet over geven succes ermee Bewerkt: 7 april 2011 door Morph1 Reageren
Big Boss Geplaatst: 7 april 2011 Rapport Geplaatst: 7 april 2011 dat moet jij als gebruiker van Zcmd zelf weten. Voor alle duidelijkheid: dit is geen ZCMD. Commando's in ZCMD worden op deze manier in elkaar gestoken: COMMAND:blah(playerid, params[]) { return 1; } Reageren
Incognation Geplaatst: 7 april 2011 Rapport Geplaatst: 7 april 2011 En die hoeven niet in OnPlayerCommandText worden gedeclareerd. Reageren
Morph1 Geplaatst: 8 april 2011 Rapport Geplaatst: 8 april 2011 dat moet jij als gebruiker van Zcmd zelf weten. Voor alle duidelijkheid: dit is geen ZCMD. Commando's in ZCMD worden op deze manier in elkaar gestoken: COMMAND:blah(playerid, params[]) { return 1; } dat wijst er al op dat ik er helemaal geen ervaring mee heb, maar ik zag dit staan : if(!strcmp(Zcmd, "/a", true)) dus ik dacht dat het Zcmd was 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.