Muss über OnGameModeInit, dann gehts.
Beiträge von [C]Jack
-
-
Hey,
ich stehe gerade irgendwie aufm Schlauch.. Ich möchte in einem CMD Abfragen, ob ein Spieler (Nur der Name ist gegeben) online ist.
Bisher hab ich den fehler, dass wenn ich frage, ob zB. Joe online ist und jemand on ist der "Joe" in seinem Namen hat (zB. Joe.Nachname) dann wird angezeigt, dass Joe online wär..
So hab ich es nämlich bisher gemacht:
if(IsPlayerConnected(ReturnUser(name))) return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist eingeloggt! Nutze: /ban [playerid/name] [grund]");
Aber so ist es ja falschHoffe mir kann jemand helfen
-
Wow, wie immer sehr nice!
10/10 -
Sieht gut aus find ich
-
Tab + ALT um es nach links zu verschieben
-
Wenn du dein Geld in einer Variable speicherst könntest du das ganze so abfragen:
if(PlayerMoney[playerid]<1)return SendClientMessage(playerid,0xFFFFFFFF, "Du hast nicht genügend Geld um dir das zu kaufen!"); -
Soll das ein 3D Text sein?
Ja sollte ein 3D Text seinKaliber:
Danke ich werd es mal ausprobieren/edit: Hat vielleicht noch jemand eine Idee wie man das lösen könnte? Denn wenn dort "Return" steht hilft mir das leider auch nicht viel weiter
-
Abend,
ich frage mich gerade, wie ich einen Key als String ausdrücken kann, dass heißt wenn ich zB. gern einen Text anzeigen möchte "Enter zum betreten".
Wenn der Spieler alerdings den key "KEY_SECONDARY_ATTACK" auf einer anderen Taste gelegt hat soll dort diese Taste stehen.
So hab ich es schon ausprobiert, funktioniert aber nicht:Hoffe mir kann da jemand weiterhelen
mfg
-
Es gibt kein Krankenhaus Interior. Müsstest dir selbst etwas mappen
-
Danke dir
Funktioniert sogar -
Das würde so nicht klappen...
jenachdem wie du den Panzer erstellt... wie du den Parameter als Farbe ersetzt hast, wird, wenn du z.B die Farbe 1 eingetragen hast, in der saveposition.txt auch eine 1 stehen
Wie wärs wenn man den Panzer im debug Modus von SAMP erstellt.
Dort werden Fahrzeuge immer in den Standardfarben gespawnt zB. Copcars in Schwarz Weiß usw. -
Ich hab manchmal auch ein ähnliches Problem.
Wenn ich was am Script verändere gehts dann auch bei mir wieder.. -
Gutes Tutorial muss man schon sagen!
Eine Sache ist allerdings ein klein wenig problematisch und daher auch meine Frage.
Gibt es noch eine Altanative als das Passwort beim Login so zu überprüfen:
if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
Das Problem ist hier, dass er nicht zwischen Groß- und Kleinbuchstaben unterscheidet.. -
Freut mich zu hörn'
Gruß
Joe -
new newpass[64] = cmdtext;
cmdtext gibt doch genau das wieder, was man hinter dem Befehl eingegeben hat#Edit: Falsch!
So müsste es gehen:
if( strcmp("/capass", cmdtext, true, 10) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid,Grau,"[Benutze]: /capass [New Password]");
return 1;
}
new newpass[64] = (result);
return 1;
} -
Abend, ziel ist es, dass wenn ich beispielsweise "/id eter" eingebe und ein Spieler Namens "Peter" auf dem Server ist
er angezeigt wird. Wenn nun auch noch ein Spieler Namens "Kreter" auf dem Server ist sollte dieser Spieler ebenfalls angezeigt werden.
Mein Ansatz:
if(strcmp(cmd, "/id", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_DBLUE, "nutze: /id [id/spielername]");
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
new name[65];
name = SpielerName(i);
if(strfind(name,cmdtext,true) != -1)
{
format(string, sizeof(string), "ID: (%d) %s, Level: %d",i,name,SpielerInfo[i][pLevel]);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
}
return 1;
}#Edit:
Hab nun geschafft, dass ich ein Teil des Namens eingeben kann und alle die einen solchen Teil im Namen haben werden angezeigt, allerdings ist mein Problem nun, dass ich altanativ trotzdem noch gern zB. /id 1 eingebe möchte.
Wie füg ich das nun ein?
if(strcmp(cmd, "/id", true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid,COLOR_DBLUE, "* NUTZE: /id [{C80000}id/spielername{2641FE}]");
return 1;
}
if(strlen(result) < 3)
{
SendClientMessage(playerid,COLOR_GREY, "* INFO: Mindestens 3 Buchstaben!");
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
new name[65];
name = SpielerName(i);
//if(strfind(text,SchimpfWort[i],true) != -1)
if(strfind(name,(result),true) != -1)
{
format(string, sizeof(string), "ID: (%d) %s, Level: %d",i,name,SpielerInfo[i][pLevel]);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}Gruß
Joe -
Edit: Joe.
Deine Variable netto muss aber ne Float sein, sonst wird das nix, solange du nicht rundest.
Rundet er da nicht automatisch?
Hab in meinem PayDay Script auch kein Float und er rundet es:
new zinsen = (SpielerInfo[playerid][pKonto]/1000)*(zinssatz); -
wie rechnet man z.B. wenn man $1000 verdient und die Steuern 25% sind, wie rechnet man in Samp aus wie viel die Steuern in $ betragen?
Ganz einfach eine Rechenaufgabe schreiben:
new lohn = 1000;
new steuern = 25;
new netto = lohn\100*75; // ganz einfacher Dreisatz. Bei dieser Aufgabe werden zB. von den 1000$ Lohn 25% Steuern abgezogen. -
Kein Problem
Wenn es nun 100%-ig funktioniert kannst du auch erst mal alles was mit LetDoorsLocked ausklammern.Gruß
Joe -
Ahaa das ist also ein Timer, dann ist das gespame natürlich kein Wunder
Dann klammer SetTimer("LetDoorsLocked".... erst mal aus ( // Kommentar Funktion ) und
ergänze das hier unter OnPlayerEnterVehicle:if(Dtc_Carlock[vehicleid])
{
if(vehicleid == PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId])
{
SetVehicleParamsForPlayer(vehicleid,playerid,0,0);
SendClientMessage(playerid,0xFFFFFFFF,"Als Besitzer des Fahrzeugs kommst du rein. Für andere Spieler ist es allerdings abgeschlossen!");
}
else
{
SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
SendClientMessage(playerid,0xFF00FF00,"Fahrzeug abgeschlossen!");
}
}