Zeig mal wo du die Funktion verwendest ![]()
mfg. ![]()
Zeig mal wo du die Funktion verwendest ![]()
mfg. ![]()
Guten Morgen Community,
ich suche diese Taste - mit SA-MP-Bezeichnung, da ich in der Wiki nichts gefunden habe.
Kein Wunder, dass du sie nicht gefunden hast, diese Taste gibt es auch nicht bzw man kann sie in Sa:Mp nicht verwenden ![]()
mfg. ![]()
Sind wir locker bereit bis zu 1000 Euro zu bezahlen.
Ihr wollt 1000€ für ein Script ausgeben ![]()
Ich bin mal so freundlich und sage euch mal was, streicht die letzte null von dem Betrag und selbst dieser Preis ist zu hoch ![]()
mfg. ![]()
Alles anzeigenocmd:invite(playerid, params[])
{
new pID;
if(sscanf(params, "u", pID))return SendClientMessage(playerid, 0xFFFFFFFF, "Benutzung: /invite (playerid)");
if(PlayerInfo[playerid][pLeader] != 0)//Anpassen!
{
if(PlayerInfo[pID][pMember] == 0)
{
PlayerInfo[pID][pMember] = PlayerInfo[playerid][pLeader];
}
}
return 1;
}
EDIT: Pawn Code
Da sind ein paar Bugs drinnnen, z.B. du kannst dich selber inviten, du kannst Leader als Member inviten ![]()
Schreibe es so:
//Aus meinem Tutorial
ocmd:invite(playerid, params[])
{
new pID;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,rot,"Verwendung: /invite [spielerid]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
if(pID == playerid) return SendClientMessage(playerid,rot,"Du kannst dich nicht selber inviten !");
if(SpielerInfo[playerid][sLeader] == 0) return SendClientMessage(playerid,rot,"Du bist kein Leader !");
if(SpielerInfo[pID][sMember] > 0 || SpielerInfo[pID][sLeader] > 0) return SendClientMessage(playerid,rot,"Dieser Spieler ist bereits in einer Fraktion !");
new str[128], name[24], pname[24];
GetPlayerName(pID, name, 24);
GetPlayerName(playerid, pname, 24);
format(str, 128,"Du wurdest von %s in die Fraktion invitet !",pname);
SendClientMessage(pID,blau,str);
format(str, 128,"Du hast %s in deine Fraktion invitet !!",name);
SendClientMessage(playerid,blau,str);
SpielerInfo[pID][sMember] = SpielerInfo[playerid][sLeader];
SpielerInfo[pID][sRang] = 1;
return 1;
}
mfg. ![]()
P.S. Sorry, falls das der falsche Bereich is
Entschuldige dich nicht dafür, sondern mache es richtig ![]()
Die Sektion, in die dieser Beitrag gehört ist diese hier: http://forum.sa-mp.de/werbung-…ng-angebote-und-anfragen/
mfg. ![]()
Setze den Timer unter OnPlayerConnect und schreibe den Callback so:
(Du musst den Parameter "playerid" auch schon an den Callback übergeben
)
public StatsTDON(playerid)
{
TextDrawShowForPlayer(playerid,Statistik0[playerid]);
TextDrawShowForPlayer(playerid,Statistik1[playerid]);
TextDrawShowForPlayer(playerid,Statistik2[playerid]);
TextDrawShowForPlayer(playerid,Statistik3[playerid]);
TextDrawShowForPlayer(playerid,Statistik4[playerid]);
TextDrawShowForPlayer(playerid,Statistik5[playerid]);
TextDrawShowForPlayer(playerid,Statistik6[playerid]);
TextDrawShowForPlayer(playerid,Statistik7[playerid]);
TextDrawShowForPlayer(playerid,Statistik8[playerid]);
TextDrawShowForPlayer(playerid,Statistik9[playerid]);
new levelstr[50],bankstr[70],paystr[70],handystr[70],geldstr[70];
format(geldstr, sizeof(geldstr), "~g~$~w~ %d",GetPlayerMoney(playerid));
TextDrawSetString(Statistik4[playerid], geldstr);
format(levelstr, sizeof(levelstr),"~b~Level: ~w~%d",SpielerInfo[playerid][pLevel]);
TextDrawSetString(Statistik6[playerid], levelstr);
format(bankstr, sizeof(bankstr),"~b~Bank: ~g~$~w~ %d",SpielerInfo[playerid][pGuthaben1]);
TextDrawSetString(Statistik7[playerid], bankstr);
format(paystr, sizeof(paystr),"~b~Payday: ~w~in %d Minuten",60-SpielerInfo[playerid][pPlayMinutes]);
TextDrawSetString(Statistik8[playerid], paystr);
format(handystr, sizeof(handystr),"~b~Handynr.: ~w~%d",SpielerInfo[playerid][pNummer]);
TextDrawSetString(Statistik9[playerid], handystr);
return 1;
}
mfg. ![]()
Die Idee stammt ja auch von mir
Moment mal, dass stimmt so ja nicht !
Die Grundidee stammt schon von mir nur, dass mit den pVars stammt von dir ![]()
Sieht man auch sofort am Code.Du hast den identischen Ablauf ineinander verschachtelt anstatt es 1x logisch aufzubauen mit einer Schleife.
Was mach ich eigentlich,wenn ich wirklich mal ein $-Zeichen im Text haben möchte? Solltest zumindest ein Doppel-$ erlauben ( $$ ).
"Du hast $Bank$$ auf deinem Bankkonto" -> "Du hast 1000$ auf deinem Bankkonto"
Das mit dem Dollar zeichen, daran habe ich nicht gedacht, werde ich gleich mal machen, aber mit einer for-Schleife ist das nicht direkt möglich, da man mit strfind arbeiten muss und das nicht einfach erhöhen kann...sprich sowas:
for(new z = strfind(format, "$", true); z<strlen(format); z++)
macht gar keinen Sinn, hast du da eine bessere Idee ?
mfg. ![]()
So:
//Oben im Script
new rID[MAX_PLAYERS];
//Bei OnPlayerConnect
rID[playerid] = -1;
//Der Befehl
ocmd:rep(playerid,params[])/*Befehl =/rep*/
{
new pID;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"Du sitzt in keinem Auto !");
if(!istPlayerJob(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Mechaniker!");/*Abfrage ob er den Job id hat*/
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT,"Verwendung: /rep [spielerid]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht online !");
if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(pID)) return SendClientMessage(playerid,ROT,"Du sitzt nicht im selben Auto wie der Spieler !");
new name[24], string[128];
GetPlayerName(playerid, name, 24);
format(string, 128,"Mechaniker %s bietet dir an dein Auto zu reparieren. Tippe: /accept rep",name);
SendClientMessage(pID, ROT, string);
GetPlayerName(pID, name, 24);
format(string, 128,"Du bietest %s an sein Auto zu reparieren !",name);
SendClientMessage(playerid,ROT,string);
rID[pID] = playerid;
return 1;
}
//Der accept Befehl
ocmd:accept(playerid, params[])
{
if(!strcmp(params, "rep", true))
{
if(rID[playerid] == -1) return SendClientMessage(playerid,ROT,"Dir hat niemand eine Reparatur angeboten !");
if(!IsPlayerConnected(rID[playerid])) { rID[playerid] = -1; SendClientMessage(playerid,ROT,"Der Spieler der dir dies angeboten hat ist offline !"); return 1; }
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"Du sitzt in keinem Auto !");
new name[24], string[128];
GetPlayerName(rID[playerid], name, 24);
format(string, 128,"Dein Auto wurde dir von %s repariert !",name);
SendClientMessage(playerid,ROT,string);
GetPlayerName(playerid, name, 24);
format(string, 128,"Du hast das Auto von %s repariert !",name);
SendClientMessage(rID[playerid],ROT,string);
rID[playerid] = -1;
RepairVehicle(GetPlayerVehicleID(playerid));
}
return 1;
}
mfg. ![]()
Mache das so:
MoveObject(ct1,1312.7274,1091.4041,9.7900,1.0,0.0000,0.0000,201.0000);
mfg. ![]()
Lass dir das dochmal ausgeben:
printf("Ausgelesener Key: %s | Eingegebener Key: %s",MD5_Hash(Key), Get);
mfg. ![]()
Einfach mal selber designen ?
mfg. ![]()
ass ich seit heut auch benutze [ INCLUDE ] Variablen in Pawn nutzen wie in PHP
Danke für die Schleichwerbung und freut mich das du mein System nutzt und es dir gefällt ![]()
Kaaaliiiber
Ganz Ruhig ![]()
Schick mir mal deine TV Daten per PN, ich mach dir das mal schnell ![]()
mfg. ![]()
wozu new name[24];?
Na, der Name von dem Spieler muss doch in irgendeiner Variable stehen ![]()
Eigenwerbung, hm?
Nein, ich wollte damit eigentlich nur andeuten, dass es sowas schon gibt ![]()
Achwas, bei mir wirds mit Commands gesteuert.
Jop, die Frage ist jetzt nur ob das Benutzerfreundlicher ist als ein Dialog ![]()
mfg. ![]()
Das macht man so:
ocmd:tie(playerid,params[])
{
if(!isPlayerInFrakt(playerid,2))return SendClientMessage(playerid,ROT,"Du bist nicht in der Frak");
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Du bist in keinem auto!");
new string[128],pID;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT,"Verwendung: /tie [spielerid]");
if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(pID)) return SendClientMessage(playerid,ROT,"Dieser Spieler sitzt nicht in deinem Fahrzeug !");
new name[24];
GetPlayerName(playerid, name, 24);
format(string, sizeof(string), "* Du wurdest von %s gefesselt.", name);
SendClientMessage(pID, BLAU, string);
GetPlayerName(pID, name, 24);
format(string, sizeof(string), "Du hast %s gefesselt.", name);
SendClientMessage(playerid, BLAU, string);
GameTextForPlayer(pID, "~r~Gefesselt", 2500, 3);
TogglePlayerControllable(pID,0);
return 1;
}
mfg. ![]()