funktioniert immernoch nicht richtig :(.
Wird immernoch mehrfach und für alle angezeigt :(.
Wo sind denn hier die Profis?
Beiträge von Oneill89
-
-
So ich hab hier ne Variable
new Cops[MAX_PLAYERS];
Wenn jemand als Cop spawnt wird die variable für den jeweiligen auf 1 gesetzt
OnPlayerSpawn (playerid)
{
if (gTeam[playerid] = Team_Cop)
{
Cops[playerid] = 1;
}
return 1;
}So und jetzt möchte ich es so haben, das alle Spieler, die in der Cop variable mit 1 eingetragen sind eine Clientmessage erhalten. Soll aber nur für diese sichtbar sein!
for(new i=0; i < sizeof(Cops); i++
{
SendClientMessage(Cops[ i ], Color, blabla)
return 1;
}Folgende Probleme: 1. Das andere Team kann die nachricht auch sehen
2. Für manche Spieler wird die Message 100 mal wiederholt angezeigt -.-.Kann mir jemand helfen? Wo liegt mein Fehler?
-
Ich setze ma das rein was wichtig ist dafür.
#define Team_Cops 0
#define Team_Robbers 1
#define unsichtbar 0xFFFFFF00
#define hellblau 0x00CCFFFFnew gTeam[MAX_PLAYERS];
OnPlayerUpdate(playerid)
if (gTeam[playerid] == Team_Robbers)
{
SetPlayerMarkerForPlayer(playerid, Team_Cops, hellblau & unsichtbar);
}Soll bewirken das Für die Robbers Die Cops unsichtbar auf dem radar werden aber die chatfarbe soll hellblau bleiben.
Funktioniert wie gesagt nur für den ersten spieler der joint. komisch.
Muss ich vielleicht noch ne Variable für alle Farben der Spieler setzen oder iwie? PlayerFarbe[MAX_PLAYERS] ??? -
Ich komm einfach nicht dazu weiterzumachen. Hbae heute mal mit nem Kollegen nen ausführlichen test meines cops and robbers gamemodes gemacht. Vieles hat oft nur teilweise oder garnicht funktioniert. Dann ist mir folgendes aufgefallen.
Ich nenne jetzt mal ein testbeispiel. Ich habe es so gescripted das die cops auf dem radar für gangsta unsichtbar werden. Es funktioniert nur für einen Spieler! Und zwar nur Für ID 0.
Wenn ich also als ID 1 joine und der andere als ID 0 dann sehe ich die ID 0 unsichtbar auf der map. Allerdings sind alle anderen Cops nicht unsichtbar.
Ausserdem kann zumBeispiel ID 0 einen CHeckpoint betreten alle anderen ids können ihn zwar sehen aber es passiert nichts.
Was habe ich wohl falsch gemacht? Warum funktionieren soviele sachen nur für einen spieler?
-
kann ich in dem Script nicht mehr verwenden weil ich schon if(gteam[playerid] != Team_Cops) verwendet habe. Das scipt hat halt ne doppelfunktion und die eine funktion soll sich nicht auf cops auswirken. Wie geht es denn mit ner for schleife?
-
Hab mal paar fragen.
1. Ich versuche bestimmte Servermessages nur für bestimmte player sichtbar zu machen.
Also das ist ein Polizei Radio was den Polizisten sagt, was sie zutun haben und wer wanted ist.
Ich will, das es nur die cops sehen und nicht die Robbers.Bis jetzt habe ich es so versucht: SendClientMessage(Team_Cops, color, blablabla);
geht nicht richtig, die gangsta sehen es immernoch.Ausserdem habe ich es mit ner Schleife versucht:
for(new Team_Cops = 0; gTeam <= MAX_PLAYERS; Team_Cops++)
ging auch net.Was muss ich machen das es klappt?
2. Ich möchte, das für die Gangsta auf dem radar die Cops unsichtbar werden (!!nur die Cops!!), die anderen gansta sollen weiter sichtbar bleiben. Für die Cops wiederrum soll auf dem radar alles sichtbar sein sowohl teammitglieder als auch robber.
Wie stelle ich sowas an? Wie kann ich Team Spezifisch Player auf dem radar anzeigen lassen und wie verbergen.
Danke im Voraus.
-
Also. Der Checkpoint soll die HP eines Players auffüllen, wenn er ihn betritt. Soll sich durch den Command !health aktivieren lassen und nach 2 minuten von selbst wieder aus gehen.
Habs bis jezt so gemacht. Müsste doch richtig sein oder?
forward healthAus();
public OnPlayerText(playerid, text[])
if(strcmp(text, "!health", true) == 0)
for(new players = 0; players <= MAX_PLAYERS; players++)
{
SetPlayerCheckpoint(players,-1529.4253,542.0471,7.1797,10);
SetTimer("healthAus", 200000, 0);
}
return 1;
}public OnPlayerEnterCheckpoint(playerid)
{
SetPlayerHealth(playerid, 100);
return 1;
}public healthAus()
{
for(new players = 0; players <= MAX_PLAYERS; players++)
{
DisablePlayerCheckpoint(players);
}
return 1;
}Was ich jetzt noch nicht weis. Wenn ich mehrere Checkpoints haben will, wie kann ich dem jeweiligen checkpoint eine ID zuweisen, sodass jeder seine eigene Aufgabe bei OnPlayerEnterCheckpoint erfüllen kann. Wäre gut wenn du mir das noch sagen könntest. Danke schonmal im voraus
-
ok thx und wenn ich den hinterher wieder zerstört haben will für alle player (disableplayercheckpoint)
auch wieder mit schleife?
-
Hi, wie kann ich einen Checkpoint für alle player die auf dem server sind sichtbar machen.
Weil mit SetPlayerCheckpoint(playerid... geht es ja nur für den player, der ihn auslöst.
Ich möchte per command einen Checkpoint auslösen der health abgibt wenn man ihn betritt. Funzt auch aber der checkpoint ist nur für den sichtbar, der den command eingibt. Kann mir wer helfn?
-
Ok Thx für die schnelle Hilfe ich versuchs, obwohl ich das mit dem globale Variable setzen noch nicht so drauf hab aber da hab ich wohl im turtorial was überflogen ^^.
-
@ crank funzt net
@ Trooper
wie kann ich denn eine Abfrage innerhalb einer Abfrage einbringen?
hab das schon versucht aber gab immer error beim compilen.public OnPlayerAmmoChange(playerid, oldammo, newammo)
I
Wie sage ich public onplayerammochange das er public OnPlayerWeaponChance mit abfragen soll
I
I
I
I
I
public OnPlayerWeaponChange -
Hallo bin neu hier wie man sieht :D, bin auch neuling im Scripten aber habe alle möglichen turtorials schon studiert also kommt mir hier nicht mit wikipedia an ;D.
Ich hab folgendes gescriptet:
public OnPlayerAmmoChange(playerid, oldammo, newammo)
{
if (oldammo >= newammo)
{
SetPlayerWantedLevel(playerid, 3);
}
return 1;
}----------------------------------------
Funktion: Wenn ein player schiesst soll er Wanted level 3 bekommen.
Dadurch das man munition verliert also die alte munition grösser ist als die neue wird man wanted gesetzt.
Funktioniert auch, doch ich habe ein bug in dem script:
Der Player wird wanted wenn er sich ne waffe kauft und ausserdem wird er wanted, wenn er die waffe wechselt.
Weis jemand wie ich den bug beheben kann, nach möglichkeit mit scriptbeispiel?
Oder gibts bessere möglichkeiten als ein remotecallback zur ammoabfrage?folgendes habe ich ausserdem schon versucht:
{
if (oldammo != 0 && oldammo >= newammo)
{
SetPlayerWantedLevel(playerid, 3);
}
return 1;
}
-------------------------------------Wenn man eine waffe kauft oder die waffe wechselt gibt es ja garkeinen oldammo und oldammo wäre dann ein nicht bestimmter wert oder so. Hats damit was zutun?
Ich bitte um Hilfe da ich schon sehr viel in meinem Gamemod allein geschafft hab und stolz bin und wirklich gerne weiterkommen würde. Allein an diesem problem hab ichs ersma 3 tage selbst versucht.
Die im englischen samp forum konnten mir nicht helfen mal sehen ob ihrs besser könnt.
Danke für antworten und fürs zuhören.Oneill