Durch den Code den ich dir gegeben habe ?
Beim Connecten erstmal Leben auf 100 Setzen ?
Durch den Code den ich dir gegeben habe ?
Beim Connecten erstmal Leben auf 100 Setzen ?
Ok
Mach doch einfach mal ein Free Desing zum Downloaden
forward SecTimer();
public SecTimer()
{
printf("%02d %d02 %02d Test 2", uhour, umin, usecs);
new uhour, umin, usecs;
gettime(uhour, umin, usecs);
for (new i=0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pLoggedIn] == false) continue;
new vw = GetPlayerVirtualWorld(i);
new Float:HP;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X, Y, Z);
GetPlayerHealth(i, HP);
if(HP <= 14.000)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLoggedIn] == true)
{
if(IsInjured[i] == false)
{
IsInjured[i] = true;
InjuredTimer[i] = 240;
Invulnerable[i] = true;
InvulCounter[i] = 3;
new dstr[528];
format(dstr, sizeof (dstr), "%s ist schwer verletzt und braucht einen Sanitäter! /Medic %d", PlayerInfo[i][pName], i);
MedicMessage("|__________________________Achtung_________________________|");
MedicMessage(dstr);
MedicMessage("|__________________________________________________________|");
new string[128];
format(string, sizeof(string), "(( %s ist verletzt und liegt am Boden.\nEr braucht einen Krankenwagen! ))", PlayerInfo[i][pName]);
InjuredLabel[i] = Create3DTextLabel(string, 0xFF6666FF, X, Y, Z, 25.00, vw, 1);
Attach3DTextLabelToPlayer(InjuredLabel[i], i, 0.00, 0.00, 0.500);
ApplyAnimation(i, "PED", "KO_shot_stom", 4.1, 1, 0, 0, 1, 0, 1);
notruf[i] = 1;
}
}
}
}
if(InvulCounter[i] > 0)
{
InvulCounter[i] -= 1;
if(InvulCounter[i] == 0)
{
Invulnerable[i] = false;
}
}
if(InjuredTimer[i] > 0)
{
if(IsDead[i] == false)
{
ApplyAnimation(i, "CRACK", "crckdeth2", 4.1, 1, 0, 0, 1, 0, 1);
InjuredTimer[i] -= 1;
if(InjuredTimer[i] == 0)
{
ClearAnimations(i);
if(IsHealed[i] == false)
{
SendAction(i, "ist soeben verstorben.");
SetPlayerHealth(i, 0);
Delete3DTextLabel(InjuredLabel[i]);
IsDead[i] = true;
IsInjured[i] = false;
}
}
}
}
if(PlayerInfo[i][pKicked] == 1)
{
Kick(i);
}
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
if(PlayerInfo[i][pPrison] <= 0)
{
PlayerInfo[i][pPaydaySecs] += 1;
if(PlayerInfo[i][pPaydaySecs] == 60)
{
PlayerInfo[i][pPaydayMins] += 1;
PlayerInfo[i][pPaydaySecs] = 0;
if(PlayerInfo[i][pPaydayMins] == 60)
{
Payday(i);
PlayerInfo[i][pPaydayMins] = 0;
}
}
}
SetPlayerTime(i, uhour, umin);
if(PlayerInfo[i][pDigCD] > 0)
{
PlayerInfo[i][pDigCD] -= 1;
if(PlayerInfo[i][pDigCD] == 0)
{ SendClientMessage(i, COLOR_INFO, "** Du kannst wieder Müll durchwühlen!"); }
}
if(PlayerInfo[i][pKH] > 0)
{
PlayerInfo[i][pKH] -= 1;
if(PlayerInfo[i][pKH] == 0)
{
SpawnPlayer(i);
UnfreezePlayer(i);
PlayerInfo[i][pMoney] -= 500;
GivePlayerMoney(i, -500);
SendClientMessage(i, COLOR_LIGHT_RED, "Du konntest noch von den Ärtzten gerettet werden... Behandlungskosten: $500");
}
}
if(PlayerInfo[i][pJail] > 0)
{
if(PlayerInfo[i][pPrison] == 0 && PlayerInfo[i][pKH] == 0)
{
PlayerInfo[i][pJail] -= 1;
if(PlayerInfo[i][pJail] == 0)
{
SpawnPlayer(i);
}
}
}
if(PlayerInfo[i][pPrison] > 0 && PlayerInfo[i][pKH] == 0)
{
PlayerInfo[i][pPrison] -= 1;
if(PlayerInfo[i][pPrison] == 0)
{
SpawnPlayer(i);
}
}
RepairVehicle(admincar[i]);
SetVehicleHealth(admincar[i], 6000.000);
break;
}
return 1;
}
Alles anzeigen
@fishy:
Der Timer wird nicht so oft ausgeführt.
Wieviel spieler hast du in der Samp.cfg eingetragen
Erstelle doch einfach mal ein Schönes Login/Register desing oder so damit man auch sieht da du bisschen was drauf hast. ( nicht böse gemeint )
Ne steht leider nicht habe aber den Fehler.
Ich habe die Varriable immer auf -1 gesetzt dadurch kam diese Fehler Meldung. Aber dass wurde ja nur ausgeführt weil meine Route nicht 0 war sondern auch -1 habe einfach abgefragt ob sie höher oder Gleich 1 ist.
Habe es einfach komplett ausgeklammert und wieder Stück für Stück wieder reingeklammert daher wusste ich woher der Fehler nun kommt.
Ich bin in den pawno Ordner gegangen habe dort eine Datei erstellt
pawn.cfg dort habe ich -d3 eigetragen dann habe ich Pawno geöffnet und mein Script Compilet und habe den Server Neugestartet bin On gegangen dann wieder Off und da kommt immernoch der Gleiche Fehler
//Die Code's von Oben sind die bei OnPlayerDisconnect ausgeführt werden ( dadurch wird der Fehler verursacht )
So habe es dann Compilet und Neugestartet und vorher noch pawno neu geöffnet
Hab ich gemacht Funktioniert aber irgendwie nicht
public OnPlayerDisconnect(playerid, reason)
{
if(IsPlayerNPC(playerid)) return 1;
for(new i = 0; i <(sizeof(nfahrzeug)); i++)
{
if(nfahrzeug[i][Ownerid] == playerid)
{
SetVehicleToRespawn(n_ID[i]);
nfahrzeug[i][Ownerid] = -1;
}
}
if(IsPlayerInTheoriePrufung[playerid] == 1)
{
TUVTheoriePlatze[TUVTheoriePlatz[playerid]] = 0;
SetDynamicObjectMaterialText(TUVPC[TUVTheoriePlatz[playerid]], 2, "TÜV SA", 130, "Arial", 125, 1, -16776961, -1, 1);
}
if(afsinfo[playerid][afs_aktiv])
{
SendClientMessageEx(playerid,ROT,"Du hast dein Fahrschule Fahrzeug verlassen, somit wurde deine Stunde abgebrochen.");
afsinfo[playerid][afs_Checkpoint] = 0;
DestroyDynamicCP(fahrst[playerid]);
SetVehicleToRespawn(afsinfo[playerid][afs_fscarid]);
fscars[afsinfo[playerid][afs_fscari]][fsc_playerid] = -1;
afsinfo[playerid][afs_fscari] = 0;
afsinfo[playerid][afs_fscarid] = 0;
afsinfo[playerid][afs_aktiv] = false;
TextDrawHideForPlayer(playerid,Jobh);
TextDrawHideForPlayer(playerid,Jobh1);
TextDrawHideForPlayer(playerid,Jobh2);
PlayerTextDrawHide(playerid, Job[playerid]);
PlayerTextDrawHide(playerid, Job1[playerid]);
}
if(IsPlayerInPraxisPruefung[playerid] == 1)
{
DestroyDynamicCP(tuvcp[playerid]);
IsTUVPraxisCar[TUVPraxisCar[playerid]] = false;
DestroyVehicle(TUVPraxisCar[playerid]);
TUVPraxisCar[playerid] = 0;
TUVPraxisCP[playerid] = 0;
IsPlayerInPraxisPruefung[playerid] = 0;
TextDrawHideForPlayer(playerid,Jobh);
TextDrawHideForPlayer(playerid,Jobh1);
TextDrawHideForPlayer(playerid,Jobh2);
PlayerTextDrawHide(playerid, Job[playerid]);
PlayerTextDrawHide(playerid, Job1[playerid]);
}
//Müllmann
if(Garbage2[playerid][MullmannRoute] != 0)
{
SetVehicleToRespawn(Garbage2[playerid][MullwagenID]);
Garbage2[playerid][TruckInhalt][Garbage2[playerid][MullwagenID]] = 0;
Garbage2[playerid][MullwagenID] = 0;
Garbage2[playerid][MullmannStep] = 0;
Garbage2[playerid][MullmannRoute] = 0;
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
Garbage2[playerid][MullmannCheckpoint] = 0;
DisablePlayerCheckpoint(playerid);
if(IsValidObject(Garbage2[playerid][MulltonnObject])) DestroyObject(Garbage2[playerid][MulltonnObject]);
if(IsValidObject(Garbage2[playerid][MulltonnObject2])) DestroyObject(Garbage2[playerid][MulltonnObject2]);
}
SavePlayer(playerid);
return 1;
}
Alles anzeigen
stock SavePlayer(playerid)
{
printf("Aufruf");
if(sInfo[playerid][peingeloggt] == 0) return 1;
new query[1024];
printf("0");
GetPlayerPos(playerid,sInfo[playerid][pos][0],sInfo[playerid][pos][1],sInfo[playerid][pos][2]);
sInfo[playerid][pos][2] += 1.0;
GetPlayerFacingAngle(playerid,sInfo[playerid][pos][3]);
sInfo[playerid][pInterior] = GetPlayerInterior(playerid);
sInfo[playerid][pVirWorld] = GetPlayerVirtualWorld(playerid);
printf("1");
if(sInfo[playerid][pVirWorld] == 999) sInfo[playerid][pVirWorld] = 3;
printf("2");
format(query,sizeof(query),"UPDATE accounts SET Registriert='%d',IPAdresse='%s',RegDatum='%s',Geschlecht='%d',Level='%d',Skin='%d',Money='%d',PosX='%f',PosY='%f',PosZ='%f',PosR='%f',Interior='%d',VWelt='%d',HasTutorial='%d',Perso='%d',palter='%d',pGeburtstag='%s',pantrag='%d',",
sInfo[playerid][pRegistriert],sInfo[playerid][pIPAdresse],sInfo[playerid][pRegDatum],sInfo[playerid][pGeschlecht],sInfo[playerid][pLevel],sInfo[playerid][pSkin],isInfo[playerid][Money],sInfo[playerid][pos][0],sInfo[playerid][pos][1],sInfo[playerid][pos][2],sInfo[playerid][pos][3],sInfo[playerid][pInterior],sInfo[playerid][pVirWorld],sInfo[playerid][HasTutorial],sInfo[playerid][perso],sInfo[playerid][palter],sInfo[playerid][pGeburtstag],sInfo[playerid][pantrag]);
format(query,sizeof(query),"%spersot='%d',pFahrschuleAngemeldet='%d',pTheorieStunden='%d',pFahrschuleZeit='%d',pTheorieBestanden='%d',pPraxisBestanden='%d',pJob='%d',pVertragszeit='%d',pGehaltCheck='%d',pMullmannSkill='%d' WHERE Id='%d'",
query,sInfo[playerid][persot],sInfo[playerid][pFahrschuleAngemeldet],sInfo[playerid][pTheorieStunden],sInfo[playerid][pFahrschuleZeit],sInfo[playerid][pTheorieBestanden],sInfo[playerid][pPraxisBestanden],sInfo[playerid][pJob],sInfo[playerid][pVertragszeit],sInfo[playerid][pGehaltCheck],sInfo[playerid][pMullmannSkill],sInfo[playerid][db_id]);
printf("%s",query);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
Alles anzeigen
Hey,
ist der Erste Debug schlimm ?
[28/08/2016 18:04:41] [debug] Run time error 4: "Array index out of bounds"
[28/08/2016 18:04:41] [debug] Accessing element at negative index -1
[28/08/2016 18:04:41] [debug] AMX backtrace:
[28/08/2016 18:04:41] [debug] #0 00027f20 in public SSCANF_OnPlayerDisconnect (0, 1) from redmix.amx
[28/08/2016 18:04:41] [debug] #1 00000748 in public OnPlayerDisconnect (0, 1) from redmix.amx
Das Problem war das wenn jemand jemanden TV't soll er auch das Interior bekommen wenn der Spieler in ein Interior geht aber die Variable war immer 0 und wenn Id 0 in ein Interior geht wurde es für alle das Interior gesetzt da die Varriable beim Connecten auf 0 gesetzt wurde.
Funktioniert nun
Mit freundlichen Grüßen
reaL.
Ja genau das ist der Fehler wenn ich draußen bin und er rein geht dann /interior mache dann wird bei mir auch 3 angezeigt obwohl ich noch draußen bin
Habe den Fehler
wie kann ich die Varriable nochmal auf -1 setzen für alle Spieler ?
So ist doch nur für ein oder
Ja das weiß ich aber wenn ich die Nachricht in Rot sende, ist der Timestamp auch Rot. Deswegen wollte ich Fragen, ob man eine Nachricht auch transparent machen kann, damit der Timestamp auch transparent ist und das Textdraw nicht verdeckt.
Hey ich wollte mal fragen ob es möglich ist eine Transparente Nachricht zu Senden ?
Weil mein Einlogg Textdraw Hinter dem Chat ist und leute die Timestamp an haben dann trotzdem die Uhrzeit sehen die wollte ich aber Tr
Ja aber beim Streamer ist das Problem das er irgendwie weite Cps nicht Streamt egal wie hoch ich die Stream Distanz mache
Suche im Script einfach nach m_Connect und lösche es da es eh nicht verwendet wird.
Hey,
Ich wollte mal fragen wie ich mein Chechpoit eine Id geben kann damit ich unter OnPlayerEnterCheckPoint abfragen kann es es die ID wirklich ist damit er z.b nicht einfach im Job ein anderen CP vom Navi oder so nimmt.
Also soll es so sein z.b
Jobcp[playerid] = SetPlayerCheckPoint.....
OnPlayerEnterCheckPoint(playerid,checkpointid)
{
If(checkpointid == Jobcp[playerid])
{
}
}