Crusher!! Geplaatst: 30 mei 2009 Rapport Geplaatst: 30 mei 2009 (bewerkt) haha "Ymosky = PWNED" geintje EDIT: if(strcmp(cmdtext,"/admins",true) == 0) { SendClientMessage(playerid, COLOR_STEELBLUE, "These are the people currently able to help you:"); new admins = 0; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) == 1) { if(adminlevel[i] >= 1) { admins++; new pname[MAX_PLAYER_NAME]; GetPlayerName(i, pname, sizeof(pname)); format(string, sizeof(string), "%d) Name: %s, ID: %d", admins, pname, i,(i)); SendClientMessage(playerid, COLOR_LIGHTSTEELBLUE, string); } } } if(admins == 0) { SendClientMessage(playerid,COLOR_DARKRED, "[ERROR]: There are no admins currently online"); } return 1; } Bewerkt: 30 mei 2009 door GTA_GAMER_JD Reageren
GAMEKINGZ Geplaatst: 18 juni 2009 Rapport Geplaatst: 18 juni 2009 Hoe moet ik dit installeren want dat kan ik efkes niet volgen. :S . wel een goede tut maar toch.. Reageren
David22 Geplaatst: 18 juni 2009 Rapport Geplaatst: 18 juni 2009 Kijk eens op de SA-MP wiki, bij "Windows Server". Daar vind je alle informatie die je nodig hebt Reageren
JoshTheBoss Geplaatst: 20 juni 2009 Rapport Geplaatst: 20 juni 2009 Ok, ik heb een "ban" command gemaakt, en ik wil hem delen :tu: ! Boven aan: new banned[MAX_PLAYERS]; forward BanTimer(playerid); Bij de register command doe je dit erbij: dini_IntSet(udb_encode(playername), "Banned", 0); vervolgens bij de login command doe je dit erbij: banned[playerid] = dini_Int(udb_encode(playername), "Banned"); if (banned[playerid] == 0) Als de speler het wachtwoord correct heeft, dan worden zijn geregeristreerde specificaties geladen. nu word dit alleen gedaan als de speler niet gebaned is. Nu de command: if(strcmp(cmd, "/ban", true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp) || !IsNumeric(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /ban [playerid]"); } else { new id = strval(tmp); if(!IsPlayerConnected(id)) { SendClientMessage(playerid, COLOR_RED, "This player is not present!"); } else { dini_IntSet(udb_encode(playername), "Banned", 1); SendClientMessage(id, COLOR_RED, "You have been banned!"); SetTimer("BanTimer", 2500, false); } } } else { SendClientMessage(playerid, COLOR_RED, "You are not an admin!"); } return 1; } Als laatste dit stukje: public BanTimer(playerid) { Kick(playerid); return 1; } Hierdoor wordt de betreffende speler met een vertraging gekickt. Succes en ik hoop dat het werkt Reageren
Remcconen Geplaatst: 20 juni 2009 Rapport Geplaatst: 20 juni 2009 (bewerkt) Leuk, alleen het werkt niet. Je moet de speler bannen, niet kicken. En je bant jezelf waarschijnlijk. Bewerkt: 20 juni 2009 door Remcconen Reageren
Big Boss Geplaatst: 20 juni 2009 Rapport Geplaatst: 20 juni 2009 Leuk, alleen het werkt niet. Je moet de speler bannen, niet kicken. En je bant jezelf waarschijnlijk. Inderdaad. dini_IntSet(udb_encode(playername), "Banned", 1); SendClientMessage(id, COLOR_RED, "You have been banned!"); Dit zet de variabele 'Banned' in je EIGEN userfile op 1. Reageren
JoshTheBoss Geplaatst: 20 juni 2009 Rapport Geplaatst: 20 juni 2009 Leuk, alleen het werkt niet. Je moet de speler bannen, niet kicken. En je bant jezelf waarschijnlijk. Dit is een command zonder het principe van dat banned. Ik had de command fout maar heb hem verbetert! boven aan: new bannedname[MAX_PLAYER_NAME]; new banned[MAX_PLAYERS]; forward BanTimer(playerid); bij de registreer code: dini_IntSet(udb_encode(playername), "Banned", 0); vervolgens bij de "login" command: banned[playerid] = dini_Int(udb_encode(playername), "Banned"); if (banned[playerid] == 0) if(strcmp(cmd, "/ban", true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp) || !IsNumeric(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /ban [playerid]"); } else { new id = strval(tmp); if(!IsPlayerConnected(id)) { SendClientMessage(playerid, COLOR_RED, "This player is not present!"); } else { GetPlayerName(id, "opponentname", sizeof(opponentname)); dini_IntSet(udb_encode(opponentname), "Banned", 1); SendClientMessage(id, COLOR_RED, "You have been banned!"); SetTimer("BanTimer", 2500, false); } } } else { SendClientMessage(playerid, COLOR_RED, "You are not an admin!"); } return 1; } en dan het timer public stukje: public BanTimer(playerid) { Kick(playerid); return 1; } Nu is het toch wel goed? zoniet, reageer alstublieft, dan verbeter ik het. Reageren
Big Boss Geplaatst: 20 juni 2009 Rapport Geplaatst: 20 juni 2009 SetTimerEx gebruiken in plaats van SetTimer. Je moet namelijk het playerid doorgeven aan de functie. Reageren
GAMEKINGZ Geplaatst: 21 juni 2009 Rapport Geplaatst: 21 juni 2009 (bewerkt) Hoe moet ik dit installeren want dat kan ik efkes niet volgen. :S . wel een goede tut maar toch.. Kijk eens op de SA-MP wiki, bij "Windows Server". Daar vind je alle informatie die je nodig hebt Ik snap dat wel hoe je een eigen server maakt want kheb er al een. Maar ik heb het over het account systeem. Omdat ik binnenkort zelf een gamemode wil gaan maken. Bewerkt: 21 juni 2009 door gamekingz Reageren
Big Boss Geplaatst: 21 juni 2009 Rapport Geplaatst: 21 juni 2009 Hier staat een mooie versie met commentaren: http://www.plaatscode.be/3881/ Reageren
GAMEKINGZ Geplaatst: 22 juni 2009 Rapport Geplaatst: 22 juni 2009 Hier staat een mooie versie met commentaren: http://www.plaatscode.be/3881/ ok bedankt. Reageren
1112rutger Geplaatst: 3 juli 2009 Rapport Geplaatst: 3 juli 2009 Ik weet niet of het eerder is gevraagd/beantwoord, maar: Ik zou graag een andere admin structure willen bijv: Trial Administrator Game Administrator Senior Administrator Lead Admin Owner En tevens Scripter. Maar, hoe doe ik dit? Ik heb al geprobeerd met new's enzo, maar daar word ik niet echt wijzer van. Verder, perfecte tutorial! Ben een beginnende scripter en dit is écht handig! // Rutger. Reageren
Big Boss Geplaatst: 3 juli 2009 Rapport Geplaatst: 3 juli 2009 Ik denk dat je dat het beste zo kan aanpakken: Bovenaan (onder de includes) zet je dit: #define LEVEL_PLAYER 0 #define LEVEL_SCRIPTER 1 #define LEVEL_TRIALADMIN 2 #define LEVEL_GAMEADMIN 3 #define LEVEL_SENIORADMIN 4 #define LEVEL_LEADADMIN 5 #define LEVEL_OWNER 6 En dan in die stukjes waar het script checkt of je level 3 bent, vervang je de 3 door LEVEL_OWNER. Reageren
1112rutger Geplaatst: 3 juli 2009 Rapport Geplaatst: 3 juli 2009 Ik denk dat je dat het beste zo kan aanpakken:Bovenaan (onder de includes) zet je dit: #define LEVEL_PLAYER 0 #define LEVEL_SCRIPTER 1 #define LEVEL_TRIALADMIN 2 #define LEVEL_GAMEADMIN 3 #define LEVEL_SENIORADMIN 4 #define LEVEL_LEADADMIN 5 #define LEVEL_OWNER 6 En dan in die stukjes waar het script checkt of je level 3 bent, vervang je de 3 door LEVEL_OWNER. Volgens mij werkt het, maar ik heb ook een CMD gemaakt '/makeadmin'. En als ik dan /makeadmin [iD] Lead Admin doe dan word ik level 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.