IsMedicVeh(vehicleid)
{
for(new i=0;i<sizeof(medicvehs);i++)
{
if(medicvehs[i] == vehicleid) return 1;
}
return 0;
}
//E: Anwendung solltest du hinebkommen.
IsMedicVeh(vehicleid)
{
for(new i=0;i<sizeof(medicvehs);i++)
{
if(medicvehs[i] == vehicleid) return 1;
}
return 0;
}
//E: Anwendung solltest du hinebkommen.
http://wiki.sa-mp.com/wiki/AddStaticVehicleEx
Lese dir das durch, somit funktioniert deine Lösung nicht mehr. Einfach CreateVehicle nutzen.
Da ist wohl die verschachtelte Abfrage schuld. Versuche es erstmal so, aber man kann es noch um einiges kürzen.
if(strcmp(cmdtext, "/enter", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)
{
if PlayerToPoint(3.0,playerid,2597.7322,1900.3004,11.0312)
{
SetPlayerPos(playerid,140.0937,1368.6858,1083.8634);
SetPlayerInterior(playerid,5);
SetPlayerVirtualWorld(playerid, 2);
}
else if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)
{
if PlayerToPoint(5,playerid,691.2778,-1275.9631,13.5605)
{
SetPlayerPos(playerid,140.0937,1368.6858,1083.8634);
SetPlayerInterior(playerid,5);
SetPlayerVirtualWorld(playerid, 1);
SendClientMessage(playerid,COLOR_1GREEN,"*** Welcome to La Costa Nostra home kid ,enjoy !");
}
}
}
}
return 1;
}
Das nächte mal bitte richtig einrücken, dann ist der Fehler auch leichter erkennbar.
if(strcmp(cmdtext, "/enter", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)
{
if PlayerToPoint(3.0,playerid,2597.7322,1900.3004,11.0312)
{
SetPlayerPos(playerid,140.0937,1368.6858,1083.8634);
SetPlayerInterior(playerid,5);
SetPlayerVirtualWorld(playerid, 2);
}
else if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)
{
else if PlayerToPoint(5,playerid,691.2778,-1275.9631,13.5605)
{
SetPlayerPos(playerid,140.0937,1368.6858,1083.8634);
SetPlayerInterior(playerid,5);
SetPlayerVirtualWorld(playerid, 1);
SendClientMessage(playerid,COLOR_1GREEN,"*** Welcome to La Costa Nostra home kid ,enjoy !");
}
}
}
}
return 1;
}
Die Abfrage ist sehr fragwürdig gestaltet, aber ich lasse es dir so.
Nein, er braucht die neue Serverversion, nicht nur die Includes.
//E:
Mirco2011
Es reicht, wenn du die 3 .exe-Dateien und die Server.cfg austauschst, bzw. bei der alten Server.cfg die folgende Zeile hinzufügst:
Gut, nun sollte dir auffallen: Die Zahl (Feldanzahl des Arrays) in den eckigen Klammern ([]) ist kleiner als die Anzahl der Werte (bei dir Fahrzeuge) die ihr zugewiesen werden. Da hilft eine einfache Lösung: Die Zahl hochsetzen.
Es geht von 0-17, das sind 18 Felder, jetzt solltest du wissen, wass zu tun ist.
Du hast dir meinen Link nicht angeschaut, dann brauchst du aber auch keine Hilfe erwarten.
Aber zu Variable: Suche in deinem Script nach new FastFiveVehs und poste diese Zeile.
Wie hast du die Variable FastFiveVehs definiert? Und schau dir nochmal AddStaticVehicleEx an, bei dir fehlt ein Parameter, vermutlich die Respawnzeit.
Stichwort: PutPlayerInVehicle
Wo liegt denn dann noch das Problem?
Ich erkläre dennoch die Grundidee: Im Callback OnPlayerDeath gibt es 3 Parameter, 2 davon sind für dich relevant: killerid und playerid. Wenn der Spieler (playerid) stirbt, zählst du bei seinen Toden eins hinzu (+1/++), bei killerid bei den Morden, wie du die Ratio berechnest habe ich oben schon erwähnt.
Meinst du SendDeathMessage?
Die Killrate kannst du berechnen, indem du die Anzhal der Tötungen (getöteten Spieler) durch die der Tode teilst.
Wie soll das denn gehen? Wenn müsstest du den Variablen (von, ...) auch den Wert zuweisen, was aber unnötig ist, da [b]dini_GetString[b] (nicht dini_Get = Integer) direkt den Wert returnt.
format(string,sizeof(string),"** Wilkommen %s du wurdest von:[%s] gebannt, mit dem Grund:[%s]\nDenk einmal über dein Verhalten nach und schreib\ndann etwas ins Forum in die Kategorie: Gebannt/Gekickt/Verwarnt.\nmfg das Adminteam",plname,dini_GetString(save,"Gebannt_Von"),dini_GetString(save,"Grund"));
Editregel ist Editregel, keine Ausnahmen, auch nicht bei einem Buchstaben.
Wenn ich das so richtig verstehe:
Bei Zahlen
if(strval(inputtext) == /*Zahl*/)
Und bei Strings
if(!strcmp(inputtext, /*String*/))
Du hattest, wie oben bereits beschrieben, AutoInfo[vID][vPos][4] zu viel, da die Position 0-2 und Facingangle 3 ist (4 Felder). Bei dir wären es aber 5 gewesen, somit ein Parameter zu viel.
AddStaticVehicleEx(AutoInfo[vID][vModel],AutoInfo[vID][vPos][0],AutoInfo[vID][vPos][1],AutoInfo[vID][vPos][2],AutoInfo[vID][vPos][3],AutoInfo[vID][vFarbe1],AutoInfo[vID][vFarbe2],60000);
So ausprobiert? Spllte gehen.
Ich würde mal sagen, dass AutoInfo[vID][vPos][4] zu viel ist, da Pos 0-4 schon die Position + Facingangle sind.
Zitatdas dini das in %s.ini schreibt und bei login wieder lädt ?
Aber jetzt ehrlich: Du hast einen Ansatz, versuche es und wenn es Probleme gibt melde dich, dann wird dir auch wieder geholfen.
// OnPlayerSpawn
SetPlayerPos(/*Werte*/);
// Andere Abfragen, wenn vorhanden
Falsch ist an meinem Ansatz garnichts. Man muss dann noch eine Abfrage einbauen, aber das sollte eigentlich klar sein, dachte ich.
Du musst die Position setzen, nachdem der Spieler gespawnt ist, z.B. OnPlayerSpawn.