Hallo ich wollte mal fragen ob ich das so richtig gemacht habe mit der Jailtime und Todestime ?
Jeffry:
Der Timer der die Sekunden Runter zählt
public sekunde()
{
for(new v = 0; v<MAX_PLAYERS; v++)
{
if(sInfo[v][tott] > 0)
{
sInfo[v][tott] -= 1000;
if(sInfo[v][tott] == 0)
{
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"");
SendClientMessage(v,weiß,"Ein wunder ist Passier");
SendClientMessage(v,weiß,"Du bist nun Wieder am Leben");
if(sInfo[v][jailtime] > 0)
{
new rand = random(sizeof(knastsfpd));
SetTimer("sekunde",sInfo[v][jailtime],0);
SetPlayerInterior(v,10);
SetPlayerVirtualWorld(v,24);
SetPlayerPos(v,knastsfpd[rand][0],knastsfpd[rand][1],knastsfpd[rand][3]);
SetPlayerFacingAngle(v,knastsfpd[rand][4]);
sInfo[v][kx] = knastsfpd[rand][0];
sInfo[v][ky] = knastsfpd[rand][1];
sInfo[v][kz] = knastsfpd[rand][2];
}
else
{
SpawnPlayer(v);
return 1;
}
}
return 1;
}
if(sInfo[v][jailtime] > 0)
{
sInfo[v][jailtime] -= 1000;
if(sInfo[v][jailtime] == 0)
{
GameTextForPlayer(v,"~r~Du bist Frei",2000,0);
sInfo[v][kx] = 0;
sInfo[v][ky] = 0;
sInfo[v][kz] = 0;
SpawnPlayer(v);
}
return 1;
}
if(sInfo[v][bankkt] > 0)
{
sInfo[v][bankkt] -= 1000;
if(sInfo[v][bankkt] == 0)
{
SendClientMessage(v,GRÜN,"=============== | Bank Los Santos | ===============!");
SendClientMessage(v,GRÜN,"Dein Bankkonto wurde erfolgreich erstellt!");
SendClientMessage(v,GRÜN,"Du kannst am ATM oder in der Bank Geld Abheben/Einzahlen und dein Kontostand prüfen.");
SendClientMessage(v,GRÜN,"=============== | Bank Los Santos | ===============!");
sInfo[v][bankk] = 1;
}
}
if(sInfo[v][persot] > 0)
{
sInfo[v][persot] -= 1000;
if(sInfo[v][persot] == 0)
{
sInfo[v][pantrag] = 1;
SendClientMessage(v,weiß,"=============== | Personalausweis Information | ===============");
SendClientMessage(v,weiß,"Dein Personalausweis wurde fertig erstellt und kann abgeholt werden.");
SendClientMessage(v,weiß,"Die Bearbeitungskosten deines Personalausweises liegen bei 500$.");
}
}
if(sInfo[v][eckt] > 0)
{
sInfo[v][eckt] -= 1000;
if(sInfo[v][eckt] == 0)
{
sInfo[v][pantrag] = 1;
SendClientMessage(v,weiß,"=============== | Bank Los Santos | ===============");
SendClientMessage(v,weiß,"Dein Personalausweis wurde fertig erstellt und kann abgeholt werden.");
SendClientMessage(v,weiß,"Die Bearbeitungskosten deines Personalausweises liegen bei 500$.");
SendClientMessage(v,weiß,"=============== | Bank Los Santos | ===============");
}
}
if(Fahrsstunde[v][fahr_bAktiv])
{
new veh = GetPlayerVehicleID(v),string[64],speed = GetVehicleSpeed(veh);
if(speed>100)
{
sInfo[v][fahrpunkte] ++;
if(sInfo[v][fahrpunkte] == 5)
{
SetVehicleToRespawn(veh);
tank[veh] = 100;
SendClientMessage(v,EROT,"Du bist durchgefallen da du zuviele Fehler Punkte hattest!");
return 1;
}
else
{
format(string,sizeof(string),"Du bist zu Schnell! Fehler ( %d | 5)",sInfo[v][fahrpunkte]);
SendClientMessage(v,EROT,string);
return 1;
}
}
}
}
public OnPlayerRequestClass(playerid, classid)
{
if(sInfo[playerid][PTot] == 1)
{
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"Du bist soeben gestorben!");
SendClientMessage(playerid,weiß,"Gleich wird ein Wunder passieren!");
SetTimer("sekunde",sInfo[playerid][tott],0);
SetPlayerVirtualWorld(playerid,89);
SetPlayerPos(playerid,816.6987,-1103.0229,25.7914);
}
if(sInfo[playerid][jailtime] > 0)
{
SendClientMessage(playerid,IGELB,"Du musst deine Restzeit im Knast noch absitzen!");
SetTimer("sekunde",sInfo[playerid][jailtime],0);
SetPlayerInterior(playerid,10);
SetPlayerVirtualWorld(playerid,24);
SetPlayerPos(playerid,sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz]);
}
else
{
SetSpawnInfo(playerid,0,26,370.3382,-2059.1753,8.6107,359.5793,0,0,0,0,0,0);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SpawnPlayer(playerid);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(sInfo[playerid][PTot] == 1)
{
SetPlayerVirtualWorld(playerid,89);
SetPlayerPos(playerid,816.6987,-1103.0229,25.7914);
}
else if(sInfo[playerid][jailtime] > 0)
{
SetPlayerInterior(playerid,10);
SetPlayerVirtualWorld(playerid,24);
SetPlayerPos(playerid,sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz]);
}
else if(!isPlayerInFrakt(playerid, 0))
{
if(sInfo[playerid][spawnchange]==1)
{
new fID;
fID = sInfo[playerid][fraktion];
SetPlayerPos(playerid, fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
SetPlayerFacingAngle(playerid, fInfo[fID][f_r]);
SetPlayerInterior(playerid, fInfo[fID][f_inter]);
SetPlayerVirtualWorld(playerid, fInfo[fID][f_world]);
GivePlayerWeapon(playerid, fInfo[fID][f_waffe1], fInfo[fID][f_ammo1]);
GivePlayerWeapon(playerid, fInfo[fID][f_waffe2], fInfo[fID][f_ammo2]);
GivePlayerWeapon(playerid, fInfo[fID][f_waffe3], fInfo[fID][f_ammo3]);
GivePlayerWeapon(playerid, fInfo[fID][f_waffe4], fInfo[fID][f_ammo4]);
}
}
SetPlayerSkin(playerid,sInfo[playerid][Skin]);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
sInfo[playerid][PTot] = 1;
GivePlayerMoney(playerid,100);
new Float:ptx,Float:pty,Float:ptz,string[80];
GetPlayerPos(playerid, ptx,pty,ptz);
sInfo[playerid][dx] = ptx;
sInfo[playerid][dy] = pty;
sInfo[playerid][dz] = ptz;
TotenKopf[playerid] = CreatePickup(1254,1,ptx,pty,ptz);
format(string,sizeof(string),"Leichen Name\nvon %s",getPlayerName(playerid));
TotenName[playerid] = Create3DTextLabel(string,GRAU,ptx,pty,ptz,10,GetPlayerVirtualWorld(playerid),0);
format(string, sizeof(string),"Der Spieler %s ID %i ist soeben gestorben!",getPlayerName(playerid),playerid);
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"");
SendClientMessage(playerid,weiß,"Du bist soeben gestorben!");
SendClientMessage(playerid,weiß,"Gleich wird ein Wunder passieren!");
SetTimer("sekunde",180000,false);
SendOndutyMedicMessage(GELB,string);
if(!isPlayerInFrakt(killerid,1) || !isPlayerInFrakt(killerid,1))
{
for(new i = sInfo[killerid][wantedl]; i < (sInfo[killerid][wantedl]+2); i++)
{
TextDrawShowForPlayer(killerid, Wanted[i]);
}
sInfo[killerid][wantedl] +=2;
}
else
{
}
if(sInfo[playerid][kGeld] > 0)
{
if(isPlayerInFrakt(killerid,15))
{
GivePlayerMoney(killerid, sInfo[playerid][kGeld]);
GameTextForPlayer(playerid,"~r~Du warst ein auftrag der Hitmans",2000,0);
GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
format(string,sizeof(string),"Der Spieler %s hat den auftrag erledigt und %s gekillt.",getPlayerName(killerid),getPlayerName(playerid));
SendHitmanMessage(BRAUN,string);
format(string,sizeof(string),"Er erhät nun das ausgesetzte Kopfgeld in Höhe von %i$.",sInfo[playerid][kGeld]);
SendHitmanMessage(BRAUN,string);
sInfo[playerid][kGeld] = 0;
}
}
if(sInfo[playerid][wantedl] > 0)
{
if(isPlayerInFrakt(killerid,1))
{
if(sInfo[killerid][cduty] == 1)
{
GivePlayerMoney(playerid,1500);
GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
format(string,sizeof(string),"Beamter %s hat den Verbrecher schwer Verletzt.",getPlayerName(killerid),getPlayerName(playerid));
SendCopDutyMessage(BLAU,string);
format(string,sizeof(string),"Du bist nun für %i Min im Knast!",sInfo[playerid][wantedl]*5);
SendClientMessage(playerid,DUNKEL_ROT,string);
sInfo[playerid][jailtime] = sInfo[playerid][wantedl]*300000;
for(new w = sInfo[playerid][wantedl]-1; w >= (sInfo[playerid][wantedl]-sInfo[playerid][wantedl]); w--)
{
TextDrawHideForPlayer(playerid, Wanted[w]);
}
sInfo[playerid][wantedl] = 0;
}
else
{
}
}
if(isPlayerInFrakt(killerid,2))
{
if(sInfo[killerid][fduty] == 1)
{
GivePlayerMoney(playerid,1500);
GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
format(string,sizeof(string),"Beamter %s hat den Verbrecher schwer Verletzt.",getPlayerName(killerid),getPlayerName(playerid));
SendCopDutyMessage(BLAU,string);
format(string,sizeof(string),"Du bist nun für %i Min im Knast!",sInfo[playerid][wantedl]*5);
SendClientMessage(playerid,DUNKEL_ROT,string);
sInfo[playerid][jailtime] = sInfo[playerid][wantedl]*300000;
for(new w = sInfo[playerid][wantedl]-1; w >= (sInfo[playerid][wantedl]-sInfo[playerid][wantedl]); w--)
{
TextDrawHideForPlayer(playerid, Wanted[w]);
}
sInfo[playerid][wantedl] = 0;
}
else
{
}
}
}
return 1;
}
und wieso ist nach dem Server Restart an der stelle wo ich vorher /restart eingegeben habe nur die Schrift noch da aber kein Icon
//OnPlayerDisconnect
if(DiscPickup[playerid]) DestroyPickup(DiscPickup[playerid]), DiscPickup[playerid] = 0;
if(DiscText[playerid]) Delete3DTextLabel(DiscText[playerid]), DiscText[playerid] = Text3D:0;
GetPlayerPos(playerid,pos[0],pos[1],pos[2]),GetPlayerVirtualWorld(playerid);
DiscPickup[playerid] = CreatePickup(1314,1,pos[0],pos[1],pos[2],vw);
format(string,sizeof(string),"Spieler %s hat den Server verlassen\n(%s)",getPlayerName(playerid),grund);
DiscText[playerid] = Create3DTextLabel(string,ROT,pos[0],pos[1],pos[2],15,vw,1);
SetTimerEx("DestroyPickups",30000,false,"i",playerid);
return 1;
}
public DestroyPickups(playerid)
{
DestroyPickup(DiscPickup[playerid]), DiscPickup[playerid] = 0;
Delete3DTextLabel(DiscText[playerid]), DiscText[playerid] = Text3D:0;
return 1;
}