Ich komme aus Gronau in Nordrhein Westfalen.
- R.L.
Ich komme aus Gronau in Nordrhein Westfalen.
- R.L.
Entweder kannst du das Callback OnPlayerKeyStateChange nutzen und abfragen, ob der Spieler die Taste "KEY_FIRE" genutzt hat. Dann vielleicht noch abfragen, ob er da eine Waffe hatte.
Beispiel:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys && KEY_FIRE)
{
if(GetPlayerWeapon(playerid) >0)
{
SetPlayerColor(playerid,FARBE);
}
}
{
Alles anzeigen
Schließlich dann noch einen Timer von 3 Sekunden erstellen und seine Farbe auf Transparent setzen.
- R.L.
Guck mal auf Wikipedia:
http://wiki.sa-mp.com/wiki/OnPlayerDisconnect
public OnPlayerDisconnect(playerid, reason)
{
new
string[64],
name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
switch(reason)
{
case 0: format(string,sizeof string,"%s left the server. (Timed out)",name);
case 1: format(string,sizeof string,"%s left the server. (Leaving)",name);
case 2: format(string,sizeof string,"%s left the server. (Kicked/Banned)",name);
}
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}
Alles anzeigen
- R.L.
Vielleicht falsches Pawno geöffnet?
Geh mal in den Hauptordner von Pawno, starte es als Administrator, öffne das Script manuell und kompiliere es dann. Klappt ja vielleicht.
- R.L.
Ganz okay.
Der Unterschied zwischen 1.0 und 2.0 ist jetzt, dass bei Version 2.0 der Spieler ein Gehalt mit einem zufälligen Gehalt erhält?
- R.L.
Ja, gute Überlegung, doch benutz lieber das Callback OnPlayerTakeDamage, da OnPlayerGiveDamage auch verwendet wird, wenn der Spieler auf dem Desktop ist.
Nur SetPlayerHealth geht nicht. Mach es so:
new Float:health; GetPlayerHealth(damagedid, health);
SetPlayerHealth(damagedid, health-schaden);
Und die waffenid 24 ist keine Shotgun, sondern eine Desert Eagle. Die id einer Shotgun ist 25.
- R.L.
Ganz gutes Filterscript,
doch bei mir erscheint kein Dialog, nachdem ich die Movement-Speed festgelegt habe. Alles schließt sich. Hab auch im Script direkt geguckt, ob es vielleicht an der dialog-id liegt, aber negativ.
Woran liegt das? Drebin:
Ne ne, strrest verlangt ja einen string.
So muss es sein:
if( strcmp("/capass", cmdtext, true, 10) == 0)
{
new gMessage[128];
gMessage = strrest(cmdtext,idx);
if(strlen(gMessage)==0)return SendClientMessage(playerid, COLOR_GREY," FEHLER: /capass [neues passwort] ");
new newpass[64];
format(newpass,sizeof(newpass),"%s",gMessage);
return 1;
}
off topic: Das PW-changen wird hier aber nichts bringen,weil newpass keine globale Variable ist
Eigentlich ganz easy. Du verwendest einfach anstatt einer Variable für Wanteds, zwei.
Sagen wir er geht zu den Cops, dann machst Du das so: (natürlich an deine Variablen anpassen)
SetPVarInt(playerid,"oldWanteds",GetPVarInt(playerid,"Wanteds")); // Die Variable "oldWanteds" musst du dann ggf. auch speichern per dini / mysql
SetPVarInt(playerid,"Wanteds",0); // Und dann setzen wir den Wert auf 0, da er ja bei den Cops keine Wanteds haben kann!
Okay, so weit so gut. Wenn er dann doch zu den Zivilisten gehen will, schreibst Du folgendes auf:
SetPVarInt(playerid,"Wanteds",GetPVarInt(playerid,"oldWanteds")); // er erhält seine Wanteds zurück, die er früher hatte
SetPVarInt(playerid,"oldWanteds",0); // die Variable wird auf 0 gesetzt, da wir sie jetzt nicht brauchen
So einfach ist das eigentlich.
Du musst die Funktion strrest benutzen.
stock strrest(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[128];
while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Das Bild, welches direkt zur Hauptsache von SA-Reallife führt, wird aber nach einer Zeit nerven, denke ich. Ansonsten ganz nett, vor allem die automatische Vervollständigung der Codes.
- R.L.