Das heist es fehlt wo ein ";". Es kann gut sein, das es VOR dem Main ist und nicht drin:
blablabla//Hier fehlt wahrsch ein ;
main()
{
print(" ");
}
Das heist es fehlt wo ein ";". Es kann gut sein, das es VOR dem Main ist und nicht drin:
blablabla//Hier fehlt wahrsch ein ;
main()
{
print(" ");
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 2032.2887,1544.8514,10.8203);
SetPlayerCameraPos(playerid, 2037.3260,1544.8792,10.8203);
SetPlayerCameraLookAt(playerid, 2032.2887,1544.8514,10.8203);
SetPlayerFacingAngle(playerid, 270.0);
new string[128];
if (classid == 0)
{
format(string, sizeof(string), "~y~CJ - Gang : Grooves");
}
if (classid == 1)
{
format(string, sizeof(string), "~y~Folgt");
}
GameTextForPlayer(playerid,string,3500,6);
return 1;
}
So sollte das aussehen.
EDIT: Schon wieder zu spät -.-
ICH WILL BOTS! Ne, echt cool, ich freu mich schon drauf
SetPlayerMarkerForPlayer(i, playerid,0);
JO, genau richtig! Aber die PWN-klammer tun den Code manchmal bisschen vershcieben(loose indetation: flasch eingerückt)
Hier als .pwn-file breadfish.de/wcf/attachment/157/
Ähh...ich verstehe nicht ganz was du meinst. Willst du ein Tutorial schreiben? Dann mach doch eins!
Oder falls du http://samp.breadfish.de/wiki/JoinAndLeaveMessage meinst, ist doch beschrieben, wies funktioniert
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new cmd[256];
new tmp[256];
new giveplayerid, moneys, idx;
cmd = strtok(cmdtext, idx);
if (!strcmp("/kill", cmdtext, true))
{
SetPlayerHealth(playerid, 0.0);
return 1;
}
if(strcmp(cmdtext, "/rb", true)==0)
{
if (gTeam[playerid] != TEAM_BLUE) return SendClientMessage(playerid, COLOR_RED," You're not a cop!");
new Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
roadblock = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
SetPlayerPos(playerid, X, Y, Z+4);
RoadBlock[playerid] += 1;
SendClientMessage(playerid, COLOR_GREEN, "RoadBlock Successfully Deployed");
return 1;
}
if(strcmp(cmdtext, "/drb", true)==0)
{
if (gTeam[playerid] != TEAM_BLUE) return SendClientMessage(playerid, COLOR_RED," You're not a cop!");
if (RoadBlock[playerid] == 0) return SendClientMessage(playerid, COLOR_RED," You didn't add a roadblock!");
DestroyObject(roadblock);
RoadBlock[playerid] -= 0;
SendClientMessage(playerid, COLOR_GREEN, "RoadBlock Successfully Removed");
return 1;
}
return 0;
}
Bei dem CreateObject fehlen die Drehungen/WInkel/Rotationen und Kommas
TorLSPD = CreateObject(982,1588.275879,-1637.978149,15.193989,0,0,0);
//Torname = CreateObject(objektid,x,y,z,drehungx,dry,drz);
Alsöö....
new roadblock; // Unter includes
new RoadBlock[MAX_PLAYERS]; // Unter includes
public OnPlayerCommandText(playerid,cmdtext [])
{
if(strcmp(cmdtext, "/rb", true)==0)
{
if (gTeam[playerid] != TEAM_BLUE) return SendClientMessage(playerid, COLOR_RED," You're not a cop!");
new Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
roadblock = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
SetPlayerPos(playerid, X, Y, Z+4);
RoadBlock[playerid] += 1;
SendClientMessage(playerid, COLOR_GREEN, "RoadBlock Successfully Deployed");
return 1;
}
if(strcmp(cmdtext, "/drb", true)==0)
{
if (gTeam[playerid] != TEAM_BLUE) return SendClientMessage(playerid, COLOR_RED," You're not a cop!");
if (RoadBlock[playerid] == 0) return SendClientMessage(playerid, COLOR_RED," You didn't add a roadblock!");
DestroyObject(roadblock);
RoadBlock[playerid] -= 0;
SendClientMessage(playerid, COLOR_GREEN, "RoadBlock Successfully Removed");
return 1;
}
return 0;
} //so in OnPlayerComandText einfügen
beutze einfach pwn in eckigen klammern, oder einfacher: drück oben auf PWN und schreib deinen Code dazwischen.
Zu den Errors, bei 22, 25 und 114 ist es falsch eingerückt und zeig am besten mal zeilen 113-115 her
EDIT: Ich habs mal in pawno kopiert(so seh ich ja die zeilen) und hab einige fehler bei onPlayerCommandText entdeckt!
breadfish.de/wcf/attachment/156/ So ist alles richtig
Ähm, wenn dus nur für Fraktionen haben willst, dann musst dus schon in GF umbaun, ne?
Sonst, hier ne version, die dann halt für alle geht:
#include <a_samp>
#pragma tabsize 0
#define COLOR_YELLOW 0xFFFF00AA
#define FILTERSCRIPT
new LCN_gate;
new y_gate;
new YA_gate;
public OnFilterScriptInit()
{
LCN_gate = CreateObject(980, 1289.776489, -2056.777100, 60.376900, 0.0000, 0.0000, 270.0000);
y_gate = CreateObject(988, 1305.335693, -802.542603, 84.179688, 0.0000, 0.0000, 0.0000);
YA_gate = CreateObject(980, 1245.503296, -767.402649, 93.816933, 0.0000, 0.0000, 0.0000);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/LCNo", true) == 0)
{
MoveObject(LCN_gate,1289.556519, -2068.708496,60.265697,4);
SendClientMessage(playerid, COLOR_YELLOW,"Das LCN Tor wird geöffnet!");
return 1;
}
if (strcmp(cmdtext, "/LCNc", true) == 0)
{
MoveObject(LCN_gate,1289.776489, -2056.777100,60.376900,4);
SendClientMessage(playerid, COLOR_YELLOW," Das LCN Tor wird geschlossen!");
return 1;
}
if (strcmp(cmdtext, "/yo", true) == 0)
{
MoveObject(y_gate,1299.838013, -802.5184+4,84.179688,4);
SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
return 1;
}
if (strcmp(cmdtext, "/yc", true) == 0)
{
MoveObject(y_gate,1305.335693, -802.542603,84.179688,4);
SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
return 1;
}
if (strcmp(cmdtext, "/yao", true) == 0)
{
MoveObject(YA_gate,1235.550903, -767.434875,91.838409,4);
SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände");
return 1;
}
if (strcmp(cmdtext, "/yac", true) == 0)
{
MoveObject(YA_gate,1245.50329, -767.402649,93.816933,4);
SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
return 1;
}
return 0;
}
SO, hier bitteschön! Du musst halt immer so machen wie im Script mit der Nummer.
breadfish.de/wcf/attachment/154/
Viel Spaß damit!
Das geht aber nur, wenn der Spieler Sterne hat. Also die rechts oben unterm Geld
Also, soviel ich weis(bin mir nicht sicher) zeigt ein streamer immer nur die autos an, die gerade benötigt werden, also sich ein Spieler in der nähe befindet. Dadurch lassen sich mehr Autos einbauen.
Bei diesem Streamer ist der Einbau ganz einfach:
Oben ins script unter includes: "# include <AvStream> "-
Füge unter OnGameModeInit "Car_Iniciar (); " ein und unter OnPlayerExitVehicle "Car_OnPlayerExitVehicle(vehicleid);"
Dann bei OnGameModeInit alle Autos mit "CrearCarro(modelid,Float:X,Float:Y,Float:Z,Float:R,color1,color2);" reinmachen (Gleich wie AddStaticVehicle)
BSP:
public OnGameModeInit()
{
Car_Iniciar ();
CrearCarro(451,123.33,456.55,221.111,180.0,123,123);
//Alle autos mit CrearCarro(modelid,Float:X,Float:Y,Float:Z,Float:R,color1,color2); hier einfügen
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
Car_OnPlayerExitVehicle(vehicleid);
return 1;
}
EDIT: Car_OnPlayerExitVehicle wurde verbessert, jetzt sit alles richtig! Selbst getestet und funktioniert
ZitatJo das Prob ist dass die Verbindung schneller gekappt wird als die Nachricht geschickt wird. Um das zu umgehen brauchst du einen Timer der ca. 50 Millisekunden nach der Kick-Nachricht die Kick() Anweisung ausführt.
Dankeschön, ich tue mein bestes
Shift is Standard Springen.
Jedenfalls Lauftasten zum durch die welt wandern und Objekte bewegen, mit F9 kopieren, Entf für löschen, Shift um schneller zu werden, pos1 und ende um höhe zu verändern, STRG um objekte zu drehen(in verbindung mit Lauftasten) und das warn auch schon alle
Da es leider niemand interessiert, hier ein paar Screens:
Ist übrigens auch gut, wenn man ein Deathmatch mit mehreren Spawn machen will.
Viel Spaß damit!