Okay kann ich das ganze jetz in 'nen Timer packen das es so alle 5 Sekunden abfragt weil wenn ein Spieler geht soll es ja runterzählen
// Edit
Okay kann ich das ganze jetz in 'nen Timer packen das es so alle 5 Sekunden abfragt weil wenn ein Spieler geht soll es ja runterzählen
// Edit
Ja das untere sehe ich den Fehler aber ich rede auch von CountUser
Habe das ganze jetzt mal ein bischen verändert nur stimmt das nicht ganz wenn ich jetzt Beispielsweiße einen Spieler kicke steht dann -1 da statt 1
CountAdmins()
{
new string[50],count=0;
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!isPlayerAnAdmin(i,1))continue;
count++;
}
format(string,sizeof(string),"Admin's online: %d",count);
TextDrawSetString(Textdraw2, string);
}
CountUser()
{
new string[50],count=0;
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
count++;
}
format(string,sizeof(string),"Spieler: %d",count);
TextDrawSetString(Textdraw0, string);
}
Bei Kick und Ban habe ich halt jeweils CountAdmins(); und CountUser(); und bei OnPlayerConnect Und Disconnect
Bei Admin habe ich das bei OnPlayerSpawn
if(!isPlayerAnAdmin(playerid,1))return 1;
admincount++;
new stringztz[50];
format(stringztz,sizeof(stringztz),"Admin's online: %d",admincount);
TextDrawSetString(Textdraw2, stringztz);
wie kann man verhindern das das auf - springt?
Hallo ich habe mir mal einen Playercounter erstellt den ich nun in einem Textdraw wieder geben will
In einem Befehl geht das ganze schonmal
ocmd:he(playerid,params[])
{
new string[50];
format(string,sizeof(string),"Zur Zeit sind %d Spieler auf dem Server.",playcount);
SendClientMessage(playerid,ROT,string);
return 1;
}
Doch wie bekomme ich das nun in ein Textdraw? Ich weiß zwar das das mit SetTextDrawString geht aber so genau nicht.
Bei OnPlayerConnect:
playcount++;
Disconnect:
playcount--; und oben halt die Definition
Hey bei meinem Dialog wird immer nur ein Admin angezeigt obwohl 2 online sind was ist falsch? oO
ocmd:admins(playerid,params[])
{
new text[100];
new string[128],name[MAX_PLAYER_NAME],var,level;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && isPlayerAnAdmin(i,1))
{
if(GetPVarInt(i,"Adminlevel")==1) {text = "Moderator"; }
if(GetPVarInt(i,"Adminlevel")==2) {text = "Lite Admin"; }
if(GetPVarInt(i,"Adminlevel")==3) {text = "Admin"; }
if(GetPVarInt(i,"Adminlevel")==4) {text = "Full Admin"; }
if(GetPVarInt(i,"Adminlevel")==5) {text = "Server Leader"; }
format(string, sizeof(string), "{F5FF00}%s (ID: %d) - {2DFF00}Level %d {F00000}(%s)",PlayerName(i),playerid,GetPVarInt(i,"Adminlevel"),text);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"{F00000}Admins",string,"Ok","");
var++;
}
}
if(!var)
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"{F00000}Admins","{F00000}Zur Zeit sind keine Admins online!","Ok","");
return 1;
}
Hat wohl was mit der Schleife bzw dem string zu tun.
Dann zeig mal den Code, und das was nicht funktioniert
Ist doch in der a_samp :o
Siehe oben
Nein es ist eine [MAX_PLAYERS] Variable die ich dann mit [playerid] unten halt ausgebe
if(testjob[playerid] == 9)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1467.5015,-1016.9832,25.6237,10);
new string[100];
format(string,sizeof(string),"[Tuning Garage] Hallo %s, bringe bitte unsere Geldkasseten in die Zentralbank.",PlayerName(playerid));
SendClientMessage(playerid,GELB,string);
testjob[playerid]=10;
return 1;
if(testjob[playerid] == 10)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
repair[playerid]=0;
new string[100];
format(string,sizeof(string),"%s (ID: %d) hat den Geldtransport erfolgreich abgeliefert.",PlayerName(playerid),playerid);
SendClientMessageToAll(GRÜN,string);
injob[playerid]=0;
Job[playerid]=0;
testjob[playerid]=0;
SetPVarInt(playerid,"Geldtransporte", GetPVarInt (playerid, "Geldtransporte") + 1);
return 1; // getan was zu tun ist also ENDE
}
Hier bei der 9 geht der Code noch doch bei 10 passiert nichts
// Pwn Code
Hallo kann es sein das Variablen nur bis 9 funktionieren?
Weil ich habe Variablen bis zu 9 genutzt es funktioniert alles bei 10 geht es nicht mehr. Gibt es also eine Begrenzung dort?
Grüße
Kann es sein das eine Variabel in meinem fall testjob[playerid] nur bis 9 geht und ab 10 buggt?
Hey habe nochmal ein kleines Problemchen ... xD
Und zwar kann ich den Job komplett ausführen das klappt wunderbar doch wenn ich nochmal den Job anfangen will werde ich a) nicht in's Fahrzeug gepackt bzw das Fahrzeug wird nicht erstellt und b) kommt der Text als ob ich im Zielcheckpoint wäre oO da ist wohl 'ne Variable falsch
if(testjob[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
repair[playerid]=0;
new string[100];
format(string,sizeof(string),"%s (ID: %d) hat den Geldtransport erfolgreich abgeliefert.",PlayerName(playerid),playerid);
SendClientMessageToAll(GRÜN,string);
injob[playerid]=0;
Job[playerid]=0;
SetPVarInt(playerid,"Geldtransporte", GetPVarInt (playerid, "Geldtransporte") + 1);
return 1;
Das hier ist der Zielcheckpoint hier ist eigentlich alles auf 0 so wenn ich jetzt wieder 'nen neuen Job anfange und in den Checkpoint gehe ist dieser Code
if(jobangenommen[playerid]==1)
{
SendClientMessage(playerid,ROT,"Du hast Deinen Punkt erreicht.!");
GeldTransportAuto[playerid] = CreateVehicle(428,1246.1964,-2055.7898,59.8090,270.6992,0,0,-1);
SetPlayerPos(playerid,1246.1964,-2055.7898,59.8090);
SetVehiclePos(GeldTransportAuto[playerid],1246.1964,-2055.7898,59.8090);
PutPlayerInVehicle(playerid,GeldTransportAuto[playerid],0);
SendClientMessage(playerid,BLAU,"Du hast nun Dein Dienstfahrzeug erhalten, wähle nun Deine Route aus die Du fahren möchtest.");
ShowPlayerDialog(playerid,DIALOG_ROUTE,DIALOG_STYLE_LIST,"Routen","Burger Shot North -> Zentralbank\nCluckin' Bell -> Zentralbank","Ok","Abbrechen");
}
Der Dialog wird zwar angezeigt aber es wird kein Vehicle erstellt und es kommt folgender Text "%s (ID: %d) hat den Geldtransport erfolgreich abgeliefert." also der vom Zielcheckpoint das dürfte eigentlich nicht sein, was ist falsch bzw welche Variable???
Hey ich wollte fragen wie man OCMD Befehle blockieren kann bei strcmp ist das ganze ja ziemlich einfach in einer Zeile nur muss ich das über jeden OCMD Befehl machen oder kann ich das wie bei strcmp irgentwo global machen?
strcmp:
f(injob[playerid]==1)return SendClientMessage(playerid,ROT,"Du kannst keine Befehle im Job benutzen!");
Grüße
Wie macht man es mit Random das man zwischen x und x Geld bekommt?
Also sagen wir eine Summe zwischen 100 und 1000$.?
Wäre gut wenn ich noch ne Lösung zur Sperrung von ALLEN Befehlen bekomme
Alles anzeigen@Gobelzz:
if(testjob[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
testjob[playerid] = 2;
SetPlayerCheckpoint(playerid,1465.9991,-1016.5866,25.7718,10);
}
if(testjob[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
}
läuft von oben nach unten durch -> erste if abfrage stimmt und es wird testjob[playerid] zu 2 geändert und DANN wird erst das 2te if geprüft und da ist testjob[playerid] folglich schon 2 (= Beides wird ausgeführt)
Hier richtig:
if(testjob[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
testjob[playerid] = 2;
SetPlayerCheckpoint(playerid,1465.9991,-1016.5866,25.7718,10);
return 1; // getan was zu tun ist also ENDE
}
if(testjob[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
return 1; // getan was zu tun ist also ENDE
}
Vielen Dank noch eine andere Frage wenn ich jetzt in testjob bin wie kann ich verhindern das ich Befehle eingeben kann bei OnPlayerCommandText weiß ich es ja nur ich habe auch viele Befehle mit OCMD gemacht wie funktioniert das dort? oO
Alles anzeigenHallo ich bekomme die Kriese.
Ich probiere schon seit Minuten an diesem Problem rum aber ich bekomme es einfach nicht gelöst ...
Also mein Problem ist das ich 2 Checkpoints habe erst beim 2. Checkpoint soll das Fahrzeug weggenommen werden das passiert aber schon beim 1. und wenn man im 1. Checkpoint ankommt soll eigentlich der 2. angezeigt werden was aber auch nicht der Fall ist.
Hier die Codes:
Oben definiert:
new testjob[MAX_PLAYERS];
In einem Dialog kann man dann den Job bzw die Route wählen dort ist folgender Code
if(dialogid == DIALOG_ROUTE)
{
if(!response)return 1;
{
if(listitem==0)
{
testjob[playerid] = 1;
SetPlayerCheckpoint(playerid,1191.5402,-923.7773,43.1096,10);
}
}
return 1;
}
Hier wird der erste Checkpoint gesetzt das funktioniert auch nur wenn ich an diesem Checkpoint ankomme wird kein neuer CP gesetzt und das Vehicle wird mir entnommen was erst bei Checkpoint 2 der Fall sein sollte.
OnPlayerEnterCheckpoint
if(testjob[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
testjob[playerid] = 2;
SetPlayerCheckpoint(playerid,1465.9991,-1016.5866,25.7718,10);
}
if(testjob[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
}
Ich hoffe ihr könnt mir helfen
// Berichtigt
Hallo ich bekomme die Kriese.
Ich probiere schon seit Minuten an diesem Problem rum aber ich bekomme es einfach nicht gelöst ...
Also mein Problem ist das ich 2 Checkpoints habe erst beim 2. Checkpoint soll das Fahrzeug weggenommen werden das passiert aber schon beim 1. und wenn man im 1. Checkpoint ankommt soll eigentlich der 2. angezeigt werden was aber auch nicht der Fall ist.
Hier die Codes:
Oben definiert:
new testjob[MAX_PLAYERS];
In einem Dialog kann man dann den Job bzw die Route wählen dort ist folgender Code
if(dialogid == DIALOG_ROUTE)
{
if(!response)return 1;
{
if(listitem==0)
{
testjob[playerid] = 1;
SetPlayerCheckpoint(playerid,1191.5402,-923.7773,43.1096,10);
}
}
return 1;
}
Hier wird der erste Checkpoint gesetzt das funktioniert auch nur wenn ich an diesem Checkpoint ankomme wird kein neuer CP gesetzt und das Vehicle wird mir entnommen was erst bei Checkpoint 2 der Fall sein sollte.
OnPlayerEnterCheckpoint
if(testjob[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
testjob[playerid] = 2;
SetPlayerCheckpoint(playerid,1465.9991,-1016.5866,25.7718,10);
}
if(testjob[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
}
Ich hoffe ihr könnt mir helfen
Hallo ich bekomme die Kriese.
Ich probiere schon seit Minuten an diesem Problem rum aber ich bekomme es einfach nicht gelöst ...
Also mein Problem ist das ich 2 Checkpoints habe erst beim 2. Checkpoint soll das Fahrzeug weggenommen werden das passiert aber schon beim 1. und wenn man im 1. Checkpoint ankommt soll eigentlich der 2. angezeigt werden was aber auch nicht der Fall ist.
Hier die Codes:
Oben definiert:
new testjob[MAX_PLAYERS];
In einem Dialog kann man dann den Job bzw die Route wählen dort ist folgender Code
if(dialogid == DIALOG_ROUTE)
{
if(!response)return 1;
{
if(listitem==0)
{
testjob[playerid] = 1;
SetPlayerCheckpoint(playerid,1191.5402,-923.7773,43.1096,10);
}
}
return 1;
}
Hier wird der erste Checkpoint gesetzt das funktioniert auch nur wenn ich an diesem Checkpoint ankomme wird kein neuer CP gesetzt und das Vehicle wird mir entnommen was erst bei Checkpoint 2 der Fall sein sollte.
OnPlayerEnterCheckpoint
if(testjob[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
testjob[playerid] = 2;
SetPlayerCheckpoint(playerid,1465.9991,-1016.5866,25.7718,10);
}
if(testjob[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
DestroyVehicle(GeldTransportAuto[playerid]);
}
Ich hoffe ihr könnt mir helfen
Bei case 6, hast du ausversehen eine { gesetzt, muss aber so aussehen:
case 6: SetPlayerFightingStyle(playerid,FIGHT_STYLE_ELBOW);
mfg.
Nope immer noch die Fehler xD
switch(GetPVarInt(playerid,"Fightstyle"))
{
case 1:{SetPlayerFightingStyle(playerid,FIGHT_STYLE_NORMAL);}
case 2:{SetPlayerFightingStyle(playerid,FIGHT_STYLE_BOXING);}
case 3:{SetPlayerFightingStyle(playerid,FIGHT_STYLE_KUNGFU);}
case 4:{SetPlayerFightingStyle(playerid,FIGHT_STYLE_KNEEHEAD);}
case 5:{SetPlayerFightingStyle(playerid,FIGHT_STYLE_GRABKICK);}
case 6:{SetPlayerFightingStyle{playerid,FIGHT_STYLE_ELBOW);}
}
Ich bekomme folgende Errors:
error 028: invalid subscript (not an array or too many subscripts): "SetPlayerFightingStyle"
warning 215: expression has no effect
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
Was hat er für ein Problem mit der Fightstyle Funktion?