Noch nicht angeguckt aber DANKE das du es für R7 gemacht hast
Beiträge von Weihnachtsmann
-
-
Man muss es doch i.wo speichern? z.b in eine Tabelle
-
Man muss es doch i.wo speichern? z.b in eine Tabelle
-
Wie schon gesagt ich will aber Videos
So kann ich es besser.
Es gibt keine Videos und gut ist.Schau dir halt Nemesus , MrMonat MCBastard an.
mehr gibts net oder google -
Zeig mal bitte komplett alles, was mit dem Befehl zu tun hat.
new exitHitTime[MAX_PLAYERS]=0;public OnPlayerConnect(playerid)
{
exitHitTime[playerid] = 0;
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid){
new string[128];
if(issuerid == INVALID_PLAYER_ID || playerid == INVALID_PLAYER_ID) return 1;
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
format(string,sizeof(string)," -%.0f von %s",amount,PlayerName(issuerid));
SetPlayerChatBubble(playerid, string, GRÜN, 70.0, 1000*3);
exitHitTime[playerid] = gettime();
return 1;
}
ocmd:l(playerid,params[])
{
if (gettime() - exitHitTime[playerid] > 5000) {
return SendClientMessage(playerid,-1, "Du darfst nicht raus");
}
if(Map[playerid] == 1)
{
if(dm[0][playerid] == 1)
{
if(dmcount[0] > 0)
{
dmcount[0] --;
}
}
if(dm[1][playerid] == 1)
{
if(dmcount[1] > 0)
{
dmcount[1] --;
}
}
if(dm[2][playerid] == 1)
{
if(dmcount[2] > 0)
{
dmcount[2] --;
}
}
for(new i; i != 3; ++i)dm[i][playerid]=0;
SendClientMessage(playerid,GRÜN,"[INFO] Du hast die Arena verlassen");
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetPlayerHealth(playerid,100);
Map[playerid] = 0;
CBug = 0;
SpawnPlayer(playerid);
}
return 1;
} -
Dann häng an das exitHitTime[MAX_PLAERS] ein =0
Oder setze die variable beim connect auf 0
und nach dem Hit kann er sofort /exit eingeben obwohl ich die Zeit auf 5000 gestellt habe
if (gettime() - exitHitTime[playerid] > 5000) {
return SendClientMessage(playerid,-1, "Du darfst nicht raus"); -
new exitHitTime[MAX_PLAYERS];
public OnPlayerTakeDamage(...) {
exitHitTime[playerid] = gettime();
}// beim exit befehl:
if (gettime() - exitHitTime[playerid] > ZeitInSekunden) {
return SendClientMessage(..., "Du darfst nicht raus");
}
// hier käme der normale exitBittesehr, gute Nacht.
Klappt i.wie net erst nach dem anschiessen kann man raus, davor steht das man nicht raus kann. -
Zitat
forward AntiExits (issuerid);
public AntiExits (issuerid)
{
AntiExit[issuerid] = 0;
return 1;
}AntiExit[issuerid] = 1;
und beim /l Befehl AntiExit[playerid] == 1) oder ? -
Zitat
SetTimerEx("AntiExit", 2500, false, "i", playerid);
zu
SetTimerEx("AntiExit", 2500, false, "i", issuerid);
Weil der getroffene ja nach 2,5sec erst /exit machen darf. Nicht der, der geschossen hat.
Funktioniert nicht beim /l Befehl kommt einfach man kann nicht 2.5sek verlassen -
Zitat
Ja natürlich.
klappt netpublic OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid){
new string[128];
if(issuerid == INVALID_PLAYER_ID || playerid == INVALID_PLAYER_ID) return 1;
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
format(string,sizeof(string)," -%.0f von %s",amount,PlayerName(issuerid));
SetPlayerChatBubble(playerid, string, GRÜN, 70.0, 1000*3);
SetTimerEx("AntiExit", 2500, false, "i", playerid);
AntiExit[playerid] = 1;
return 1;
}
forward AntiExits (playerid);
public AntiExits (playerid)
{
AntiExit[playerid] = 0;
return 1;
}
ocmd:l(playerid,params[])
{
if(AntiExit[playerid] == 1)return SendClientMessage(playerid,-1,"Du kannst er nacht 2.5sek wieder eine Arena verlassen durch den Hit");
if(Map[playerid] == 1)
{
if(dm[0][playerid] == 1)
{
if(dmcount[0] > 0)
{
dmcount[0] --;
}
}
if(dm[1][playerid] == 1)
{
if(dmcount[1] > 0)
{
dmcount[1] --;
}
}
if(dm[2][playerid] == 1)
{
if(dmcount[2] > 0)
{
dmcount[2] --;
}
}
for(new i; i != 3; ++i)dm[i][playerid]=0;
SendClientMessage(playerid,GRÜN,"[INFO] Du hast die Arena verlassen");
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetPlayerHealth(playerid,100);
Map[playerid] = 0;
CBug = 0;
SpawnPlayer(playerid);
}
return 1;
} -
Zitat
Mit OnPlayerTakeDamage.
Mit SetTimerEx? -
Zitat
Variable für den Spieler erstellen und bei dem Befehl abfragen, und bei dem Timer nach den 3 sek die Variable wieder auf 0 setzen.
Mit welchem Public? da ich wissen will wann er angeschossen wird -
Wie würde es mit nem Timer gehen, das man wenn man jemanden angeschossen hat, der Spieler der angeschossen wurde 3sek sein /exit eingeben kann?
mfg
-
public OnPlayerText(playerid, text[]) { new string[128]; switch(SpielerInfo[playerid][pAdmin]) { case 1:format(string, 128,"{E600FF}(( {FFFFFF}%s %s: %s {E600FF}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text); case 2:format(string, 128,"{19CF00}(( {FFFFFF}%s %s: %s {19CF00}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text); case 3:format(string, 128,"{0085FF}(( {FFFFFF}%s %s: %s {0085FF}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text); case 4:format(string, 128,"{E1FF00}(( {FFFFFF}%s %s: %s {E1FF00}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text); default:format(string, 128,"(( %s: %s ))",PlayerName(playerid),text);//wenn er unter 1 ist und über 4 } SendClientMessageToAll(-1,string); return 0; }
Danke <3,
Ein Problem noch, er sendet zwar den Text etc aber davor steht nicht der Rangname bzw. die Farbe der Klammern? es ist ienfach alles weiß -
SendClientMessageToAll(-1,string);
Gebe mal für -1 eine Farbe an.
ROT,GELB however//
Kommt da nicht auch ein return 1 hin?
Hm, glaube nicht das es daran liegt -
Ich wollte es so machen, das bestimmt ränge andere Farben haben, aber er sendet keinen Text?
public OnPlayerText(playerid, text[])
{
new string[128];
if(SpielerInfo[playerid][pAdmin] == 0)
{
format(string, 128,"(( %s: %s ))",PlayerName(playerid),text);
SendClientMessageToAll(-1,string);
}
else if(SpielerInfo[playerid][pAdmin] == 1)
{
format(string, 128,"{E600FF}(( {FFFFFF}%s %s: %s {E600FF}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text);
SendClientMessageToAll(-1,string);
}
else if(SpielerInfo[playerid][pAdmin] == 2)
{
format(string, 128,"{19CF00}(( {FFFFFF}%s %s: %s {19CF00}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text);
SendClientMessageToAll(-1,string);
}
else if(SpielerInfo[playerid][pAdmin] == 3)
{
format(string, 128,"{0085FF}(( {FFFFFF}%s %s: %s {0085FF}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text);
SendClientMessageToAll(-1,string);
}
else if(SpielerInfo[playerid][pAdmin] == 4)
{
format(string, 128,"{E1FF00}(( {FFFFFF}%s %s: %s {E1FF00}))",Adminrang[SpielerInfo[playerid][pAdmin]],PlayerName(playerid),text);
SendClientMessageToAll(-1,string);
}
return 0;
} -
Wie würde das gehen wenn ich mehrere Teams und Gebiete haben, und man ein Gebiet mit /invade oder so angreifen kann, genau das Gebiet angegriffen wird und blickt?
-
- Gangzonen http://wiki.sa-mp.com/wiki/GangZoneCreate
- Bei betritt einer anderen Fraktions/Gang starten lassen.(Wie man die Gangzone zum blinken bringt weiß ich jetzt nicht genau)
- Funktionen nach Wunsch einbauen.
- Abfragen starten wer wen tötet.Mehr ist da nicht.
Wie mache ich das mit einem Timer? also wie lange das Gangfight gehen soll? -
Wie würde so ein Gangfight System wie auf RGR oder GRP gehen? - ich brauche ein paar starthilfen
Edit: Fürn DM SERVER
-
Du erstellst mindestens 2 mal am Tag jedes Mal ein neues Thema mit dem gleichem Inhalt !
Ja weil ich verzweifele ;/