Schau mal auf http://forum.sa-mp.com nach Engine-system oder so
Beiträge von M4rciii
-
-
Du musst dir Immer merken, alles was zusammen innerhalb von {} steht, muss auf einer Linie Stehen
if(strcmp(cmdtext, "/airportstuntsf", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID,-1346.071,-292.228,14.809);
}
else
{
SetPlayerPos(playerid,-1346.071,-292.228,13.809);
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s ist zum Airport nach SF gegangen( /airportstuntsf )", pname);
SendClientMessageToAll(COLOR_GREEN, string);
ResetPlayerWeapons(playerid);
SetPlayerInterior(playerid,0);
return 1;
} -
Verwöhnter Godfathernutzer
Naja, da brauchste einfach das FIlterscript adminspec, das schon beim server dabei is.
Einfach mit /rcon login pw einloggen und dann /adminspec id eingeben
Dann siehste was der Spieler auch sieht, nur kannste nix Steuern
-
Samstag, 9. Februar 2008, 22:58
Ob Exlac(Meldariel) das noch wissen will...
-
Das passiert bei NICHT-GODFATHERNUTZERN!!!! unter OnGameModeInit
Das erste AddPlayerClass ist dann erster Skin
AddPlayerClass(idvoncopzB280,X,Y,Z,A,Waffe1,Munition1,W2,M2,W3,M3);
-
In diesem Tutorial erkäre ich euch, wie ihr gTeam arbeiten könnt und somit Commands, Spawns, etc. nur für bestimmte Teams machbar sind.
1. Variable erstellen
Oben zu den anderen new's im Script fügt man ein
new gTeam[MAX_PLAYERS];
ein. Im Klartext erstellt man eine Variable für jeden Spieler, der die Nummer des Teams speichert.2. Teams erstellen/definieren
Man definiert die gewünschten Teams mit einer Nummer. Die Nummer ist Endeffekt egal, hauptsache eine Gangzahl:
#define TEAM_GROVE 0
#define TEAM_BALLAS 1
#define TEAM_VAGOS 2
#define TEAM_COPS 3
#define TEAM_ZIVILISTEN 4
3. Teams zuweisen
Nun geht man zu OnPlayerRequestClass. Das ist das Callback, das aufgerufen wird, wenn jemand bei der Skinauswahl ist/zwischen den Skins hin und her wechselt. playerid ist der Spieler und classid der wievielte Skin es gerade ist, den er anschaut. Wichtig: Bei der ClassID fängt man bei 0 an zu zählen. Also entspricht der 1. Skin ClassID 0, der 2.Skin entspricht ClassID 1, etc.
Um die ClassID abzufragen, benutzt man am besten switch. Hier ein kleines Beispiel:
public OnPlayerRequestClass(playerid,classid)
{
switch(classid)
{
case 0: gTeam[playerid] = TEAM_GROVES; // 1. Skin
case 1,2,3: gTeam[playerid] = TEAM_BALLAS; // 2. 3. und 4. Skin
case 6..10: gTeam[playerid] = TEAM_VAGOS; // 7. bis 10. Skin
case 4,5,11..14: gTeam[playerid] = TEAM_COPS; // 5. 6. und 12. bis 15. Skin
default: gTeam[playerid] = TEAM_ZIVILISTEN; // alle restlichen Skins, die hier drüber nicht abgefragt wurden (zum Beispiel: 16. bis 80. Skin)
}
return 1;
}
Ich hoffe ich muss jetzt switch nicht noch extra erklären, wenn ihr das nicht versteht, einfach nach einem kleine Tut schauen.4. Teams abfragen
Das sollte nicht sonderlich schwierig sein:
if(gTeam[playerid] == TEAM_ZIVILISTEN) // wenn playerid zum Team TEAM_ZIVILISTEN gehört
{
// Do blabla
}
else if(gTeam[playerid] == TEAM_GROVES || gTeam[playerid] == TEAM_BALLAS) // wenn playerid zu TEAM_GROVES oder TEAM_BALLAS gehört
{
// Do blabla
}
else // wenn playerid zu einem anderen Team gehört
{
// Do blabla
}5. Verwendung
Hier ein Beispiel von einem Teleport, der nur für Cops nutzbar ist
if(strcmp("/copbase",cmdtext,true) == 0)
{
if(gTeam[playerid] == TEAM_COPS)
{
SetPlayerPos(playerid,123.00,456.00,22.00);
SendClientMessage(playerid,0x00FF00FF,"Du bist nun bei der Cop-Base, da du ein Cop bist! :)");
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist kein Cop, deswegen wirst du nicht teleportiert!");
}
return 1;
}6. Fertig ;D
Und dann hat mans auch schon gepackt, es ist im Grunde genommen ganz einfach. Hier noch ein Scriptbeispiel, wenn es Probleme geben sollte: breadfish.de/wcf/attachment/1719/
Viel Spaß damit und gutes Gelingen!Last Update: 12.02.10 22:04 (Tut mir Leid, die Intention ist irgendwie im Arsch, ich hab das Tut grundauf etwas verbessert)
-
Chakuza, wärs nicht einfacher wenn man nicht 24 mal
if (hour == 0){SetWorldTime(0);}
benutzt, sondern
SetWorldTime(hour); -
Ist das schon immer so? haste vllt schlechten PC?
-
Hast du auch ein #include <a_samp> in deinem Script?
Aber ich könnte dir Helfen, wenn das niht bringt. Hab dir ICQ# per PM geschrieben
-
Kann ich nur Empfehlen http://www.forumieren.com/
-
Mit bisschen mühe schafst dus auch allein! Fraktion erstellen? Wie?
-
Ein neuer Codeschnipsel von mir. Is nur ne ganzganz kleine Kleinigkeit, aber sehr nützlich für die Godfahternutzer:
stock IsPlayerInFrac(playerid,fracid)
{
if (PlayerInfo[playerid][pMember] == fracid || PlayerInfo[playerid][pLeader] == fracid) return 1;
else return 0;
}Ein Beispiel dafür:
if(IsPlayerInFrac(playerid,1) print("Er ist ein Cop!");
else print("Er ist kein Cop!"); -
Jo, wird bestimmt geil! Systemvorraussetzugen passen bei mir. Festplattenspeicher hab ich auch noch frei(880GB)
-
-
Und was ist mit dem Marktplatz? http://samp.breadfish.de/wbb/index.php?page=Board&boardID=40
-
Kommt davon, dass dieses RemovePlayerFromVehicle nur funkt, wenn man in einem Auto ist, und OnPlayerEnterVehicle ist der Moment, wenn man F drückt, also noch nicht drin ist
Machs mal so:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
if(GetPlayerVehicleID(playerid) == ShockeR)
{
new name[32];
GetPlayerName(playerid, name, sizeof(name));
if(strfind("ShockeR", name, true) == 0)
{
SendClientMessage(playerid,COLOR_YELLOW,"Willkomen in deinem Auto Shocker!");
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,COLOR_YELLOW,"[!] Nur für ShockeR!");
}
}
}
return 1;
} -
Jo, davon wird einfach das auto zerstört und meines Wissens crasht da auch nix, also wird man aus dem Auto rausgeworfen, wenn man drinne sitzt
-
Meins ist doch oben 1A eingerückt, währendessen deins nach ein paar Änderungen total unübersichtlich wird
-
if (strcmp("/copm4", cmdtext, true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1) //1=cop
{
GivePlayerWeapon(playerid,31,1000);
SendClientMessage(playerid,COLOR_YELLOW,"Viel Spaß mit der M4!");
}
else SendClientMessage(playerid,COLOR_RED,"Du bist kein Cop!");
return 1;
} -
Hinter Urheberrecht. fehlt ein "