coolnniek9 Geplaatst: 3 maart 2011 Rapport Geplaatst: 3 maart 2011 Hallo, ik waardeer de mensen die even de tijd nemen om dit te lezen en mij te helpen. Ook zou het handig zijn als je het zelfde probleem hebt Ik heb een command ( /admins ) die checkt of er admins online zijn. Nou werk ik via includes, scheelt compile tijd en dat vind ik zelf persoonlijk handiger. Alleen wanneer ik het command /admins gebruik krijg je het standaart bericht: SERVER: Invalid command e.d. Dit is m'n stukje script: // Deze command laat alle online admins zien. COMMAND:admins(playerid, params[]) { #pragma unused params // params zijn hier niet gebruikt. // Setup local variables new AdminList[500], Name[24]; // Laat aan alle admins zien welke commmand je aan het gebruiken bent. SendAdminText(playerid, "/admins", params); // Checkt of de player ingelogd is. if (APlayerData[playerid][LoggedIn] == true) { // Scan door alle players. for (new i; i < MAX_PLAYERS; i++) { // Checkt of de player connected is. if (IsPlayerConnected(i)) { // Pakt de naam van de player. GetPlayerName(i, Name, sizeof(Name)); // Checkt of de player een RCON admin is. if (IsPlayerAdmin(i)) { // Voegt alle admins aan de lijst toe. format(AdminList, 500, "%s%s: %s (id: %i), admin-level: %i (RCON admin)\n", AdminList, AdminLevelName[APlayerData[i][PlayerLevel]], Name, i, APlayerData[i][PlayerLevel]); // Add the name of the admin-player to the list // Re-start voor loop. continue; } //Checkt of de player een admin is (qua playerlevel) if (APlayerData[i][PlayerLevel] > 0) { // Voegt alle admins aan de lijst toe. format(AdminList, 500, "%s%s: %s (id: %i), admin-level: %i\n", AdminList, AdminLevelName[APlayerData[i][PlayerLevel]], Name, i, APlayerData[i][PlayerLevel]); // Voegt de namen van de admins aan de lijst toe. } } } // Checkt of er admin namen in de lijst zijn toegevoegt. if (strlen(AdminList) > 0) ShowPlayerDialog(playerid, DialogNoResponse, DIALOG_STYLE_LIST, "Online admins:", AdminList, "OK", "Cancel"); else SendClientMessage(playerid, 0xFF0000FF, "No admin online"); // Geen admins zijn verbonden met de server. } else return 0; // Laat de server weten dat het een geldige command is. return 1; } Ik heb er een halfuur naar lopen staren maar ik kan er niks uithalen, iemand anders die het wel ziet? Bij voorbaat dank. Reageren
Morph1 Geplaatst: 3 maart 2011 Rapport Geplaatst: 3 maart 2011 het iritante van dit script is dat jij functies gebruik die niet standaard in Pawno zitten en ook niet echt bekend zijn (Dini is bv wel heel bekend). verder gebruik jij ook zo te zien ZCMD waar hier volgens mij ook niet zo veel mensen mee werken (meeste werken met DCMD) en hier even een voorbeelde van wat ik zie waarvan of de code niet klopt of het bijschrift klopt niet. // Laat aan alle admins zien welke commmand je aan het gebruiken bent. SendAdminText(playerid, "/admins", params); hier zeg jij dus dat als iemand dit commando gebruikt dat dan alle admins een berichtje krijgen (waarschijnlijk in de chat) dat een speler dit commando heeft gebruikt. dat is wat ik uit het bovenschrift opmaak, maar in de code zend je het berichtje naar de "playerid". hierin wordt dus alleen de speler die "/admins" typt ziet ook het berichtje "/admins". tenzij natuurlijk de functie SendAdminText wel is ingesteld om naar de admins te sturen. dit is dus een voorbeeldje. de meeste functies zijn onduidelijk voor de mensen hier. probeer het wat duidelijker te maken en anders je include erbij te zetten. Reageren
Big Boss Geplaatst: 3 maart 2011 Rapport Geplaatst: 3 maart 2011 Nou werk ik via includes, scheelt compile tijd Wie heeft je dat wijs gemaakt? Een include statement kopiëert als het ware gewoon alle code in het script. Als je ZCMD gebruikt moet je even kijken of je een return 1; hebt bij OnPlayerCommandPerformed en/of OnPlayerCommandReceived. Ik ben niet echt bekend met ZCMD, maar meestal ligt het probleem daar ergens. Reageren
Morph1 Geplaatst: 3 maart 2011 Rapport Geplaatst: 3 maart 2011 (bewerkt) haha nu big Boss ineens over returns begint ging ik nog eens naar je script kijken en vond ik dit: } else return 0; // Laat de server weten dat het een geldige command is. return 1; } volgens mij moet dit worden : } else { return 0; } return 1; } Bewerkt: 3 maart 2011 door Morph1 Reageren
Incognation Geplaatst: 3 maart 2011 Rapport Geplaatst: 3 maart 2011 Dat haalt niks uit, zonder de brackets ({ en }) is een short-hand notatie; er zit geen verschil in. Reageren
ted80 Geplaatst: 23 maart 2011 Rapport Geplaatst: 23 maart 2011 volgens mij denk dat als je /admins typt en er zijn meerdere admins online je maar 1 admin in je lijst te zien krijgt. als dat zo is zou ik als ik jou was Strcat gebruiken, http://wiki.sa-mp.com/wiki/Strcat 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.