new dest[128];
cache_get_field_content(0, "version", dest);
TextDrawSetString(VersionsDraw,dest);
So sollte es klappen.
new dest[128];
cache_get_field_content(0, "version", dest);
TextDrawSetString(VersionsDraw,dest);
So sollte es klappen.
Will dich nicht drängen, nur wann denkst du kommst du dazu den fix einzubauen?
Mich würde es mal brennend interessieren wie viel cmds wir wirklich haben^^
Kein Problem. Mir sind einige wichtige Dinge dazwischen gekommen, ich werde schauen es bis Ende dieser Woche fertig zu machen.
Habe es nicht vergessen.
EDIT: [BE]axi92: Ich muss dich leider noch etwas vertrösten. Ich hoffe, dass es mir diese Woche reicht, habe zur Zeit sehr viel um die Ohren. Ist nicht vergessen, steht ganz oben in der To-Do-Liste. Tut mir Leid, dass es so lange dauert, ab nächstes Jahr bessert sich das wieder, falls es dann nochmals Änderungen bedarf.
Laut dem Log stimmt alles. Dir gehört kein Haus, sprich du wirst auch zu keinem Haus teleportiert (steht ja auch nicht im Log, dass du zu einem Haus teleportiert worden bist).
Da solltest du bei deinem spawnchange Befehl eben abfragen, ob dem Benutzer, der sich den Spawn zum Haus setzt, überhaupt ein Haus gehört. Wenn nicht, gibst du eine Fehlermeldung aus.
Kauf dir doch testweise mal ein Haus und versuche es dann. Laut Log müsste es dann ohne Probleme klappen (laut Code auch).
Dann liegt es möglicherweise daran, dass du das Limit der anzuzeigenden Objekte erreicht hast, sprich der Streamer alle 1000 Objekte anzeigt. Das kannst du mit dieser Einstellung verhindern:
Streamer_SetVisibleItems(STREAMER_TYPE_OBJECT, 800);
So hast du noch 200 Objekte Platz.
Sieht an sich nicht schlecht aus, allerdings bin ich kein Syntaxanalysator, deshalb teste es doch einfach kurz aus. Außerdem weiß ich auch nicht wie deine Tabellen aussehen, wenn da was falsch bzw anders ist, kann der Code auch nicht klappen. Einfach mal probieren. Ist ja nicht so, dass dein Rechner explodiert wenn es nicht klappt
Eine Sache hindert zwar die Funktionsfähigkeit nicht, ist aber unnötig.
In LoadRang gibst du als Parameter die FraktionsID mit, nutzt dann aber eine Schleife um alle Fraktionen zu laden. Die Schleife kannst du weg machen und das i durch frakid ersetzen.
Fraktionen mit Rängen:
http://forum.sa-mp.com/showthread.php?t=368631
Lohn/PayDay:
[ SCRIPTING ] Individuellen Payday Scripten [Updated]
Nichts, außer du willst was mitgeben. Was macht du denn ingame wenn du /port eingibst? Gibst du was dahinter ein? Wenn nicht, bleibt es so wie es ist.
Ansonsten, was willst du da eingeben? Das muss dann da rein.
return ocmd_port(playerid,"");
Wenn du dich registrierst, kommt die Meldung, dass man sich erfolgreich eingeloggt hat?
Wenn ja, ändere mal beim Register-Dialog:
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",getPlayerName(playerid));
zu:
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",getPlayerName(playerid));
printf(Spieler);
Was wird dann geprintet?
Wenn die User-Datei doch erstellt wird, was meinst du dann mit "nicht gespeichert"? Was steht dann in der Datei nachdem du dich registriert hast?
Wo hast du die vier Zeilen denn hingeschrieben?
Und welche Zeile hat den Error? Eine der vier oder eine andere?
TextDrawShowForPlayer(playerid, textid);
weg machen.
Bei OnPlayerConnect:
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdraw1);
TextDrawShowForPlayer(playerid, Textdraw2);
TextDrawShowForPlayer(playerid, Textdraw3);
#define playerid und dann :D?
Nein, nicht so.
Angenommen du willst es bei OnFilterScriptInit (macht zwar keinen Sinn aber egal) für alle Spieler anzeigen lassen, die in Welt 0 sind:
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) if(GetPlayerVirtualWorld(playerid) == 0) TextDrawShowForPlayer(playerid, Textdraw);
"new playerid" wäre die Deklaration.
Wenn ich das mache, habe ich aber PlayerID noch nicht definiert, ich nehme an ich muss das auch "oben" machen, aber wie?
Das musst du dort machen, wo du dem Spieler das TextDraw anzeigen lassen willst. "playerid" sollte dort definiert sein, also zum Beispiel unter OnPlayerConnect oder so. Ansonsten musst du die playerid, wie du schon sagtest, selbst definieren, und es dann zum Beispiel über eine Schleife anzeigen lassen. Wenn du es aber immer zeigen willst, nutze OnPlayerConnect.
Dein "ganz oben" ist mein "unter den Includes". Das passt
TextDrawCreate (etc) unter OnGameModeInit, das sollte auch passen.
TextDrawShowForPlayer unter OnPlayerConnect. => Das fehlt, oder? Füge das hinzu.
http://wiki.sa-mp.com/wiki/TextDrawShowForPlayer
Deklaration unter die Includes (richtig!).
TextDrawCreate (etc) unter OnGameModeInit.
TextDrawShowForPlayer unter OnPlayerConnect.
Das sind die drei "Orte" die du brauchst. Wenn es nicht klappt, poste bitte den Code und die jeweiligen "Orte" (Callbacks) dazu.
BanEx(giveplayerid);
zu:
BanEx(giveplayerid, "Grund");
Wenn du mich nicht richtig zitierst kann ich es auch nicht sehen, oder nur durch Zufall.
Ich habe dir doch mein System geschickt, schau es dir dort ab. Du kannst es ja erst mal so machen, dass die Waffe die man in der Hand hat gedropt wird, und dann, wenn das geht, erweiterst du es auf die Eingabe.
Wenn ich dir den ganzen Befehl schreibe kommt genau das gleiche raus wie das, was ich dir geschickt habe, also das wird nicht helfen.
Ok, ich nehme mal an, dass hBesitzer leer ist, wenn es niemandem gehört.
Dann schreibe es so:
if(Spieler[playerid][pSpawnChange] == 3)
{
printf("MAX_HOUSES = %d", MAX_HOUSES);
for(new i = 0;i < MAX_HOUSES; i++)
{
printf("i: %d besitzer: %s -> Name: %s -> Len: %d -> Owned: %d", i,Haus[i][hBesitzer],spielername(playerid), strlen(Haus[i][hBesitzer]), Haus[i][hOwned]);
if(!strcmp(Haus[i][hBesitzer],spielername(playerid)) && strlen(Haus[i][hBesitzer]) > 1 && Haus[i][hOwned] == 1)
{
printf("Teleportiere zu %d", i);
SetPlayerPos(playerid, Haus[i][ExitX], Haus[i][ExitY], Haus[i][ExitZ]);
break;
}
}
}
Warnung 1:
Poste bitte die Zeile.
Warnung 2:
Oben unter die Includes:
#pragma unused M_Connect
Der Script muss mit der neusten Include kompiliert werden, das hast du noch nicht gemacht.
Lade dir die neuste Version herunter, vom Streamer, hast du ja wahrscheinlich schon.
Dann packe die streamer.inc in /pawno/includes/ rein und öffne /pawno/pawno.exe. Dann öffne über das "Öffnen"-Symbol deinen Code und kompiliere ihn. Dann geht es.