Johannetje2 Geplaatst: 9 mei 2010 Rapport Geplaatst: 9 mei 2010 Hallo! Kunnen jullie me hiermee helpen? if(!strcmp(cmd, "/cuff", true)) { if (gTeam[playerid] == TEAM_COP0) { new giveplayerid, pName[MAX_PLAYER_NAME],oName[MAX_PLAYER_NAME], string[100]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /cuff [id]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!"); return 1; } GetPlayerName(giveplayerid, pName, sizeof(pName)); GetPlayerName(playerid, oName, sizeof(oName)); format(string, sizeof(string), "Cop Message: %s heeft bij %s de handboeien om gedaan!", oName,pName); TogglePlayerControllable(giveplayerid,0); } return 1; } Reageren
Ophion Geplaatst: 9 mei 2010 Rapport Geplaatst: 9 mei 2010 Wat is er precies fout? Mvg, Jeroen. Reageren
Johannetje2 Geplaatst: 9 mei 2010 Auteur Rapport Geplaatst: 9 mei 2010 (bewerkt) Wat is er precies fout? Mvg, Jeroen. Beste Jeroen, Als ik ingame /cuff doet hij niks en als in /cuff + id typ (wat ook de bedoeling is) krijg ik: SERVER: UNKNOWN COMMAND in plaats van dat dat ID niet meer bestuurbaar is! Bewerkt: 9 mei 2010 door Johannetje2 Reageren
Casss Geplaatst: 9 mei 2010 Rapport Geplaatst: 9 mei 2010 Heb je 1. Het filterscript ge-compiled? 2. Het filterscript in de config gezet? Reageren
Johannetje2 Geplaatst: 9 mei 2010 Auteur Rapport Geplaatst: 9 mei 2010 (bewerkt) Heb je 1. Het filterscript ge-compiled? 2. Het filterscript in de config gezet? Ja, en als ik alles in suspect verander, maakt hij me bij /su suspect en bij /su + id SERVER: UNKNOWN COMMAND Dit staat bovenaan mijn script: new cmd[256]; new idx; new tmp[256]; Bewerkt: 9 mei 2010 door Johannetje2 Reageren
Ophion Geplaatst: 9 mei 2010 Rapport Geplaatst: 9 mei 2010 Probeer dit eens, Mvg, Jeroen. if(strcmp(cmd, "/cuff", true) == 0) { new string[128], pName[MAX_PLAYER_NAME],oName[MAX_PLAYER_NAME]; if(gTeam[playerid] != TEAM_COP0) return SendClientMessage(playerid, 0x919191FF, "Je bent geen cop!"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Gebruik: /cuff [id]"); giveplayerid = strval(tmp); GetPlayerName(playerid, pName, sizeof(pName)); GetPlayerName(giveplayerid, oName, sizeof(oName)); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!"); TogglePlayerControllable(giveplayerid, 0); format(string, sizeof(string), "Cop Message: %s heeft bij %s de handboeien om gedaan!", pName, oName); SendClientMessageToAll(0xE21D2CFF, string); return 1; } Reageren
Johannetje2 Geplaatst: 9 mei 2010 Auteur Rapport Geplaatst: 9 mei 2010 (bewerkt) Ik had zelf nog een script, en die werkt nu Alleen dan nog een vraagje, hoe maak ik een /reclame + tekst commando? Dus dat ik doe, /reclame motor voor $100!! dat er staat: Reclame: Motor voor $100!!, PM Johannetje2(0) voor meer informatie Bewerkt: 9 mei 2010 door Johannetje2 Reageren
Ophion Geplaatst: 9 mei 2010 Rapport Geplaatst: 9 mei 2010 Hier de script voor /reclame. Groetjes, Jeroen. if(strcmp(cmdtext,"/reclame",true, ==0) { new string[256]; new pName[MAX_PLAYER_NAME]; if(!cmdtext[8]) return SendClientMessage(playerid,0xFF0000AA,"Gebruik: /reclame [bericht]"); GetPlayerName(playerid,pName,sizeof(pName)); format(string, sizeof(string), "Reclame: %s, PM %s(%i) voor meer informatie!",cmdtext[8], pName, playerid); SendClientMessageToAll(0xFF0000AA,string); return 1; } Reageren
Johannetje2 Geplaatst: 9 mei 2010 Auteur Rapport Geplaatst: 9 mei 2010 Bedankt! Ik zal hem straks testen. Alleen ff een vraag... Ik heb nu de volgende code: (Weet niet offie werkt) if(strcmp("/wapens", cmdtext, true) == 0) { new playercolor2; playercolor2 = GetPlayerColor(playerid); if (playercolor2 == COLOR_ORANGE) { SendClientMessage(playerid, COLOR_RED, "Je kan geen wapens kopen als je wordt gezocht!"); } return 1; } Maar hoe zet ik er nu een Else functie op? Reageren
Ophion Geplaatst: 9 mei 2010 Rapport Geplaatst: 9 mei 2010 Ik heb het onderaan even neergezet. Groetjes, Jeroen. if(strcmp("/wapens", cmdtext, true) == 0) { new playercolor2; playercolor2 = GetPlayerColor(playerid); if (playercolor2 == COLOR_ORANGE) // Als de kleur oranje is ga dan verder { SendClientMessage(playerid, COLOR_RED, "Je kan geen wapens kopen als je wordt gezocht!"); } else // Als de kleur anders dan oranje is (dus bijvoorbeeld groen), doe dan dit: { SendClientMessage(playerid, COLOR_RED, "Nu kan het wel!"); } return 1; } Reageren
Johannetje2 Geplaatst: 9 mei 2010 Auteur Rapport Geplaatst: 9 mei 2010 Super bedankt! En als slot zoek ik nog iets dat als je bijvoorbeeld /fluister + tekst zegt dat er het volgende gebeurt: Alle mensen binnen een straal van ongeveer 10M kunnen horen wat je zegt, /fluister hey, hallo! Binnen 10 meter: Hey Hallo! Buiten 10 meter: Reageren
Ophion Geplaatst: 10 mei 2010 Rapport Geplaatst: 10 mei 2010 Het is toch wel duidelijk dat ik niet alles ga voorkauwen? Je kan een 'loop' (uitspraak: 'loep') gebruiken om langs elke speler te gaan (MAX_PLAYERS). In deze loop kun je dan gebruik maken van een stock genaamd GetDistanceBetweenPlayers (staat hieronder) en die gebruiken om de afstand tussen de 2 spelers te bepalen. Dan kun je in een if statement zeggen van: if(GetDistanceBetweenPlayers(playerid, variabele-in-jou-loop) < 10) { // Hier de rest, net zoals de /reclame ongeveer } Die 10 staat voor de afstand tussen de spelers (daar moet je misschien met iemand mee experimenteren). Dus ik zou tutorials bij langs gaan die wat uitleggen over loops, en even googelen naar voorbeeld scriptjes. Je kan altijd als je vastloopt even je script posted wat je dan hebt, dan kunnen we je verder helpen. Groetjes, Jeroen. PS. Dit moet helemaal onder aan je script. public GetDistanceBetweenPlayers(playerid,playerid2) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(playerid2,x2,y2,z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(tmpdis); } Reageren
Johannetje2 Geplaatst: 10 mei 2010 Auteur Rapport Geplaatst: 10 mei 2010 Ik kan niks vinden wat mij echt iets zegt over die 'loops' Wat bedoel je hier mee: variabele-in-jou-loop Reageren
Ophion Geplaatst: 10 mei 2010 Rapport Geplaatst: 10 mei 2010 (bewerkt) for(new x = 0; x <= MAX_PLAYERS; x++) { // Hier moet die if statement dus. } Hierboven staat een loop (for statement). En de variabele is dux x. Groetjes, Jeroen. Bewerkt: 10 mei 2010 door Ophion Reageren
Johannetje2 Geplaatst: 10 mei 2010 Auteur Rapport Geplaatst: 10 mei 2010 Het spijt me echt dat ik hier niks van snap! Moet dat dan ook met Y en Z? en wat is // Hier moet die if statement dus. 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.