stock SetPlayerMoney(playerid,money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,money);
return 1;
}
Nützliche Codeschnipsel
- breadfish
- Geschlossen
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
@Shukaz
ich würd noch toggleplayercontrollable reinmachen, was dein hieße,
if(strcmp("/afk", cmdtext, true) == 0)
{
SetPlayerPos( X,Y,Z); // koordinaten
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid, COLOR_YELLOW, "Du bist nun Afk!");return 1;
}
if(strcmp("/re", cmtext, true) == 0)
{
SetPlayerPos( X,Y, Z); //koordinaten
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid, COLOR_YELLOW, "Du bist zurück!");
return 1;
} -
was soll X Y Z sein?
-
die koordinaten! also die man raussuchen kann, ich würd lieber die position als variable abspeichern und wieder laden.
-
naja wenn man dasnn irgendwo hingeportet wird beim /afk das find ichn bissn komisch..
-
new InvalidNames[][] = {
"DerName", //
"DerName2", //Kann man immer wieder kopieren um mehrere zu nutzen
};Unter OnPlayerConnect
GetPlayerName(playerid, pName, sizeof(pName));
for(new i = 0; i < sizeof(InvalidNames); i++)
{
if(!strcmp(pName, InvalidNames[i], true))
{
Ban(playerid); // Man kann auch Kick nehmen..
}
} -
#define lockT(%1) if(lockX(%1))return 1;
new bool:sLock;public OnPlayerConnect(playerid)
{
lockT(playerid);
//blabla
}lockX(playerid)
{
if(IsPlayerAdmin(playerid))return 0;
if(sLock)Kick(playerid);
return sLock;
}stock LockServer()sLock=true;
stock UnLockServer()sLock=false;server abschließen: LockServer
server aufschließen: UnLockServer
wenn er abgeschlossen ist, können nur noch rcon admins connectenWenn ich mich nicht irre funktioniert das nicht, weil er ja vor dem connecten kein Rcon-Admin ist --> er wird gekickt
-
kannst auch beim connecten schon rcon pw angeben
-
jo beim "Server Properties" Dialog
-
Meine 1. Funktionen .
Ungetestet.
stock Freeze(playerid) // Freezed einen Spieler.
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) TogglePlayerControllable(playerid, false);
}
}
stock unFreeze(playerid) // Unfreezed einen Spieler.
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) TogglePlayerControllable(playerid, true);
}
} -
-
F..FA..
Wrong!Für was den 'playerid' Parameter wenn du eh alle User freezen bzw. unfreezen willst? ;P
-
So passts
stock Freeze(playerid) // Freezed einen Spieler.
{
if(IsPlayerConnected(playerid))
{
TogglePlayerControllable(playerid, 0);
}
}
stock unFreeze(playerid) // Unfreezed einen Spieler.
{
if(IsPlayerConnected(playerid))
{
TogglePlayerControllable(playerid, 1);
}
}Man brauch da keine schleife
-
strinsert(string[],insert[],iStart)
{
for(new i = (strlen(string)-1);i>=iStart;i--)string[i+strlen(insert)] = string[i];
new count = 0;
while(count < strlen(insert))
{
string[iStart] = insert[count];
iStart++;
count++;
}
return 1;
}Einen Textteil in einen anderen Textteil einfügen ohne die bestimmten Stellen zu überschrieben
- string[] - Das Ziel
- insert[] - Teil der eingefügt werden soll
- iStart - an welcher Stelle eingefügt werden soll
Beispielnew nname[MAX_PLAYER_NAME];
GetPlayerName(playerid,nname,sizeof nname);
strinsert(nname,"[AFK]",0); -
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
if(IsPlayerAdmin(playerid))
{
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid),0,0,0,15);
return 1;
}
}
Und platt sind die Reifen vom Auto -
Ein Befehl um die Camera Position zu Speichern in der ihr gerade seit.
Selber geschrieben und nur R5 Compatibel^^.
if (strcmp("/savecpos", cmdtext, true, 10) == 0)
{
new string[256];
new Float:x, Float:y, Float:z;
GetPlayerCameraPos(playerid, x, y, z);
fcreate("cameraposition.txt");
new File:pos=fopen("cameraposition.txt", io_append);
SendClientMessage(playerid, 0xAA3333AA,"Camera Position is saved in cameraposition.txt");
format(string, 256, "SetPlayerCameraPos(playerid, %f, %f, %f, %f, 0,0,0,0,0,0);", x, y, z);
fwrite(pos, string);
fclose(pos);
return 1;
}
Das nach oben
forward fcreate(filename[]);
Und das einfach ganz nach unten ins Script:
public fcreate(filename[])
{
if (fexist(filename)){return false;}
new File:fhandle = fopen(filename,io_write);
fclose(fhandle);
return true;
}Viel Spass !
-
Kleiner Tipp: fcreate muss kein public sein
-
weiß ich nun auch ^^.
einfaches
fcreate(filename[])
reicht auch ^^. -
if (strcmp("/savecpos", cmdtext, true, 10) == 0)
{
new string[256];
new Float:x, Float:y, Float:z;
GetPlayerCameraPos(playerid, x, y, z);
fcreate("cameraposition.txt");
new File:pos=fopen("cameraposition.txt", io_append);
SendClientMessage(playerid, 0xAA3333AA,"Camera Position is saved in cameraposition.txt");
format(string, 256, "SetPlayerCameraPos(playerid, %f, %f, %f, %f, 0,0,0,0,0,0);", x, y, z);
fwrite(pos, string);
fclose(pos);
return 1;
}Das kann doch gar nicht gehen, weil vier parameter eingefügt werden, aber nur 3 angegeben sind
Meineswissens müsste es so gehen :format(string, 256, "SetPlayerCameraPos(playerid, %f, %f, %f, 0,0,0,0,0,0);", x, y, z);
-
So ist es korrekt:
if (strcmp("/savecpos", cmdtext, true, 10) == 0)
{
new string[256];
new Float:x, Float:y, Float:z;
GetPlayerCameraPos(playerid, x, y, z);
fcreate("cameraposition.txt");
new File:pos=fopen("cameraposition.txt", io_append);
SendClientMessage(playerid, 0xAA3333AA,"Camera Position is saved in cameraposition.txt");
format(string, 256, "SetPlayerCameraPos(playerid, %f, %f, %f,);", x, y, z);
fwrite(pos, string);
fclose(pos);
return 1;
} -
und was amcht es?