Wie hast duTDEditor_PTD definiert?
Beiträge von CaZe
-
-
TDEditor_PTD(playerid)(0) = CreatePlayerTextDraw(playerid, -0.000024, 1.259238, "box");
zu
TDEditor_PTD[playerid][0] = CreatePlayerTextDraw(playerid, -0.000024, 1.259238, "box"); -
Autos[playerid][i][modelid]
Das musst du ja auch am oberen Teil des Skriptes definieren. -
Auch hinter den Block eines Enums muss ein Semikolon (";")
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <Dini>
new kaufauto[2];
enum Autohausinfo
{
Autohausname[60],
Float:X,
Float:Y,
Float:Z,
Float:SpawnX,
Float:SpawnY,
Float:SpawnZ,
Float:SpawnA,
Inhaber[MAX_PLAYER_NAME],
Kasse
};
enum Autokauf
{
modelid,
Name[40],
Autohausname[60],
Preis,
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PosA
}; -
@reaL. Es ist doch im Video das Problem gezeigt. Das neue Objekt wird erst nach Bewegung des Spielers/Autos Sichtbar.
https://youtu.be/UNykTTPcEvA -
Nabend Leute,
habe ein kleines Problem mit dem Incognito Streamer v2.7.5.2.
Problem wird im Video geschildert:
https://youtu.be/UNykTTPcEvA
Der Code dazu:Code
Alles anzeigennew vID = GetPlayerVehicleID(playerid); if(vID != FracVehicle[f][f_vID])continue; if(Sirene[vID] != -1) { if(TogSirene[vID]) { DestroyDynamicObject(Sirene[vID]); Sirene[vID] = CreateDynamicObject(19420, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00); AttachDynamicObjectToVehicle(Sirene[vID], vID, 0.00, 0.00, 0.85, 0.00, 0.00, 0.00); TogSirene[vID] = false; return 1; } else { DestroyDynamicObject(Sirene[vID]); Sirene[vID] = CreateDynamicObject(19419, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00); AttachDynamicObjectToVehicle(Sirene[vID], vID, 0.00, 0.00, 0.85, 0.00, 0.00, 0.00); TogSirene[vID] = true; return 1; } }
&
Sirene[FracVehicle[i][f_vID]] = CreateDynamicObject(19420, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00);
Danke im Voraus.
P.S: Gehirn hatte bei 0:25 nen kleinen Aussetzer. -
Dies hatte er schonmal gemacht. Der Befehl wird komplett ausgeführt bis Print 3 dann hört es auf. Der Print "pRob: %i" wird nicht ausgegeben, wenn @fishy diesen überhaupt hinzugefügt hat.
--------------------------------------
[21:08:25] Vault of San Andreas - Anti
[21:08:25] --------------------------------------
[21:08:46] [join] Anti has joined the server (0:127.0.0.1)
[21:09:04] 1
[21:09:04] 2
[21:09:04] 3
[21:09:17] [part] Anti has left the server (0:1) // Weil nix mehr passiert ist -
Was genau sollen uns diese Prints jetzt sagen? Bitte erkläre dein Problem genauer...
-
Guten Tag,
habe das Problem, dass mir nie ausgegeben wird, was bei ALevel >= 4 drin steht, obwohl ich entweder ALevel 4 habe oder höher.
Danke im Voraus.
case 4:
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] ...:::Admin Commands:::...");
if(SpielerInfo[playerid][pALevel] >= 1)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /kick, /prison, /announce, /gotopos, /goto, /bringto, /spawn, /tickets");
}
if(SpielerInfo[playerid][pALevel] >= 2)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /toggleooc, /kill, /sethp, /setarmor, /clfp, /cc, /ban, /tban, /freeze");
}
if(SpielerInfo[playerid][pALevel] >= 3)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /takemoney, /givemoney, /veh, /weapon, /restart, /repair, /slap, /explode, /setskin, /sannounce");
}
if(SpielerInfo[playerid][pALevel] >= 4)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /actor, /setactorpos, /getactorpos, /makeadmin, /fcreate, /fdelete, /pcreate, /pdelete, /setfrak, /setint, /hcreate, /hdelete, /validints");
}
else
{
return 0;
}
return 1;
} -
Wird irgendwas von dem Code bei OnPlayerSpawn aufgerufen? Wenn ja zeig mir mal bitte die jeweiligen Zeilen.
-
Dass das Label weg ist, ist doch richtig oder habe ich das falsche verstanden?
-
Credits gehen hierbei @Jeffry, da dieser mir bei dem selben Problem geholfen hat. Das Problem liegt hierbei nämlich, dass der Public OnPlayerDeath() des öfteren/immer 2x oder öfter aufgerufen wird, was dann zu Probleme bei dem erstellen von Labels und/oder Pickups führt.
Deswegen probiere es bitte so:Code
Alles anzeigennew playername[MAX_PLAYER_NAME]; new killername[MAX_PLAYER_NAME]; static lastSpawn[MAX_PLAYERS]; new h,m,s,t; t = gettime(h,m,s); if(lastSpawn[playerid]+1 < t) { lastSpawn[playerid] = t; GetPlayerName(playerid, playername, sizeof(playername)); GetPlayerName(killerid, killername, sizeof(killername)); new string188[90]; format(string188, sizeof(string188), "%s wurde von\n%s getötet",playername,killername); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); TodesPickup[playerid] = CreatePickup(1254, 24, x, y, z,-1); TodesLabel[playerid] = Create3DTextLabel(string188, ROT, x, y, z,12.0,0); SetTimerEx("TodesPickupKiller",15000,false,"i",playerid); }
-
Mit debuggen ist gemeint: Einzelne Prints in der Console auszugeben, welche uns dann sagen, bis wohin denn alles ausgeführt wird.
Code
Alles anzeigenforward VosaRob(playerid); public VosaRob(playerid) { printf("1"); if(GetPlayerHealth(playerid) < 1) return SendClientMessage(playerid, COLOR_ERROR, "Du bist gestorben, Raub abgebrochen!"); if(PlayerInfo[playerid][pRob] >= 12) { printf("12"); SendClientMessage(playerid, COLOR_CYAN, "60 Sekunden sind vorüber, jetzt schnell weg hier!"); new robmoney[256]; format(robmoney, sizeof(robmoney), "Beute: $%d", PlayerInfo[playerid][pRobTotal]); SendClientMessage(playerid, COLOR_CYAN, robmoney);//nach 12 wiederholungen stoppt der timer return 1; } else { printf("2"); if(IsPlayerInRangeOfPoint(playerid, 12,2144.2869,1635.0681,993.5761)) { printf("3"); new money = random(60001) + 60000; GivePlayerMoney(playerid, money); PlayerInfo[playerid][pCash] += money; new moneymsg[256]; format(moneymsg, sizeof(moneymsg), "5 Sekunden sind vorüber, Beute: $%d", money); SendClientMessage(playerid, COLOR_CYAN, moneymsg); SetTimerEx("VosaRob", 5000, false, "d", playerid); PlayerInfo[playerid][pRob] ++; PlayerInfo[playerid][pRobTotal] += money; printf("pRob: %i",PlayerInfo[playerid][pRob]); return 1; } else { printf("4"); SendClientMessage(playerid, COLOR_ERROR, "Raub abgebrochen, Du hast den Raum verlassen."); for(new i = 0; i < MAX_PLAYERS; i++) { printf("5"); new pname[MAX_PLAYER_NAME+1]; GetPlayerName(playerid,pname,sizeof(pname)); new failmsg[145]; format(failmsg, sizeof(failmsg), "Der Raub auf das Vault of San Andreas wurde abgebrochen, %s hat den Raum verlassen", pname); SendClientMessage(i, COLOR_CYAN, failmsg); } return 1; } } printf("6"); return 1; }
-
Debugge den Code, starte den Server neu und führe den Command sowie den Ablauf ab, so dass es eigentlich funktionieren sollte.
-
Wenn ich das richtig deute wird der Code bei OnPlayerDeath(); aufgerufen?
Zeig mir mal bitte die Funktion TodesPickupKiller -
Es sollte so komplett funktionstüchtig sein, du hattest einmal anstatt playerid | robtimer[playerid] stehen. Was normalerweise zu einem Error führen sollte.
Code
Alles anzeigenforward VosaRob(playerid); public VosaRob(playerid) { if(GetPlayerHealth(playerid) < 1) return SendClientMessage(playerid, COLOR_ERROR, "Du bist gestorben, Raub abgebrochen!"); if(PlayerInfo[playerid][pRob] >= 12) { SendClientMessage(playerid, COLOR_CYAN, "60 Sekunden sind vorüber, jetzt schnell weg hier!"); new robmoney[256]; format(robmoney, sizeof(robmoney), "Beute: $%d", PlayerInfo[playerid][pRobTotal]); SendClientMessage(playerid, COLOR_CYAN, robmoney);//nach 12 wiederholungen stoppt der timer return 1; } else { if(IsPlayerInRangeOfPoint(playerid, 12,2144.2869,1635.0681,993.5761)) { new money = random(60001) + 60000; GivePlayerMoney(playerid, money); PlayerInfo[playerid][pCash] += money; new moneymsg[256]; format(moneymsg, sizeof(moneymsg), "5 Sekunden sind vorüber, Beute: $%d", money); SendClientMessage(playerid, COLOR_CYAN, moneymsg); SetTimerEx("VosaRob", 5000, false, "d", playerid); PlayerInfo[playerid][pRob] ++; PlayerInfo[playerid][pRobTotal] += money; return 1; } else { SendClientMessage(playerid, COLOR_ERROR, "Raub abgebrochen, Du hast den Raum verlassen."); for(new i = 0; i < MAX_PLAYERS; i++) { new pname[MAX_PLAYER_NAME+1]; GetPlayerName(playerid,pname,sizeof(pname)); new failmsg[145]; format(failmsg, sizeof(failmsg), "Der Raub auf das Vault of San Andreas wurde abgebrochen, %s hat den Raum verlassen", pname); SendClientMessage(i, COLOR_CYAN, failmsg); } return 1; } } return 1; }
-
Was genau klappt denn nicht?
-
Code
Alles anzeigennew Robtimer[MAX_PLAYERS]; if(strcmp(cmd, "/rob", true) == 0) { if(!IsPlayerConnected(playerid)) return 1; if(IsPlayerInRangeOfPoint(playerid, 12, 2144.2869,1635.0681,993.5761)) // VOSA ROB { SendClientMessage(playerid, COLOR_CYAN, "Du hast den Vault of San Andreas Raub gestartet, überlebe ihn besser."); Robtimer[playerid] = SetTimerEx("VosaRob", 5000, true,"i",playerid); return 1; } }
So sollte es funktionieren, du musst den Parameter "playerid" ja auch irgendwie dem Public mitteilen.
-
Versuche es mal so.
for(new i=0;i.<MAX_PLAYERS;i++)
zu
for(new i=0;i<MAX_PLAYERS; i++) -
@[BB]ExpL0sIv3 Meinte ja den Recoil bzw. "Viewpunch" wie man aus auch nennt.