Ganz einfach.
TextDrawEditor InGame benutzen und Deinen TextDraw einrichten.
Das wars auch schon
Ganz einfach.
TextDrawEditor InGame benutzen und Deinen TextDraw einrichten.
Das wars auch schon
Alles anzeigenErstmal würde dein so auch nicht gehen
Müsste so sein:
if(GetPVarInt(playerid,"sprungCount")==1)
{
// der Spieler ist bereits gesprungen
return 1;
}
Aber egal. Zu dem anderen Thema:
Ich dachte immer das man eher nicht so viele PVar's verwenden soll da sie Ressourcen fressen.
Ist das wirklich besser PVar's zu benutzen? :o
Also so einen Quatsch habe ich auch noch nicht gelesen.
Ich erklär Dir mal, einfachstes Programmierwissen.
Ist eine Variable mit 1 definiert, also true, kannst Du
diese in der Anweisung auch einfach so abfragen:
Ist diese Variable nicht definiert, also false, kannst Du
diese durch ein Ausrufezeichen "!" abfragen:
ZUM NACHLESEN aller Operatoren: SAMP -WIKI
Nun aber Schluss, das gehört nicht zum Thema!
Alles anzeigenMit einer Variable.
Z.B.:
new Vari[MAX_PLAYERS];
if(Vari[playerid] == 1)
{
//Deine Aktion
Vari[playerid] = 0;
return 1;
}
else if(Vari[playerid] == 0)
{
//Deine Aktion
Vari[playerid] = 1;
return 1;
}
So vom Prinzip her. Musst du halt anpassen.
Die unsauberen Methoden zur PAWN-Programmierung könnten
nun allmälig eigentlich verblassen... Oder nicht?
Seit dem es die Spieler Variablen gibt, die den Server "schonen",
muss ich den Leuten nicht mehr empfehlen, veraltete Varianten
zu verwenden.
Nur mal so als kleiner Tipp.
Währrend er springt oder er gesprungen ist,
deklarierst Du einfach eine Variable, die bsp.
auf true gesetzt wird und vorher auf false war.
nach dem Sprung
SetPVarInt(playerid, "sprungCount", 1);
dann in der Abfrage
if(GetPVarInt(playerid, "sprungCount"))
{
// der Spieler ist bereits gesprungen
return 1;
}
1 / 10*
Billige Hintergründe, die Schärfe lässt zu wünschen
übrig und eine schlampige Text-Ebene mit einfach
"hingeklatschten" Texten, die nicht zum Bild passen.
Nunja, und den Rand kann man auch schöner machen,
bsp. durch Rundung der Ecken oder ähnliches.
Versuch Dich mal ein bisschen zu steigern.
*1 Punkt, für die Mühe ein Thema zu starten
gibt es keinen direkten Download?
nur nen Pastebin?
Beide Downloadslinks für die PWN und die AMX Datei sind doch angegeben.
Welche Dateien brauchst Du denn noch?
Ich habe es Dir in Deiner PN doch bereits beantwortet.
Du musst das Projekt exportieren.
Dann findest Du die TXT Datei im Scriptfiles Ordner.
Ich habe die drei Textdraws, die für den jeweiligen
Spieler deklariert sein sollten, auch mal dem entsprechend
editiert.
Vielen Dank an BlackAce für den tollen Kommentar!
Ich bin so doof, ich hätte es echt vollkommen übersehen.
Nunja, das Plugin hatten wir ja im Gespräch.
Schonmal klasse, dass Du es released hast.
Mach was draus!
In Ordnung.
In der nächsten Version werde ich einbauen, dass
man nur an bestimmten Positionen k***en gehen kann.
Diese Positionen kann dann jeder selbst in einer
einfachen TXT Datei eintragen und somit nutzen.
@xTechnoStar
Einbauen könnte ich es schon und auch wenn die
Animation sich eher auf's Sitzen als auf's K****
bezieht, scheint mir dies nicht sehr realistisch.
Mal ernsthaft:
Wie viele Leute siehst Du, die irgendwo hink***en?
Nein. Um abzufragen, wo der Status aktuell steht,
benutzt Du folgende Funktion in Deinem Gamemode:
new integerDurst = CallRemoteFunction("getDStatus", "d");
if(integerDurst < 10)
{
...
So einfach funktioniert die Abfrage! http://forum.sa-mp.de/index.php?page=User&userID=22777
ZitatSieht nice aus aber Stuhlgang drang fehlt.
Du bist ja lustig...
Wenn Du mir die Animation dazu zeigst, bau ichs gern ein.
Guten Abend liebe Community!
Da ich mal wieder ein paar Minuten für mich hatte und
natürlich in Langeweile versinken würde, habe ich ein
kleines Filterscript für Euch erstellt.
Einfach und simpel zu nutzen, in jedem Script!
Beschreibung
Um SA-MP etwas realisitischer erscheinen zu lassen, ist ein System,
dass Hunger, Durst und den Harndrang simuliert, wirklich zu empfehlen.
1) kauft in einem 24/7 o.ä. etwas zu essen/trinken
2) ändert den Statuswert einfach via Definition
Oder erstellt Euch bsp. Getränkeautomaten oder einen Imbissstand.
Beim Verzehr der Speise setzt ihr den Hungerwert dann einfach wieder zurück.
Installation
1) FilterScript herunterladen
2) in den Ordner "filterscripts" verschieben
3) in der Server Config bei "filterscripts" einfach "Needs" hinzufügen
Nachdem nächsten Serverneustart sollte das Filterscript
dann geladen werden. Auch per RCON kann es geladen werden.
Verwendung
Nachdem das Filterscript geladen wurde, können Hunger-, Durst-
und Harndrangstatus jederzeit von Euch aus, in Eurem Gamemode
geändert werden. Dazu muss das Filterscript nicht editiert werden.
#define HUNGER_TIME 90000
#define DURST_TIME 60000
#define HARNDRANG_TIME 120000
// GET Status Funktionen
new integerHunger = CallRemoteFunction("getHStatus", "d");
new integerDurst = CallRemoteFunction("getDStatus", "d");
new integerHarndrang = CallRemoteFunction("getPStatus", "d");
// SET Status Funktionen
CallRemoteFunction("updateHStatus", "dd", playerid, WERT[1-10]); // Hungerstatus
CallRemoteFunction("updateDStatus", "dd", playerid, WERT[1-10]); // Durststatus
CallRemoteFunction("updatePStatus", "dd", playerid, WERT[1-10]); // Harndrangwert
Die drei Defines deklarieren den Wert des Timers, der für den jeweiligen
Status, also Hunger, Durst und Harndrang zuständig ist, den Wert zu aktualisieren.
Anstatt WERT[1-10] setzt Du den Wert ein, der für den jeweiligen Status
deklariert werden soll. Um den aktuellen Wert zu erfahren, den der Status
hat, benutzt Du einfach die oberen 3 Funktionen. Alle sind Integer Werte.
Um Euer Bedürfnis des Harndrangs zu decken, müsst Ihr pinkeln gehen.
Pastebin: Link dorthin
Download: PWN , AMX (privater Server)
Credits & Hinweise
Die Entfernung des Urheberrechtshinweises ist nicht gestattet.
Das Script könnt ihr gern editieren und frei benutzen.
Viel Spaß damit und bitte meldet die Bugs!
Freundliche Grüße
4#Future | Fake - Philip
----------
Absolut unsauber...
Den Styletype nicht vergessen!
Erst definierst Du Deine TextDraws,
new Text:TextDraw;
...dann lädst Du Deine TextDraws und
public OnGameModeInit()
{
TextDraw = CreateTextDraw()
...zum Schluss lässt Du sie anzeigen.
TextDrawShowForPlayer(playerid, TextDraw);
[NACHTRAG]
In der Funktion OnGameModeInit() musst Du
übrigens nicht jeden TextDraw einzeln den Spieler IDs
zuweisen.
Hau alle in eine Schleife rein.
Alles andere ist Quatsch.
Da Du uns die Funktion OnDialogResponse nicht
vollkommen geschickt hast, nehme ich an, dass Du
also die Klammern { und } vergessen hast.
Versuchs so und füge Deine Daten ein:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 0000)
{
if(response)
{
switch()
{
case 1:
// Vari 1
// Vari 2
case 2:
// Vari 3
// Vari 4
case 3:
// Vari 5
// Vari 6
}
}
else
{
// ESC
}
}
return 1; // nicht vergessen
}