das geht nur per befehl!
Beiträge von NicoAiko
-
-
du hast statt einem dialog ein befehl raus gemacht der kein befehl ist also son mischmasch ich würds so machen
- erstelle eine Globale Variable für die Speicherung der ID für den 2. Dialog
- erstelle 2 Dialoge in einem wo man die ID angeben soll und die ID dann mit der Variable gespeichert wird in dem 2 lässt du halt die variable abfragen z.b. so
new GlobaleVariable[MAX_PLAYERS]; //ganz oben
//nun bei OnDialogResponseif(dialogid == dialog1)
{
...
...
...
new eingabe = strval(inputtext); //eingabe = der text als integer
GlobaleVariable[playerid] = eingabe; // nun hat die Variable die eingegebe ID aber pass auf das du noch abfragst ob der Spieler online ist sonst musst du die File ändern
}
if(dialogid == dialog2)
{
...
...
...
new lohneingabe = strval(inputtext);
Spieler[GlobaleVariable[playerid]][Lohn] = lohneingabe; // der Spieler mit der eingegeben ID, da wird der lohn mit der eingabe geändert
hoffe konnte helfen -
funkt danke aber der text is irg wie net ganz vollständig ó.ó
da steht: Admin: [aKoE]nanyo hat dich zum Leader der/des
der rest kommt net...
hat einer ne lösung?
//edit fehler gefunden sry/CLOSE/
-
welches return 0; meinste? das bei !strlen?
-
hi erstmal,
ich brauche mal eure hilfe bei einem Befehl den ich auf strcmp gemacht habe aber der will nicht ganz funktionieren...
also hier der befehl
if(!strcmp(cmd,"/setleader",true))
{
if(Acc[playerid][Adminlv] >= 6)
{
new pID,frakid,fraktext[20],string[128],name[MAX_PLAYER_NAME];
params = strtok(cmdtext,var);
if(!strlen(params))
{
SendClientMessage(playerid,grau,"Verwende: /setleader [playerid] [Fraktionsid]");
SendClientMessage(playerid,grau,"Fraktionsids: 1 = SFPD, 2 = Medic, 3 = Fahrschule");
return 0;
}
pID = ReturnUser(params);
params = strtok(cmdtext,var);
if(!strlen(params))
{
SendClientMessage(playerid,grau,"Verwende: /setleader [playerid] [Fraktionsid]");
SendClientMessage(playerid,grau,"Fraktionsids: 1 = SFPD, 2 = Medic, 3 = Fahrschule");
return 0;
}
frakid = strval(params);
if(frakid < 1 || frakid > 3) return SendClientMessage(playerid,rot,"Die Fraktionen gehen von 1 - 3!");
params = strtok(cmdtext,var);
if(!strlen(params))
{
SendClientMessage(playerid,grau,"Verwende: /setleader [playerid] [Fraktionsid]");
SendClientMessage(playerid,grau,"Fraktionsids: 1 = SFPD, 2 = Medic, 3 = Fahrschule");
return 0;
}
frakid = strval(params);
if(frakid == 1) { SetPlayerSkin(playerid,283); Acc[playerid][Skin] = 283; Acc[playerid][Leader] = 1; Acc[playerid][Rank] = 8; fraktext = "SFPD"; }
else if(frakid == 2) { SetPlayerSkin(playerid,274); Acc[playerid][Skin] = 274; Acc[playerid][Leader] = 2; Acc[playerid][Rank] = 8; fraktext = "Medics"; }
else if(frakid == 3) { SetPlayerSkin(playerid,240); Acc[playerid][Skin] = 240; Acc[playerid][Leader] = 3; Acc[playerid][Rank] = 8; fraktext = "Fahrschule"; }
GetPlayerName(playerid,name,sizeof name);
format(string,sizeof string,"Admin: %s hat dich zum Leader der/des %s gemacht.",fraktext);
SendClientMessage(pID,orange,string);
GetPlayerName(pID,name,sizeof name);
format(string,sizeof string,"Du hast %s zum Leader der/des %s gemacht.",fraktext);
SendClientMessage(playerid,orange,string);
return 1;
}
else return SendClientMessage(playerid,rot,"Du bist nicht befugt diesen Befehl zu nutzen!");
}das problem ist wenn ich den eingebe kommt halt
Verwende: /setleader [playerid] [fraktionsid]
Fraktionsids: 1 usw.
Server: UNKNOWN COMMAND
das hab ich eig weg gemacht (also das UNKNOWN COMMAND)
hier der Code dafür
format(falsecmd,sizeof falsecmd,"Den Befehl %s gibt es nicht!",cmdtext);
return SendClientMessage(playerid,rot,falsecmd);
ich arbeite noch nicht lange mit strcmp danke schonmal für eure hilfe
//edit einen fehler behoben aber es wird immernoch UNKNOWN COMMAND angezeigt. -
auf meine frage zurück geht strcmp mit sscanf oder nur mit strtok
-
geht eig strcmp und sscanf? oder ist strcmp nur mit strtok kompatibel?
-
hier mal eine umfrage welche befehlsform ihr nutzt
ich will mal wissen wer von euch was benutzt, das interessiert mich irg-wie xD -
new string[128];
format(string,sizeof string,"Den Befehl gibt es nicht!");
return SendClientMessage(playerid,rot,string);
das ist das was im OnPlayerCommandText drin ist -
hast du im enum auch Float:CarPos_x gemacht? sonst ist das kla das das net geht
-
was löst den einen timebug eig genau aus vllt kann man ja damit helfen
-
d.h. ich soll alles löschen? weil ich hab den script nur gescriptet nicht viel ausgetestet
-
alle befehle zeigen dann nur noch an
SERVER UNKNOWN COMMAND
man kann nichts mehr machen was im script ist z.b. tore mit key öffnen geht net mehr man kann in alle fahrzeuge einsteigen obwohl man garnet der fraktion angehört usw.
-
auf meinem server gibts nen timebug und ich weiß net woran es liegen kann -.- hier mein script im pastebin
vielen dank
-
if (strcmp("/gotosm",cmdtext, true) == 0)
zu
if (strcmp(cmdtext,"/gotosm", true) == 0) -
problem gelöst mit break;
danke trotzdem -
geht net wegen ahInfo
-
oooooooohhhhhhhhhhhhhhhhhhhhh verdammt kann ich stattdessen auch ein
break; rein machen? -
der error sagt das Eingeloggt[playerid] nicht definiert ist also oben new Eingeloggt[MAX_PLAYERS] machen
-
auf die play taste oder die links daneben drücken beide kannste machen