Ich hab mir das mal von englischen SAMP Forum abgeguckt und mache hier mal einen Thread auf in dem man kleinere Fragen fragen kann ohne immer einen neuen Thread aufzumachen.
Also postet bitte hier anstatt einen neuen Thread aufzumachen wenns nicht allzu viel ist.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Hi.. ich werde der erste sein der dieses ausnutzt
Wie kann man einen TEXT machen der unten rechts ist.. also z.b. "Exlac braucht ein Taxi"
also unten rechts... -
Entweder mit TextDraw oder mit GameTextForPlayer(playerid, text[], time, 1) und GameTextForAll(text[], time, 1);
Mit TextDraw brauchst du halt die Koordinaten und bei GameText den Style 1. -
okay.. Thanks!
nochmal kurz: also:
also ich mache ein Command /taxi und darein soll ich dann GameTextForAll(Jemand Brauch ein Taxi,2000,1); ? -
also ich mache ein Command /taxi und darein soll ich dann GameTextForAll(Jemand Brauch ein Taxi,2000,1); ?
GameTextForAll("Jemand braucht ein Taxi" , 2000, 1); -
OkaY danke Rafy
-
Gute Idee.Besser als für jede noch so kleine Extra einen Thread aufzumachen :).
-
ähm ja hi
also ich wollt so was wie fraktionen machen:
also halt Police un so
aber ein admin muss diejenigen erst zuweisen
hoffe ihr könnt mia helfen
Lübe Grüße an Rafelder un an alle anderen hia -
static gTeam[MAX_PLAYERS];#define TEAM_ZIVIL 0
#define TEAM_POLICE 1public OnPlayerConnect(playerid)
{
gTeam[playerid]=TEAM_ZIVIL;
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
//Dein Command...
gTeam[/*deine id*/]=TEAM_POLICE;
//Deinen Command schließen
return 1;
}/*
gTeam[playerid] = Team von Player
TEAM_POLICE = Police
if(gTeam[playerid] == TEAM_POLICE) { << Abfrage
*/Ich hoffe ich konnte helfen
-
nenn mich doof, ich kapier das nich
-
nenn mich doof, ich kapier das nich
Und was genau nicht?
-
alles xD
-
Ich weiß nicht, was man daran nicht verstehen kann...steht doch alles da.
-
static gTeam[MAX_PLAYERS];
#define TEAM_ZIVIL 0
#define TEAM_POLICE 1public OnPlayerConnect(playerid)
{
gTeam[playerid] = TEAM_ZIVIL;
return 1;
}public OnRconCommand(cmd[])
{
if(!strcmp(cmd, "police", true, 7))
{
new act = strval(cmd[8]);
if(cmd != -1 && cmd < MAX_PLAYERS && IsPlayerConnected(act))
{
SendRconCommand("echo Player Police");
gTeam[act] = TEAM_POLICE;
SendClientMessage(playerid, 0xFF6900AA, "Your new Team is Police!");
}
return 1;
}/*
gTeam[playerid] = Team von Player
TEAM_POLICE = Police
if(gTeam[playerid] == TEAM_POLICE) { << Abfrage
*/Nie getestet und im Halbschlaf geschrieben.
hf -
Also:
Wie kann man eine WHITELIST machen?? also da steht dann z.b. Exlac=1 (frei) Exlac=0 (ban) und alle die net druf stehen werden gekickt??
aba bitte ohne DUDB / Dini / dutils sondern geht das au anders??
-
nimm doch einfach die BanListe
-
nee möcht whitelist
-
dann mach doch einfach das der n Dokument ausließt und du die Leute vom Game aus ins Dokument einträgst
-
also ich möchte:
Die die auf der Whitelist stehen dürfen rauf die anderen werden gekickt und da steht dann Nicht auf der Whitelist!
und die Whitelist is dann im Scriptfiles ordner...
-
hier sollte so Funzen, kannste als FS nehmen, oder in deinen GM setzen
Code
Alles anzeigen#include <a_samp> #define RED 0xAA3333AA #define YELLOW 0xFFFF00AA forward Whitelist(playerid); new gdebug = 0; public Whitelist(playerid) { if (gdebug >= 1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);} new playername2[MAX_PLAYER_NAME]; new storedcopname[64]; GetPlayerName(playerid, playername2, sizeof(playername2)); new File: file = fopen("Whitelist.cfg", io_read); if (file) { new valtmp[MAX_PLAYER_NAME]; while (fread(file, valtmp) > 0) { strmid(storedcopname, valtmp, 0, strlen(playername2), 255); if ((strcmp(storedcopname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedcopname))) { fclose(file); return 1; } } } fclose(file); return 0; } public OnPlayerConnect(playerid) { if (Whitelist(playerid)) { } else { SendClientMessage(playerid, RED, "Du stehst nicht auf der Whitelist"); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/whitelist", true) == 0) { new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, YELLOW, "Benutze: /addp [spielername]"); return 1; } if ((IsPlayerAdmin(playerid))) { new Float:px, Float:py, Float:pz; GetPlayerPos(playerid, px, py, pz); new coordsstring[256]; format(coordsstring, 256, "%s\n",result); new File:hFile; hFile = fopen("Whitelist.cfg", io_append); fwrite(hFile, coordsstring); fclose(hFile); SendClientMessage(playerid, RED, " Der Spieler wurde zur Whitelist geaddet!"); } return 1; } return 1; } //-----------------------strtok----------------------------- strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } //----------------------------------------------------
-