such im script mal (STRG + F) nach %s hat den Server betreten
und nach %s hat den Server verlassen
bzw unter OnPlayerConnect(playerid) und unter OnPlayerDisconnect(playerid, reason)
und lösch dies raus.
LG, Zunno
such im script mal (STRG + F) nach %s hat den Server betreten
und nach %s hat den Server verlassen
bzw unter OnPlayerConnect(playerid) und unter OnPlayerDisconnect(playerid, reason)
und lösch dies raus.
LG, Zunno
Du brauchst eine Schleife die Jedes Gang Auto erfasst.
Dann würde ich Abfragen ob jemand drine stitzt ( Egal welcher Platz) und das Auto dann nicht respawnen.
Und die Funktion SetVehicleToRespawn(vehicleid); ist auch für dich noch wichtig.
LG, Zunno
Unter OnPlayerStateChange:
if(newstate == PLAYER_STATE_PASSENGER)
{
switch(GetPlayerWeapon(playerid))
{
case 24: SetPlayerArmedWeapon(playerid, 0); //Anti Dealge DriveBy
//Weitere Waffen?
}
}
setzt die waffe auf die "Faust" wenn er mit einer Deagle einsteigt als beifahrer.
//Includes
#include <a_samp>
//News
new LSPDcar;
new PDbike;
new Train;
new AT400;
new Coach1;
//Publics
public OnFilterScriptInit()
{
ConnectNPC("Mike","busbot");
ConnectNPC("Johnson","copcarbot");
ConnectNPC("Yards","policebikebot");
ConnectNPC("Kelroy","trainbot");
ConnectNPC("Roy","at400bot");
//Vehicles
Coach1 = AddStaticVehicle(437, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1);
LSPDcar = AddStaticVehicle(596, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1);
PDbike = AddStaticVehicle(523, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1);
Train = AddStaticVehicle(538, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1);
AT400 = AddStaticVehicle(577, 2109.1763, 1503.0453, 32.2887, 82.2873, 1, 3);
}
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "Mike", true))
{
PutPlayerInVehicle(playerid, Coach1, 0);
SetPlayerSkin(playerid, 255);
ResetPlayerWeapons(playerid);
}
if(!strcmp(npcname, "Johnson", true))
{
PutPlayerInVehicle(playerid, LSPDcar, 0);
SetPlayerSkin(playerid, 255);
ResetPlayerWeapons(playerid);
}
if(!strcmp(npcname, "Yards", true))
{
PutPlayerInVehicle(playerid, PDbike, 0);
SetPlayerSkin(playerid, 255);
ResetPlayerWeapons(playerid);
}
if(!strcmp(npcname, "Kelroy", true))
{
PutPlayerInVehicle(playerid, Train, 0);
SetPlayerSkin(playerid, 255);
ResetPlayerWeapons(playerid);
}
if(!strcmp(npcname, "Roy", true))
{
PutPlayerInVehicle(playerid, AT400, 0);
SetPlayerSkin(playerid, 255);
ResetPlayerWeapons(playerid);
}
}
return 1;
}
Versuch es mal so
ersatz das response mit inputtext dann sollte es funktionieren da response nur angibt ob er auf den ersten button oder auf den zweiten drückt.
Lg, Zunno
Naja find ich nicht so gut. Einfach eine PN an ein Mod/Admin schreiben und höfflich fragen ob er den Thread closen kann mit guten Gründen.
LG, Zunno
Das Nova eSports cp soll das sein?
Er meint sicherlich das CP von Nova womit man seinen Server starten / stoppen / restarten kann usw.
Das kann man kaufen
Schreib ambesten immer in klein rechts unten oder in eine ecke "Made by Name" oder so, dann nehmen sie es meistens nicht
Ich habe ihm über TeamViewer geholfen xD
Er hat sein new von new FS3D[MAX_PLAYERS]; zu new Text3D:FS3D[MAX_PLAYERS]; geändert und die Zeile die ich hier gepostet habe.
LG, Zunno
Nunja du kannst die Baustellen Objecte z.B. so definieren:
new Baustelle[20]; Wobei die 20 für die Anzahl der Objecte steht.
Diese kannst du dan mit
Baustelle[0] = CreateObject(...);
Baustelle[1] = CreateObject(...); usw erstellen lassen und mit
for(new i = 0; i < sizeof(Baustelle); i++)
{
DestroyObject(Baustelle[i]);
}
wieder löschen
Ersetz:
Attach3DTextLabelToPlayer(Text3D:FS3D[playerid], giveplayerid, 0.0, 0.0,0.42);//HIER KOMMT DER WARNING
mit:
Attach3DTextLabelToPlayer(FS3D[playerid], giveplayerid, 0.0, 0.0,0.42);//HIER KOMMT DER WARNING
LG, Zunno
Edit: Tommyx3 #pragma tabsize 0 löst nicht immer alle Probleme. Dann wäre vieleicht der Warning weg aber das Label würde trozdem nicht angezeigt werden.
Wenn du kein Plugin benutzen möchtest, benutz Opas Objectstreamer, der ist eigentlich recht gut.
Das Streamer Plugin würde ich dir aber empfehlen, da dieses Plugin nicht nur Objecte Streamt
Zur Frage:
Nunja der Include Object Streamer hat ja auch eine gewisse größe, und vergrößert beim Compilen die AMX und deswegen dauert es auch länger zu Compilen (meine Theorie^^)
Du könntest zum verschnellern einfach mal probieren den Streamer anzupassen in form von strings verkleinern die auf 128 oder so stehen
LG, Zunno
dcmd_kick(playerid,params[])
{
if(GetPVarInt(playerid,"Admin") < 2) return SendClientMessage(playerid,Grau,"Du bist kein Admin."); //So wird abgefragt wenn das admin level kleiner als 2 ist, wird der text ausgegeben.
new pID, reason[128],string[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Grau,"/kick [id] [grund]");
format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(Rot,string);
Kick(pID);
return 1;
}
Da sieht man ja schon das "team" nicht benutzt wird.
Desweiteren sender er wenn du einmal SendTeamMessage ausführst die Nachricht an Fraktion 1, Fraktion 2, Fraktion 3 und Fraktion 4..
Wenn du nun SendTeamMessage(1, farbe, string); machst und dann SendTeamMessage(2, farbe, string); usw, sendet er egal welche Zahl am anfang steht die nachricht nur an die 4 fraktionen.
Deshalb würde ich dir vorschlagen die funktion so umzuändern.
public SendTeamMessage(team, color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == team || PlayerInfo[i][pLeader] == team)
{
SendClientMessage(i, color, string);
}
}
}
}
LG
Zunno
Dein Fehler liegt denke ich mal hierdran: SendTeamMessage(1, COLOR_ALLDEPT, string);
SendTeamMessage(2, COLOR_ALLDEPT, string);
SendTeamMessage(3, COLOR_ALLDEPT, string);
SendTeamMessage(16, COLOR_ALLDEPT, string);
SendTeamMessage(17, COLOR_ALLDEPT, string);
Such mal im Script nach public SendTeamMessage und guck dir die Funktion mal an
Du hast doch bestimmt deine sInfo[playerid][Level] in einem Enum festgelegt oder?
dann ladest du in dieses Enum beim Login die Daten, und kannst dann dieses Enum zum abfragen benutzen.
if(sInfo[playerid][Level] == 2) return SendClientMessage(playerid, COLOR_WHITE, "* Du bist Level 2 :D");
mfg zunno
Es wäre vieleicht besser wenn du die Gruppe in der mysql_query abfrage einbeziehst..
sprich
new query[256];
format(query, sizeof(query), "SELECT * FROM vehicles WHERE vGroup = '%s'",group);
mysql_query(query);
Und dann alles was ausgegeben wird laden/erstellen lassen
Hast du vieleicht schon davor noch Fahrzeuge auf dem Server erstellt? Also bevor die Fahrzeuge aus der MySQL Datenbank gelesen werden?
Ich verstehe auch nicht ganz wieso du MAX_VEHICLES auf 100 definierst..
Das heißt du möchtest also insgesamt nur 100 Fahrzeuge auf deinem Server dulden?
-Zunno
Ich würde mal versuchen den Dialog außerhalb der Schleife anzeigen zu lassen...
Mit freundlichen Grüßen,
Zunno