Suche ein "/count [Anzahl]" Befehl wo ein GameText mit einem Countdown der mit [Anzahl]definiert wird.
Sprich /count 20 läuft ein Countdown von 20 bis 0 . Also 20 Sekunden bis es auf 0 steht :´)
Suche ein "/count [Anzahl]" Befehl wo ein GameText mit einem Countdown der mit [Anzahl]definiert wird.
Sprich /count 20 läuft ein Countdown von 20 bis 0 . Also 20 Sekunden bis es auf 0 steht :´)
Wie erstelle ich Fraktionen und die Ränge dazu?? Ich habe ein enum Registersystem
Indem du bei deinem enum noch 2 Einträge wie "fraction" und "rank" hinzufügst und diese Dann je nach Fraktion setzt.
Und je nach dem, was deine Fraktion können soll brauchst du dann halt noch ein paar Settings.
Achso, okay thx
Schau dir einfach mal die Gamemodes an, die derzeit so im Showroom rumschwirren, da ist sicher ein einfaches Fraktionssystem dabei.
Außerdem gibt's auch in der Tutorial-Section genug zum Thema "Fraktionssystem".
moin, hrhrhr ich bin zuu blööd um x,y,z coordinaten zu erstellen bzw habe nen revive system (wiederbeleben auf deutsch) das sieht so aus:
new TotenKopf[MAX_PLAYERS];
Function OnPlayerDisconnect(playerid, reason)
{
DestroyPickup(TotenKopf[playerid]);
BEIM KRANKENHAUS TIMER:
SendClientMessage(i, COLOR_LIGHTGREEN, "Du wurde erfolgreich aus dem Krankenhaus entlassen");
SendClientMessage(i, COLOR_LIGHTGREEN, "Der aufenhalt kostet dich 1000$ Schönen Tag noch");
DestroyPickup(TotenKopf[i]);
for(new i = 0; i < MAX_PLAYERS;i++)
{
if(pickupid == TotenKopf[i])
{
new deathplayername[MAX_PLAYER_NAME],deathplayerstring[128];
GetPlayerName(i,deathplayername,sizeof(deathplayername));
format(deathplayerstring,sizeof(deathplayerstring),"Leiche von %s Arzt /revive",deathplayername);
GameTextForPlayer(playerid,deathplayerstring,3000,3);
}
}
if(pickupid == port)
{
SetPlayerPos(playerid, 219.7440,121.5539,1003.2188);
SetPlayerInterior(playerid, 10);
}
if(pickupid == port1)
{
SetPlayerPos(playerid, 1526.6427,-1672.1626,6.2188);
SetPlayerInterior(playerid, 0);
}
if(pickupid == port3)
{
SetPlayerPos(playerid,327.7865,-1496.1865,24.9219);
SetPlayerInterior(playerid, 0);
}
if(pickupid == port4)
{
SetPlayerPos(playerid,231.0565,184.3733,1003.0313);
SetPlayerInterior(playerid, 3);
}
if(pickupid == port5)
{
SetPlayerPos(playerid,304.8093,-1524.2535,76.5391);
SetPlayerInterior(playerid, 0);
}
if(pickupid == port6)
{
SetPlayerPos(playerid, 231.3349,184.0748,1003.0313);
SetPlayerInterior(playerid, 3);
}
if (strcmp(cmd, "/revive", true) == 0)
{
new x = 0;
if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && PlayerInfo[i][pTot] == 1 && PlayerToPoint(5.0,playerid,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]))
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(i, pname, sizeof(pname));
SetPlayerHealth(i,20.0);
FraktionsKasse[4] += 1000;
GivePlayerMoney(playerid,100);
format(string, 256, "Du hast %s, für 1000$ wiederbelebt!",pname);
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
GetPlayerName(playerid, pname, 256);
format(string, 256, "Arzt %s hat dich für 1000$ wiederbelebt!",pname);
SendClientMessage(i, COLOR_LIGHTGREEN, string);
GivePlayerMoney(i,-1000);
PlayerInfo[i][pTot] = 0;
pIstTot[i] = 0;
SetPlayerPos(i,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]);
SetPlayerInterior(i,GetPlayerInterior(playerid));
SetCameraBehindPlayer(i);
DestroyPickup(TotenKopf[i]);
TogglePlayerControllable(i,1);
PlayerInfo[i][pTx] = 0;
PlayerInfo[i][pTy] = 0;
PlayerInfo[i][pTz] = 0;
SetPlayerHealth(i,20.0);
x++;
}
}
if(x == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, "Hier ist niemand den du wiederbeleben könntest");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Arzt!");
}
return 1;
}
es funktioniert einfach nicht
Und was genau funktioniert daran nicht?
nunja wenn ich /revive machen tuhe wird der spieler revived und alles aber der toten kopf ist komischerweiser immernoch da und ich werde geportet O.o
Prüf' mal mit Debug-Ausgaben, ob Totenkopf[i] vor dem "DestroyPickup" nicht "0" ist.
hab ich gemacht hmhmhm das macht mich kirre ich hab mir neben her dein flood bot angekuckt hast du vllt skype will das auch testen lassen mache das auch drauf
Ich habe einen Dialog gemacht wo man jmd, checken, kicken und bannen kann, wenn man auf ihn Clickt bei der Tab_taste
Dann muss man ja von OnPlayerClickPlayer zu On Dialog Response
Allerdings muss man bei KickPlayer ja die playerid angeben, in dem Fall clickedplayerid.
Die ist bei OnDialogResponse aber nicht definiert.
Wie definier ich die damit das funktioniert?
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DialogClickPlayer)
{
if(response==0)
{
}
if(response==1)
{
}
if(listitem==0)
{
new stringstats[256],arang,atext[50];
arang = GetPVarInt(clickedplayerid,"Adminlevel");
if(gTeam[clickedplayerid] == TeamCops) { atext = "Cops"; }
else if(gTeam[clickedplayerid] == TeamGrove) { atext = "Grove Street"; }
else if(gTeam[clickedplayerid] == TeamZivi) { atext = "Zivilist"; }
format(stringstats,sizeof(stringstats),"[Name: %s] [ID: %i] [Level: %i] [Adminlevel: %d] [Team: %s]",SpielerName(clickedplayerid),clickedplayerid,GetPlayerScore(clickedplayerid),arang,atext);
ShowPlayerDialog(playerid,DialogCheckStats,DIALOG_STYLE_MSGBOX,"Check Stats:",stringstats,"Ok","Ok");
return 1;
//die anderen Klammern fehlen da ncoh mehr kommt
}
Hallo Leute, kann mir mal jemand helfen, also ich habe hier ein Tacho gemacht wo die HP anzeige gezeigt wird, nur irgendwie bleibt die hp anzeige immer auf 1
new heal[20];
new Float:vicheal;
new Vehicleid;
Vehicleid = GetPlayerVehicleID(i);
vicheal = GetVehicleHealth(Vehicleid, vicheal);
if(vicheal < 10) format(heal,sizeof(heal),"HP: ~r~%0.0f", vicheal);
else if(vicheal < 30) format(heal,sizeof(heal),"HP: ~y~%0.0f", vicheal);
else if(vicheal <= 100) format(heal,sizeof(heal), "HP: ~g~%0.0f", vicheal);
TextDrawSetString(SpeedoHeal[i],heal);
Bitte um Hilfe
Alles anzeigenHallo Leute, kann mir mal jemand helfen, also ich habe hier ein Tacho gemacht wo die HP anzeige gezeigt wird, nur irgendwie bleibt die hp anzeige immer auf 1
new heal[20];
new Float:vicheal;
new Vehicleid;
Vehicleid = GetPlayerVehicleID(i);
vicheal = GetVehicleHealth(Vehicleid, vicheal);
if(vicheal < 10) format(heal,sizeof(heal),"HP: ~r~%0.0f", vicheal);
else if(vicheal < 30) format(heal,sizeof(heal),"HP: ~y~%0.0f", vicheal);
else if(vicheal <= 100) format(heal,sizeof(heal), "HP: ~g~%0.0f", vicheal);
TextDrawSetString(SpeedoHeal[i],heal);
Bitte um Hilfe
new heal[20];
new Float:vicheal;
new Vehicleid;
Vehicleid = GetPlayerVehicleID(i);
GetVehicleHealth(Vehicleid, vicheal);
if(vicheal < 10) format(heal,sizeof(heal),"HP: ~r~%0.0f", vicheal);
else if(vicheal < 30) format(heal,sizeof(heal),"HP: ~y~%0.0f", vicheal);
else if(vicheal <= 100) format(heal,sizeof(heal), "HP: ~g~%0.0f", vicheal);
TextDrawSetString(SpeedoHeal[i],heal);
sollte gehen
Alles anzeigennew heal[20];
new Float:vicheal;
new Vehicleid;
Vehicleid = GetPlayerVehicleID(i);
GetVehicleHealth(Vehicleid, vicheal);
if(vicheal < 10) format(heal,sizeof(heal),"HP: ~r~%0.0f", vicheal);
else if(vicheal < 30) format(heal,sizeof(heal),"HP: ~y~%0.0f", vicheal);
else if(vicheal <= 100) format(heal,sizeof(heal), "HP: ~g~%0.0f", vicheal);
TextDrawSetString(SpeedoHeal[i],heal);
sollte gehen
Hatte es davor schon richtig XD
nur habe ich hier die zahlen zu niedrig gemacht, da meine hp anzeige bei 1000 beginnt
falsch:
if(vicheal < 10) format(heal,sizeof(heal),"HP: ~r~%0.0f", vicheal);
else if(vicheal < 30) format(heal,sizeof(heal),"HP: ~y~%0.0f", vicheal);
else if(vicheal <= 100) format(heal,sizeof(heal), "HP: ~g~%0.0f", vicheal);
richtig:
if(vicheal < 250) format(heal,sizeof(heal),"HP: ~r~%0.0f", vicheal);
else if(vicheal < 500) format(heal,sizeof(heal),"HP: ~y~%0.0f", vicheal);
else if(vicheal <= 1000) format(heal,sizeof(heal), "HP: ~g~%0.0f", vicheal);
Trotzdem bedanke ich mich für deine Hilfe
------------------------------------
Nächste Frage:
Hier mein sms script:
format(text,sizeof(text),"[SMS][Von %s]: %s",sName(playerid),text);
SendClientMessage(pid,GELB,text);
format(text,sizeof(text),"[SMS][An %s]: %s", sName(pid),text);
SendClientMessage(playerid, GELB, text);
Mein Problem:
beim 2ten format sieht dann die SendClientMessage so aus:
[SMS][An NAME1]: [SMS][Von NAME2] test
Wie kann ich machen das dort nicht nocheinmal von steht ?
Wie ist es eigentlich am besten das Register und Login System zu machen?? Dini ( mit Enum) oder mit PVars ??
(E) 1. Rechtschreibung
Hey, wollte einen eigenen kleinen Ammu scripten hier das mit den Dialogen etc. und mit dem GivePlayerWeapon ist ja einfach aber wie mache ich das dem Spieler dann auch die Summe entzogen wird? oder er ggf. ins - geht?
Meinste das ?
GivePlayerMoney(playerid, -500); //- 500 wenn ehr geld abgezogen bekommen soll und GivePlayerMoney(playerid, 500); wenn er geld bekommen soll.
oder was meinst du ?
Hier mein sms script:
format(text,sizeof(text),"[SMS][Von %s]: %s",sName(playerid),text);
SendClientMessage(pid,GELB,text);
format(text,sizeof(text),"[SMS][An %s]: %s", sName(pid),text);
SendClientMessage(playerid, GELB, text);
Mein Problem:
beim 2ten format sieht dann die SendClientMessage so aus:
[SMS][An NAME1]: [SMS][Von NAME2] test
Wie kann ich machen das dort nicht nocheinmal von steht ?
Bei der ersten Funktion nicht text überschreiben, sondern dafür einen zweiten String benutzen.