Hallo Leute ,
Ich brauche einen befehl ( /fesseln ) um leute zu fesseln kann mir jmd inene posten ? habe leider garkeine ahnung wie ich daran gehen soll bitte so schnell wie mödlich posten hab nur noch bis montag nachmittag zeit!
/fesseln und /entfessseln
- BenZin75
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Hi,
setz unter OnPlayerCommandText
new idx, tmp[256], cmd[256];
cmd = strtok(cmdtext, idx);
Und dann darunter (oder dahin wo der Befehl soll, hauptsache unter OnPlayerCommandText)
if(strcmp(cmd, "/fesseln", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xAFAFAFAA, "Info: /fesseln [PlayerID/Name]");
return 1;
}
new player;
player = ReturnUser(tmp);
TogglePlayerControllable(player, 0);
}
}Habs jetzt nicht getestet, müsste aber gehn.
//E: Bei /entfesseln genauso nur das du /fesseln auf /entfesseln und TogglePlayerControllable(player, 0); auf TogglePlayerControllable(player, 1); änderst
-
Entwerder bin ich zu blöd oder da sind wirklich fehler , hbae 5 errors hab kp woran des liegen könnte....
-
zeig doch mal die Errors
if(!strcmp(strget(cmdtext,0),"/cuff"))
{
if(Spieler[playerid][team] == 1) return SendClientMessage(playerid, rot,"Du bist kein Polizist");
{
new ziel = strval(strget(cmdtext,1));
new Float:pos[3];if(!strlen(strget(cmdtext,1)))
{
SendClientMessage(playerid,weiss,"Benutzung: /cuff [ID]");
return 1;
}
GetPlayerPos(ziel, pos[0], pos[1], pos[2]);if(IsPlayerInRangeOfPoint(playerid,1.0,pos[0] , pos[1], pos[2])) return SendClientMessage(playerid, rot,"Du bist nicht in der nähe des ziels");
{
TogglePlayerControllable(ziel, 0);
SendClientMessage(ziel,grün,"Du wurdest festgenommen");
SendClientMessage(playerid,grün,"Sie haben den Verbrecher Festgenommen.");
return 1;
}
grußt.S
-
\Desktop\sa-mp server\gamemodes\selfmade.pwn(395) : error 017: undefined symbol "strtok"
\Desktop\sa-mp server\gamemodes\selfmade.pwn(395) : error 033: array must be indexed (variable "cmd")
\Desktop\sa-mp server\gamemodes\selfmade.pwn(401) : error 017: undefined symbol "strtok"
\Desktop\sa-mp server\gamemodes\selfmade.pwn(401) : error 033: array must be indexed (variable "cmd")
\Desktop\sa-mp server\gamemodes\selfmade.pwn(408) : error 017: undefined symbol "ReturnUser" Der Smiley ist natürlich acht) -
dutils + utils includes fehlen
-
Wie bau ich die rein...? Sry hab keine ahnung
-
#include dutils
#include utils
sollte gnügen davor musst du aber dich vergewissern das die includes auch in deinem PAWN Include Order sind
gruß
t.S -
Alles weg bis auf dieser fehler
\Desktop\sa-mp server\gamemodes\selfmade.pwn(7) : fatal error 100: cannot read from file: "dutils"
dann hab ichs brauche vllt jez noch -
Lesen lernen
schau dir mein Beitrag genau an und versteh es.
Und English Kenntnisse muss man besitzen -
Hmm...
Verstehe leider net sry...
Hab ja GARKEINE ahnung hier , ann mir denn jmd beantworten wie ich diesen fehler beheben kann? -
Zitat
davor musst du aber dich vergewissern das die includes auch in deinem PAWN Include Order sind
Hier was sagt dir dieser Text??
-
ja das die im pawn include ordner sein müssen , wie bau ich die rein?
-
runter laden und rein tuen
ich schätze du solltest erstmal wiki druch lesen -
versuchs mal so:
aus cmd = cmdtext
aus strtok = strcmp
aus ReturnUser = ReturnPlayer << Bin ich mir nicht sicher, aber das darüber müsste funktionieren! -
Also wenn ich mich mal einmischen darf
Ich habe meinen Befehl so gemacht:
Allerdings arbeite ich mit "STRGET", dass müsst ihr bei euch noch definieren oder umändern
Ich habe einen /freeze Befehl und einen /unfreeze Befehl ich finde das so irgendwie leichter als das was ihr da macht.EDIT: Ihr müsst auch noch euer Admins System ändern. Also das: pInfo[...][...] in euer System.
//------------------Freeze-----------------
if(strcmp(strget(cmdtext, 0),"/freeze", true) == 0)
{
if(pInfo[playerid][alevel] >= 3)
{
if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_GRUEN, "Benutze: /freeze [ID]");
{
new msg[512];
new msg2[512];
new ziel = strval(strget(cmdtext,1));
TogglePlayerControllable(ziel, 0);
format(msg, sizeof(msg), "Du hast %d Gefesselt", ziel);
format(msg2, sizeof(msg2), "Du wurdest von %d Gefesselt", playerid);
SCM(playerid, COLOR_HELL_BLAU, msg);
SCM(ziel, COLOR_HELL_BLAU, msg2);
}
}else{
SCM(playerid, COLOR_ROT, "Du bist kein Level 3 Admin");
}
return 1;
}//------------------unFreeze---------------
if(strcmp(strget(cmdtext, 0),"/unfreeze", true) == 0)
{
if(pInfo[playerid][alevel] >= 3)
{
if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_GRUEN, "Benutze: /unfreeze [ID]");
{
new msg[512];
new msg2[512];
new ziel = strval(strget(cmdtext,1));TogglePlayerControllable(ziel, 1);
format(msg, sizeof(msg), "Du hast %d Entfesselt", ziel);
format(msg2, sizeof(msg2), "Du wurdest von %d Entfesselt", playerid);SCM(playerid, COLOR_HELL_BLAU, msg);
SCM(ziel, COLOR_HELL_BLAU, msg2);
}
}else{
SCM(playerid, COLOR_ROT, "Du bist kein Level 3 Admin");
}
return 1;
}PS: Ich hoffe es hat euch geholfen.
MFG Kompressor
-
Also ich habe es so:
Ganz unten wird strget definiert damit keine error kommen wie: undefined symbol: strget
//---------------------STRGET------------------//
stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search i == strlen(strx) strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
}nun wurde strget definiert. Dann kommen die befehle;
if(strcmp(strget(cmdtext, 0), "/cuff", true) == 0)
{
if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_GREY, "Benutze: /cuff [playerid]");
{
new zielname[512];
new playername[512];
new ziel = strval(strget(cmdtext,1));
new msg[512];
new msg2[512];GetPlayerName(ziel, zielname, sizeof(zielname));
GetPlayerName(playerid, playername, sizeof(playername));TogglePlayerControllable(ziel,0);
format(msg, sizeof(msg),"Du hast %s Handschellen angelegt",zielname);
format(msg2, sizeof(msg2),"Officer %s hat dir Handschellen angelegt!",playername);SendClientMessage(playerid, orange, msg);
SendClientMessage(ziel, orange, msg2);
}
return 1;
}if(strcmp(strget(cmdtext, 0), "/uncuff", true) == 0)
{
if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_GREY, "Benutze: /uncuff [playerid]");
{
new zielname[512];
new playername[512];
new ziel = strval(strget(cmdtext,1));
new msg[512];
new msg2[512];GetPlayerName(ziel, zielname, sizeof(zielname));
GetPlayerName(playerid, playername, sizeof(playername));TogglePlayerControllable(ziel,1);
format(msg, sizeof(msg),"Du hast %s´s Handschellen abgenommen",zielname);
format(msg2, sizeof(msg2),"Officer %s hat dir deine Handschellen abgenommen!",playername);SendClientMessage(playerid, orange, msg);
SendClientMessage(ziel, orange, msg2);
}
return 1;
}Das wars aber nun kann jeder diesen Befehl nutzen deshalb würde ich es mit GetPlayerTeam noch machen, falls du Teams in deinem script hast.
-
Also das Problem ist folgendes : Wenn ich dein strget unten reinfüge kommen genauso wie gesagt undefiended symbol oder wie es heisst, ich schätze mal das ist das problem weiß nicht genau brauche schnell hilfe