kannst du mir auch sagen was daran verändert worden ist weil ich noch lerne.
Ganz einfach else if(!IsPlayerConnected), ergibt kein Sinn, Abfrage um geschrieben, und else unten raus genommen.
MFG
kannst du mir auch sagen was daran verändert worden ist weil ich noch lerne.
Ganz einfach else if(!IsPlayerConnected), ergibt kein Sinn, Abfrage um geschrieben, und else unten raus genommen.
MFG
steht im Enum das hier:
etc...
Float:MordeGesamt,
Float:TodeGesamt
etc...
?
Nein nur MordeGesamt, es soll ja auch noch normal also z.b. Morde gesamt: 10 angezeigt werden und nur in der KD gefloatet werden
//Edit: Closed, falsches Enum benutzt, SpielerInfo statt WaffenInfo, mfg
Ist der wert auch als Float definiert?
Float:SpielerInfo[playerid][MordeGesamt]/Float:SpielerInfo[playerid][TodeGesamt]
So hab ich es in dem Stats Dialog drinne
Wie währe es mit %f
MFG Arendium
Danke für die Hilfe, aber da kommen immer noch die gleichen Warnings, und die Floatwerte sollen ja 2 nach dem Komma zeigen.
MFG
Hier soll die KD-Rate angezeigt werden (ganz unten im Dialog, allerdings kommt 3x warning: Tagmismatch.
format(string,sizeof(string),"DM-Rang: %s\nNahkampfmorde: %i\nMorde mit Deagle: %i\nMorde mit Minigun: %i\nMorde mit AK-47: %i\nMorde mit M4: %i\nMorde mit RPG: %i\nMorde mit Pumpgun: %i\nMorde mit Sniper: %i\nMorde gesamt: %i\nTode gesamt: %i\nKD-Ratio: %0.2f", DmPlatzierung(playerid),WaffenInfo[playerid][KillsMitFaust],WaffenInfo[playerid][KillsMitDeagle], WaffenInfo[playerid][KillsMitMinigun], WaffenInfo[playerid][KillsMitAK47], WaffenInfo[playerid][KillsMitM4],
WaffenInfo[playerid][KillsMitRPG],WaffenInfo[playerid][KillsMitPumpgun],WaffenInfo[playerid][KillsMitSniper], WaffenInfo[playerid][MordeGesamt],SpielerInfo[playerid][TodeGesamt],Float:SpielerInfo[playerid][MordeGesamt]/Float:SpielerInfo[playerid][TodeGesamt]);
MFG
Ich würde dir empfehlen einfach eine Variable hochzählen zu lassen, sprich bei Serverstart ist diese 1, wenn nun 2 Personen in EgE geschickt werden bekommen die beiden vWorld 1, dann addierst du 1 auf deine Variable und nun kannst du die zweiten 2 Personen in die vWorld 2 schicken usw.
Ist vielleicht nicht die beste Lösung, aber eine Lösung
Ich werds versuchen, danke.
MFG
//Edit: So?
if(dialogid == DIALOG_ANNEHMEN)
{
if(!response)return SendClientMessage(playerid, WEISS, "Du hast die Anfrage der 1 vs 1 Einladung abgelehnt!");
if(response)
{
EinsGegenEins[playerid] = 1;
ServerWaffen(playerid,24,300);
new rand = random(sizeof(EGESpawn));
SetPlayerPos(playerid, EGESpawn[rand][0],EGESpawn[rand][1], EGESpawn[rand][2]);
SetPlayerVirtualWorld(playerid,VirtualWorldEgE[playerid]+1);
}
}
Naja, kommt ganz drauf an was der bzw. die Spieler für ne Virtualworld momentan haben...
Wenn der eine Virtualworld 2 hat, und der andere aber 4, dann hat der 1. die Virtualworld 3 und der 2. Virtualworld 5...
Setzt die Spieler doch in eine festgelegte Virtualworld?
Nein, in jeder Virtual World sollen ja nur 2 Spieler sein, (1vs1), deshalb war meine Frage ja auch wenn der der einlädt von 0 > 1 geht, ist die bei dem eingeladen sobald er annimmt auch 1, das hab ich schon getestet.
Aber jetzt, wenn schon 2 in Virtual World 1 sind, sollen die nächste 2 in Virtual World 2 gehen usw.
MFG
So habe hier mal mein system soweit fertig geschrieben, nun ist die Frage wenn z.b. 2 Spieler in EgE sind, ob die nächsten 2 denn Virtual World 2 bekommen? oder immer nur VW = 1?
if(dialogid == DIALOG_ANNEHMEN)
{
if(!response)return SendClientMessage(playerid, WEISS, "Du hast die Anfrage der 1 vs 1 Einladung abgelehnt!");
if(response)
{
EinsGegenEins[playerid] = 1;
ServerWaffen(playerid,24,300);
new rand = random(sizeof(EGESpawn));
SetPlayerPos(playerid, EGESpawn[rand][0],EGESpawn[rand][1], EGESpawn[rand][2]);
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid)+1);
}
}
Alles anzeigennew arenastatus = 0;
new arena[MAX_PLAYERS];
// Irgendwo im Script den Befehl zum Betreten der Arena
// arenastatus++
// Benutzt jemand den Befehl, wird die Variable um 1 hochgezählt
// Variable steht nun also bei 1, kommt der zweite rein, steht die Variable nun bei 2. Somit wäre sie voll.
// Folgendes muss in den Befehl:
if(arenastatus < 3)
{
if(arena[playerid] == 0) // Ist der Spieler schon in der Arena? Wenn nein (0), dann geht's weiter:
{
arena[playerid] = 1; // Spieler ist nun in der Arena
// Port in die Arena
// etc.
}
else
{
// Wenn der Spieler bereits in der Arena ist
}
}
else
{
// Wenn die Arena voll ist.
}
// Befehl für das Verlassen muss enthalten:
// arenastatus--
// arena[playerid] = 0;
Bin mir nicht sicher ob's funktioniert, hab das eben nur mal fix geschrieben. Und wozu braucht man hier for-Schleifen?
Habs nun anders gemacht, aber danke
[03:52:49] Error: Function not registered: 'SSCANF_Init'
[03:52:49] Error: Function not registered: 'SSCANF_Join'
[03:52:49] Error: Function not registered: 'SSCANF_Leave'
[03:52:49] Script[gamemodes/script.amx]: Run time error 19: "File or function is not found"
[03:52:49] Number of vehicle models: 0
Ganz oben im Script >>
#include <sscanf2>
Das Plugin findest du hier:
http://forum.sa-mp.com/showthread.php?t=120356
MFG
[03:47:09] Script[gamemodes/script.amx]: Run time error 19: "File or function is not found"
[03:47:09] Number of vehicle models: 0
Und dann ?
Plugins sind alle drinne und neue
Hol dir mal die Nativechecker.dll, denn siehste welche File fehlt
Einfach als Plugin einbinden, und schick denn noch mal den Errorcode aus der Konsole, MFG
//Edit: Meinte File, nicht Include
//Edit²: Meinte als Plugin einfügen nicht als Filterscript -.-
Alles anzeigenGuten Morgen,
Und zwar wie kriege ich ein Windows Server zum laufen ?
wie ist meine homeip.
Mfg
Yumex
127.0.0.1:7777 //Port kann frei gelassen werden.
MFG
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER) //ab hier geht alles
{
for(new i=0; i<sizeof(fbiCar); i++)
{
if(GetPlayerVehicleID(playerid)==fbiCar[i])
{
if(SpielerInfo[playerid][pFraktion] !=2)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du darfst dieses Fahrzeug nicht fahren.");
}
}
}
}
for(new i=0; i<sizeof(pdCar); i++)
{
if(GetPlayerVehicleID(playerid)==pdCar[i])
{
if(SpielerInfo[playerid][pFraktion] !=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du darfst dieses Fahrzeug nicht fahren.");
}
}
}
}
return 1;
}
Hier, die Klammern musst du selbst fixxen, du brauchst nicht 2x if(newstate == Player_state_driver und 3x return 1; einfügen.
MFG
wie oben geschrieben suche ich bfx_imStream hoffe jemand hat ihn oder nen link hab schon geschaut finde leider nichts
Falls noch benötigt, schreib mir bitte eine PN - Ich habe die Datei auf meinem PC im Include Ordner.
MFG
//UNGETESTET! (Enum o.ä UMSCHREIBEN!)
ocmd:takewarn(playerid, params[])
{
new pID;
If(!IsPlayerAnAdmin(playerid, 1-5))return SendClientMessage(playerid, FARBE, "Du hast keine Rechte um diesen Befehl auszuführen"); //Muss angepasst werden
if(sscanf(params, "u", pID))return SendClientMessage(playerid, FARBE, "Benutze: /takewarn ID");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid, FARBE, "Dieser Spieler ist offline!");
new string[128];
format(string, sizeof(string), "%s hat deine Warns gecleart!", SpielerName(playerid)); //Sollte angepasst werden
if(SpielerInfo[pID][Warns] > 0)
{
SpielerInfo[pID][Warns] -= 1;
SendClientMessage(pID, FARBE, string);
} else return SendClientMessage(playerid, FARBE, "Dieser Spieler hat keine Warns!");
return 1;
}
Hoffe das hilft dir weiter.
//Edit: Fehler vorbehalten, grad schnell ausm Kopf geschrieben.
okay dann muss der fehler hier
GetPlayerPos(pID, GodX, GodY, GodZ);
CreateExplosion(GodX, GodY, GodZ, 12, 10.0);
irgendwo liegen. Ich hab das nämlich bei mir raus genommen und es klappte auf anhieb.
Habe grad geschaut, naja immer noch die Meldung > Ich hätte Godmode (Habe ich aber nicht) und wenn ich mich n 2x Sprenge (dadurch sterbe), kommt die normale Nachricht dass ich kein Godmode hätte.
Kann es sein, dass du vergessen hast dem ganzen nen return 1; zu verpassen? Ich habs gerade bei mir getestet. Dort ging es mit einem return 1;
new Float:GottHealth;
GetPlayerHealth(pID, GottHealth);
GetPlayerPos(pID, GodX, GodY, GodZ);
CreateExplosion(GodX, GodY, GodZ, 12, 10.0);
if(GottHealth < 80.0)
{
SendClientMessage(playerid, GRÜN, "Der geprüfte Spieler hat keinen Godmode!");
} else {
SendClientMessage(playerid, ROT, string);
}
return 1;
}
Ne, ein Return 1; ist vorhanden.
} else {
SendClientMessage(playerid, ROT, string);
Wo ist denn der string?
format(string, sizeof(string), "Bei dem eben geprüften Spieler: %s wurde Godmode entdeckt!", SpielerName(pID));
Hier, sorry
Grad mal versucht n Godcheck zu schreiben, funktioniert alles soweit, allerdings werden die Nachrichten vertauscht, meine HP geht unter < 80, aber es wird mir die Nachricht ausgegeben, dass ich Godmode hätte. :o
new Float:GottHealth;
GetPlayerHealth(pID, GottHealth);
GetPlayerPos(pID, GodX, GodY, GodZ);
CreateExplosion(GodX, GodY, GodZ, 12, 10.0);
if(GottHealth < 80.0)
{
SendClientMessage(playerid, GRÜN, "Der geprüfte Spieler hat keinen Godmode!");
} else {
SendClientMessage(playerid, ROT, string);
}
klar
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid)+1);
Ah danke //Close