Luukiej Geplaatst: 9 november 2010 Rapport Geplaatst: 9 november 2010 Ben pas begonnen met scripten, en nou had ik een aantal vragen: 1. Hoe kan ik het scripten dat iemand een wantedster krijgt of meer, als ik hiermee hulp krijg zou dat koel zijn 2. Hoe kan ik het scripten dat alleen een admin of een cop ofzo een command kan uitvoeren ? 0 Reageren
Gast Geplaatst: 9 november 2010 Rapport Geplaatst: 9 november 2010 (bewerkt) Ben pas begonnen met scripten, en nou had ik een aantal vragen: 1. Hoe kan ik het scripten dat iemand een wantedster krijgt of meer, als ik hiermee hulp krijg zou dat koel zijn 2. Hoe kan ik het scripten dat alleen een admin of een cop ofzo een command kan uitvoeren ? Voor stap 1 moet je de functie SetPlayerWantedLevel gebruiken. Gebruik: SetPlayerWantedLevel(playerid, 1); dat geeft jezelf 1 ster. Je kan 1 veranderen in alles wat je wilt t/m 6. Om iemand anders een ster geven, moet je meer dingen zoals giveplayerid gebruiken. Giveplayerid is niets standaard, maar het word wel vaak gebruikt. Ik gebruik altijd tmp dingen en strtok, strval, enz. Dit is een code die je kan gebruiken om iemand wanted te maken: public OnPlayerCommandText (playerid, cmdtext[]) { new giveplayerid; if(strcmp(cmd, "/wanted", true) == 0) { if(!IsPlayerConnected(playerid)) { // Checked of de player NIET is geconnect. SendClientMessage(playerid, COLOR_RED, "Je bent niet ingelogd! Daarom kun je deze command niet gebruiken."); return 1; // Return. } else { // Of anders, als de speler wel is geconnect: tmp = strtok(cmdtext, idx); // tmp = strtok(cmdtext, index) if(!strlen(tmp)) { // Als de speler geen ID heeft ingevoerd geeft hij dit bericht: SendClientMessage(playerid, COLOR_RED, "GEBRUIK: /wanted [spelerID]"); return 1; } giveplayerid = strval(tmp); // Nu geven we aan wat giveplayerid inhoud. Dit is een tijdelijke string. STRVAL zet de string om in een integer(getal). GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); // Nu weten we wat giveplayerid DOET. giveplayerid checked de ID en de naam. SetPlayerWantedLevel(giveplayerid, 1); // Maak de speler ID die je hebt ingevoerd wanted met 1 ster. SendClientMessage(playerid, COLOR_WHITE, "Je hebt de speler wanted gemaakt!"); // Stuur jezelf het bericht dat hij nu wanted is. SendClientMessage(giveplayerid, COLOR_WHITE, "Je bent nu wanted!"); // Stuur de speler die je wanted hebt gemaakt het bericht dat hij nu wanted is. return 1; } } } } Ik weet niet zeker of het werkt, ik heb het niet getest. Voor de check om te kijken of hij een politie is, moet je COP ids instellen, net zoals adminlevel is aangegeven bij Sandra's register script. Als je Sandra's login/register script gebruik, kan ik wel een admin check toevoegen. Dan word dit je code: public OnPlayerCommandText (playerid, cmdtext[]) { new giveplayerid; if(strcmp(cmd, "/wanted", true) == 0) { if(!IsPlayerConnected(playerid)) { // Checked of de player NIET is geconnect. SendClientMessage(playerid, COLOR_RED, "Je bent niet ingelogd! Daarom kun je deze command niet gebruiken."); return 1; // Return. } else { // Of anders, als de speler wel is geconnect: tmp = strtok(cmdtext, idx); // tmp = strtok(cmdtext, index) if(adminlevel[playerid] >= 1) { // Als de admin level van de speler >= hoger is dan 1, of 1, kun je deze command gebruiken. if(!strlen(tmp)) { // Als de speler geen ID heeft ingevoerd geeft hij dit bericht: SendClientMessage(playerid, COLOR_RED, "GEBRUIK: /wanted [spelerID]"); return 1; } giveplayerid = strval(tmp); // Nu geven we aan wat giveplayerid inhoud. Dit is een tijdelijke string. STRVAL zet de string om in een integer(getal). GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); // Nu weten we wat giveplayerid DOET. giveplayerid checked de ID en de naam. SetPlayerWantedLevel(giveplayerid, 1); // Maak de speler ID die je hebt ingevoerd wanted met 1 ster. SendClientMessage(playerid, COLOR_WHITE, "Je hebt de speler wanted gemaakt!"); // Stuur jezelf het bericht dat hij nu wanted is. SendClientMessage(giveplayerid, COLOR_WHITE, "Je bent nu wanted!"); // Stuur de speler die je wanted hebt gemaakt het bericht dat hij nu wanted is. return 1; } else { // Als de speler geen admin is SendClientMessage(playerid, COLOR_RED, "Je bent geen admin! Je kunt dit commando helaas niet gebruiken"); return 1; } } } } } Zoals ik al eerder zei, ik kan heus wel een '}' missen of één te veel, ik ben niet zo goed met die dingen tellen. Ik heb het bijna altijd mis, dus dat moet je even nachecken. En ik weet niet zeker of het perfect werkt. Ik ben een voorstander van strval en strtok enz, ik weet dat er mensen zijn die het niet met me eens zijn. Hier is een uitleg over SetPlayerWantedLevel: http://wiki.sa-mp.com/wiki/SetPlayerWantedLevel Hier is een uitleg over de strings(strval,strtok, enz): http://wiki.sa-mp.com/wiki/Strval Success Bewerkt: 9 november 2010 door Gast 0 Reageren
Morph1 Geplaatst: 9 november 2010 Rapport Geplaatst: 9 november 2010 Haha, halve tut hierboven van biesmen XD 0 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.